From 06e978ff49595aba43a1f60a4bff7be1ceaa8fdd Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 24 Apr 2024 02:44:31 +0200 Subject: [PATCH 01/46] Add some support for foldable devices --- public/css/index-tailwind-output.css | 105 ++-- src/UI/Base/ModalRight.svelte | 10 + src/UI/BigComponents/ThemesList.svelte | 2 +- src/index.css | 731 +++++++++++++------------ 4 files changed, 444 insertions(+), 404 deletions(-) diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index dbf2c11d7..af946e322 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -781,10 +781,6 @@ video { float: left; } -.m-8 { - margin: 2rem; -} - .m-4 { margin: 1rem; } @@ -797,6 +793,10 @@ video { margin: 0px; } +.m-8 { + margin: 2rem; +} + .m-2 { margin: 0.5rem; } @@ -900,10 +900,6 @@ video { margin-right: 4rem; } -.mb-4 { - margin-bottom: 1rem; -} - .mt-4 { margin-top: 1rem; } @@ -936,6 +932,10 @@ video { margin-right: 0.25rem; } +.mb-4 { + margin-bottom: 1rem; +} + .ml-1 { margin-left: 0.25rem; } @@ -2351,7 +2351,7 @@ input { color: var(--foreground-color); } -input[type=text] { +input[type="text"] { width: 100%; } @@ -2374,12 +2374,12 @@ input[type=text] { .low-interaction { background: var(--low-interaction-background); - color: var(--low-interaction-foreground) + color: var(--low-interaction-foreground); } .interactive { background: var(--interactive-background); - color: var(--interactive-foreground) + color: var(--interactive-foreground); } .border-interactive { @@ -2398,7 +2398,8 @@ input[type=text] { * This very important section defines what the various input elements look like within the 'low-interaction' and 'interactive'-blocks */ -button.small, .button.small { +button.small, +.button.small { line-height: 1rem; margin: 0; margin-left: 0.5rem; @@ -2419,7 +2420,8 @@ button.small, .button.small { color: var(--low-interaction-foreground); } -button, .button { +button, +.button { align-items: center; display: inline-flex; line-height: 1.25rem; @@ -2442,56 +2444,67 @@ button, .button { box-shadow: 0 5px 10px #88888888; } -button.selected, .button.selected { +button.selected, +.button.selected { background-color: var(--catch-detail-color); border-color: var(--catch-detail-color); color: var(--catch-detail-foregroundcolor); } -button.selected svg path, .button.selected svg path { +button.selected svg path, +.button.selected svg path { fill: var(--catch-detail-foregroundcolor) !important; } -button:not(.no-image-background):not(.soft) svg path, .button:not(.no-image-background):not(.soft) svg path { +button:not(.no-image-background):not(.soft) svg path, +.button:not(.no-image-background):not(.soft) svg path { fill: var(--interactive-foreground) !important; transition: all 250ms; } -.interactive button, .interactive .button { +.interactive button, +.interactive .button { background: var(--interactive-background); color: var(--interactive-foreground); } -button:hover, .button:hover { +button:hover, +.button:hover { background-color: var(--catch-detail-color); color: var(--catch-detail-foregroundcolor); border: 2px solid var(--catch-detail-color-contrast); } -button:hover:not(.no-image-background) img, .button:hover:not(.no-image-background) img { +button:hover:not(.no-image-background) img, +.button:hover:not(.no-image-background) img { background: var(--low-interaction-background); border-radius: 100rem; } -button:hover:not(.no-image-background) svg path, .button:hover:not(.no-image-background) svg path { +button:hover:not(.no-image-background) svg path, +.button:hover:not(.no-image-background) svg path { fill: var(--catch-detail-foregroundcolor) !important; } -button.disabled:hover:not(.no-image-background) svg path, .button.disabled:hover:not(.no-image-background) svg path { +button.disabled:hover:not(.no-image-background) svg path, +.button.disabled:hover:not(.no-image-background) svg path { fill: var(--low-interaction-foreground) !important; } -button.primary, .button.primary { +button.primary, +.button.primary { color: var(--button-foreground); background: var(--button-background); } -button.primary:not(.no-image-background) svg path, .button.primary:not(.no-image-background) svg path { +button.primary:not(.no-image-background) svg path, +.button.primary:not(.no-image-background) svg path { fill: var(--button-foreground) !important; transition: all 250ms; } -button.disabled, .button.disabled { +button.disabled, +.button.disabled { cursor: default; border: 2px dashed var(--button-background); background: unset; @@ -2499,7 +2512,8 @@ button.disabled, .button.disabled { box-shadow: none; } -button.disabled:hover, .button.disabled:hover { +button.disabled:hover, +.button.disabled:hover { cursor: default; border: 2px dashed var(--button-background); background: unset; @@ -2513,18 +2527,21 @@ button.link { } button.link:hover { - color:unset; + color: unset; } -.interactive button.disabled svg path, .interactive .button.disabled svg path { +.interactive button.disabled svg path, +.interactive .button.disabled svg path { fill: var(--interactive-foreground) !important; } -.low-interaction button.disabled svg path, .low-interaction .button.disabled svg path { +.low-interaction button.disabled svg path, +.low-interaction .button.disabled svg path { fill: var(--low-interaction-foreground) !important; } -.normal-background button.disabled svg path, .normal-background .button.disabled svg path { +.normal-background button.disabled svg path, +.normal-background .button.disabled svg path { fill: var(--foreground-color) !important; } @@ -2537,12 +2554,14 @@ button.link:hover { width: 100%; } -button.soft, .button.soft { +button.soft, +.button.soft { border: 2px solid var(--interactive-background); margin: 0; } -button.soft:hover, .button.soft:hover { +button.soft:hover, +.button.soft:hover { background-color: var(--interactive-background); color: var(--interactive-foreground); border: 2px solid var(--catch-detail-color-contrast); @@ -2580,7 +2599,7 @@ select:hover { border-color: var(--catch-detail-color-contrast); } -.neutral-label{ +.neutral-label { /** This label styles as normal text. It's power comes from the many :not(.neutral-label) entries. * Placed here for autocompletion */ @@ -2608,7 +2627,7 @@ label.button { label:hover:not(.neutral-label) { background-color: var(--catch-detail-color); color: var(--catch-detail-foregroundcolor); - border: 2px solid var(--interactive-contrast) + border: 2px solid var(--interactive-contrast); } label:not(.no-image-background):not(.neutral-label) img { @@ -2839,18 +2858,18 @@ a.link-underline { } svg.apply-fill path { - fill: var(--svg-color) + fill: var(--svg-color); } .compass_arrow { - width: calc( 2.5rem - 1px ) ; - height: calc( 2.5rem - 1px ) + width: calc(2.5rem - 1px); + height: calc(2.5rem - 1px); } @media (min-width: 640px) { .compass_arrow { - width: calc( 2.75rem - 1px ) ; - height: calc( 2.75rem - 1px ) + width: calc(2.75rem - 1px); + height: calc(2.75rem - 1px); } } @@ -2931,6 +2950,16 @@ svg.apply-fill path { max-width: 100%; } +/************************* Experimental support for foldable devices ********************************/ + +@media (horizontal-viewport-segments: 2) { + .theme-list { + display: grid; + grid-auto-flow: row; + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + .hover\:bg-indigo-200:hover { --tw-bg-opacity: 1; background-color: rgb(199 210 254 / var(--tw-bg-opacity)); diff --git a/src/UI/Base/ModalRight.svelte b/src/UI/Base/ModalRight.svelte index d887487c2..b0d9a6930 100644 --- a/src/UI/Base/ModalRight.svelte +++ b/src/UI/Base/ModalRight.svelte @@ -16,6 +16,7 @@ role="dialog" style="max-width: 100vw; max-height: 100vh" tabindex="-1" + id="modal-right" use:trapFocus > @@ -30,3 +31,12 @@ + + + diff --git a/src/UI/BigComponents/ThemesList.svelte b/src/UI/BigComponents/ThemesList.svelte index b8811ffc7..4a6f4ec96 100644 --- a/src/UI/BigComponents/ThemesList.svelte +++ b/src/UI/BigComponents/ThemesList.svelte @@ -24,7 +24,7 @@
-
+
{#each filteredThemes as theme (theme.id)} {#if theme !== undefined && !(hideThemes && theme?.hideFromOverview)} diff --git a/src/index.css b/src/index.css index a52826b1b..59319e214 100644 --- a/src/index.css +++ b/src/index.css @@ -12,50 +12,48 @@ @tailwind utilities; :root { - /* + /* * The main colour scheme of mapcomplete is configured here. * For a custom styling, set 'customCss' in your layoutConfig and overwrite some of these. */ - /* Main color of the application: the background and text colours */ - --background-color: white; - /* Main text colour. Also styles some elements, such as the 'close popup'-button or 'back-arrow' (in mobile) */ - --foreground-color: black; + /* Main color of the application: the background and text colours */ + --background-color: white; + /* Main text colour. Also styles some elements, such as the 'close popup'-button or 'back-arrow' (in mobile) */ + --foreground-color: black; - /* A colour scheme to indicate an error or warning */ - --alert-color: #fee4d1; - --alert-foreground-color: var(--foreground-color); + /* A colour scheme to indicate an error or warning */ + --alert-color: #fee4d1; + --alert-foreground-color: var(--foreground-color); - --low-interaction-background: #eeeeee; - --low-interaction-foreground: black; - --low-interaction-contrast: #ff00ff; + --low-interaction-background: #eeeeee; + --low-interaction-foreground: black; + --low-interaction-contrast: #ff00ff; - --interactive-background: #dddddd; - --interactive-foreground: black; - --interactive-contrast: #ff00ff; + --interactive-background: #dddddd; + --interactive-foreground: black; + --interactive-contrast: #ff00ff; - --button-background: black; - --button-foreground: white; + --button-background: black; + --button-foreground: white; - /** + /** * Base colour of interactive elements, mainly the 'subtle button' * @deprecated */ - --subtle-detail-color: #dbeafe; - --subtle-detail-color-contrast: black; - --subtle-detail-color-light-contrast: lightgrey; + --subtle-detail-color: #dbeafe; + --subtle-detail-color-contrast: black; + --subtle-detail-color-light-contrast: lightgrey; + --catch-detail-color: black; /*#3a3aeb;*/ + --catch-detail-foregroundcolor: white; + --catch-detail-color-contrast: #fb3afb; - --catch-detail-color: black; /*#3a3aeb;*/ - --catch-detail-foregroundcolor: white; - --catch-detail-color-contrast: #fb3afb; + --image-carousel-height: 350px; - - --image-carousel-height: 350px; - - /** Technical value, used by icon.svelte + /** Technical value, used by icon.svelte */ - --svg-color: #000000; + --svg-color: #000000; } /***********************************************************************\ @@ -63,65 +61,64 @@ \***********************************************************************/ html, body { - height: 100%; - min-height: 100vh; - min-height: -webkit-fill-available; - margin: 0; - padding: 0; - background-color: var(--background-color); - color: var(--foreground-color); - font-family: "Helvetica Neue", Arial, sans-serif; + height: 100%; + min-height: 100vh; + min-height: -webkit-fill-available; + margin: 0; + padding: 0; + background-color: var(--background-color); + color: var(--foreground-color); + font-family: "Helvetica Neue", Arial, sans-serif; } svg, img { - box-sizing: content-box; - width: 100%; - height: 100%; + box-sizing: content-box; + width: 100%; + height: 100%; } li { - margin-left: 0.5em; - padding-left: 0.2em; - margin-top: 0.1em; + margin-left: 0.5em; + padding-left: 0.2em; + margin-top: 0.1em; } li::marker { - content: "•"; + content: "•"; } h1 { - font-size: xx-large; - margin-top: 0.6em; - margin-bottom: 0.4em; - font-weight: bold; + font-size: xx-large; + margin-top: 0.6em; + margin-bottom: 0.4em; + font-weight: bold; } - h2 { - font-size: x-large; - margin-top: 0.5em; - margin-bottom: 0.3em; - font-weight: bold; + font-size: x-large; + margin-top: 0.5em; + margin-bottom: 0.3em; + font-weight: bold; } h3 { - font-size: larger; - margin-top: 0.6em; - margin-bottom: 0; - font-weight: bold; + font-size: larger; + margin-top: 0.6em; + margin-bottom: 0; + font-weight: bold; } p { - padding-top: 0.1em; + padding-top: 0.1em; } input { - color: var(--foreground-color); + color: var(--foreground-color); } -input[type=text] { - width: 100%; +input[type="text"] { + width: 100%; } /************************* BIG CATEGORIES ********************************/ @@ -131,35 +128,34 @@ input[type=text] { * and some interactive elements */ - .subtle-background { - background: var(--subtle-detail-color); - color: var(--subtle-detail-color-contrast); + background: var(--subtle-detail-color); + color: var(--subtle-detail-color-contrast); } .normal-background { - background: var(--background-color); - color: var(--foreground-color); + background: var(--background-color); + color: var(--foreground-color); } .low-interaction { - background: var(--low-interaction-background); - color: var(--low-interaction-foreground) + background: var(--low-interaction-background); + color: var(--low-interaction-foreground); } .interactive { - background: var(--interactive-background); - color: var(--interactive-foreground) + background: var(--interactive-background); + color: var(--interactive-foreground); } .border-interactive { - border: 2px dashed var(--catch-detail-color-contrast); - border-radius: 0.5rem; + border: 2px dashed var(--catch-detail-color-contrast); + border-radius: 0.5rem; } .border-region { - border: 2px dashed var(--interactive-background); - border-radius: 0.5rem; + border: 2px dashed var(--interactive-background); + border-radius: 0.5rem; } /******************* Styling of input elements **********************/ @@ -168,246 +164,256 @@ input[type=text] { * This very important section defines what the various input elements look like within the 'low-interaction' and 'interactive'-blocks */ -button.small, .button.small { - line-height: 1rem; - margin: 0; - margin-left: 0.5rem; - padding: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - height: fit-content; - font-size: unset; - border: 2px solid var(--button-background); - border-radius: 0.5rem; - font-weight: normal; - transition: all 250ms; - --tw-text-opacity: 1; - --tw-bg-opacity: 1; - background: var(--low-interaction-background); - color: var(--low-interaction-foreground); +button.small, +.button.small { + line-height: 1rem; + margin: 0; + margin-left: 0.5rem; + padding: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + height: fit-content; + font-size: unset; + border: 2px solid var(--button-background); + border-radius: 0.5rem; + font-weight: normal; + transition: all 250ms; + --tw-text-opacity: 1; + --tw-bg-opacity: 1; + background: var(--low-interaction-background); + color: var(--low-interaction-foreground); } -button, .button { - align-items: center; - display: inline-flex; - line-height: 1.25rem; - margin: 0.2rem; - padding: 0.4rem; - padding-left: 0.6rem; - padding-right: 0.6rem; - font-size: large; - font-weight: bold; - border: 2px solid var(--button-background); - border-radius: 0.5rem; - transition: all 250ms; - --tw-text-opacity: 1; - --tw-bg-opacity: 1; - background: var(--low-interaction-background); - color: var(--low-interaction-foreground); +button, +.button { + align-items: center; + display: inline-flex; + line-height: 1.25rem; + margin: 0.2rem; + padding: 0.4rem; + padding-left: 0.6rem; + padding-right: 0.6rem; + font-size: large; + font-weight: bold; + border: 2px solid var(--button-background); + border-radius: 0.5rem; + transition: all 250ms; + --tw-text-opacity: 1; + --tw-bg-opacity: 1; + background: var(--low-interaction-background); + color: var(--low-interaction-foreground); } .button-shadow { - box-shadow: 0 5px 10px #88888888; + box-shadow: 0 5px 10px #88888888; } +button.selected, +.button.selected { + background-color: var(--catch-detail-color); + border-color: var(--catch-detail-color); - -button.selected, .button.selected { - background-color: var(--catch-detail-color); - border-color: var(--catch-detail-color); - - color: var(--catch-detail-foregroundcolor); + color: var(--catch-detail-foregroundcolor); } -button.selected svg path, .button.selected svg path { - fill: var(--catch-detail-foregroundcolor) !important; +button.selected svg path, +.button.selected svg path { + fill: var(--catch-detail-foregroundcolor) !important; } -button:not(.no-image-background):not(.soft) svg path, .button:not(.no-image-background):not(.soft) svg path { - fill: var(--interactive-foreground) !important;; - transition: all 250ms; +button:not(.no-image-background):not(.soft) svg path, +.button:not(.no-image-background):not(.soft) svg path { + fill: var(--interactive-foreground) !important; + transition: all 250ms; } -.interactive button, .interactive .button { - background: var(--interactive-background); - color: var(--interactive-foreground); +.interactive button, +.interactive .button { + background: var(--interactive-background); + color: var(--interactive-foreground); } -button:hover, .button:hover { - background-color: var(--catch-detail-color); - color: var(--catch-detail-foregroundcolor); - border: 2px solid var(--catch-detail-color-contrast); +button:hover, +.button:hover { + background-color: var(--catch-detail-color); + color: var(--catch-detail-foregroundcolor); + border: 2px solid var(--catch-detail-color-contrast); } -button:hover:not(.no-image-background) img, .button:hover:not(.no-image-background) img { - background: var(--low-interaction-background); - border-radius: 100rem; +button:hover:not(.no-image-background) img, +.button:hover:not(.no-image-background) img { + background: var(--low-interaction-background); + border-radius: 100rem; } - -button:hover:not(.no-image-background) svg path, .button:hover:not(.no-image-background) svg path { - fill: var(--catch-detail-foregroundcolor) !important;; +button:hover:not(.no-image-background) svg path, +.button:hover:not(.no-image-background) svg path { + fill: var(--catch-detail-foregroundcolor) !important; } -button.disabled:hover:not(.no-image-background) svg path, .button.disabled:hover:not(.no-image-background) svg path { - fill: var(--low-interaction-foreground) !important;; +button.disabled:hover:not(.no-image-background) svg path, +.button.disabled:hover:not(.no-image-background) svg path { + fill: var(--low-interaction-foreground) !important; } - -button.primary, .button.primary { - color: var(--button-foreground); - background: var(--button-background); +button.primary, +.button.primary { + color: var(--button-foreground); + background: var(--button-background); } -button.primary:not(.no-image-background) svg path, .button.primary:not(.no-image-background) svg path { - fill: var(--button-foreground) !important;; - transition: all 250ms; +button.primary:not(.no-image-background) svg path, +.button.primary:not(.no-image-background) svg path { + fill: var(--button-foreground) !important; + transition: all 250ms; } - -button.disabled, .button.disabled { - cursor: default; - border: 2px dashed var(--button-background); - background: unset; - color: unset; - box-shadow: none; +button.disabled, +.button.disabled { + cursor: default; + border: 2px dashed var(--button-background); + background: unset; + color: unset; + box-shadow: none; } - -button.disabled:hover, .button.disabled:hover { - cursor: default; - border: 2px dashed var(--button-background); - background: unset; - color: unset; +button.disabled:hover, +.button.disabled:hover { + cursor: default; + border: 2px dashed var(--button-background); + background: unset; + color: unset; } button.link { - border: none; - text-decoration: underline; - background-color: unset; + border: none; + text-decoration: underline; + background-color: unset; } button.link:hover { - color:unset; + color: unset; } -.interactive button.disabled svg path, .interactive .button.disabled svg path { - fill: var(--interactive-foreground) !important;; +.interactive button.disabled svg path, +.interactive .button.disabled svg path { + fill: var(--interactive-foreground) !important; } - -.low-interaction button.disabled svg path, .low-interaction .button.disabled svg path { - fill: var(--low-interaction-foreground) !important;; +.low-interaction button.disabled svg path, +.low-interaction .button.disabled svg path { + fill: var(--low-interaction-foreground) !important; } -.normal-background button.disabled svg path, .normal-background .button.disabled svg path { - fill: var(--foreground-color) !important; +.normal-background button.disabled svg path, +.normal-background .button.disabled svg path { + fill: var(--foreground-color) !important; } - .links-w-full a:not(.weblate-link) { - display: flex; - column-gap: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - width: 100%; + display: flex; + column-gap: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + width: 100%; } -button.soft, .button.soft { - border: 2px solid var(--interactive-background); - margin: 0; +button.soft, +.button.soft { + border: 2px solid var(--interactive-background); + margin: 0; } -button.soft:hover, .button.soft:hover { - background-color: var(--interactive-background); - color: var(--interactive-foreground); - border: 2px solid var(--catch-detail-color-contrast); +button.soft:hover, +.button.soft:hover { + background-color: var(--interactive-background); + color: var(--interactive-foreground); + border: 2px solid var(--catch-detail-color-contrast); } .links-as-button a { - /* + /* * Let a 'link' mimick a button, but not entirely */ - padding: 3px; - margin: 0; - background: var(--low-interaction-background); - color: var(--low-interaction-foreground); - border: 2px solid var(--interactive-background); - border-radius: 0.5rem; + padding: 3px; + margin: 0; + background: var(--low-interaction-background); + color: var(--low-interaction-foreground); + border: 2px solid var(--interactive-background); + border-radius: 0.5rem; } .links-as-button a:hover { - background-color: var(--interactive-background); - color: var(--interactive-foregroundcolor); - border-color: var(--catch-detail-color-contrast); + background-color: var(--interactive-background); + color: var(--interactive-foregroundcolor); + border-color: var(--catch-detail-color-contrast); } .links-as-button a:hover svg path { - fill: var(--catch-detail-foregroundcolor) !important; + fill: var(--catch-detail-foregroundcolor) !important; } select { - border: 2px solid #00000000; - color: var(--foreground-color) !important; - background-color: var(--low-interaction-background) !important; + border: 2px solid #00000000; + color: var(--foreground-color) !important; + background-color: var(--low-interaction-background) !important; } select:hover { - border-color: var(--catch-detail-color-contrast); + border-color: var(--catch-detail-color-contrast); } - -.neutral-label{ - /** This label styles as normal text. It's power comes from the many :not(.neutral-label) entries. +.neutral-label { + /** This label styles as normal text. It's power comes from the many :not(.neutral-label) entries. * Placed here for autocompletion */ } label:not(.neutral-label):not(.button) { - /** + /** * Label should _contain_ the input element */ - border: 2px solid var(--interactive-background); - padding: 0.25rem; - padding-right: 0.5rem; - padding-left: 0.5rem; - border-radius: 0.5rem; - background-color: var(--low-interaction-background); - width: 100%; - box-sizing: border-box; - transition: all 250ms; + border: 2px solid var(--interactive-background); + padding: 0.25rem; + padding-right: 0.5rem; + padding-left: 0.5rem; + border-radius: 0.5rem; + background-color: var(--low-interaction-background); + width: 100%; + box-sizing: border-box; + transition: all 250ms; } label.button { - width: 100%; + width: 100%; } label:hover:not(.neutral-label) { - background-color: var(--catch-detail-color); - color: var(--catch-detail-foregroundcolor); - border: 2px solid var(--interactive-contrast) + background-color: var(--catch-detail-color); + color: var(--catch-detail-foregroundcolor); + border: 2px solid var(--interactive-contrast); } label:not(.no-image-background):not(.neutral-label) img { - padding: 0.25rem; - border-radius: 0.25rem; - background: var(--low-interaction-background); + padding: 0.25rem; + border-radius: 0.25rem; + background: var(--low-interaction-background); } label:not(.neutral-label) svg path { - transition: all 250ms; + transition: all 250ms; } label:hover:not(.no-image-background):not(.neutral-label) svg path { - fill: var(--catch-detail-foregroundcolor) !important; + fill: var(--catch-detail-foregroundcolor) !important; } label.checked:not(.neutral-label) { - border: 2px solid var(--foreground-color); + border: 2px solid var(--foreground-color); } textarea { - color: black; + color: black; } /************************* OTHER CATEGORIES ********************************/ @@ -418,97 +424,95 @@ textarea { */ .thanks { - /* The class to indicate 'operation successful' or 'thank you for contributing' */ - font-weight: bold; - border-radius: 1em; - margin: 0.25em; - text-align: center; - padding: 0.25rem; - padding-left: 0.5rem; - padding-right: 0.5rem; - border: 3px dotted #58cd27; - background-color: #58cd2722; + /* The class to indicate 'operation successful' or 'thank you for contributing' */ + font-weight: bold; + border-radius: 1em; + margin: 0.25em; + text-align: center; + padding: 0.25rem; + padding-left: 0.5rem; + padding-right: 0.5rem; + border: 3px dotted #58cd27; + background-color: #58cd2722; } .alert { - /* The class to convey important information, e.g. 'invalid', 'something went wrong', 'warning: testmode', ... */ - background-color: var(--alert-color); - color: var(--alert-foreground-color); - font-weight: bold; - border-radius: 1em; - margin: 0.25em; - text-align: center; - padding: 0.15em 0.3em; - border: 2px dotted #ff9143; + /* The class to convey important information, e.g. 'invalid', 'something went wrong', 'warning: testmode', ... */ + background-color: var(--alert-color); + color: var(--alert-foreground-color); + font-weight: bold; + border-radius: 1em; + margin: 0.25em; + text-align: center; + padding: 0.15em 0.3em; + border: 2px dotted #ff9143; } - .warning { - /* The class to convey important information, but not as grave as 'alert' */ - background-color: var(--low-interaction-background); - color: var(--alert-foreground-color); - font-weight: bold; - border-radius: 1em; - margin: 0.25em; - text-align: center; - padding: 0.15em 0.3em; - border: 3px dotted #ff9143; + /* The class to convey important information, but not as grave as 'alert' */ + background-color: var(--low-interaction-background); + color: var(--alert-foreground-color); + font-weight: bold; + border-radius: 1em; + margin: 0.25em; + text-align: center; + padding: 0.15em 0.3em; + border: 3px dotted #ff9143; } .low-interaction .warning { - background-color: var(--interactive-background); + background-color: var(--interactive-background); } .information { - /* The class to convey important information which does _not_ denote an error... */ - background-color: var(--low-interaction-background); - color: var(--alert-foreground-color); - border-radius: 1em; - margin: 0.25em; - text-align: center; - padding: 0.15em 0.3em; - border: 3px dotted var(--catch-detail-color-contrast); + /* The class to convey important information which does _not_ denote an error... */ + background-color: var(--low-interaction-background); + color: var(--alert-foreground-color); + border-radius: 1em; + margin: 0.25em; + text-align: center; + padding: 0.15em 0.3em; + border: 3px dotted var(--catch-detail-color-contrast); } .low-interaction .interactive { - background-color: var(--interactive-background); + background-color: var(--interactive-background); } .subtle { - /* For all information that is not important for 99% of the users */ - color: #666; - font-weight: normal; + /* For all information that is not important for 99% of the users */ + color: #666; + font-weight: normal; } .low-interaction .subtle { - color: #444; + color: #444; } .interactive .subtle { - color: #333; + color: #333; } .link-underline .subtle a { - text-decoration: underline 1px #7193bb88; - color: #7193bb; + text-decoration: underline 1px #7193bb88; + color: #7193bb; } - .literal-code { - /* A codeblock */ - display: inline-block; - background-color: lightgray; - padding: 0.1rem; - padding-left: 0.35rem; - padding-right: 0.35rem; - word-break: break-word; - color: black; - box-sizing: border-box; - font-family: monospace; + /* A codeblock */ + display: inline-block; + background-color: lightgray; + padding: 0.1rem; + padding-left: 0.35rem; + padding-right: 0.35rem; + word-break: break-word; + color: black; + box-sizing: border-box; + font-family: monospace; } .interactive .literal-code { - background-color: #b3b3b3; + background-color: #b3b3b3; } /************************** UTILITY ************************/ @@ -517,184 +521,181 @@ textarea { * Utility classes are there for a specific function to pin down browser behaviour (and cannot be changed) */ - .text-white a { - /* Used solely in 'imageAttribution' and in many themes*/ - color: var(--background-color); + /* Used solely in 'imageAttribution' and in many themes*/ + color: var(--background-color); } .bg-black-transparent { - background-color: #00000088; + background-color: #00000088; } .block-ruby { - display: block ruby; + display: block ruby; } - .rounded-left-full { - border-bottom-left-radius: 999rem; - border-top-left-radius: 999rem; + border-bottom-left-radius: 999rem; + border-top-left-radius: 999rem; } .rounded-right-full { - border-bottom-right-radius: 999rem; - border-top-right-radius: 999rem; + border-bottom-right-radius: 999rem; + border-top-right-radius: 999rem; } - .no-images img { - /* Used solely in 'imageAttribution' and in many themes for the label*/ - display: none; + /* Used solely in 'imageAttribution' and in many themes for the label*/ + display: none; } .weblate-link { - display: inline-block; - flex-shrink: 0; - margin: 0; - padding: 0.25rem; - width: 1.2rem; - height: 1.2rem; - border: unset; - border-radius: 5rem; - backdrop-filter: var(--low-interaction-background); + display: inline-block; + flex-shrink: 0; + margin: 0; + padding: 0.25rem; + width: 1.2rem; + height: 1.2rem; + border: unset; + border-radius: 5rem; + backdrop-filter: var(--low-interaction-background); } - .no-weblate .weblate-link { - display: none !important; + display: none !important; } .link-underline a { - text-decoration: underline 1px var(--foreground-color); + text-decoration: underline 1px var(--foreground-color); } a.link-underline { - text-decoration: underline 1px var(--foreground-color); + text-decoration: underline 1px var(--foreground-color); } .link-no-underline a { - text-decoration: none; + text-decoration: none; } .disable-links a { - pointer-events: none; - text-decoration: none !important; - color: var(--subtle-detail-color-contrast) !important; + pointer-events: none; + text-decoration: none !important; + color: var(--subtle-detail-color-contrast) !important; } .enable-links a { - pointer-events: unset; - text-decoration: underline !important; - color: unset !important; + pointer-events: unset; + text-decoration: underline !important; + color: unset !important; } .disable-links a.must-link, .disable-links .must-link a { - /* Hide links if they are disabled */ - display: none; + /* Hide links if they are disabled */ + display: none; } - .zebra-table tr:nth-child(even) { - background-color: #f2f2f2; + background-color: #f2f2f2; } - /************************* MISC ELEMENTS *************************/ .selected svg:not(.noselect *) path.selectable { - /* A marker on the map gets the 'selected' class when it's properties are displayed + /* A marker on the map gets the 'selected' class when it's properties are displayed */ - stroke: white !important; - stroke-width: 20px !important; - overflow: visible !important; - -webkit-animation: glowing-drop-shadow 1s ease-in-out infinite alternate; - -moz-animation: glowing-drop-shadow 1s ease-in-out infinite alternate; - animation: glowing-drop-shadow 1s ease-in-out infinite alternate; + stroke: white !important; + stroke-width: 20px !important; + overflow: visible !important; + -webkit-animation: glowing-drop-shadow 1s ease-in-out infinite alternate; + -moz-animation: glowing-drop-shadow 1s ease-in-out infinite alternate; + animation: glowing-drop-shadow 1s ease-in-out infinite alternate; } .selected svg { - /* A marker on the map gets the 'selected' class when it's properties are displayed + /* A marker on the map gets the 'selected' class when it's properties are displayed */ - overflow: visible !important; + overflow: visible !important; } svg.apply-fill path { - fill: var(--svg-color) + fill: var(--svg-color); } .compass_arrow { - width: calc( 2.5rem - 1px ) ; - height: calc( 2.5rem - 1px ) + width: calc(2.5rem - 1px); + height: calc(2.5rem - 1px); } @media (min-width: 640px) { - .compass_arrow { - width: calc( 2.75rem - 1px ) ; - height: calc( 2.75rem - 1px ) - } + .compass_arrow { + width: calc(2.75rem - 1px); + height: calc(2.75rem - 1px); + } } - - - @-webkit-keyframes glowing-drop-shadow { - from { - filter: drop-shadow(5px 5px 60px rgb(128 128 128 / 0.6)); - } - to { - filter: drop-shadow(5px 5px 80px rgb(0.5 0.5 0.5 / 0.8)); - } + from { + filter: drop-shadow(5px 5px 60px rgb(128 128 128 / 0.6)); + } + to { + filter: drop-shadow(5px 5px 80px rgb(0.5 0.5 0.5 / 0.8)); + } } @keyframes slide { - /* This is the animation on the marker to add a new point - it slides through all the possible presets */ - from { - transform: translateX(0%); - } + /* This is the animation on the marker to add a new point - it slides through all the possible presets */ + from { + transform: translateX(0%); + } - to { - transform: translateX(calc(-100% + 42px)); - } + to { + transform: translateX(calc(-100% + 42px)); + } } .glowing-shadow { - -webkit-animation: glowing 1s ease-in-out infinite alternate; - -moz-animation: glowing 1s ease-in-out infinite alternate; - animation: glowing 1s ease-in-out infinite alternate; + -webkit-animation: glowing 1s ease-in-out infinite alternate; + -moz-animation: glowing 1s ease-in-out infinite alternate; + animation: glowing 1s ease-in-out infinite alternate; } @-webkit-keyframes glowing { - from { - box-shadow: 0 0 20px 10px #eaaf2588, inset 0 0 0px 1px #eaaf25; - } - to { - box-shadow: 0 0 20px 20px #eaaf2588, inset 0 0 5px 1px #eaaf25; - } + from { + box-shadow: 0 0 20px 10px #eaaf2588, inset 0 0 0px 1px #eaaf25; + } + to { + box-shadow: 0 0 20px 20px #eaaf2588, inset 0 0 5px 1px #eaaf25; + } } - /************************* LEGACY MARKER - CLEANUP BELOW ********************************/ - .slideshow-item img { - /* Legacy: should be replace when the image element is ported to Svelte*/ - height: var(--image-carousel-height); - width: unset; + /* Legacy: should be replace when the image element is ported to Svelte*/ + height: var(--image-carousel-height); + width: unset; } .animate-height { - /* Legacy: should be replaced by headlessui disclosure in time */ - transition: max-height 0.5s ease-in-out; - overflow-y: hidden; + /* Legacy: should be replaced by headlessui disclosure in time */ + transition: max-height 0.5s ease-in-out; + overflow-y: hidden; } - .min-h-32 { - min-height: 8rem; + min-height: 8rem; } .max-w-full { - max-width: 100%; + max-width: 100%; +} + +/************************* Experimental support for foldable devices ********************************/ +@media (horizontal-viewport-segments: 2) { + .theme-list { + display: grid; + grid-auto-flow: row; + grid-template-columns: repeat(2, minmax(0, 1fr)); + } } From 4a19be48b2957172da70d484f6f4ed3d62f5bf82 Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 24 Apr 2024 20:18:26 +0200 Subject: [PATCH 02/46] Remove margin from theme buttons for centering --- public/css/index-tailwind-output.css | 4 ++++ src/UI/BigComponents/ThemeButton.svelte | 2 +- src/index.css | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index af946e322..194f75757 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -2440,6 +2440,10 @@ button, color: var(--low-interaction-foreground); } +.theme-button { + margin: 0 !important; +} + .button-shadow { box-shadow: 0 5px 10px #88888888; } diff --git a/src/UI/BigComponents/ThemeButton.svelte b/src/UI/BigComponents/ThemeButton.svelte index 468c70e95..3f8809ba0 100644 --- a/src/UI/BigComponents/ThemeButton.svelte +++ b/src/UI/BigComponents/ThemeButton.svelte @@ -85,7 +85,7 @@ {#if theme.id !== personal.id || $unlockedPersonal} - + diff --git a/src/index.css b/src/index.css index 59319e214..49247d260 100644 --- a/src/index.css +++ b/src/index.css @@ -204,6 +204,10 @@ button, color: var(--low-interaction-foreground); } +.theme-button { + margin: 0 !important; +} + .button-shadow { box-shadow: 0 5px 10px #88888888; } From 716f5fc9e0dbccf7d05d1bd27d4ef540f05172cd Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 24 Apr 2024 21:02:00 +0200 Subject: [PATCH 03/46] Small CSS cleanup --- public/css/index-tailwind-output.css | 26 ++++++++++++++++++++++---- src/UI/AllThemesGui.svelte | 2 +- src/UI/BigComponents/ThemesList.svelte | 2 +- src/index.css | 24 ++++++++++++++++++++---- 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index 194f75757..3f4e49676 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -2420,6 +2420,28 @@ button.small, color: var(--low-interaction-foreground); } +.button.theme-button { + margin: 0; + margin-top: 0.25rem; + margin-bottom: 0.25rem; + /* Margin should be removed on larger screens */ + @media (min-width: 768px) { + margin: 0; + + margin-top: 0; + + margin-bottom: 0; + } + /* Experimental support for foldable devices */ + @media (horizontal-viewport-segments: 2) { + margin: 0; + + margin-top: 0; + + margin-bottom: 0; + } +} + button, .button { align-items: center; @@ -2440,10 +2462,6 @@ button, color: var(--low-interaction-foreground); } -.theme-button { - margin: 0 !important; -} - .button-shadow { box-shadow: 0 5px 10px #88888888; } diff --git a/src/UI/AllThemesGui.svelte b/src/UI/AllThemesGui.svelte index 5c1694fb4..0809f0838 100644 --- a/src/UI/AllThemesGui.svelte +++ b/src/UI/AllThemesGui.svelte @@ -136,7 +136,7 @@
- diff --git a/src/UI/BigComponents/ThemesList.svelte b/src/UI/BigComponents/ThemesList.svelte index 4a6f4ec96..29ba02ef6 100644 --- a/src/UI/BigComponents/ThemesList.svelte +++ b/src/UI/BigComponents/ThemesList.svelte @@ -24,7 +24,7 @@
-
+
{#each filteredThemes as theme (theme.id)} {#if theme !== undefined && !(hideThemes && theme?.hideFromOverview)} diff --git a/src/index.css b/src/index.css index 49247d260..11c9f1e21 100644 --- a/src/index.css +++ b/src/index.css @@ -184,6 +184,26 @@ button.small, color: var(--low-interaction-foreground); } +.button.theme-button { + margin: 0; + margin-top: 0.25rem; + margin-bottom: 0.25rem; + + /* Margin should be removed on larger screens */ + @media (min-width: 768px) { + margin: 0; + margin-top: 0; + margin-bottom: 0; + } + + /* Experimental support for foldable devices */ + @media (horizontal-viewport-segments: 2) { + margin: 0; + margin-top: 0; + margin-bottom: 0; + } +} + button, .button { align-items: center; @@ -204,10 +224,6 @@ button, color: var(--low-interaction-foreground); } -.theme-button { - margin: 0 !important; -} - .button-shadow { box-shadow: 0 5px 10px #88888888; } From dc24a04163453372b99ae8297b4dff828d360e1e Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Tue, 30 Apr 2024 13:50:10 +0200 Subject: [PATCH 04/46] Add linerendering (#1903) --- .../charging_station/charging_station.json | 244 +++++++++--------- .../charging_station.proto.json | 10 +- 2 files changed, 133 insertions(+), 121 deletions(-) diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 305b2f6bd..38a777db7 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -5,12 +5,7 @@ "nl": "Oplaadpunten", "de": "Ladestationen" }, - "description": { - "en": "A charging station", - "nl": "Oplaadpunten", - "ca": "Una estació de càrrega", - "de": "Eine Ladestation" - }, + "minzoom": 10, "source": { "osmTags": { "and": [ @@ -25,7 +20,6 @@ ] } }, - "minzoom": 10, "title": { "render": { "en": "Charging station", @@ -71,103 +65,13 @@ } ] }, - "pointRendering": [ - { - "location": [ - "point", - "centroid" - ], - "marker": [ - { - "icon": "pin", - "color": "#fff" - }, - { - "icon": { - "render": "./assets/themes/charging_stations/plug.svg", - "mappings": [ - { - "if": "bicycle=yes", - "then": "./assets/themes/charging_stations/bicycle.svg" - }, - { - "if": { - "or": [ - "car=yes", - "motorcar=yes" - ] - }, - "then": "./assets/themes/charging_stations/car.svg" - } - ] - } - } - ], - "iconBadges": [ - { - "if": { - "or": [ - "disused:amenity=charging_station", - "operational_status=broken" - ] - }, - "then": "close:#c22;" - }, - { - "if": { - "or": [ - "proposed:amenity=charging_station", - "planned:amenity=charging_station" - ] - }, - "then": "./assets/layers/charging_station/under_construction.svg" - }, - { - "if": { - "and": [ - "bicycle=yes", - { - "or": [ - "motorcar=yes", - "car=yes" - ] - } - ] - }, - "then": "circle:#fff;./assets/themes/charging_stations/car.svg" - } - ], - "anchor": "bottom", - "iconSize": "50,50" - } - ], - "lineRendering": [], - "presets": [ - { - "tags": [ - "amenity=charging_station", - "motorcar=no", - "bicycle=yes" - ], - "title": { - "en": "charging station for electrical bikes", - "nl": "oplaadpunt voor elektrische fietsen", - "de": "Ladestation für Elektrofahrräder" - } - }, - { - "tags": [ - "amenity=charging_station", - "motorcar=yes", - "bicycle=no" - ], - "title": { - "en": "charging station for cars", - "nl": "oplaadstation voor elektrische auto's", - "de": "Ladestation für Autos" - } - } - ], + "description": { + "en": "A charging station", + "nl": "Oplaadpunten", + "ca": "Una estació de càrrega", + "de": "Eine Ladestation" + }, + "#": "no-question-hint-check", "tagRenderings": [ "images", { @@ -2509,6 +2413,109 @@ } } ], + "lineRendering": [ + { + "color": "black", + "width": 2, + "fillColor": "#80808080" + } + ], + "pointRendering": [ + { + "location": [ + "point", + "centroid" + ], + "marker": [ + { + "icon": "pin", + "color": "#fff" + }, + { + "icon": { + "render": "./assets/themes/charging_stations/plug.svg", + "mappings": [ + { + "if": "bicycle=yes", + "then": "./assets/themes/charging_stations/bicycle.svg" + }, + { + "if": { + "or": [ + "car=yes", + "motorcar=yes" + ] + }, + "then": "./assets/themes/charging_stations/car.svg" + } + ] + } + } + ], + "iconBadges": [ + { + "if": { + "or": [ + "disused:amenity=charging_station", + "operational_status=broken" + ] + }, + "then": "close:#c22;" + }, + { + "if": { + "or": [ + "proposed:amenity=charging_station", + "planned:amenity=charging_station" + ] + }, + "then": "./assets/layers/charging_station/under_construction.svg" + }, + { + "if": { + "and": [ + "bicycle=yes", + { + "or": [ + "motorcar=yes", + "car=yes" + ] + } + ] + }, + "then": "circle:#fff;./assets/themes/charging_stations/car.svg" + } + ], + "anchor": "bottom", + "iconSize": "50,50" + } + ], + "presets": [ + { + "tags": [ + "amenity=charging_station", + "motorcar=no", + "bicycle=yes" + ], + "title": { + "en": "charging station for electrical bikes", + "nl": "oplaadpunt voor elektrische fietsen", + "de": "Ladestation für Elektrofahrräder" + } + }, + { + "tags": [ + "amenity=charging_station", + "motorcar=yes", + "bicycle=no" + ], + "title": { + "en": "charging station for cars", + "nl": "oplaadstation voor elektrische auto's", + "de": "Ladestation für Autos" + } + } + ], "filter": [ { "id": "vehicle-type", @@ -2714,19 +2721,6 @@ ] } ], - "deletion": { - "softDeletionTags": { - "and": [ - "amenity=", - "disused:amenity=charging_station" - ] - }, - "neededChangesets": 10 - }, - "allowMove": { - "enableRelocation": false, - "enableImproveAccuracy": true - }, "units": [ { "maxstay": { @@ -2885,5 +2879,17 @@ } } ], - "#": "no-question-hint-check" -} + "allowMove": { + "enableRelocation": false, + "enableImproveAccuracy": true + }, + "deletion": { + "softDeletionTags": { + "and": [ + "amenity=", + "disused:amenity=charging_station" + ] + }, + "neededChangesets": 10 + } +} \ No newline at end of file diff --git a/assets/layers/charging_station/charging_station.proto.json b/assets/layers/charging_station/charging_station.proto.json index 56995a929..4bbdde3f3 100644 --- a/assets/layers/charging_station/charging_station.proto.json +++ b/assets/layers/charging_station/charging_station.proto.json @@ -874,7 +874,13 @@ } } ], - "lineRendering": [], + "lineRendering": [ + { + "color": "black", + "width": 2, + "fillColor": "#80808080" + } + ], "pointRendering": [ { "location": [ @@ -1043,4 +1049,4 @@ }, "neededChangesets": 10 } -} +} \ No newline at end of file From 71ed593557c753c85c1e193cab35e39b1ce7b568 Mon Sep 17 00:00:00 2001 From: contrapunctus Date: Fri, 3 May 2024 03:47:16 +0530 Subject: [PATCH 05/46] Correct grammar --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 8ba374101..1538a6999 100644 --- a/README.md +++ b/README.md @@ -24,19 +24,19 @@ sent back to directly to OpenStreetMap. Furthermore, it shows images present in the `image` tag or, if a `wikidata` or `wikimedia_commons`-tag is present, it follows those to get these images too. -**An explicit non-goal** of MapComplete is to modify geometries of ways, especially generic geometry-editing. (Splitting -roads is possible and in some restricted themes is geometry-conflation possible too). If adding geometry would be supported, we'd also have to show all geometries (to avoid accidental intersections). -This would invite to show and map these other geometries as well, resulting in a general-purpose editor. However, we already [have an excellent, web-based general purpose editor](https://wiki.openstreetmap.org/wiki/ID). +**An explicit non-goal** of MapComplete is to modify geometries of ways, especially generic geometry editing. (Splitting +roads is possible; in some restricted themes, geometry conflation is also possible). If adding geometry would be supported, we'd also have to show all geometries (to avoid accidental intersections). +This would invite showing and editing other geometries as well, resulting in a general-purpose editor. However, we already [have an excellent, web-based general purpose editor](https://wiki.openstreetmap.org/wiki/ID). **More about MapComplete:** [Watch Pieter's talk on the 2021 State Of The Map Conference](https://media.ccc.de/v/sotm2021-9448-introduction-and-review-of-mapcomplete) ([YouTube](https://www.youtube.com/watch?v=zTtMn6fNbYY)) about the history, vision and future of MapComplete. -## What's the difference with StreetComplete? +## How is it different from StreetComplete? This is the repository of _Map_ Complete. _Street_ Complete is an Android-only application where the contributor is shown some questions to solve, after which the pin will dissappear from the map. -StreetComplete can thus be seen as a Todo-map for contributors who go on a stroll, whereas MapComplete is a website showing relevant information and which allows to add or update information. +StreetComplete can thus be seen as a Todo-map for contributors who go on a stroll, whereas MapComplete is a website showing relevant information and which allows adding or updating information. The codebases are separate, even though many ideas and some artwork are copied from the StreetComplete app. @@ -53,8 +53,8 @@ To develop or deploy a version of MapComplete, have a look [to the guide](Docs/D It is possible to quickly make and distribute your own theme, [please read the documentation on how to do this](Docs/Making_Your_Own_Theme.md). -The main developer is currently _not_ taking requests for new themes (unless they are commissioned). There are simply to much good thematic maps to make. -We do however encourage you to try to create your own theme yourself - we'll gladly accept it as official theme if it meets the criteria. +The main developer is currently _not_ taking requests for new themes (unless they are commissioned). There are simply too many good thematic maps to make. +We do however encourage you to try to create your own theme yourself - we'll gladly accept it as an official theme if it meets the criteria. ## Examples @@ -84,35 +84,35 @@ MapComplete is set up to lure people into OpenStreetMap and to teach them while A typical user journey would be: -0. Oh, this is a cool map of _my specific interest_! There is a lot of data already... +1. Oh, this is a cool map of _my specific interest_! There is a lot of data already... * The user might discover the explanation about OSM in the second tab * The user might share the map and/or embed it in the third tab * The user might discover the other themes in the last tab -1. The user clicks that big tempting button 'login' in order to answer questions - there's enough of these login - buttons... The user creates an account. +2. The user clicks that big tempting button 'login' in order to answer questions - there's enough of these login + buttons...the user creates an account. -2. The user answers a question! Hooray! The user transformed into a __contributor__ now. +3. The user answers a question! Hooray! The user is now transformed into a __contributor__. - * When at least one question is answered (aka: having one changeset on OSM), adding a new point is unlocked + * When at least one question is answered (AKA: having one changeset on OSM), adding a new point is unlocked -3. The user adds a new POI somewhere +4. The user adds a new POI somewhere * Note that _all messages_ must be read before being able to add a point. * In other words, sending a message to a misbehaving MapComplete user acts as having a **zero-day-block**. This is added deliberately to make sure new users _have_ to read feedback from the community. -4. At 50 changesets, the [personal layout](https://mapcomplete.org/personal.html) is advertised. The +5. At 50 changesets, the [personal layout](https://mapcomplete.org/personal.html) is advertised. The personal theme is a theme where contributors can pick layers from all the official themes. Note that the personal theme is always available. -5. At 200 changesets, the tags become visible when answering questions and when adding a new point from a preset. This - is to give more control to power users and to teach new users the tagging scheme +6. At 200 changesets, the tags become visible when answering questions and when adding a new point from a preset. This + is to give more control to power users and to teach new users the tagging scheme. -6. At 250 changesets, the tags get linked to the wiki +7. At 250 changesets, the tags get linked to the wiki. -7. At 500 changesets, I expect contributors to be power users and to be comfortable with tagging scheme and such. The +8. At 500 changesets, I expect contributors to be power users and to be comfortable with tagging schemes and such. The custom theme generator is unlocked. ## License @@ -143,7 +143,7 @@ The website is purely static. This means that there is no database here, nor one OpenStreetMap, Wikimedia (for images), Imgur. Settings are saved in the preferences-space of the OSM-website, amended by some local-storage if the user is not logged-in. -When viewing, the data is loaded from overpass. The data is then converted (in the browser) to geojson, which is +When viewing, the data is loaded from Overpass. The data is then converted (in the browser) to GeoJSON, which is rendered by Leaflet. When a map feature is clicked, a popup shows the information, images and questions that are relevant for that object. @@ -173,7 +173,7 @@ need some help in getting their API working). In order to avoid lots of small changesets, a changeset is opened and kept open. The changeset number is saved into the users preferences on OSM. -Whenever a change is made -even adding a single tag - the change is uploaded into this changeset. If that fails, the +Whenever a change is made - even adding a single tag - the change is uploaded into this changeset. If that fails, the changeset is probably closed and we open a new changeset. Note that changesets are closed automatically after one hour of inactivity, so we don't have to worry about closing @@ -182,7 +182,7 @@ them. # Privacy Privacy is important, we try to leak as little information as possible. All major personal information is handled by -OSM. Geolocation is available on mobile only through the device's GPS location (so no geolocation is sent of to Google). +OSM. Geolocation is available on mobile only through the device's GPS location (so no geolocation is sent to Google). TODO: erase cookies of third party websites and API's From 8df8d428c81cce8abb43a5953d452a393a4ab2ca Mon Sep 17 00:00:00 2001 From: kjon Date: Tue, 30 Apr 2024 02:07:18 +0200 Subject: [PATCH 06/46] Translated using Weblate (German) Currently translated at 100.0% (635 of 635 strings) Co-authored-by: kjon Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/de/ Translation: MapComplete/Core --- langs/de.json | 1 + 1 file changed, 1 insertion(+) diff --git a/langs/de.json b/langs/de.json index 3d6b5f6fd..3f13cdde7 100644 --- a/langs/de.json +++ b/langs/de.json @@ -49,6 +49,7 @@ }, "external": { "allAreApplied": "Alle fehlenden, externen Werte wurden in OpenStreetMap kopiert", + "allIncluded": "Von {source} geladene Daten sind in OpenStreetMap enthalten", "apply": "Übernehmen", "applyAll": "Alle fehlenden Werte übernehmen", "conflicting": { From c7408037c3a916e0d45431d9c2ce24447b12ffa3 Mon Sep 17 00:00:00 2001 From: Lucas Date: Tue, 30 Apr 2024 02:07:18 +0200 Subject: [PATCH 07/46] Translated using Weblate (French) Currently translated at 53.7% (341 of 635 strings) Co-authored-by: Lucas Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/fr/ Translation: MapComplete/Core --- langs/fr.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/langs/fr.json b/langs/fr.json index d541a5ca7..d092aa74f 100644 --- a/langs/fr.json +++ b/langs/fr.json @@ -26,6 +26,7 @@ "selectReason": "Sélectionner pourquoi cet élément devrait être supprimé", "softDelete": "Cet objet sera mis à jour et caché de l'application. {reason}" }, + "isChanged": "Cet objet a été modifié et ne correspond plus au calque", "isDeleted": "Cet objet est supprimé", "isntAPoint": "Seul les nœuds peuvent être supprimés, l'élément sélectionné est une ligne, un polygone ou une relation.", "loading": "Inspection des propriétés pour vérifier si l’élément peut être supprimé.", @@ -291,6 +292,7 @@ }, "title": "Envoyer votre trace sur OpenStreetMap.org" }, + "uploadPendingSingle": "Une modification en attente", "weekdays": { "abbreviations": { "friday": "Ven", From 4bded18272ff6afe511d26c10df7a1dad39cf186 Mon Sep 17 00:00:00 2001 From: paunofu Date: Tue, 30 Apr 2024 02:07:19 +0200 Subject: [PATCH 08/46] Translated using Weblate (Catalan) Currently translated at 80.0% (409 of 511 strings) Co-authored-by: paunofu Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/ca/ Translation: MapComplete/themes --- langs/themes/ca.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/langs/themes/ca.json b/langs/themes/ca.json index 5d1f6cd2d..cac2ecfa3 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -96,6 +96,9 @@ "shortDescription": "Un mapa de bancs", "title": "Bancs" }, + "bicycle_parkings": { + "title": "Aparcament de bicicletes" + }, "bicycle_rental": { "description": "En aquest mapa, trobaràs nombroses estacions de lloguer de bicicletes que són conegudes per OpenStreetMap", "shortDescription": "Un mapa amb estacions de lloguer de bicicletes i botigues de lloguer de bicicletes", @@ -605,6 +608,9 @@ "description": "L'objectiu d'aquest mapa és presentar als ciclistes una solució fàcil d'utilitzar per trobar la infraestructura adequada per a les seves necessitats.

Pots fer un seguiment de la teva ubicació precisa (només mòbil) i seleccionar capes que siguin rellevants per a tu a la cantonada inferior esquerra. També podeu utilitzar aquesta eina per afegir o editar pins (punts d'interès) al mapa i proporcionar més dades responent a les preguntes.

Tots els canvis que feu es desaran automàticament a la base de dades global d'OpenStreetMap i es poden ser reutilitzat lliurement per altres persones.

Per obtenir més informació sobre el projecte cyclofix, aneu a
cyclofix.osm.be .", "title": "Cyclofix - un mapa per a ciclistes" }, + "disaster_response": { + "title": "Resposta davant de desastres" + }, "drinking_water": { "description": "En aquest mapa es mostren els punts d'aigua potable accessibles al públic i es poden afegir fàcilment", "title": "Aigua Potable" From 937802b1fb6d08e70bb04f59bd3a84d5ad0b185c Mon Sep 17 00:00:00 2001 From: Patchanka64 Date: Sun, 5 May 2024 07:31:01 +0000 Subject: [PATCH 09/46] Translated using Weblate (French) Currently translated at 55.7% (354 of 635 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/fr/ --- langs/fr.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/langs/fr.json b/langs/fr.json index d092aa74f..af550b176 100644 --- a/langs/fr.json +++ b/langs/fr.json @@ -117,6 +117,7 @@ "isApplied": "Les changements sont appliqués" }, "attribution": { + "attributionBackgroundLayer": "Le fond de plan actuel est {name}", "attributionBackgroundLayerWithCopyright": "Le fond de carte actuel est {name}: {copyright}", "attributionContent": "

Toutes les données sont fournies par OpenStreetMap, librement réutilisables sous Open DataBase License.

", "attributionTitle": "Crédits", @@ -240,9 +241,16 @@ "pickLanguage": "Choisir la langue : ", "poweredByOsm": "Propulsé par OpenStreetMap", "questionBox": { + "answeredMultiple": "Vous avez répondu à {answered} questions", "answeredMultipleSkippedMultiple": "Vous avez répondu à {answered} questions et passé {skipped} questions", + "answeredMultipleSkippedOne": "Vous avez répondu à {answered} questions et passé une question", + "answeredOne": "Vous avez répondu à une question", + "answeredOneSkippedMultiple": "Vous avez répondu à une question et passé {skipped} questions", + "answeredOneSkippedOne": "Vous avez répondu à une question et passé une question", "done": "Pas d'autre question ! Merci !", - "reactivate": "Réactiver les questions passées" + "reactivate": "Réactiver les questions passées", + "skippedMultiple": "Vous avez passé {skipped} questions", + "skippedOne": "Vous avez passé une question" }, "questions": { "emailIs": "L'adresse électronique de {category} est {email}", @@ -264,8 +272,11 @@ "searchShort": "Rechercher…", "searching": "Chargement…" }, + "searchAnswer": "Chercher une option…", + "share": "Partager", "sharescreen": { "copiedToClipboard": "Lien copié dans le presse-papier", + "documentation": "Pour plus d'information sur les paramètre d'URL disponible,consultez la documentation", "embedIntro": "

Incorporer à votre site Web

Ajouter la carte à votre site Web.
Nous vous y encourageons – pas besoin de permission.
C'est gratuit et pour toujours. Plus de personnes l'utilisent, mieux c'est.", "fsUserbadge": "Activer le bouton de connexion", "fsWelcomeMessage": "Afficher le message de bienvenue et les onglets associés", @@ -275,6 +286,7 @@ }, "skip": "Passer la question", "testing": "Test - les changements ne seront pas sauvegardés", + "uploadError": "Erreur lors de l'envoi des changements : {error}", "uploadGpx": { "meta": { "descriptionIntro": "En option, vous pouvez entrer une description de votre trace :", @@ -352,7 +364,7 @@ "nearby": { "link": "Cette photo montre l'objet", "seeNearby": "Parcourez et associez des photos à proximité", - "title": "Imagerie StreetView à proximité" + "title": "Imagerie de rue à proximité" }, "pleaseLogin": "Connectez-vous pour téléverser une photo", "respectPrivacy": "Ne photographiez ni les personnes ni les plaques d'immatriculation. Ne téléversez rien issu de Google Maps, Google Streetview ou d'autre sources soumises à des droits d'auteurs.", From a42f9bfe0462f4c10caddb8412f51a47b0ce6c9d Mon Sep 17 00:00:00 2001 From: Patchanka64 Date: Sat, 4 May 2024 07:45:08 +0000 Subject: [PATCH 10/46] Translated using Weblate (French) Currently translated at 76.1% (389 of 511 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/fr/ --- langs/themes/fr.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/langs/themes/fr.json b/langs/themes/fr.json index e948d8b88..7ffc8b2ac 100644 --- a/langs/themes/fr.json +++ b/langs/themes/fr.json @@ -847,6 +847,10 @@ "shortDescription": "Cette carte montre la vitesse maximale autorisée sur les routes.", "title": "Vitesse maximale" }, + "memorials": { + "description": "Un mémorial est un objet physiquement installé sur l'espace public en souvenir d'une personne ou d'un évènement. Cela peut être toute sorte d'objets, comme une statue, une plaque, une peinture, un objet militaire (comme un tank), ...", + "title": "Mémorials" + }, "nature": { "description": "Retrouvez sur cette carte des informations pour les touristes et les amoureux de la nature.", "shortDescription": "Une carte pour les amoureux de la nature", From 4018c54ac5a81a6998c12252d72b4379654d787a Mon Sep 17 00:00:00 2001 From: Patchanka64 Date: Sun, 5 May 2024 08:22:53 +0000 Subject: [PATCH 11/46] Translated using Weblate (French) Currently translated at 57.6% (366 of 635 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/fr/ --- langs/fr.json | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/langs/fr.json b/langs/fr.json index af550b176..9bd1c316f 100644 --- a/langs/fr.json +++ b/langs/fr.json @@ -54,7 +54,13 @@ "button": { "markAsFavouriteTitle": "Sauvegarder ce lieu comme favoris", "markDescription": "Ajouter ce lieu à votre liste personnelle de favoris" - } + }, + "downloadGeojson": "Télécharger vos lieux favoris en geojson", + "downloadGpx": "Télécharger vos lieux favoris en GPX", + "intro": "Vous avez indiqué {length} lieux comme favoris.", + "introPrivacy": "Cette liste est uniquement visible par vous", + "tab": "Vos favoris et avis", + "title": "Vos lieux favoris" }, "flyer": { "cyclofix": "Les pompes à vélo, les stations de réparation, les points d'eau potable et les vélocistes sont sur CycloFix", @@ -70,6 +76,7 @@ "intro": "MapComplete est un site qui a {mapCount} carte intéractives. Chaque carte permet d'ajouter et mettre à jour des informations. IL y a de nombreuses fonctionnalités :", "li1": "Ajouter de nouveaux points et mettre à jour les infos de ceux existant", "li2": "Ajouter facilement des informations de contact et des heures d'ouverture", + "li5": "Fonction d'import de jeux de données existants", "title": "Qu'est-ce que MapComplete ?" }, "title": "mapcomplete.org", @@ -79,7 +86,7 @@ "404": "Cette page n'existe pas", "about": "Éditer facilement et ajouter OpenStreetMap pour un certain thème", "aboutMapComplete": { - "intro": "Utilisez MapComplete pour ajouter des informations à OpenStreetMap par thématiques. Réponsez à des question et, en quelques minutes, vos contributions seront disponibles partout. Dans la plupart des thèmes vous pouvez ajouter des photos et même laisser un commentaire. Le responsable du thème définit les éléments, les questions et les langues." + "intro": "Utilisez MapComplete pour ajouter des informations à OpenStreetMap par thématiques. Répondez à des questions et, en quelques minutes, vos contributions seront disponibles partout. Dans la plupart des thèmes vous pouvez ajouter des photos et même laisser un commentaire. Le responsable du thème définit les éléments, les questions et les langues." }, "add": { "addNew": "Ajouter {category}", @@ -122,10 +129,10 @@ "attributionContent": "

Toutes les données sont fournies par OpenStreetMap, librement réutilisables sous Open DataBase License.

", "attributionTitle": "Crédits", "codeContributionsBy": "MapComplete a été construit par {contributors} et {hiddenCount} autres contributeurs", - "donate": "Soutenez MapComplete financièrement", + "donate": "Soutenir MapComplete financièrement", "editId": "Ouvrir l’éditeur en ligne OpenStreetMap ici", "editJosm": "Modifier ici avec JOSM", - "followOnMastodon": "Suivez MapComplete sur Mastodon", + "followOnMastodon": "Suivre MapComplete sur Mastodon", "iconAttribution": { "title": "Icônes utilisées" }, @@ -136,7 +143,7 @@ "mapDataByOsm": "Données de la carte : OpenStreetMap", "mapillaryHelp": "Mapillary est un service en ligne qui rassemble des photos au niveau des rues et les propose sous une licence libre. Les contributeurs sont autorisés à utiliser ces photos pour améliorer OpenStreetMap.", "openIssueTracker": "Signaler un problème", - "openMapillary": "Ouvrez Mapillary ici", + "openMapillary": "Ouvrir Mapillary ici", "openOsmcha": "Voir les dernières modifications faites avec {theme}", "themeBy": "Thème maintenu par {author}", "title": "Droits d'auteur et attribution", @@ -349,11 +356,13 @@ "hotkeyDocumentation": { "action": "Action", "closeSidebar": "Fermer la barre latérale", + "intro": "MapComplete autorise les raccourcis clavier suivants :", "key": "Combinaison de touches", "openLayersPanel": "Ouvre le panneau fond-de-plan, couches et filtres", "selectMapnik": "Appliquer le fond de carte OpenStreetMap-carto", "selectSearch": "Sélectionner la barre de recherche de lieux", - "title": "Raccourcis clavier" + "title": "Raccourcis clavier", + "translationMode": "Activer/désactiver le mode traduction" }, "image": { "addPicture": "Ajoutez une photo", @@ -460,12 +469,15 @@ "i_am_affiliated": "Je suis affilié à cet objet
Cochez si vous en êtes le propriétaire, créateur, employé, …", "name_required": "Un nom est requis pour afficher et créer des avis", "no_reviews_yet": "Il n'y a pas encore d'avis. Soyez le premier à en écrire un et aidez le lieu et les données ouvertes !", + "reviews_bug": "Certains de vos avis sont manquants ? Certains ne sont pas visible à cause d'un bug.", "saved": "Avis enregistré. Merci du partage !", "saving_review": "Enregistrement…", "title": "{count} avis", "title_singular": "Un avis", "tos": "En publiant un avis, vous êtes d'accord avec les conditions d'utilisation et la politique de confidentialité de Mangrove.reviews", - "write_a_comment": "Laisser un avis…" + "write_a_comment": "Laisser un avis…", + "your_reviews": "Vos précédents avis", + "your_reviews_empty": "Aucun avis n'a été trouvé" }, "split": { "cancel": "Annuler", From b45a23dc9b506dbf6f7db2b179b0505b86719ffd Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 9 May 2024 23:33:50 +0000 Subject: [PATCH 12/46] Translated using Weblate (Dutch) Currently translated at 82.0% (521 of 635 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/nl/ --- langs/nl.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/nl.json b/langs/nl.json index 78a2a1efb..bc1937c44 100644 --- a/langs/nl.json +++ b/langs/nl.json @@ -590,7 +590,7 @@ "miscCookiesTitle": "Andere cookies", "surveillance": "Gezien je de privacy-policy leest, vind je privacy waarschijnlijk belangrijk - wij ook! We hebben zelfs een kaart met bewakingcamera's gemaakt. Voeg er zeker toe!", "title": "Privacyverklaring", - "tracking": "Om enig inzicht te krijgen in wie de site bezoekt, wordt er technische informatie verzameld. Dit omvat het land van waaruit je de site bezoekt, vanop welke website je doorklikte naar MapComplete, het type toestel en de schermgrootte. Een cookie wordt op he toestel geplaatst om mee te geven dat je de site eerder in de dag bezocht. De data is niet gedetailleerd genoeg om persoonlijke informatie te zijn. Er zijn enkel geaggregeerde statistieken mogelijk. Deze kunnen door iedereen bekeken worden.", + "tracking": "Om enig inzicht te krijgen in wie de site bezoekt, wordt er technische informatie verzameld. Dit omvat het land van waaruit je de site bezoekt, vanop welke website je doorklikte naar MapComplete, het type toestel en de schermgrootte. Een cookie wordt op het toestel geplaatst om mee te geven dat je de site eerder in de dag bezocht. De data is niet gedetailleerd genoeg om persoonlijke informatie te zijn. Er zijn enkel geaggregeerde statistieken mogelijk. Deze kunnen door iedereen bekeken worden.", "trackingTitle": "Statistische informatie", "whileYoureHere": "Vind je privacy belangrijk?" }, From 299b7fb0155d55b7d9e803fb966c3e85e42725c7 Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Sat, 11 May 2024 13:28:14 +0000 Subject: [PATCH 13/46] Translated using Weblate (Italian) Currently translated at 54.1% (344 of 635 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/it/ --- langs/it.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/langs/it.json b/langs/it.json index 9fd491d52..35d329a13 100644 --- a/langs/it.json +++ b/langs/it.json @@ -20,6 +20,7 @@ "cancel": "Annulla", "cannotBeDeleted": "Questo oggetto non può essere rimosso", "delete": "Rimuovi", + "deletedTitle": "Elemento cancellato", "explanations": { "hardDelete": "Questo elemento verrà rimosso da OpenStreetMap. Un utente esperto potrebbe recuperarlo", "retagNoOtherThemes": "Questo elemento verrà riclassificato e nascosto da questa applicazione", @@ -27,6 +28,7 @@ "selectReason": "Si prega di selezionare il motivo della rimozione di questo oggetto", "softDelete": "Questo oggetto verrà aggiornato e nascosto da questa applicazione. {reason}" }, + "isChanged": "Questo elemento è stato modificato e non è visibile in questo livello", "isDeleted": "Questo oggetto è stato rimosso", "isntAPoint": "Solo i nodi possono essere rimossi, l'elemento selezionato è un percorso, un’area oppure una relazione.", "loading": "Controllo delle proprietà per verificare se questo oggetto può essere rimosso.", @@ -45,6 +47,12 @@ "useSomethingElse": "Per rimuoverlo usa un altro editor OpenStreetMap", "whyDelete": "Perché questo elemento andrebbe rimosso?" }, + "external": { + "allAreApplied": "Tutti i valori esterni mancanti sono stati copiati su OpenStreetMap", + "allIncluded": "I dati caricati da {source} sono contenuti in OpenStreetMap", + "apply": "Applica", + "applyAll": "Applica tutti i valori mancanti" + }, "favourite": { "loginNeeded": "

Accedi

Il layout personale è disponibile soltanto per gli utenti OpenStreetMap", "panelIntro": "

Il tuo tema personale

Attiva i tuoi livelli preferiti fra tutti i temi ufficiali", From 063edafe40516d24507191b3e5e6cc177b0d8bdf Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Sun, 12 May 2024 10:40:32 +0000 Subject: [PATCH 14/46] Translated using Weblate (Italian) Currently translated at 54.8% (348 of 635 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/it/ --- langs/it.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/langs/it.json b/langs/it.json index 35d329a13..d09a0ea4f 100644 --- a/langs/it.json +++ b/langs/it.json @@ -143,10 +143,10 @@ "pleaseLogin": "Accedi 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?", + "title": "Aggiungi un nuovo elemento", "warnVisibleForEveryone": "La tua aggiunta sarà visibile a tutti", "wrongType": "Questo elemento non è un nodo o una way e non può essere importato", - "zoomInFurther": "Ingrandisci di più per aggiungere un elemento.", + "zoomInFurther": "Ingrandisci di più per aggiungere un elemento", "zoomInMore": "Ingrandisci ancora per importare questo oggetto" }, "apply_button": { @@ -189,7 +189,7 @@ "downloadAsPdfHelper": "Ideale per stampare la mappa corrente", "downloadAsPng": "Scarca come immagine", "downloadAsSvg": "Scarica una SVG dalla mappa corrente", - "downloadAsSvgHelper": "Compatible con Inkscape o Adobe Illustrator; necessita di ulteriori processamenti ", + "downloadAsSvgHelper": "Compatible con Inkscape o Adobe Illustrator; necessita di ulteriori processamenti", "downloadCSV": "Scarica i dati visibili come CSV", "downloadCSVHelper": "Compatibile con LibreOffice Calc, Excel, …", "downloadFeatureAsGeojson": "Scarica come file GeoJSON", @@ -283,7 +283,7 @@ "generatedWith": "Generato con mapcomplete.org/{layoutid}", "versionInfo": "v{version} - generato il {date}" }, - "pickLanguage": "Scegli una lingua:", + "pickLanguage": "Scegli una lingua", "poweredByOsm": "Basato su OpenStreetMap", "questionBox": { "answeredMultiple": "Hai risposto a {answered} domande", @@ -446,7 +446,7 @@ "i_am_affiliated": "Sono associato con questo oggetto
Spunta se sei il proprietario, creatore, dipendente, etc.", "name_required": "È richiesto un nome per poter mostrare e creare recensioni", "no_reviews_yet": "Non ci sono ancora recensioni. Sii il primo a scriverne una aiutando così i dati liberi e l’attività!", - "saved": "Recensione salvata. Grazie per averla condivisa!", + "saved": "Recensione salvata. Grazie per averla condivisa!", "saving_review": "Salvataggio…", "title": "{count} recensioni", "title_singular": "Una recensione", From 9002c6491986828aa4bd66a8dea9855ab4792741 Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Sun, 12 May 2024 10:44:58 +0000 Subject: [PATCH 15/46] Translated using Weblate (Italian) Currently translated at 44.2% (226 of 511 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/it/ --- langs/themes/it.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/langs/themes/it.json b/langs/themes/it.json index 6fc0f4e43..2b0710cdd 100644 --- a/langs/themes/it.json +++ b/langs/themes/it.json @@ -32,7 +32,7 @@ "title": "Panchine" }, "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" }, "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", @@ -526,7 +526,7 @@ } }, "ghostbikes": { - "description": "Una bici fantasma è 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 dell’incidente.

In questa cartina, è 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).", + "description": "Una bici fantasma è 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 dell’incidente.

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).

Esiste un account automatizzato su Mastodon da aggiornamenti mensili sulle bici fantasma del mondo

", "title": "Bici fantasma" }, "hackerspaces": { @@ -535,9 +535,9 @@ "title": "Hackerspace" }, "hailhydrant": { - "description": "In questa cartina puoi vedere e aggiornare idranti, stazioni dei pompieri, stazioni delle ambulanze ed estintori del tuo quartiere preferito.\n\nPuoi seguire la tua posizione precisa (solo su cellulare) e selezionare i livelli che ti interessano nell’angolo in basso a sinistra. Puoi anche usare questo strumento per aggiungere o modificare i PDI sulla mappa e fornire ulteriori dettagli rispondendo alle domande.\n\nTutte le modifiche che farai verranno automaticamente salvate nel database globale di OpenStreetMap e potranno essere riutilizzate liberamente da tutti.", + "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." + "title": "Idranti, estintori, caserme dei vigili del fuoco e stazioni delle ambulanze" }, "maps": { "description": "In questa carta puoi trovare tutte le mappe conosciute da OpenStreetMap (tipicamente una grossa mappa su di un pannello informativo che mostra l’area, 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.)

Se manca una mappa, puoi aggiungerla facilmente a questa su OpenStreetMap.", @@ -572,7 +572,7 @@ "title": "Codici postali" }, "postboxes": { - "description": "In questa cartina puoi veder e modificare gli uffici postali e le buche delle lettere. Puoi usare questa cartina per trovare dove imbucare la tua prossima cartolina! :)
Hai trovato un errore o una buca delle lettere mancante? Puoi modificare questa cartina con un account gratuito su OpenStreetMap.", + "description": "In questa mappa puoi veder e modificare gli uffici postali e le buche delle lettere. Puoi usare questa mappa per scoprire dove imbucare la tua prossima cartolina! :)
Hai trovato un errore o una buca delle lettere mancante? Puoi modificare questa cartina con un account gratuito su OpenStreetMap.", "shortDescription": "Una cartina che mostra le buche delle lettere e gli uffici postali", "title": "Buche delle lettere e uffici postali" }, @@ -702,4 +702,4 @@ "shortDescription": "Una cartina dei cestini dei rifiuti", "title": "Cestino dei rifiuti" } -} \ No newline at end of file +} From 9e768f33f6dfbc24198d0d2b61e51966e3f899fc Mon Sep 17 00:00:00 2001 From: paunofu Date: Tue, 30 Apr 2024 02:07:19 +0200 Subject: [PATCH 16/46] Translated using Weblate (Catalan) Currently translated at 80.4% (2759 of 3428 strings) Co-authored-by: paunofu Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/ca/ Translation: MapComplete/Layer translations --- langs/layers/ca.json | 506 +++++++++++++++++++++---------------------- 1 file changed, 253 insertions(+), 253 deletions(-) diff --git a/langs/layers/ca.json b/langs/layers/ca.json index 17c1536a2..881dcb8a4 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -35,6 +35,23 @@ "1": { "title": "un mupi" }, + "10": { + "description": "Una peça de tèxtil impermeable amb un missatge imprès, fixada permanentment a una paret", + "title": "una lona" + }, + "11": { + "title": "un tòtem" + }, + "12": { + "description": "S'utilitza per a cartells publicitaris, rètols de neó, logotips i cartells en entrades institucionals", + "title": "un lletrer" + }, + "13": { + "title": "una escupltura" + }, + "14": { + "title": "una paret pintada" + }, "2": { "title": "un mupi sobre la paret" }, @@ -54,23 +71,6 @@ }, "8": { "title": "una patalla sobre una paret" - }, - "10": { - "description": "Una peça de tèxtil impermeable amb un missatge imprès, fixada permanentment a una paret", - "title": "una lona" - }, - "11": { - "title": "un tòtem" - }, - "12": { - "description": "S'utilitza per a cartells publicitaris, rètols de neó, logotips i cartells en entrades institucionals", - "title": "un lletrer" - }, - "13": { - "title": "una escupltura" - }, - "14": { - "title": "una paret pintada" } }, "tagRenderings": { @@ -163,7 +163,10 @@ "then": "Açò és una tanca publicitària" }, "1": { - "then": "Açò és un tauló d'anunis" + "then": "Açò és un tauló d'anuncis" + }, + "10": { + "then": "Açò és una paret pintada" }, "2": { "then": "Açò és una columna" @@ -188,9 +191,6 @@ }, "9": { "then": "Açò és un tòtem" - }, - "10": { - "then": "Açò és una paret pintada" } }, "question": "Quin tipus d'element publicitari és aquest?", @@ -205,6 +205,9 @@ "1": { "then": "Tauló d'anuncis" }, + "10": { + "then": "Paret Pintada" + }, "2": { "then": "Mupi" }, @@ -228,9 +231,6 @@ }, "9": { "then": "Tòtem" - }, - "10": { - "then": "Paret Pintada" } } } @@ -347,6 +347,15 @@ "1": { "then": "Mural" }, + "10": { + "then": "Azulejo (Rajoles decoratives espanyoles i portugueses)" + }, + "11": { + "then": "Enrajolat" + }, + "12": { + "then": "Tallat a la fusta" + }, "2": { "then": "Pintura" }, @@ -370,15 +379,6 @@ }, "9": { "then": "Relleu" - }, - "10": { - "then": "Azulejo (Rajoles decoratives espanyoles i portugueses)" - }, - "11": { - "then": "Enrajolat" - }, - "12": { - "then": "Tallat a la fusta" } }, "question": "Quin tipus d'obra és aquesta peça?", @@ -1945,30 +1945,6 @@ "1": { "then": "Endoll de paret Schuko sense pin a terra (CEE7/4 tipus F)" }, - "2": { - "then": "Endoll de paret Europeu amb pin a terra (CEE7/4 tipus E)" - }, - "3": { - "then": "Endoll de paret Europeu amb pin a terra (CEE7/4 tipus E)" - }, - "4": { - "then": "CHAdeMo" - }, - "5": { - "then": "CHAdeMo" - }, - "6": { - "then": "Tipus 1 amb cable" - }, - "7": { - "then": "Tipus 1 amb cable" - }, - "8": { - "then": "Tipus 1 sense cable" - }, - "9": { - "then": "Tipus 1 sense cable(J1772)" - }, "10": { "then": "CSS Tipus 1 (també conegut com a Tipus 1 Combo)" }, @@ -1992,6 +1968,30 @@ }, "17": { "then": "CSS Tipus 2 (mennekes)" + }, + "2": { + "then": "Endoll de paret Europeu amb pin a terra (CEE7/4 tipus E)" + }, + "3": { + "then": "Endoll de paret Europeu amb pin a terra (CEE7/4 tipus E)" + }, + "4": { + "then": "CHAdeMo" + }, + "5": { + "then": "CHAdeMo" + }, + "6": { + "then": "Tipus 1 amb cable" + }, + "7": { + "then": "Tipus 1 amb cable" + }, + "8": { + "then": "Tipus 1 sense cable" + }, + "9": { + "then": "Tipus 1 sense cable(J1772)" } } }, @@ -2661,6 +2661,9 @@ "1": { "then": "Aquesta via ciclista està pavimentada" }, + "10": { + "then": "Aquesta via ciclista està feta de grava fina" + }, "2": { "then": "Aquesta via ciclista està feta d'asfalt" }, @@ -2684,9 +2687,6 @@ }, "9": { "then": "Aquesta via ciclista està feta de grava" - }, - "10": { - "then": "Aquesta via ciclista està feta de grava fina" } }, "question": "De quina superfície està fet aquesta via ciclista?", @@ -2732,6 +2732,9 @@ "1": { "then": "Aquest carril bici està pavimentat" }, + "10": { + "then": "Aquesta via ciclista està feta de gravilla" + }, "2": { "then": "Aquest carril bici està fet d'asfalt" }, @@ -2743,9 +2746,6 @@ }, "9": { "then": "Aquesta via ciclista està feta de grava" - }, - "10": { - "then": "Aquesta via ciclista està feta de gravilla" } }, "question": "De què està feta la superfície d'aquest carrer?", @@ -3764,6 +3764,21 @@ "1": { "then": "Aquesta estació de fitness té un cartell amb instruccions per a un exercici concret." }, + "10": { + "then": "Aquesta estació de gimnàs té esglaons." + }, + "11": { + "then": "Aquesta estació de fitness disposa de cons per fer salts de granota." + }, + "12": { + "then": "Aquesta estació de fitness té bigues per saltar." + }, + "13": { + "then": "Aquesta estació de fitness té obstacles per a travesar." + }, + "14": { + "then": "Aquesta estació de fitness té una paret per enfilar-se." + }, "2": { "then": "Aquesta estació de fitness té una instal·lació per fer abdominals." }, @@ -3787,21 +3802,6 @@ }, "9": { "then": "Aquesta estació de fitness té llocs per fer exercicis d'eslàlom." - }, - "10": { - "then": "Aquesta estació de gimnàs té esglaons." - }, - "11": { - "then": "Aquesta estació de fitness disposa de cons per fer salts de granota." - }, - "12": { - "then": "Aquesta estació de fitness té bigues per saltar." - }, - "13": { - "then": "Aquesta estació de fitness té obstacles per a travesar." - }, - "14": { - "then": "Aquesta estació de fitness té una paret per enfilar-se." } } } @@ -3920,6 +3920,21 @@ "1": { "then": "Això és una fregiduria" }, + "10": { + "then": "Aquí es serveixen plats xinesos" + }, + "11": { + "then": "Aquí es serveixen plats grecs" + }, + "12": { + "then": "Aquí es serveixen plats indis" + }, + "13": { + "then": "Aquí es serveixen plats turcs" + }, + "14": { + "then": "Aquí es serveixen plats tailandesos" + }, "2": { "then": "Principalment serveix pasta" }, @@ -3943,21 +3958,6 @@ }, "9": { "then": "Aquí es serveixen plats francesos" - }, - "10": { - "then": "Aquí es serveixen plats xinesos" - }, - "11": { - "then": "Aquí es serveixen plats grecs" - }, - "12": { - "then": "Aquí es serveixen plats indis" - }, - "13": { - "then": "Aquí es serveixen plats turcs" - }, - "14": { - "then": "Aquí es serveixen plats tailandesos" } }, "question": "Quin tipus de menjar es serveix aquí?", @@ -4510,9 +4510,24 @@ "1": { "then": "Açò és un auditori" }, + "10": { + "then": "Açò és un laboratori" + }, + "14": { + "then": "Açò és una oficina" + }, + "16": { + "then": "Açò és un restaurant" + }, + "19": { + "then": "Açò és un magatzem" + }, "2": { "then": "Açò és un dormitori" }, + "22": { + "then": "Açò és una sala d'espera" + }, "3": { "then": "Açò és una capella" }, @@ -4530,21 +4545,6 @@ }, "9": { "then": "Açò és una cuina" - }, - "10": { - "then": "Açò és un laboratori" - }, - "14": { - "then": "Açò és una oficina" - }, - "16": { - "then": "Açò és un restaurant" - }, - "19": { - "then": "Açò és un magatzem" - }, - "22": { - "then": "Açò és una sala d'espera" } }, "question": "Quin tipus d'habitació és aquesta?" @@ -5154,6 +5154,19 @@ } } }, + "10": { + "options": { + "0": { + "question": "Totes les notes" + }, + "1": { + "question": "Oculta les notes d'importació" + }, + "2": { + "question": "Mostrar només les notes d'importació" + } + } + }, "2": { "options": { "0": { @@ -5209,19 +5222,6 @@ "question": "Sols mostra les notes obertes" } } - }, - "10": { - "options": { - "0": { - "question": "Totes les notes" - }, - "1": { - "question": "Oculta les notes d'importació" - }, - "2": { - "question": "Mostrar només les notes d'importació" - } - } } }, "name": "Notes d'OpenStreetMap", @@ -5521,6 +5521,12 @@ "1": { "then": "Aquesta és una plaça d'aparcament normal." }, + "10": { + "then": "Es tracta d'una plaça d'aparcament reservada al personal." + }, + "11": { + "then": "Aquest espai d'aparcament està reservat per a taxi." + }, "2": { "then": "Aquesta és una plaça d'aparcament per a minusvàlids." }, @@ -5538,12 +5544,6 @@ }, "9": { "then": "Es tracta d'una plaça d'aparcament reservada per a pares amb fills." - }, - "10": { - "then": "Es tracta d'una plaça d'aparcament reservada al personal." - }, - "11": { - "then": "Aquest espai d'aparcament està reservat per a taxi." } }, "question": "Quin tipus d'espai d'aparcament és aquest?" @@ -6118,6 +6118,21 @@ "1": { "then": "S'accepten monedes de 2 cèntims" }, + "10": { + "then": "S'accepten monedes de 20 cèntims" + }, + "11": { + "then": "S'accepten monedes de ½ franc" + }, + "12": { + "then": "S'accepten monedes d'1 franc" + }, + "13": { + "then": "S'accepten monedes de 2 francs" + }, + "14": { + "then": "S'accepten monedes de 5 francs" + }, "2": { "then": "S'accepten monedes de 5 cèntims" }, @@ -6141,21 +6156,6 @@ }, "9": { "then": "S'accepten monedes de 10 cèntims" - }, - "10": { - "then": "S'accepten monedes de 20 cèntims" - }, - "11": { - "then": "S'accepten monedes de ½ franc" - }, - "12": { - "then": "S'accepten monedes d'1 franc" - }, - "13": { - "then": "S'accepten monedes de 2 francs" - }, - "14": { - "then": "S'accepten monedes de 5 francs" } }, "question": "Quines monedes es poden utilitzar per a pagar aquí?" @@ -6168,6 +6168,15 @@ "1": { "then": "S'accepten bitllets de 10 euros" }, + "10": { + "then": "S'accepten bitllets de 100 francs" + }, + "11": { + "then": "S'accepten bitllets de 200 francs" + }, + "12": { + "then": "S'accepten bitllets de 1000 francs" + }, "2": { "then": "S'accepten bitllets de 20 euros" }, @@ -6191,15 +6200,6 @@ }, "9": { "then": "S'accepten bitllets de 50 francs" - }, - "10": { - "then": "S'accepten bitllets de 100 francs" - }, - "11": { - "then": "S'accepten bitllets de 200 francs" - }, - "12": { - "then": "S'accepten bitllets de 1000 francs" } }, "question": "Amb quins bitllets pot pagar aquí?" @@ -6554,30 +6554,6 @@ "1": { "question": "Reciclatge de piles" }, - "2": { - "question": "Reciclatge de cartrons de begudes" - }, - "3": { - "question": "Reciclatge de llaunes" - }, - "4": { - "question": "Reciclatge de roba" - }, - "5": { - "question": "Reciclatge d'oli de cuina" - }, - "6": { - "question": "Reciclatge d'oli de motor" - }, - "7": { - "question": "Reciclatge de tubs fluorescents" - }, - "8": { - "question": "Reciclatge de residus verds" - }, - "9": { - "question": "Reciclatge d'ampolles de vidre" - }, "10": { "question": "Reciclatge de vidre" }, @@ -6608,11 +6584,35 @@ "19": { "question": "Reciclatge del rebuig" }, + "2": { + "question": "Reciclatge de cartrons de begudes" + }, "20": { "question": "Reciclatge de cartutxos d'impressora" }, "21": { "question": "Reciclatge de bicicletes" + }, + "3": { + "question": "Reciclatge de llaunes" + }, + "4": { + "question": "Reciclatge de roba" + }, + "5": { + "question": "Reciclatge d'oli de cuina" + }, + "6": { + "question": "Reciclatge d'oli de motor" + }, + "7": { + "question": "Reciclatge de tubs fluorescents" + }, + "8": { + "question": "Reciclatge de residus verds" + }, + "9": { + "question": "Reciclatge d'ampolles de vidre" } } }, @@ -6680,30 +6680,6 @@ "1": { "then": "Aquí es poden reciclar els cartons de begudes" }, - "2": { - "then": "Aquí es poden reciclar llaunes" - }, - "3": { - "then": "Aquí es pot reciclar roba" - }, - "4": { - "then": "Aquí es pot reciclar oli de cuina" - }, - "5": { - "then": "Aquí es pot reciclar oli de motor" - }, - "6": { - "then": "Aquí es poden reciclar tub fluroescents" - }, - "7": { - "then": "Aquí es poden reciclar residus verds" - }, - "8": { - "then": "Ací es poden reciclar residus orgànics" - }, - "9": { - "then": "Aquí es poden reciclar ampolles de vidre" - }, "10": { "then": "Aquí es pot reciclar vidre" }, @@ -6734,6 +6710,9 @@ "19": { "then": "Aquí es poden reciclar sabates" }, + "2": { + "then": "Aquí es poden reciclar llaunes" + }, "20": { "then": "Aquí es poden reciclar petits electrodomèstics" }, @@ -6748,6 +6727,27 @@ }, "24": { "then": "Aquí es poden reciclar bicicletes" + }, + "3": { + "then": "Aquí es pot reciclar roba" + }, + "4": { + "then": "Aquí es pot reciclar oli de cuina" + }, + "5": { + "then": "Aquí es pot reciclar oli de motor" + }, + "6": { + "then": "Aquí es poden reciclar tub fluroescents" + }, + "7": { + "then": "Aquí es poden reciclar residus verds" + }, + "8": { + "then": "Ací es poden reciclar residus orgànics" + }, + "9": { + "then": "Aquí es poden reciclar ampolles de vidre" } }, "question": "Què es pot reciclar aquí?" @@ -7508,6 +7508,12 @@ "1": { "then": "Aquest fanal utilitza LED" }, + "10": { + "then": "Aquest fanal utilitza làmpades de sodi d'alta pressió (taronja amb blanc)" + }, + "11": { + "then": "Aquest fanal s'il·lumina amb gas" + }, "2": { "then": "Aquest fanal utilitza il·luminació incandescent" }, @@ -7531,12 +7537,6 @@ }, "9": { "then": "Aquest fanal utilitza làmpades de sodi de baixa pressió (taronja monocroma)" - }, - "10": { - "then": "Aquest fanal utilitza làmpades de sodi d'alta pressió (taronja amb blanc)" - }, - "11": { - "then": "Aquest fanal s'il·lumina amb gas" } }, "question": "Quin tipus d'il·luminació utilitza aquest fanal?" @@ -8751,30 +8751,6 @@ "1": { "question": "Venda de begudes" }, - "2": { - "question": "Venda de llaminadures" - }, - "3": { - "question": "Venda de menjar" - }, - "4": { - "question": "Venda de tabaco" - }, - "5": { - "question": "Venda de preservatius" - }, - "6": { - "question": "Venda de cafè" - }, - "7": { - "question": "Venda d'aigua" - }, - "8": { - "question": "Venda de diaris" - }, - "9": { - "question": "Venda de càmeres interiors de bicicletes" - }, "10": { "question": "Venda de llet" }, @@ -8805,6 +8781,9 @@ "19": { "question": "Venda de flors" }, + "2": { + "question": "Venda de llaminadures" + }, "20": { "question": "Venda de tiquets d'aparcament" }, @@ -8828,6 +8807,27 @@ }, "27": { "question": "Venda de cadenat per a bicicletes" + }, + "3": { + "question": "Venda de menjar" + }, + "4": { + "question": "Venda de tabaco" + }, + "5": { + "question": "Venda de preservatius" + }, + "6": { + "question": "Venda de cafè" + }, + "7": { + "question": "Venda d'aigua" + }, + "8": { + "question": "Venda de diaris" + }, + "9": { + "question": "Venda de càmeres interiors de bicicletes" } } } @@ -8874,30 +8874,6 @@ "1": { "then": "Es venen llaminadures" }, - "2": { - "then": "Es ven menjar" - }, - "3": { - "then": "Es ven tabaco" - }, - "4": { - "then": "Es venen preservatius" - }, - "5": { - "then": "Es ven cafè" - }, - "6": { - "then": "Es ven aigua" - }, - "7": { - "then": "Es venen diaris" - }, - "8": { - "then": "Es venen càmeres interiors de bicicletes" - }, - "9": { - "then": "Es ven llet" - }, "10": { "then": "Es ven pa" }, @@ -8928,6 +8904,9 @@ "19": { "then": "Es venen tiquets d'aparcament" }, + "2": { + "then": "Es ven menjar" + }, "20": { "then": "Es venen cèntims premsats" }, @@ -8948,6 +8927,27 @@ }, "26": { "then": "Es venen cadenats per a bicicletes" + }, + "3": { + "then": "Es ven tabaco" + }, + "4": { + "then": "Es venen preservatius" + }, + "5": { + "then": "Es ven cafè" + }, + "6": { + "then": "Es ven aigua" + }, + "7": { + "then": "Es venen diaris" + }, + "8": { + "then": "Es venen càmeres interiors de bicicletes" + }, + "9": { + "then": "Es ven llet" } }, "question": "Que ven aquesta màquina expenedora?", From e24b85e9b63acae964d762b96f7c070cd2514746 Mon Sep 17 00:00:00 2001 From: kjon Date: Sat, 4 May 2024 13:35:17 +0000 Subject: [PATCH 17/46] Translated using Weblate (German) Currently translated at 100.0% (3437 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/de/ --- langs/layers/de.json | 847 ++++++++++++++++++++++--------------------- 1 file changed, 432 insertions(+), 415 deletions(-) diff --git a/langs/layers/de.json b/langs/layers/de.json index 003847d6f..69ede696e 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -35,6 +35,23 @@ "1": { "title": "eine freistehende Posterbox" }, + "10": { + "description": "Ein wasserfestes Textil mit einer aufgedruckten Botschaft, das dauerhaft an einer Wand verankert ist", + "title": "eine Plane" + }, + "11": { + "title": "ein Totem" + }, + "12": { + "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", + "title": "ein Schild" + }, + "13": { + "title": "eine Skulptur" + }, + "14": { + "title": "eine Wandmalerei" + }, "2": { "title": "eine wandmontierte Posterbox" }, @@ -60,23 +77,6 @@ }, "9": { "title": "ein Bildschirm, der an einem Wartehäuschen angebracht ist" - }, - "10": { - "description": "Ein wasserfestes Textil mit einer aufgedruckten Botschaft, das dauerhaft an einer Wand verankert ist", - "title": "eine Plane" - }, - "11": { - "title": "ein Totem" - }, - "12": { - "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", - "title": "ein Schild" - }, - "13": { - "title": "eine Skulptur" - }, - "14": { - "title": "eine Wandmalerei" } }, "tagRenderings": { @@ -171,6 +171,9 @@ "1": { "then": "Dies ist ein Brett" }, + "10": { + "then": "Dies ist eine Wandmalerei" + }, "2": { "then": "Dies ist eine Litfaßsäule" }, @@ -194,9 +197,6 @@ }, "9": { "then": "Dies ist ein Totem" - }, - "10": { - "then": "Dies ist eine Wandmalerei" } }, "question": "Welche Art von Werbung ist das?", @@ -211,6 +211,9 @@ "1": { "then": "Brett" }, + "10": { + "then": "Wandmalerei" + }, "2": { "then": "Posterbox" }, @@ -234,9 +237,6 @@ }, "9": { "then": "Totem" - }, - "10": { - "then": "Wandmalerei" } } } @@ -283,6 +283,9 @@ "1": { "then": "Es handelt sich um eine Seilbahn, bei der die Kabinen in ständigen Kreisen fahren" }, + "10": { + "then": "Eine Seilrutsche. (Eine Touristenattraktion, bei der abenteuerlustige Menschen mit hoher Geschwindigkeit hinunterfahren) " + }, "2": { "then": "Ein offener Sessellift mit Sitzgelegenheiten und Zugang zur Außenluft." }, @@ -306,9 +309,6 @@ }, "9": { "then": "Ein magic carpet (ein Förderband auf dem Boden)" - }, - "10": { - "then": "Eine Seilrutsche. (Eine Touristenattraktion, bei der abenteuerlustige Menschen mit hoher Geschwindigkeit hinunterfahren) " } }, "question": "Um welchen Seilbahntyp handelt es sich?" @@ -432,6 +432,15 @@ "1": { "then": "Wandbild" }, + "10": { + "then": "Azulejo (spanische dekorative Fliesenarbeit)" + }, + "11": { + "then": "Fliesenarbeit" + }, + "12": { + "then": "Holzschnitzerei" + }, "2": { "then": "Malerei" }, @@ -455,15 +464,6 @@ }, "9": { "then": "Relief" - }, - "10": { - "then": "Azulejo (spanische dekorative Fliesenarbeit)" - }, - "11": { - "then": "Fliesenarbeit" - }, - "12": { - "then": "Holzschnitzerei" } }, "question": "Um welche Art Kunstwerk handelt es sich?", @@ -1474,6 +1474,11 @@ }, "question": "Wo befinden sich diese Fahrradabstellplätze?" }, + "charge": { + "question": "Wie viel kostet es, Ihr Fahrrad hier zu parken?", + "questionHint": "Das ist der Betrag, der für ein einzelnes Fahrrad berechnet wird", + "render": "Das Parken Ihres Fahrrads kostet {charge}" + }, "fee": { "mappings": { "0": { @@ -2112,6 +2117,27 @@ "1": { "question": "Verfügt über einen
Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)
" }, + "10": { + "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" + }, + "11": { + "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" + }, + "12": { + "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" + }, + "13": { + "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" + }, + "14": { + "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" + }, + "15": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" + }, + "16": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" + }, "2": { "question": "Verfügt über einen
europäischen Netzstecker mit Erdungsstift (CEE7/4 Typ E)
Anschluss" }, @@ -2135,27 +2161,6 @@ }, "9": { "question": "Hat einen
Typ 2 CCS (Mennekes)
Anschluss" - }, - "10": { - "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" - }, - "11": { - "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" - }, - "12": { - "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" - }, - "13": { - "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" - }, - "14": { - "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" - }, - "15": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" - }, - "16": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" } } } @@ -2211,30 +2216,6 @@ "1": { "then": "Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)" }, - "2": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, - "3": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, - "4": { - "then": "Chademo-Anschluss" - }, - "5": { - "then": "Chademo-Anschluss" - }, - "6": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "7": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "8": { - "then": "Typ 1 ohne Kabel (J1772)" - }, - "9": { - "then": " Typ 1 ohne Kabel (J1772)" - }, "10": { "then": "Typ 1 CCS (Typ 1 Combo)" }, @@ -2265,6 +2246,9 @@ "19": { "then": "Typ 2 mit Kabel (mennekes)" }, + "2": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, "20": { "then": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" }, @@ -2295,11 +2279,32 @@ "29": { "then": " Bosch Active Connect mit 3 Pins und Kabel" }, + "3": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, "30": { "then": "Bosch Active Connect mit 5 Pins und Kabel" }, "31": { "then": " Bosch Active Connect mit 5 Pins und Kabel" + }, + "4": { + "then": "Chademo-Anschluss" + }, + "5": { + "then": "Chademo-Anschluss" + }, + "6": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "7": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "8": { + "then": "Typ 1 ohne Kabel (J1772)" + }, + "9": { + "then": " Typ 1 ohne Kabel (J1772)" } }, "question": "Welche Ladeanschlüsse gibt es hier?" @@ -2493,6 +2498,24 @@ "1": { "2": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" }, + "10": { + "2": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" + }, + "11": { + "2": "Tesla Supercharger (Destination)" + }, + "12": { + "2": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)" + }, + "13": { + "2": "USB zum Aufladen von Handys und kleinen Elektrogeräten" + }, + "14": { + "2": " Bosch Active Connect mit 3 Pins und Kabel" + }, + "15": { + "2": " Bosch Active Connect mit 5 Pins und Kabel" + }, "2": { "2": "Chademo-Stecker" }, @@ -2516,24 +2539,6 @@ }, "9": { "2": "Typ 2 mit Kabel (Mennekes)" - }, - "10": { - "2": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" - }, - "11": { - "2": "Tesla Supercharger (Destination)" - }, - "12": { - "2": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)" - }, - "13": { - "2": "USB zum Aufladen von Handys und kleinen Elektrogeräten" - }, - "14": { - "2": " Bosch Active Connect mit 3 Pins und Kabel" - }, - "15": { - "2": " Bosch Active Connect mit 5 Pins und Kabel" } } } @@ -3331,6 +3336,15 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" + }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3354,15 +3368,6 @@ }, "9": { "then": "Der Radweg ist aus Schotter" - }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieses Radwegs?", @@ -3411,6 +3416,15 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" + }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3434,15 +3448,6 @@ }, "9": { "then": "Der Radweg ist aus Schotter" - }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieser Straße?", @@ -4430,6 +4435,54 @@ } } }, + "10": { + "options": { + "0": { + "question": "Keine Bevorzugung von Hunden" + }, + "1": { + "question": "Hunde erlaubt" + }, + "2": { + "question": "Keine Hunde erlaubt" + } + } + }, + "11": { + "options": { + "0": { + "question": "Internetzugang vorhanden" + } + } + }, + "12": { + "options": { + "0": { + "question": "Stromanschluss vorhanden" + } + } + }, + "13": { + "options": { + "0": { + "question": "Hat zuckerfreie Angebote" + } + } + }, + "14": { + "options": { + "0": { + "question": "Hat glutenfreie Angebote" + } + } + }, + "15": { + "options": { + "0": { + "question": "Hat laktosefreie Angebote" + } + } + }, "2": { "options": { "0": { @@ -4500,54 +4553,6 @@ "question": "Nutzung kostenlos" } } - }, - "10": { - "options": { - "0": { - "question": "Keine Bevorzugung von Hunden" - }, - "1": { - "question": "Hunde erlaubt" - }, - "2": { - "question": "Keine Hunde erlaubt" - } - } - }, - "11": { - "options": { - "0": { - "question": "Internetzugang vorhanden" - } - } - }, - "12": { - "options": { - "0": { - "question": "Stromanschluss vorhanden" - } - } - }, - "13": { - "options": { - "0": { - "question": "Hat zuckerfreie Angebote" - } - } - }, - "14": { - "options": { - "0": { - "question": "Hat glutenfreie Angebote" - } - } - }, - "15": { - "options": { - "0": { - "question": "Hat laktosefreie Angebote" - } - } } } }, @@ -4667,30 +4672,6 @@ "1": { "then": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung." }, - "2": { - "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." - }, - "3": { - "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." - }, - "4": { - "then": "Die Fitness-Station hat Stangen zum Dehnen." - }, - "5": { - "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." - }, - "6": { - "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." - }, - "7": { - "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." - }, - "8": { - "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." - }, - "9": { - "then": "Die Fitness-Station hat Pfosten für Slalomübungen." - }, "10": { "then": "Die Fitness-Station hat Trittsteine." }, @@ -4721,6 +4702,9 @@ "19": { "then": "Die Fitness-Station hat Kampfseile (battle ropes)." }, + "2": { + "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." + }, "20": { "then": "Die Fitness-Station hat ein Fahrradergometer." }, @@ -4735,6 +4719,27 @@ }, "24": { "then": "Die Fitness-Station hat eine Slackline." + }, + "3": { + "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." + }, + "4": { + "then": "Die Fitness-Station hat Stangen zum Dehnen." + }, + "5": { + "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." + }, + "6": { + "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." + }, + "7": { + "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." + }, + "8": { + "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." + }, + "9": { + "then": "Die Fitness-Station hat Pfosten für Slalomübungen." } }, "question": "Welche Übungsgeräte gibt es an dieser Fitness-Station?" @@ -4854,6 +4859,21 @@ "1": { "then": "Dies ist eine Pommesbude" }, + "10": { + "then": "Hier werden chinesische Gerichte serviert" + }, + "11": { + "then": "Hier werden griechische Gerichte serviert" + }, + "12": { + "then": "Hier werden indische Gerichte serviert" + }, + "13": { + "then": "Hier werden türkische Gerichte serviert" + }, + "14": { + "then": "Hier werden thailändische Gerichte serviert" + }, "2": { "then": "Bietet vorwiegend Pastagerichte an" }, @@ -4877,21 +4897,6 @@ }, "9": { "then": "Hier werden französische Gerichte serviert" - }, - "10": { - "then": "Hier werden chinesische Gerichte serviert" - }, - "11": { - "then": "Hier werden griechische Gerichte serviert" - }, - "12": { - "then": "Hier werden indische Gerichte serviert" - }, - "13": { - "then": "Hier werden türkische Gerichte serviert" - }, - "14": { - "then": "Hier werden thailändische Gerichte serviert" } }, "question": "Was für Essen gibt es hier?", @@ -5591,30 +5596,6 @@ "1": { "then": "Dies ist ein Auditorium" }, - "2": { - "then": "Dies ist ein Schlafzimmer" - }, - "3": { - "then": "Dies ist eine Kapelle" - }, - "4": { - "then": "Dies ist ein Klassenzimmer" - }, - "5": { - "then": "Dies ist ein Klassenzimmer" - }, - "6": { - "then": "Dies ist ein Computerraum" - }, - "7": { - "then": "Dies ist ein Konferenzraum" - }, - "8": { - "then": "Dies ist eine Krypta" - }, - "9": { - "then": "Dies ist eine Küche" - }, "10": { "then": "Dies ist ein Labor" }, @@ -5645,6 +5626,9 @@ "19": { "then": "Dies ist ein Lagerraum" }, + "2": { + "then": "Dies ist ein Schlafzimmer" + }, "20": { "then": "Dies ist ein Technikraum" }, @@ -5653,6 +5637,27 @@ }, "22": { "then": "Dies ist ein Wartezimmer" + }, + "3": { + "then": "Dies ist eine Kapelle" + }, + "4": { + "then": "Dies ist ein Klassenzimmer" + }, + "5": { + "then": "Dies ist ein Klassenzimmer" + }, + "6": { + "then": "Dies ist ein Computerraum" + }, + "7": { + "then": "Dies ist ein Konferenzraum" + }, + "8": { + "then": "Dies ist eine Krypta" + }, + "9": { + "then": "Dies ist eine Küche" } }, "question": "Wie wird dieser Raum genutzt?" @@ -6180,6 +6185,18 @@ "1": { "then": "Dies ist eine Gedenktafel" }, + "10": { + "then": "Das ist ein Kreuz" + }, + "11": { + "then": "Dies ist eine blaue Plaque" + }, + "12": { + "then": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde" + }, + "13": { + "then": "Das ist ein Baumdenkmal" + }, "2": { "then": "Dies ist eine Gedenkbank" }, @@ -6203,18 +6220,6 @@ }, "9": { "then": "Das ist ein Obelisk" - }, - "10": { - "then": "Das ist ein Kreuz" - }, - "11": { - "then": "Dies ist eine blaue Plaque" - }, - "12": { - "then": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde" - }, - "13": { - "then": "Das ist ein Baumdenkmal" } }, "question": "Was für eine Art von Denkmal ist das?", @@ -6398,6 +6403,19 @@ } } }, + "10": { + "options": { + "0": { + "question": "Alle Notizen" + }, + "1": { + "question": "Importnotizen ausblenden" + }, + "2": { + "question": "Nur Importnotizen anzeigen" + } + } + }, "2": { "options": { "0": { @@ -6453,19 +6471,6 @@ "question": "Nur offene Notizen anzeigen" } } - }, - "10": { - "options": { - "0": { - "question": "Alle Notizen" - }, - "1": { - "question": "Importnotizen ausblenden" - }, - "2": { - "question": "Nur Importnotizen anzeigen" - } - } } }, "name": "OpenStreetMap-Hinweise", @@ -6790,6 +6795,18 @@ "1": { "then": "Dies ist ein normaler Stellplatz." }, + "10": { + "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." + }, + "11": { + "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." + }, + "12": { + "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." + }, + "13": { + "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." + }, "2": { "then": "Dies ist ein Behindertenstellplatz." }, @@ -6813,18 +6830,6 @@ }, "9": { "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." - }, - "10": { - "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." - }, - "11": { - "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." - }, - "12": { - "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." - }, - "13": { - "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." } }, "question": "Welche Art von Stellplatz ist dies?" @@ -7138,30 +7143,6 @@ "1": { "then": "Dies ist eine Struktur aus mehreren angeschlossenen Spielgeräten" }, - "2": { - "then": "Das ist eine Rutsche" - }, - "3": { - "then": "Dies ist ein Sandkasten" - }, - "4": { - "then": "Dies ist ein Springreiter" - }, - "5": { - "then": "Dies ist ein Kletterrahmen" - }, - "6": { - "then": "Dies ist eine Wippe" - }, - "7": { - "then": "Das ist ein Spielhaus" - }, - "8": { - "then": "Dies ist ein Karussell" - }, - "9": { - "then": "Dies ist eine Korbschaukel" - }, "10": { "then": "Dies ist ein Seilzug" }, @@ -7192,11 +7173,35 @@ "19": { "then": "Dies ist eine Jugendherberge" }, + "2": { + "then": "Das ist eine Rutsche" + }, "20": { "then": "Dies ist ein Trichter, mit dem man Trichterball spielen kann" }, "21": { "then": "Dies ist ein sich drehender Kreis" + }, + "3": { + "then": "Dies ist ein Sandkasten" + }, + "4": { + "then": "Dies ist ein Springreiter" + }, + "5": { + "then": "Dies ist ein Kletterrahmen" + }, + "6": { + "then": "Dies ist eine Wippe" + }, + "7": { + "then": "Das ist ein Spielhaus" + }, + "8": { + "then": "Dies ist ein Karussell" + }, + "9": { + "then": "Dies ist eine Korbschaukel" } }, "question": "Was ist das für ein Gerät?", @@ -7557,6 +7562,21 @@ "1": { "then": "2-Cent-Münzen werden akzeptiert" }, + "10": { + "then": "20-Centime-Münzen werden akzeptiert" + }, + "11": { + "then": "½-Schweizer Franken-Münzen werden akzeptiert" + }, + "12": { + "then": "1-Schweizer Franken-Münzen werden akzeptiert" + }, + "13": { + "then": "2-Schweizer Franken-Münzen werden akzeptiert" + }, + "14": { + "then": "5-Schweizer Franken-Münzen werden akzeptiert" + }, "2": { "then": "5-Cent-Münzen werden akzeptiert" }, @@ -7580,21 +7600,6 @@ }, "9": { "then": "10-Centime-Münzen werden akzeptiert" - }, - "10": { - "then": "20-Centime-Münzen werden akzeptiert" - }, - "11": { - "then": "½-Schweizer Franken-Münzen werden akzeptiert" - }, - "12": { - "then": "1-Schweizer Franken-Münzen werden akzeptiert" - }, - "13": { - "then": "2-Schweizer Franken-Münzen werden akzeptiert" - }, - "14": { - "then": "5-Schweizer Franken-Münzen werden akzeptiert" } }, "question": "Mit welchen Münzen kann man hier bezahlen?" @@ -7607,6 +7612,15 @@ "1": { "then": "10-Euro-Scheine werden angenommen" }, + "10": { + "then": "100-Schweizer Franken-Scheine werden akzeptiert" + }, + "11": { + "then": "200-Schweizer Franken-Scheine werden akzeptiert" + }, + "12": { + "then": "1000-Schweizer Franken-Scheine werden akzeptiert" + }, "2": { "then": "20-Euro-Scheine werden angenommen" }, @@ -7630,15 +7644,6 @@ }, "9": { "then": "50-Schweizer Franken-Scheine werden akzeptiert" - }, - "10": { - "then": "100-Schweizer Franken-Scheine werden akzeptiert" - }, - "11": { - "then": "200-Schweizer Franken-Scheine werden akzeptiert" - }, - "12": { - "then": "1000-Schweizer Franken-Scheine werden akzeptiert" } }, "question": "Mit welchen Banknoten kann man hier bezahlen?" @@ -8097,30 +8102,6 @@ "1": { "question": "Recycling von Batterien" }, - "2": { - "question": "Recycling von Getränkekartons" - }, - "3": { - "question": "Recycling von Dosen" - }, - "4": { - "question": "Recycling von Kleidung" - }, - "5": { - "question": "Recycling von Speiseöl" - }, - "6": { - "question": "Recycling von Motoröl" - }, - "7": { - "question": "Recycling von Leuchtstoffröhren" - }, - "8": { - "question": "Recycling von Grünabfällen" - }, - "9": { - "question": "Recycling von Glasflaschen" - }, "10": { "question": "Recycling von Glas" }, @@ -8151,11 +8132,35 @@ "19": { "question": "Recycling von Restabfällen" }, + "2": { + "question": "Recycling von Getränkekartons" + }, "20": { "question": "Recycling von Druckerpatronen" }, "21": { "question": "Recycling von Fahrrädern" + }, + "3": { + "question": "Recycling von Dosen" + }, + "4": { + "question": "Recycling von Kleidung" + }, + "5": { + "question": "Recycling von Speiseöl" + }, + "6": { + "question": "Recycling von Motoröl" + }, + "7": { + "question": "Recycling von Leuchtstoffröhren" + }, + "8": { + "question": "Recycling von Grünabfällen" + }, + "9": { + "question": "Recycling von Glasflaschen" } } }, @@ -8223,30 +8228,6 @@ "1": { "then": "Getränkekartons können hier recycelt werden" }, - "2": { - "then": "Dosen können hier recycelt werden" - }, - "3": { - "then": "Kleidung kann hier recycelt werden" - }, - "4": { - "then": "Speiseöl kann hier recycelt werden" - }, - "5": { - "then": "Motoröl kann hier recycelt werden" - }, - "6": { - "then": "Hier können Leuchtstoffröhren recycelt werden" - }, - "7": { - "then": "Grünabfälle können hier recycelt werden" - }, - "8": { - "then": "Bio-Abfall kann hier recycelt werden" - }, - "9": { - "then": "Glasflaschen können hier recycelt werden" - }, "10": { "then": "Glas kann hier recycelt werden" }, @@ -8277,6 +8258,9 @@ "19": { "then": "Schuhe können hier recycelt werden" }, + "2": { + "then": "Dosen können hier recycelt werden" + }, "20": { "then": "Elektrokleingeräte können hier recycelt werden" }, @@ -8291,6 +8275,27 @@ }, "24": { "then": "Fahrräder können hier recycelt werden" + }, + "3": { + "then": "Kleidung kann hier recycelt werden" + }, + "4": { + "then": "Speiseöl kann hier recycelt werden" + }, + "5": { + "then": "Motoröl kann hier recycelt werden" + }, + "6": { + "then": "Hier können Leuchtstoffröhren recycelt werden" + }, + "7": { + "then": "Grünabfälle können hier recycelt werden" + }, + "8": { + "then": "Bio-Abfall kann hier recycelt werden" + }, + "9": { + "then": "Glasflaschen können hier recycelt werden" } }, "question": "Was kann hier recycelt werden?" @@ -9356,6 +9361,12 @@ "1": { "then": "Diese Straßenlaterne verwendet LEDs" }, + "10": { + "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" + }, + "11": { + "then": "Diese Straßenlaterne wird mit Gas beleuchtet" + }, "2": { "then": "Diese Straßenlaterne verwendet Glühlampenlicht" }, @@ -9379,12 +9390,6 @@ }, "9": { "then": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)" - }, - "10": { - "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" - }, - "11": { - "then": "Diese Straßenlaterne wird mit Gas beleuchtet" } }, "question": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?" @@ -10532,6 +10537,18 @@ "2": { "human": "{quantity} Tage", "humanSingular": "ein Tag" + }, + "3": { + "human": "{quantity} Wochen", + "humanSingular": "ein Woche" + }, + "4": { + "human": "{quantity} Monate", + "humanSingular": "ein Monat" + }, + "5": { + "human": "{quantity} Jahre", + "humanSingular": "ein Jahr" } } } @@ -10779,30 +10796,6 @@ "1": { "question": "Verkauf von Getränken" }, - "2": { - "question": "Verkauf von Süßigkeiten" - }, - "3": { - "question": "Verkauf von Lebensmitteln" - }, - "4": { - "question": "Verkauf von Zigaretten" - }, - "5": { - "question": "Verkauf von Kondomen" - }, - "6": { - "question": "Verkauf von Kaffee" - }, - "7": { - "question": "Verkauf von Trinkwasser" - }, - "8": { - "question": "Verkauf von Zeitungen" - }, - "9": { - "question": "Verkauf von Fahrradschläuchen" - }, "10": { "question": "Verkauf von Milch" }, @@ -10833,6 +10826,9 @@ "19": { "question": "Verkauf von Blumen" }, + "2": { + "question": "Verkauf von Süßigkeiten" + }, "20": { "question": "Verkauf von Parkscheinen" }, @@ -10856,6 +10852,27 @@ }, "27": { "question": "Verkauf von Fahrradschlössern" + }, + "3": { + "question": "Verkauf von Lebensmitteln" + }, + "4": { + "question": "Verkauf von Zigaretten" + }, + "5": { + "question": "Verkauf von Kondomen" + }, + "6": { + "question": "Verkauf von Kaffee" + }, + "7": { + "question": "Verkauf von Trinkwasser" + }, + "8": { + "question": "Verkauf von Zeitungen" + }, + "9": { + "question": "Verkauf von Fahrradschläuchen" } } } @@ -10902,30 +10919,6 @@ "1": { "then": "Süßigkeiten werden verkauft" }, - "2": { - "then": "Lebensmittel werden verkauft" - }, - "3": { - "then": "Zigaretten werden verkauft" - }, - "4": { - "then": "Kondome werden verkauft" - }, - "5": { - "then": "Kaffee wird verkauft" - }, - "6": { - "then": "Trinkwasser wird verkauft" - }, - "7": { - "then": "Zeitungen werden verkauft" - }, - "8": { - "then": "Fahrradschläuche werden verkauft" - }, - "9": { - "then": "Milch wird verkauft" - }, "10": { "then": "Brot wird verkauft" }, @@ -10956,6 +10949,9 @@ "19": { "then": "Parkscheine werden verkauft" }, + "2": { + "then": "Lebensmittel werden verkauft" + }, "20": { "then": "Souvenirmünzen werden verkauft" }, @@ -10976,6 +10972,27 @@ }, "26": { "then": "Fahrradschlösser werden verkauft" + }, + "3": { + "then": "Zigaretten werden verkauft" + }, + "4": { + "then": "Kondome werden verkauft" + }, + "5": { + "then": "Kaffee wird verkauft" + }, + "6": { + "then": "Trinkwasser wird verkauft" + }, + "7": { + "then": "Zeitungen werden verkauft" + }, + "8": { + "then": "Fahrradschläuche werden verkauft" + }, + "9": { + "then": "Milch wird verkauft" } }, "question": "Was wird in diesem Automaten verkauft?", @@ -11267,4 +11284,4 @@ "render": "Windrad" } } -} \ No newline at end of file +} From 40e872be508f6075d74534b567f6deafe4d9a5a1 Mon Sep 17 00:00:00 2001 From: Patchanka64 Date: Sun, 5 May 2024 07:19:03 +0000 Subject: [PATCH 18/46] Translated using Weblate (French) Currently translated at 60.7% (2087 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/fr/ --- langs/layers/fr.json | 638 +++++++++++++++++++++++++++++++------------ 1 file changed, 456 insertions(+), 182 deletions(-) diff --git a/langs/layers/fr.json b/langs/layers/fr.json index b8a63b930..18414be9b 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -25,6 +25,8 @@ } }, "advertising": { + "description": "Nous allons compléter les information sur la publicité avec la référence, l'opérateur et l'éclairage", + "name": "Publicité", "presets": { "0": { "description": "Un grand équipement extérieur, principalement disposé dans les zones à fort trafic comme une route", @@ -33,9 +35,29 @@ "1": { "title": "un panneau à affiches scellé au sol" }, + "10": { + "description": "Une pièce de textile imperméable avec un message imprimé, ancrée de façon permanente sur un mur.", + "title": "une bâche" + }, + "11": { + "title": "un totem" + }, + "12": { + "description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées", + "title": "une enseigne" + }, + "13": { + "title": "une sculpture" + }, + "14": { + "title": "une peinture murale" + }, "2": { "title": "un panneau à affiches monté sur un mur" }, + "3": { + "title": "Un affichage sur un abribus" + }, "4": { "description": "Petit panneau pour l’affichage de proximité, généralement à destination des piétons", "title": "un petit panneau" @@ -53,22 +75,8 @@ "8": { "title": "un écran fixé au mur" }, - "10": { - "description": "Une pièce de textile imperméable avec un message imprimé, ancrée de façon permanente sur un mur.", - "title": "une bâche" - }, - "11": { - "title": "un totem" - }, - "12": { - "description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées", - "title": "une enseigne" - }, - "13": { - "title": "une sculpture" - }, - "14": { - "title": "une peinture murale" + "9": { + "title": "un écran fixé sur un abri de transport" } }, "tagRenderings": { @@ -160,6 +168,9 @@ "1": { "then": "C'est un petit panneau" }, + "10": { + "then": "C'est une peinture murale" + }, "2": { "then": "C'est une colonne" }, @@ -183,12 +194,10 @@ }, "9": { "then": "C'est un totem" - }, - "10": { - "then": "C'est une peinture murale" } }, - "question": "De quel type de dispositif publicitaire s'agit-il ?" + "question": "De quel type de dispositif publicitaire s'agit-il ?", + "render": "C'est un {advertising}" } }, "title": { @@ -196,6 +205,9 @@ "1": { "then": "Petit panneau" }, + "10": { + "then": "Peinture murale" + }, "3": { "then": "Colonne" }, @@ -216,15 +228,24 @@ }, "9": { "then": "Totem" - }, - "10": { - "then": "Peinture murale" } } } }, "aerialway": { + "pointRendering": { + "1": { + "label": { + "render": "{name}" + } + } + }, "tagRenderings": { + "duration": { + "question": "Combien de temps dure le trajet dans cet ascenseur ?", + "questionHint": "Cela n'inclut pas le temps d'attente.", + "render": "Un aller simple dure {duration} minutes" + }, "length": { "render": "Cette voie aérienne fait {_length:km} kilomètre de long" } @@ -307,6 +328,15 @@ "1": { "then": "Peinture murale" }, + "10": { + "then": "Azulejo (faïence latine)" + }, + "11": { + "then": "Carrelage" + }, + "12": { + "then": "Sculpture sur bois" + }, "2": { "then": "Peinture" }, @@ -330,15 +360,6 @@ }, "9": { "then": "Relief" - }, - "10": { - "then": "Azulejo (faïence latine)" - }, - "11": { - "then": "Carrelage" - }, - "12": { - "then": "Sculpture sur bois" } }, "question": "Quel est le type de cette œuvre d'art ?", @@ -548,10 +569,10 @@ "title": { "mappings": { "0": { - "then": "Bollard" + "then": "Potelet" }, "1": { - "then": "Barrière cyclable" + "then": "Barrière à vélos" } }, "render": "Barrière" @@ -584,7 +605,7 @@ "name": "Bancs", "presets": { "0": { - "title": "une banc" + "title": "un banc" } }, "tagRenderings": { @@ -601,7 +622,7 @@ } }, "question": "Est-ce que ce banc inclut un élément artistique ?", - "questionHint": "Par ex. il intègre une peinture, statue ou autre élément non commune, travail cratif" + "questionHint": "Par ex. il intègre une peinture, statue ou autre élément non commune, travail créatif" }, "bench-backrest": { "mappings": { @@ -609,10 +630,10 @@ "then": "Ce banc a deux côtés avec un dossier partagé" }, "1": { - "then": "Dossier : Oui" + "then": "Ce banc a un dossier" }, "2": { - "then": "Dossier : Non" + "then": "Ce banc n'a pas de dossier" } }, "question": "Ce banc dispose-t-il d'un dossier ?" @@ -623,7 +644,7 @@ "then": "Couleur : marron" }, "1": { - "then": "Couleur : verte" + "then": "Couleur : vert" }, "2": { "then": "Couleur : gris" @@ -635,7 +656,7 @@ "then": "Couleur : rouge" }, "5": { - "then": "Couleur : noire" + "then": "Couleur : noir" }, "6": { "then": "Couleur : bleu" @@ -676,7 +697,7 @@ "then": "L'assise est en pierre" }, "3": { - "then": "Matériau du siège : béton" + "then": "L'assise est en béton" }, "4": { "then": "L'assise est en plastique" @@ -1644,7 +1665,7 @@ } } }, - "description": "Une couche montrants les cafés et pubs où l’on peut prendre un verre. Cette couche pose des questions y afférentes.", + "description": "Une couche montrant les cafés et pubs où l’on peut prendre un verre. Cette couche pose des questions y afférant.", "name": "Cafés et pubs", "presets": { "0": { @@ -1729,6 +1750,31 @@ "render": "Société de location de véhicules" } }, + "charging_station": { + "description": "Une station de recharge", + "filter": { + "0": { + "options": { + "0": { + "question": "Tous les types de véhicules" + }, + "1": { + "question": "Station de recharge pour vélos" + }, + "2": { + "question": "Station de recharge pour voitures" + } + } + }, + "1": { + "options": { + "0": { + "question": "Seulement les stations de recharge qui fonctionnent" + } + } + } + } + }, "climbing": { "tagRenderings": { "average_length": { @@ -2421,6 +2467,15 @@ "1": { "then": "Cette piste cyclable est goudronée" }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" + }, "2": { "then": "Cette piste cyclable est asphaltée" }, @@ -2444,15 +2499,6 @@ }, "9": { "then": "Cette piste cyclable est faite en graviers" - }, - "10": { - "then": "Cette piste cyclable est faite en graviers fins" - }, - "11": { - "then": "Cette piste cyclable est en cailloux" - }, - "12": { - "then": "Cette piste cyclable est faite en sol brut" } }, "question": "De quoi est faite la surface de la piste cyclable ?", @@ -2467,7 +2513,7 @@ "then": "Ceci est une route cyclable" }, "2": { - "then": "Ceci n'est pas une rue cyclable" + "then": "Ceci n'est pas une rue cyclable (vélorue)" } }, "question": "Est-ce une route cyclable ?" @@ -2501,6 +2547,15 @@ "1": { "then": "Cette piste cyclable est pavée" }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" + }, "2": { "then": "Cette piste cyclable est asphaltée" }, @@ -2524,15 +2579,6 @@ }, "9": { "then": "Cette piste cyclable est faite en graviers" - }, - "10": { - "then": "Cette piste cyclable est faite en graviers fins" - }, - "11": { - "then": "Cette piste cyclable est en cailloux" - }, - "12": { - "then": "Cette piste cyclable est faite en sol brut" } }, "question": "De quel materiel est faite cette rue ?", @@ -2798,7 +2844,7 @@ }, "defibrillator-email": { "question": "Quelle est l'adresse électronique pour des questions à propos de ce défibrillateur ?", - "render": "Adresse électronique pour des questions à propos de ce défibrillateur : {email}" + "render": "Adresse électronique pour des questions à propos de ce défibrillateur : {email}" }, "defibrillator-fixme": { "question": "Y a-t-il quelque chose qui ne va pas dans la manière dont ça a été cartographié, et que vous n'avez pas pu réparer ici ? (laisser une note pour les experts d'OpenStreetMap)", @@ -2829,7 +2875,7 @@ }, "defibrillator-phone": { "question": "Quel est le numéro de téléphone pour questions sur le défibrillateur ?", - "render": "Numéro de téléphone pour questions sur le défibrillateur : {phone}" + "render": "Numéro de téléphone pour questions sur le défibrillateur : {phone}" }, "defibrillator-ref": { "question": "Quel est le numéro d'identification officiel de ce dispositif ? (si il est visible sur le dispositif)", @@ -2869,6 +2915,7 @@ "name": "Visualisation de la direction" }, "doctors": { + "description": "Cette ocuhe montre les cabinets de médecin", "name": "Médecins", "presets": { "0": { @@ -3313,7 +3360,7 @@ } } }, - "description": "Un claque montrant les restaurants et les endroits de nourriture rapide (avec un rendu spécial pour les friteries)", + "description": "Un calque montrant les restaurants et les lieux de restauration rapide (avec un rendu spécial pour les friteries)", "filter": { "1": { "options": { @@ -3324,6 +3371,9 @@ }, "2": { "options": { + "0": { + "question": "Restaurants et restauration rapide" + }, "1": { "question": "Seulement les fastfood" }, @@ -3332,6 +3382,13 @@ } } }, + "3": { + "options": { + "0": { + "question": "A un menu végétarien" + } + } + }, "4": { "options": { "0": { @@ -3371,6 +3428,21 @@ "1": { "then": "C'est une friterie" }, + "10": { + "then": "Des plats chinois sont servis ici" + }, + "11": { + "then": "Des plats grecs sont servis ici" + }, + "12": { + "then": "Des plats indiens sont servis ici" + }, + "13": { + "then": "Des plats turcs sont servis ici" + }, + "14": { + "then": "Des plats thaïlandais sont servis ici" + }, "2": { "then": "Restaurant Italien" }, @@ -3394,21 +3466,6 @@ }, "9": { "then": "Des plats français sont servis ici" - }, - "10": { - "then": "Des plats chinois sont servis ici" - }, - "11": { - "then": "Des plats grecs sont servis ici" - }, - "12": { - "then": "Des plats indiens sont servis ici" - }, - "13": { - "then": "Des plats turcs sont servis ici" - }, - "14": { - "then": "Des plats thaïlandais sont servis ici" } }, "question": "Quelle type de nourriture est servie ici ?", @@ -3631,7 +3688,7 @@ } }, "question": "À qui est dédié ce vélo fantôme ?", - "questionHint": "Veuillez respecter la vie privée – ajoutez le nom seulement s'il est largement publié ou marqué sur le vélo. Choisissez de ne pas indiquer le nom de famille ", + "questionHint": "Veuillez respecter la vie privée – ajoutez le nom seulement s'il est largement publié ou marqué sur le vélo. Choisissez de ne pas indiquer le nom de famille.", "render": "En souvenir de {subject}" }, "ghost_bike-source": { @@ -3778,11 +3835,11 @@ }, "room-type": { "mappings": { - "4": { - "then": "C'est une salle de classe" - }, "14": { "then": "C'est un bureau" + }, + "4": { + "then": "C'est une salle de classe" } } } @@ -3944,12 +4001,75 @@ }, "question": "Sur quelles données cette carte est-elle basée ?", "render": "Cette carte est basée sur {map_source}" + }, + "map_size": { + "mappings": { + "0": { + "then": "Plan d'intérieur de bâtiment, montrant les différentes pièces" + }, + "1": { + "then": "La carte d'un site particulier, comme un château, un parc, un campus, une forêt, ...." + }, + "2": { + "then": "Une carte de village ou de ville" + }, + "3": { + "then": " Une carte de ville" + }, + "4": { + "then": "La carte d'une région entière, montrant de nombreuses villes et villages" + } + }, + "question": "Quelle est la taille de la zone visible sur la carte ?" + }, + "map_type": { + "mappings": { + "0": { + "then": "Plan topographique" + }, + "1": { + "then": "Une carte des rues du secteur.

Le nom des rues est généralement indiqué; les angles, distances, etc. sont précis

" + }, + "2": { + "then": "Un plan schématique.

Une carte schématique sur laquelle seuls les éléments principaux sont indiqués (rues, POIs). Les angles, distances etc. peuvent être déformés pour rendre le plan plus lisible.

" + } + }, + "question": "De quel type de carte s'agit-il ?" } }, "title": { "render": "Carte" } }, + "maproulette": { + "description": "Couche montrant toutes les tâches dans MapRoulette", + "tagRenderings": { + "status": { + "mappings": { + "1": { + "then": "La tâche est résolue" + }, + "2": { + "then": "Faux positif" + }, + "7": { + "then": "La tâche est désactivée" + } + } + } + } + }, + "maproulette_challenge": { + "tagRenderings": { + "status": { + "mappings": { + "3": { + "then": "La tâche est passée" + } + } + } + } + }, "maxspeed": { "description": "Affiche les vitesses autorisées sur toutes les routes", "name": "Vitesse maximale", @@ -3973,14 +4093,157 @@ } }, "memorial": { - "tagRenderings": { - "start_date": { - "render": "Placé le {start_date}" + "name": "Mémoriaux", + "presets": { + "0": { + "title": "Un mémorial" } + }, + "tagRenderings": { + "inscription": { + "mappings": { + "0": { + "then": "Il n'y a aucune inscription sur cette plaque" + } + }, + "question": "Quelle est l'inscription sur cette plaque ?", + "render": "L'inscription sur cette plaque indique:

{inscription}

" + }, + "memorial-type": { + "mappings": { + "0": { + "then": "C'est une statue" + }, + "1": { + "then": "C'est une plaque" + }, + "10": { + "then": "C'est une croix" + }, + "11": { + "then": "C'est une plaque bleue (spécifique aux pays anglo-saxons)" + }, + "12": { + "then": "C'est un char historique, placé de manière permanente dans l'espace public comme mémorial" + }, + "13": { + "then": "C'est un arbre du souvenir" + }, + "2": { + "then": "C'est un banc commémoratif (banc de crémation)" + }, + "3": { + "then": "C'est un vélo fantôme - un vélo blanc peint en mémoire d'un cycliste mort à cet endroit suite à un accident avec une voiture" + }, + "4": { + "then": "C'est un stolperstein (pierres d'achoppement)" + }, + "5": { + "then": "C'est une stèle" + }, + "6": { + "then": "Pierre commémorative" + }, + "7": { + "then": "C'est un buste" + }, + "8": { + "then": "C'est une sculpture" + }, + "9": { + "then": "C'est un obélisque" + } + }, + "question": "C'est un mémorial de guerre", + "render": "C'est un {memorial}" + }, + "memorial-wikidata": { + "question": "Quelle est la page Wikipedia de ce mémorial ?", + "questionHint": "C'est la page Wikipedia du mémorial et non celle de la personne ou de l'évènement commémoré. Si le mémorial n'a pas de page Wikipedia ou d'entité Wikidata, passez cette question.", + "render": { + "before": "

Page Wikipedia du mémorial

" + } + }, + "start_date": { + "question": "Quand ce mémorial a-t-il été installé ?", + "render": "Placé le {start_date}" + }, + "subject-wikidata": { + "question": "Quelle est la page Wikipedia qui fait référence à cet évènement ou cette personne?", + "questionHint": "Si la personne ou l'évènement n'a pas de page Wikipedia ou d'entité Wikidata, passez cette question.", + "render": { + "before": "

Page Wikipedia sur la personne ou l'évènement commémoré

" + } + } + }, + "title": { + "mappings": { + "0": { + "then": "Mémorial plaque" + } + }, + "render": "Mémorial plaque" + } + }, + "mountain_rescue": { + "description": "Un bâtiment où les organismes de secours stockent du matériel ou assurent la garde", + "name": "Postes de secours en montagne", + "presets": { + "0": { + "title": "un poste de secours en montagne" + } + }, + "title": { + "render": "Poste de secours en montagne" } }, "nature_reserve": { + "filter": { + "1": { + "options": { + "0": { + "question": "Toutes les réserves naturelles" + }, + "1": { + "question": "Les chiens sont autorisés sans laisse" + }, + "2": { + "question": "Les chiens sont autorisés tenus en laisse" + } + } + } + }, + "name": "Réserve naturelle", + "presets": { + "0": { + "description": "Ajouter une réserve naturelle manquante", + "title": "une réserve naturelle" + } + }, "tagRenderings": { + "Access tag": { + "mappings": { + "0": { + "then": "Accessible au grand public" + }, + "1": { + "then": "Non accessible" + }, + "2": { + "then": "Non accessible car c'est une zone privée" + }, + "3": { + "then": "Accessible bien que ce soit une zone privée" + }, + "4": { + "then": "Seulement accessible avec un guide ou lors d'activités organisées" + }, + "5": { + "then": "Payant" + } + }, + "question": "Est-ce que cette réserve naturelle est ouverte au public ?" + }, "Curator": { "question": "Qui est en charge de la conservation de la réserve ?", "questionHint": "À ne remplir seulement que si le nom est diffusé au public", @@ -4000,15 +4263,26 @@ }, "question": "Les chiens sont-ils autorisés dans cette réserve naturelle ?" }, + "Editable description": { + "question": "Y-a-t-il des informations complémentaires?", + "render": "Information complémentaire: {description:0}" + }, "Email": { - "question": "À quelle adresse courriel peut-on envoyer des questions et des problèmes concernant cette réserve naturelle ? ", + "question": "À quelle adresse courriel peut-on envoyer des questions et des problèmes concernant cette réserve naturelle ?", "questionHint": "Respecter la vie privée – renseignez une adresse électronique personnelle seulement si celle-ci est largement publiée" }, + "Name tag": { + "mappings": { + "0": { + "then": "Ce lieu n'a pas de nom" + } + } + }, "Surface area": { "render": "Superficie : {_surface:ha} ha" }, "phone": { - "question": "Quel numéro de téléphone peut-on appeler pour poser des questions et résoudre des problèmes concernant cette réserve naturelle ? ", + "question": "Quel numéro de téléphone peut-on appeler pour poser des questions et résoudre des problèmes concernant cette réserve naturelle ?", "questionHint": "Respecter la vie privée – renseignez un numéro de téléphone personnel seulement si celui-ci est largement publié" } } @@ -4977,30 +5251,6 @@ "1": { "question": "Recyclage de piles et batteries domestiques" }, - "2": { - "question": "Recyclage d'emballage de boissons" - }, - "3": { - "question": "Recyclage de boites de conserve et de canettes" - }, - "4": { - "question": "Recyclage de vêtements" - }, - "5": { - "question": "Recyclage des huiles de friture" - }, - "6": { - "question": "Recyclage des huiles de moteur" - }, - "7": { - "question": "Recyclage des lampes fluorescentes" - }, - "8": { - "question": "Recyclage des déchets verts" - }, - "9": { - "question": "Recyclage des bouteilles en verre et des bocaux" - }, "10": { "question": "Recyclage de tout type de verre" }, @@ -5031,11 +5281,35 @@ "19": { "question": "Recyclage des autres déchets" }, + "2": { + "question": "Recyclage d'emballage de boissons" + }, "20": { "question": "Recyclage des cartouches d'imprimante" }, "21": { "question": "Recyclage des vélos" + }, + "3": { + "question": "Recyclage de boites de conserve et de canettes" + }, + "4": { + "question": "Recyclage de vêtements" + }, + "5": { + "question": "Recyclage des huiles de friture" + }, + "6": { + "question": "Recyclage des huiles de moteur" + }, + "7": { + "question": "Recyclage des lampes fluorescentes" + }, + "8": { + "question": "Recyclage des déchets verts" + }, + "9": { + "question": "Recyclage des bouteilles en verre et des bocaux" } } }, @@ -5098,30 +5372,6 @@ "1": { "then": "Les briques alimentaires en carton peuvent être recyclées ici" }, - "2": { - "then": "Les boites de conserve et canettes peuvent être recyclées ici" - }, - "3": { - "then": "Les vêtements peuvent être recyclés ici" - }, - "4": { - "then": "Les huiles de friture peuvent être recyclées ici" - }, - "5": { - "then": "Les huiles de moteur peuvent être recyclées ici" - }, - "6": { - "then": "Les lampes fluorescentes peuvent être recyclées ici" - }, - "7": { - "then": "Les déchets verts peuvent être recyclés ici" - }, - "8": { - "then": "Les déchets organiques peuvent être recyclés ici" - }, - "9": { - "then": "Les bouteilles en verre et bocaux peuvent être recyclés ici" - }, "10": { "then": "Tout type de verre peut être recyclé ici" }, @@ -5152,6 +5402,9 @@ "19": { "then": "Les chaussures peuvent être recyclées ici" }, + "2": { + "then": "Les boites de conserve et canettes peuvent être recyclées ici" + }, "20": { "then": "Les petits appareils électriques peuvent être recyclés ici" }, @@ -5166,6 +5419,27 @@ }, "24": { "then": "Les vélos peuvent être recyclés ici" + }, + "3": { + "then": "Les vêtements peuvent être recyclés ici" + }, + "4": { + "then": "Les huiles de friture peuvent être recyclées ici" + }, + "5": { + "then": "Les huiles de moteur peuvent être recyclées ici" + }, + "6": { + "then": "Les lampes fluorescentes peuvent être recyclées ici" + }, + "7": { + "then": "Les déchets verts peuvent être recyclés ici" + }, + "8": { + "then": "Les déchets organiques peuvent être recyclés ici" + }, + "9": { + "then": "Les bouteilles en verre et bocaux peuvent être recyclés ici" } }, "question": "Que peut-on recycler ici ?" @@ -5319,7 +5593,7 @@ } }, "title": { - "render": "School {name}" + "render": "École {name}" } }, "selected_element": { @@ -5888,16 +6162,16 @@ "toilet-changing_table:location": { "mappings": { "0": { - "then": "La table à langer est dans les toilettes pour femmes. " + "then": "La table à langer est dans les toilettes pour femmes." }, "1": { - "then": "La table à langer est dans les toilettes pour hommes. " + "then": "La table à langer est dans les toilettes pour hommes." }, "2": { - "then": "La table à langer est dans les toilettes pour personnes à mobilité réduite. " + "then": "La table à langer est dans les toilettes pour personnes à mobilité réduite." }, "3": { - "then": "La table à langer est dans un espace dédié. " + "then": "La table à langer est dans un espace dédié." } }, "question": "Où se situe la table à langer ?", @@ -6219,7 +6493,7 @@ }, "tagRenderings": { "circumference": { - "question": "Quelle est la circonférence du tronc ? ", + "question": "Quelle est la circonférence du tronc ?", "questionHint": "La mesure est effectuée à 1.30m de hauteur", "render": "Le tronc a une circonférence de {circumference} mètre(s)" }, @@ -6476,6 +6750,27 @@ "1": { "question": "Vente de boissons" }, + "10": { + "question": "Vente de lait" + }, + "11": { + "question": "Vente de pain" + }, + "12": { + "question": "Vente d'œufs" + }, + "13": { + "question": "Vente de fromage" + }, + "14": { + "question": "Vente de miel" + }, + "15": { + "question": "Vente de pommes de terre" + }, + "19": { + "question": "Vente de fleurs" + }, "2": { "question": "Ventre de confiseries" }, @@ -6499,27 +6794,6 @@ }, "9": { "question": "Vente de chambres à air pour vélo" - }, - "10": { - "question": "Vente de lait" - }, - "11": { - "question": "Vente de pain" - }, - "12": { - "question": "Vente d'œufs" - }, - "13": { - "question": "Vente de fromage" - }, - "14": { - "question": "Vente de miel" - }, - "15": { - "question": "Vente de pommes de terre" - }, - "19": { - "question": "Vente de fleurs" } } } @@ -6560,6 +6834,24 @@ "1": { "then": "Vent des confiseries" }, + "10": { + "then": "Vent du pain" + }, + "11": { + "then": "Vent des œufs" + }, + "12": { + "then": "Vent du fromage" + }, + "13": { + "then": "Vent du miel" + }, + "14": { + "then": "Vent des pommes de terre" + }, + "18": { + "then": "Vent des fleurs" + }, "2": { "then": "Vent de la nourriture" }, @@ -6583,24 +6875,6 @@ }, "9": { "then": "Vent du lait" - }, - "10": { - "then": "Vent du pain" - }, - "11": { - "then": "Vent des œufs" - }, - "12": { - "then": "Vent du fromage" - }, - "13": { - "then": "Vent du miel" - }, - "14": { - "then": "Vent des pommes de terre" - }, - "18": { - "then": "Vent des fleurs" } }, "question": "Que vent ce distributeur ?", @@ -6803,4 +7077,4 @@ "render": "éolienne" } } -} \ No newline at end of file +} From 8535b76d22499bfa164c5d9bda776ac52c687868 Mon Sep 17 00:00:00 2001 From: Patchanka64 Date: Sun, 5 May 2024 08:16:21 +0000 Subject: [PATCH 19/46] Translated using Weblate (French) Currently translated at 61.2% (2106 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/fr/ --- langs/layers/fr.json | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 18414be9b..65548366b 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -6660,6 +6660,34 @@ "humanShort": "{quantity} mph" } } + }, + "5": { + "applicableUnits": { + "0": { + "human": "{quantity} minutes", + "humanSingular": "une minute" + }, + "1": { + "human": "{quantity} heures", + "humanSingular": "une heure" + }, + "2": { + "human": "{quantity} jours", + "humanSingular": "un jour" + }, + "3": { + "human": "{quantity} semaines", + "humanSingular": "une semaine" + }, + "4": { + "human": "{quantity} mois", + "humanSingular": "un mois" + }, + "5": { + "human": "{quantity} années", + "humanSingular": "un an" + } + } } } }, @@ -6676,6 +6704,29 @@ }, "question": "Est-ce que les questions pour les champs sans donnée doivent apparaître une à une ou toutes ensembles ?" }, + "background-layer": { + "mappings": { + "0": { + "then": "Utiliser le fond par défaut" + }, + "1": { + "then": "Utiliser le fond OpenStreetMap-carto par défaut" + }, + "2": { + "then": "Utiliser le fond imagerie aérienne par défaut" + }, + "3": { + "then": "Utiliser un fond non basé sur OpenStreetMap par défaut" + }, + "4": { + "then": "Utiliser le fond actuel ({__current_background}) par défaut" + }, + "5": { + "then": "Utiliser le fond ({__current_background})par défaut" + } + }, + "question": "Quel fond souhaitez-vous utiliser par défaut ?" + }, "cscount-thanks": { "mappings": { "0": { From 71dca7665ae1fdc1369da38e322bc47b113da18f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9E=D0=B1=D0=BE=20=D0=B2=D1=81=D0=B5=D0=BC?= Date: Fri, 10 May 2024 08:32:42 +0000 Subject: [PATCH 20/46] Translated using Weblate (Russian) Currently translated at 15.3% (528 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/ru/ --- langs/layers/ru.json | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/langs/layers/ru.json b/langs/layers/ru.json index 87d62d92b..23d0408c6 100644 --- a/langs/layers/ru.json +++ b/langs/layers/ru.json @@ -3,6 +3,9 @@ "description": "Адреса", "name": "Известные адреса в OSM", "tagRenderings": { + "fixme": { + "question": "Что исправить? Пожалуйста, предложите" + }, "housenumber": { "mappings": { "0": { @@ -20,6 +23,17 @@ "render": "Известный адрес" } }, + "advertising": { + "name": "Реклама", + "presets": { + "0": { + "title": "билборд" + }, + "5": { + "title": "столбец" + } + } + }, "ambulancestation": { "description": "Станция скорой помощи это полигон для хранения транспорта, медицинского оборудования, средств индивидуальной защиты и других медицинских принадлежностей.", "name": "Карта станций скорой помощи", @@ -81,6 +95,12 @@ "1": { "then": "Фреска" }, + "10": { + "then": "Азуле́жу (испанская роспись глазурованной керамической плитки)" + }, + "11": { + "then": "Плитка (мозаика)" + }, "2": { "then": "Живопись" }, @@ -104,12 +124,6 @@ }, "9": { "then": "Рельеф" - }, - "10": { - "then": "Азуле́жу (испанская роспись глазурованной керамической плитки)" - }, - "11": { - "then": "Плитка (мозаика)" } }, "question": "К какому типу относится эта работа?", From 166c08d082ddf2c22b61fd2b33f22a4920e24690 Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Sun, 12 May 2024 10:40:49 +0000 Subject: [PATCH 21/46] Translated using Weblate (Italian) Currently translated at 26.7% (920 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/it/ --- langs/layers/it.json | 182 ++++++++++++++++++++++--------------------- 1 file changed, 94 insertions(+), 88 deletions(-) diff --git a/langs/layers/it.json b/langs/layers/it.json index 9365c346e..709d75781 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -35,6 +35,23 @@ "1": { "title": "un cartellone pubblicitario fissato a terra" }, + "10": { + "description": "Un telo impermeabile con un messaggio stampato, fissato in modo permanente al muro", + "title": "un telone" + }, + "11": { + "title": "un totem" + }, + "12": { + "description": "Utilizzato per insegna pubblicitaria, un'insegna al neon, i loghi o le indicazioni d'entrata", + "title": "un'insegna" + }, + "13": { + "title": "una scultura" + }, + "14": { + "title": "un murales" + }, "2": { "title": "un cartellone pubblicitario fissato al muro" }, @@ -54,23 +71,6 @@ }, "8": { "title": "uno schermo fissato al muro" - }, - "10": { - "description": "Un telo impermeabile con un messaggio stampato, fissato in modo permanente al muro", - "title": "un telone" - }, - "11": { - "title": "un totem" - }, - "12": { - "description": "Utilizzato per insegna pubblicitaria, un'insegna al neon, i loghi o le indicazioni d'entrata", - "title": "un'insegna" - }, - "13": { - "title": "una scultura" - }, - "14": { - "title": "un murales" } }, "tagRenderings": { @@ -124,7 +124,7 @@ "render": "La stazione si trova a {addr:place}." }, "ambulance-street": { - "question": " Come si chiama la strada in cui si trova questa stazione?", + "question": "Come si chiama la strada in cui si trova questa stazione?", "render": "Questa stazione si trova in {addr:street}." } }, @@ -153,6 +153,15 @@ "1": { "then": "Murale" }, + "10": { + "then": "Azulejo (ornamento decorativo piastrellato spagnolo)" + }, + "11": { + "then": "Mosaico di piastrelle" + }, + "12": { + "then": "Scultura in legno" + }, "2": { "then": "Dipinto" }, @@ -176,15 +185,6 @@ }, "9": { "then": "Rilievo" - }, - "10": { - "then": "Azulejo (ornamento decorativo piastrellato spagnolo)" - }, - "11": { - "then": "Mosaico di piastrelle" - }, - "12": { - "then": "Scultura in legno" } }, "question": "Che tipo di opera d’arte è questo?", @@ -496,6 +496,9 @@ "render": "Bici in prestito" } }, + "bicycle_rental": { + "description": "Stazione noleggio biciclette" + }, "bicycle_tube_vending_machine": { "name": "Distributore automatico di camere d’aria per bici", "presets": { @@ -633,7 +636,7 @@ "then": "Archetti" }, "1": { - "then": "Scolapiatti" + "then": "Rastrelliera classica" }, "2": { "then": "Blocca manubrio" @@ -1463,7 +1466,7 @@ }, "extinguisher": { "description": "Livello della mappa che mostra gli idranti antincendio.", - "name": "Cartina degli estintori.", + "name": "Mappa degli estintori", "presets": { "0": { "description": "Un estintore è un dispositivo portatile di piccole dimensioni usato per spegnere un incendio", @@ -1631,16 +1634,16 @@ "hydrant-state": { "mappings": { "0": { - "then": "L’idrante è (parzialmente o completamente) funzionante." + "then": "L’idrante è (parzialmente o completamente) funzionante" }, "1": { - "then": "L’idrante è fuori servizio." + "then": "L’idrante è fuori servizio" }, "2": { - "then": "L’idrante è stato rimosso." + "then": "L’idrante è stato rimosso" } }, - "question": "Aggiorna lo stato di funzionamento dell’idrante." + "question": "Questo idrante è ancora in funzione?" }, "hydrant-type": { "mappings": { @@ -1765,7 +1768,7 @@ "render": "Area: {_surface:ha} ha" }, "phone": { - "question": "Quale numero di telefono comporre per fare domande o segnalare problemi riguardanti questa riserva naturale?br/>", + "question": "Quale numero di telefono comporre per fare domande o segnalare problemi riguardanti questa riserva naturale?", "questionHint": "Rispetta la privacy (inserisci il numero di telefono privato solo se questo è noto pubblicamente)" } } @@ -1919,6 +1922,9 @@ "render": "Parco giochi" } }, + "postboxes": { + "description": "Questo livello mostra le buche delle lettere." + }, "public_bookcase": { "description": "Una vetrinetta ai bordi della strada contenente libri, aperta al pubblico", "name": "Microbiblioteche", @@ -1970,7 +1976,7 @@ "then": "Fa parte della rete 'Little Free Library'" }, "1": { - "then": "Questa microbiblioteca non fa parte di una rete" + "then": "Questa biblioteca pubblica non fa parte di una rete" } }, "question": "Questa microbiblioteca fa parte di una rete?", @@ -1996,7 +2002,7 @@ "public_bookcase-ref": { "mappings": { "0": { - "then": "Questa microbiblioteca non fa parte di una rete" + "then": "Questa biblioteca non fa parte di una rete" } }, "question": "Qual è il numero identificativo di questa microbiblioteca?", @@ -2139,27 +2145,6 @@ "1": { "question": "Riciclo di batterie" }, - "2": { - "question": "Riciclo di confezioni per bevande" - }, - "3": { - "question": "Riciclo di lattine" - }, - "4": { - "question": "Riciclo di abiti" - }, - "5": { - "question": "Riciclo di olio da cucina" - }, - "6": { - "question": "Riciclo di olio da motore" - }, - "8": { - "question": "Riciclo di umido" - }, - "9": { - "question": "Riciclo di bottiglie di vetro" - }, "10": { "question": "Riciclo di vetro" }, @@ -2187,8 +2172,29 @@ "19": { "question": "Riciclo di secco" }, + "2": { + "question": "Riciclo di confezioni per bevande" + }, "20": { "question": "Riciclo di secco" + }, + "3": { + "question": "Riciclo di lattine" + }, + "4": { + "question": "Riciclo di abiti" + }, + "5": { + "question": "Riciclo di olio da cucina" + }, + "6": { + "question": "Riciclo di olio da motore" + }, + "8": { + "question": "Riciclo di umido" + }, + "9": { + "question": "Riciclo di bottiglie di vetro" } } }, @@ -2241,27 +2247,6 @@ "1": { "then": "Cartoni per bevande" }, - "2": { - "then": "Lattine" - }, - "3": { - "then": "Abiti" - }, - "4": { - "then": "Olio da cucina" - }, - "5": { - "then": "Olio di motore" - }, - "7": { - "then": "Verde" - }, - "8": { - "then": "Umido" - }, - "9": { - "then": "Bottiglie di vetro" - }, "10": { "then": "Vetro" }, @@ -2286,6 +2271,9 @@ "19": { "then": "Scarpe" }, + "2": { + "then": "Lattine" + }, "20": { "then": "Piccoli elettrodomestici" }, @@ -2297,6 +2285,24 @@ }, "23": { "then": "Secco" + }, + "3": { + "then": "Abiti" + }, + "4": { + "then": "Olio da cucina" + }, + "5": { + "then": "Olio di motore" + }, + "7": { + "then": "Verde" + }, + "8": { + "then": "Umido" + }, + "9": { + "then": "Bottiglie di vetro" } }, "question": "Cosa si può riciclare qui?" @@ -2522,13 +2528,13 @@ "Surveillance type: public, outdoor, indoor": { "mappings": { "0": { - "then": "Sorveglia un'area pubblica, come una strada, un ponte, una piazza, un parco, una stazione, un passaggio o un sottopasso pubblico, ..." + "then": "Sorveglia un'area pubblica, come una strada, un ponte, una piazza, un parco, una stazione, un passaggio o un sottopasso pubblico, …" }, "1": { "then": "Sorveglia un'area esterna di proprietà privata (un parcheggio, una stazione di servizio, un cortile, un ingresso, un vialetto privato, ...)" }, "2": { - "then": "Sorveglia un ambiente interno di proprietà privata, per esempio un negozio, un parcheggio sotterraneo privato, ..." + "then": "Sorveglia un ambiente interno di proprietà privata, per esempio un negozio, un parcheggio sotterraneo privato, …" } }, "question": "Che cosa sorveglia questa videocamera?" @@ -2555,7 +2561,7 @@ } }, "question": "Che cosa è sorvegliato qui?", - "render": " Sorveglia una {surveillance:zone}" + "render": "Sorveglia una {surveillance:zone}" }, "camera:mount": { "mappings": { @@ -2642,16 +2648,16 @@ "toilet-changing_table:location": { "mappings": { "0": { - "then": "Il fasciatoio è nei servizi igienici femminili. " + "then": "Un fasciatoio è nei servizi igienici femminili" }, "1": { - "then": "Il fasciatoio è nei servizi igienici maschili. " + "then": "Un fasciatoio è nei servizi igienici maschili" }, "2": { - "then": "Il fasciatoio è nei servizi igienici per persone in sedia a rotelle. " + "then": "Un fasciatoio è nei servizi igienici per persone in sedia a rotelle" }, "3": { - "then": "Il fasciatoio è in una stanza dedicata. " + "then": "Un fasciatoio è in una stanza dedicata" } }, "question": "Dove si trova il fasciatoio?", @@ -2709,7 +2715,7 @@ "then": "Non accessibile in sedia a rotelle" } }, - "question": "C'è un WC riservato alle persone in sedia a rotelle" + "question": "C'è un WC riservato alle persone in sedia a rotelle?" } }, "title": { @@ -2756,7 +2762,7 @@ "then": "Non accessibile in sedia a rotelle" } }, - "question": "C'è un WC riservato alle persone in sedia a rotelle" + "question": "C'è un WC riservato alle persone in sedia a rotelle?" } } }, @@ -2921,7 +2927,7 @@ } }, "waste_basket": { - "description": "Questo è un cestino dei rifiuti pubblico, un bidone della spazzatura, dove puoi buttare via la tua spazzatura", + "description": "Questo è un cestino, un bidone dei rifiuti pubblico, dove puoi buttare via la tua spazzatura.", "filter": { "0": { "options": { From 3753bedeeb9d5ed39a757478c0e5566091c32e71 Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Mon, 13 May 2024 17:42:08 +0200 Subject: [PATCH 22/46] Add dogs outside Add image and question for dogs=outside tag --- assets/layers/questions/dogs_outside.svg | 3 +++ assets/layers/questions/questions.json | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 assets/layers/questions/dogs_outside.svg diff --git a/assets/layers/questions/dogs_outside.svg b/assets/layers/questions/dogs_outside.svg new file mode 100644 index 000000000..9f5f3ecaa --- /dev/null +++ b/assets/layers/questions/dogs_outside.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/layers/questions/questions.json b/assets/layers/questions/questions.json index 6c61a8e2f..2ee05e14a 100644 --- a/assets/layers/questions/questions.json +++ b/assets/layers/questions/questions.json @@ -619,6 +619,14 @@ "da": "Hunde er tilladt og kan løbe frit rundt", "cs": "Psi mají vstup povolen a mohou volně pobíhat" } + }, + { + "if": "dog=outside", + "icon": "./assets/layers/questions/dogs_outside.svg", + "then": { + "en": "Dogs are allowed only outside", + "it": "I cani sono ammessi solo all'esterno" + } } ] }, From 1d0f25e75e8a5c42cc617b4c39be262d6fed5882 Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Mon, 13 May 2024 23:13:12 +0200 Subject: [PATCH 23/46] Add PMD option to recycling and waste_basket (#1944) --- assets/layers/recycling/license_info.json | 11 + assets/layers/recycling/pmd.svg | 408 +++++++++++++++++++ assets/layers/recycling/pmd.svg.license | 2 + assets/layers/recycling/recycling.json | 40 +- assets/layers/waste_basket/waste_basket.json | 38 +- 5 files changed, 484 insertions(+), 15 deletions(-) create mode 100644 assets/layers/recycling/pmd.svg create mode 100644 assets/layers/recycling/pmd.svg.license diff --git a/assets/layers/recycling/license_info.json b/assets/layers/recycling/license_info.json index c4d0f589e..1d9f7fd52 100644 --- a/assets/layers/recycling/license_info.json +++ b/assets/layers/recycling/license_info.json @@ -180,6 +180,17 @@ "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/plastic_packaging.svg" ] }, + { + "path": "pmd.svg", + "license": "CC-BY-SA-4.0", + "authors": [ + "Modified from Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/cans.svg", + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/plastic_packaging.svg" + ] + }, { "path": "printer_cartridges.svg", "license": "CC-BY-4.0", diff --git a/assets/layers/recycling/pmd.svg b/assets/layers/recycling/pmd.svg new file mode 100644 index 000000000..86df370db --- /dev/null +++ b/assets/layers/recycling/pmd.svg @@ -0,0 +1,408 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/pmd.svg.license b/assets/layers/recycling/pmd.svg.license new file mode 100644 index 000000000..964ccb3a1 --- /dev/null +++ b/assets/layers/recycling/pmd.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Modified from Tobias Zwick +SPDX-License-Identifier: CC-BY-SA-4.0 \ No newline at end of file diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json index 2d359d3a6..81e21b463 100644 --- a/assets/layers/recycling/recycling.json +++ b/assets/layers/recycling/recycling.json @@ -238,6 +238,15 @@ }, "then": "./assets/layers/recycling/plastic.svg" }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:pmd=yes" + ] + }, + "then": "./assets/layers/recycling/pmd.svg" + }, { "if": { "and": [ @@ -465,6 +474,15 @@ }, "then": "./assets/layers/recycling/plastic.svg" }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:pmd=yes" + ] + }, + "then": "./assets/layers/recycling/pmd.svg" + }, { "if": { "and": [ @@ -640,6 +658,7 @@ "recycling:plastic_bottles=", "recycling:plastic_packaging=", "recycling:plastic=", + "recycling:pmd=", "recycling:printer_cartridges=", "recycling:scrap_metal=", "recycling:shoes=", @@ -1093,6 +1112,18 @@ "class": "medium" } }, + { + "if": "recycling:pmd=yes", + "ifnot": "recycling:pmd=", + "then": { + "en": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here", + "nl": "Plastic verkpakkingen, metalen verkpakkingen en drankpakken kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/pmd.svg", + "class": "medium" + } + }, { "if": "recycling:printer_cartridges=yes", "ifnot": "recycling:printer_cartridges=", @@ -1571,6 +1602,13 @@ }, "osmTags": "recycling:plastic=yes" }, + { + "question": { + "en": "Recycling of plastic packaging, metal packaging and drink cartons (PMD)", + "nl": "Recycling van plastic verkpakkingen, metalen verkpakkingen en drankpakken (PMD)" + }, + "osmTags": "recycling:pmd=yes" + }, { "question": { "en": "Recycling of scrap metal", @@ -1672,4 +1710,4 @@ "enableRelocation": true, "enableImproveAccuracy": true } -} +} \ No newline at end of file diff --git a/assets/layers/waste_basket/waste_basket.json b/assets/layers/waste_basket/waste_basket.json index 2c572b62e..d5d359797 100644 --- a/assets/layers/waste_basket/waste_basket.json +++ b/assets/layers/waste_basket/waste_basket.json @@ -206,6 +206,13 @@ "cs": "Odpadkový koš na plasty" } }, + { + "if": "waste=pmd", + "then": { + "en": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)", + "nl": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" + } + }, { "if": "waste=paper", "then": { @@ -237,8 +244,8 @@ }, "condition": { "or": [ - "waste=dog_excrement", - "waste=trash", + "waste~i~.*dog_excrement.*", + "waste~i~.*trash.*", "waste=" ] }, @@ -397,6 +404,20 @@ "cs": "Odpadkový koš na plast" }, "osmTags": "waste~i~.*plastic.*" + }, + { + "question": { + "en": "Waste basket for plastic packaging, metal packaging and drink cartons (PMD)", + "nl": "Vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" + }, + "osmTags": "waste~i~.*pmd.*" + }, + { + "question": { + "en": "Waste basket for paper", + "nl": "Vuilnisbak voor papier" + }, + "osmTags": "waste~i~.*paper.*" } ] }, @@ -432,16 +453,5 @@ "allowMove": { "enableRelocation": false, "enableImproveAccuracy": true - }, - "cs": { - "0": { - "iconSize": { - "mappings": { - "0": { - "then": "Odpadkový koš" - } - } - } - } } -} +} \ No newline at end of file From a406535e5c16a5f542cc0f6c3cc1f2b37c312048 Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Tue, 14 May 2024 00:05:42 +0200 Subject: [PATCH 24/46] Add most domestic plug types above 50 uses (#1907) --- assets/layers/charging_station/as3112.svg | 6 + .../charging_station/as3112.svg.license | 2 + .../charging_station/charging_station.json | 382 ++++++++++++++++++ .../layers/charging_station/license_info.json | 40 ++ assets/layers/charging_station/nema-5-15.svg | 6 + .../charging_station/nema-5-15.svg.license | 2 + assets/layers/charging_station/nema-5-20.svg | 7 + .../charging_station/nema-5-20.svg.license | 2 + assets/layers/charging_station/typej.svg | 6 + .../layers/charging_station/typej.svg.license | 2 + assets/layers/charging_station/types.csv | 4 + 11 files changed, 459 insertions(+) create mode 100644 assets/layers/charging_station/as3112.svg create mode 100644 assets/layers/charging_station/as3112.svg.license create mode 100644 assets/layers/charging_station/nema-5-15.svg create mode 100644 assets/layers/charging_station/nema-5-15.svg.license create mode 100644 assets/layers/charging_station/nema-5-20.svg create mode 100644 assets/layers/charging_station/nema-5-20.svg.license create mode 100644 assets/layers/charging_station/typej.svg create mode 100644 assets/layers/charging_station/typej.svg.license diff --git a/assets/layers/charging_station/as3112.svg b/assets/layers/charging_station/as3112.svg new file mode 100644 index 000000000..c42a47caf --- /dev/null +++ b/assets/layers/charging_station/as3112.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/layers/charging_station/as3112.svg.license b/assets/layers/charging_station/as3112.svg.license new file mode 100644 index 000000000..b4ccbe777 --- /dev/null +++ b/assets/layers/charging_station/as3112.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Yanpas +SPDX-License-Identifier: CC-BY-SA-4.0 \ No newline at end of file diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 38a777db7..669f6bc1d 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -1300,6 +1300,252 @@ "path": "./assets/layers/charging_station/bs1363.svg", "class": "medium" } + }, + { + "if": "socket:nema5_15=1", + "ifnot": "socket:nema5_15=", + "then": { + "en": "NEMA 5-15 (Type B)", + "nl": "NEMA 5-15 (VS 3-pin)" + }, + "icon": { + "path": "./assets/layers/charging_station/nema-5-15.svg", + "class": "medium" + }, + "hideInAnswer": { + "and": [ + "_country!=as", + "_country!=ai", + "_country!=ag", + "_country!=aw", + "_country!=bb", + "_country!=bz", + "_country!=bm", + "_country!=bo", + "_country!=vg", + "_country!=ky", + "_country!=co", + "_country!=cr", + "_country!=cu", + "_country!=do", + "_country!=ec", + "_country!=sv", + "_country!=pf", + "_country!=gu", + "_country!=gt", + "_country!=gy", + "_country!=ht", + "_country!=hn", + "_country!=jm", + "_country!=jp", + "_country!=jo", + "_country!=la", + "_country!=lb", + "_country!=lr", + "_country!=mx", + "_country!=fm", + "_country!=ms", + "_country!=ni", + "_country!=ne", + "_country!=pw", + "_country!=pa", + "_country!=py", + "_country!=pe", + "_country!=ph", + "_country!=pr", + "_country!=sr", + "_country!=th", + "_country!=tt", + "_country!=tm", + "_country!=ve", + "_country!=vn" + ] + } + }, + { + "if": { + "and": [ + "socket:nema5_15~*", + "socket:nema5_15!=1" + ] + }, + "then": { + "en": "NEMA 5-15 (Type B)", + "nl": "NEMA 5-15 (VS 3-pin)" + }, + "hideInAnswer": true, + "icon": { + "path": "./assets/layers/charging_station/nema-5-15.svg", + "class": "medium" + } + }, + { + "if": "socket:sev1011_t23=1", + "ifnot": "socket:sev1011_t23=", + "then": { + "en": "SEV 1011 T23 (Type J)", + "nl": "SEV 1011 T23 (Zwitserse 3-pin)" + }, + "icon": { + "path": "./assets/layers/charging_station/typej.svg", + "class": "medium" + }, + "hideInAnswer": { + "and": [ + "_country!=jo", + "_country!=li", + "_country!=mg", + "_country!=mv", + "_country!=rw", + "_country!=ch" + ] + } + }, + { + "if": { + "and": [ + "socket:sev1011_t23~*", + "socket:sev1011_t23!=1" + ] + }, + "then": { + "en": "SEV 1011 T23 (Type J)", + "nl": "SEV 1011 T23 (Zwitserse 3-pin)" + }, + "hideInAnswer": true, + "icon": { + "path": "./assets/layers/charging_station/typej.svg", + "class": "medium" + } + }, + { + "if": "socket:as3112=1", + "ifnot": "socket:as3112=", + "then": { + "en": "AS3112 (Type I)", + "nl": "AS3112 (Australische 3-pin)" + }, + "icon": { + "path": "./assets/layers/charging_station/as3112.svg", + "class": "medium" + }, + "hideInAnswer": { + "and": [ + "_country!=as", + "_country!=ar", + "_country!=au", + "_country!=cn", + "_country!=ck", + "_country!=fj", + "_country!=ki", + "_country!=nr", + "_country!=nz", + "_country!=nu", + "_country!=pg", + "_country!=sb", + "_country!=tj", + "_country!=to", + "_country!=tv", + "_country!=uy", + "_country!=uz", + "_country!=vu" + ] + } + }, + { + "if": { + "and": [ + "socket:as3112~*", + "socket:as3112!=1" + ] + }, + "then": { + "en": "AS3112 (Type I)", + "nl": "AS3112 (Australische 3-pin)" + }, + "hideInAnswer": true, + "icon": { + "path": "./assets/layers/charging_station/as3112.svg", + "class": "medium" + } + }, + { + "if": "socket:nema_5_20=1", + "ifnot": "socket:nema_5_20=", + "then": { + "en": "NEMA 5-20 (Type B)", + "nl": "NEMA 5-20 (VS 3-pin)" + }, + "icon": { + "path": "./assets/layers/charging_station/nema-5-20.svg", + "class": "medium" + }, + "hideInAnswer": { + "and": [ + "_country!=as", + "_country!=ai", + "_country!=ag", + "_country!=aw", + "_country!=bb", + "_country!=bz", + "_country!=bm", + "_country!=bo", + "_country!=vg", + "_country!=ky", + "_country!=co", + "_country!=cr", + "_country!=cu", + "_country!=do", + "_country!=ec", + "_country!=sv", + "_country!=pf", + "_country!=gu", + "_country!=gt", + "_country!=gy", + "_country!=ht", + "_country!=hn", + "_country!=jm", + "_country!=jp", + "_country!=jo", + "_country!=la", + "_country!=lb", + "_country!=lr", + "_country!=mx", + "_country!=fm", + "_country!=ms", + "_country!=ni", + "_country!=ne", + "_country!=pw", + "_country!=pa", + "_country!=py", + "_country!=pe", + "_country!=ph", + "_country!=pr", + "_country!=sr", + "_country!=th", + "_country!=tt", + "_country!=tm", + "_country!=ve", + "_country!=vn" + ] + } + }, + { + "if": { + "and": [ + "socket:nema_5_20~*", + "socket:nema_5_20!=1" + ] + }, + "then": { + "en": "NEMA 5-20 (Type B)", + "nl": "NEMA 5-20 (VS 3-pin)" + }, + "hideInAnswer": true, + "icon": { + "path": "./assets/layers/charging_station/nema-5-20.svg", + "class": "medium" + } } ] }, @@ -1658,6 +1904,78 @@ [ "3kW" ] + ], + [ + "socket:nema5_15", + "socket:nema5_15", + { + "en": "NEMA 5-15 (Type B)", + "nl": "NEMA 5-15 (VS 3-pin)" + }, + "nema-5-15.svg", + [ + "120" + ], + [ + "15" + ], + [ + "1.8 kW" + ] + ], + [ + "socket:sev1011_t23", + "socket:sev1011_t23", + { + "en": "SEV 1011 T23 (Type J)", + "nl": "SEV 1011 T23 (Zwitserse 3-pin)" + }, + "typej.svg", + [ + "230" + ], + [ + "16" + ], + [ + "3.7 kW" + ] + ], + [ + "socket:as3112", + "socket:as3112", + { + "en": "AS3112 (Type I)", + "nl": "AS3112 (Australische 3-pin)" + }, + "as3112.svg", + [ + "230" + ], + [ + "10" + ], + [ + "2.3 kW" + ] + ], + [ + "socket:nema_5_20", + "socket:nema_5_20", + { + "en": "NEMA 5-20 (Type B)", + "nl": "NEMA 5-20 (VS 3-pin)" + }, + "nema-5-20.svg", + [ + "120" + ], + [ + "20" + ], + [ + "2.4 kW" + ] ] ] }, @@ -2717,6 +3035,34 @@ "nl": "Heeft een
BS1363 (VK 3-pin)
" }, "osmTags": "socket:bs1363~*" + }, + { + "question": { + "en": "Has a
NEMA 5-15 (Type B)
connector", + "nl": "Heeft een
NEMA 5-15 (VS 3-pin)
" + }, + "osmTags": "socket:nema5_15~*" + }, + { + "question": { + "en": "Has a
SEV 1011 T23 (Type J)
connector", + "nl": "Heeft een
SEV 1011 T23 (Zwitserse 3-pin)
" + }, + "osmTags": "socket:sev1011_t23~*" + }, + { + "question": { + "en": "Has a
AS3112 (Type I)
connector", + "nl": "Heeft een
AS3112 (Australische 3-pin)
" + }, + "osmTags": "socket:as3112~*" + }, + { + "question": { + "en": "Has a
NEMA 5-20 (Type B)
connector", + "nl": "Heeft een
NEMA 5-20 (VS 3-pin)
" + }, + "osmTags": "socket:nema_5_20~*" } ] } @@ -2876,6 +3222,42 @@ "mW", "kW" ] + }, + "socket:nema5_15:voltage": "voltage", + "socket:nema5_15:current": "current", + "socket:nema5_15:output": { + "quantity": "power", + "denominations": [ + "mW", + "kW" + ] + }, + "socket:sev1011_t23:voltage": "voltage", + "socket:sev1011_t23:current": "current", + "socket:sev1011_t23:output": { + "quantity": "power", + "denominations": [ + "mW", + "kW" + ] + }, + "socket:as3112:voltage": "voltage", + "socket:as3112:current": "current", + "socket:as3112:output": { + "quantity": "power", + "denominations": [ + "mW", + "kW" + ] + }, + "socket:nema_5_20:voltage": "voltage", + "socket:nema_5_20:current": "current", + "socket:nema_5_20:output": { + "quantity": "power", + "denominations": [ + "mW", + "kW" + ] } } ], diff --git a/assets/layers/charging_station/license_info.json b/assets/layers/charging_station/license_info.json index 8f25c84e1..e4c481f44 100644 --- a/assets/layers/charging_station/license_info.json +++ b/assets/layers/charging_station/license_info.json @@ -99,6 +99,16 @@ ], "sources": [] }, + { + "path": "as3112.svg", + "license": "CC-BY-SA-4.0", + "authors": [ + "Yanpas" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:Plug_types.svg" + ] + }, { "path": "bosch-3pin.svg", "license": "CC0-1.0", @@ -125,6 +135,36 @@ "https://commons.wikimedia.org/wiki/File:Plug_types.svg" ] }, + { + "path": "nema-5-15.svg", + "license": "CC-BY-SA-4.0", + "authors": [ + "Yanpas" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:Plug_types.svg" + ] + }, + { + "path": "nema-5-20.svg", + "license": "CC-BY-SA-4.0", + "authors": [ + "Modified from Yanpas" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:Plug_types.svg" + ] + }, + { + "path": "typej.svg", + "license": "CC-BY-SA-4.0", + "authors": [ + "Modified from Yanpas" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:Plug_types.svg" + ] + }, { "path": "under_construction.svg", "license": "CC0-1.0", diff --git a/assets/layers/charging_station/nema-5-15.svg b/assets/layers/charging_station/nema-5-15.svg new file mode 100644 index 000000000..bba21647f --- /dev/null +++ b/assets/layers/charging_station/nema-5-15.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/layers/charging_station/nema-5-15.svg.license b/assets/layers/charging_station/nema-5-15.svg.license new file mode 100644 index 000000000..b4ccbe777 --- /dev/null +++ b/assets/layers/charging_station/nema-5-15.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Yanpas +SPDX-License-Identifier: CC-BY-SA-4.0 \ No newline at end of file diff --git a/assets/layers/charging_station/nema-5-20.svg b/assets/layers/charging_station/nema-5-20.svg new file mode 100644 index 000000000..ca2035075 --- /dev/null +++ b/assets/layers/charging_station/nema-5-20.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/layers/charging_station/nema-5-20.svg.license b/assets/layers/charging_station/nema-5-20.svg.license new file mode 100644 index 000000000..9f0b3ad3c --- /dev/null +++ b/assets/layers/charging_station/nema-5-20.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Modified from Yanpas +SPDX-License-Identifier: CC-BY-SA-4.0 \ No newline at end of file diff --git a/assets/layers/charging_station/typej.svg b/assets/layers/charging_station/typej.svg new file mode 100644 index 000000000..3511cf05e --- /dev/null +++ b/assets/layers/charging_station/typej.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/layers/charging_station/typej.svg.license b/assets/layers/charging_station/typej.svg.license new file mode 100644 index 000000000..9f0b3ad3c --- /dev/null +++ b/assets/layers/charging_station/typej.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: Modified from Yanpas +SPDX-License-Identifier: CC-BY-SA-4.0 \ No newline at end of file diff --git a/assets/layers/charging_station/types.csv b/assets/layers/charging_station/types.csv index 4a9444e36..d73c64835 100644 --- a/assets/layers/charging_station/types.csv +++ b/assets/layers/charging_station/types.csv @@ -16,3 +16,7 @@ socket:USB-A,,usb_port.svg,USB to charge phones and small electronics,,,5 socket:bosch_3pin,,bosch-3pin.svg,Bosch Active Connect with 3 pins and cable,,,,,,Bosch Active Connect met 3 pinnen aan een kabel,bicycle,car;motorcar;hgv;bus, socket:bosch_5pin,,bosch-5pin.svg,Bosch Active Connect with 5 pins and cable,,,,,,Bosch Active Connect met 5 pinnen aan een kabel,bicycle,car;motorcar;hgv;bus, socket:bs1363,,bs1363.svg,BS1363 (Type G),bh;bd;bz;bt;bw;bn;kh;cy;dm;gh;gi;gd;gg;gy;id;iq;ie;im;je;jo;ke;kw;lb;mo;mw;mv;mt;mu;ng;om;pk;qa;rw;sa;sc;sl;sb;lk;sd;tz;ug;vu;vn;ye;zm;zw,,230,13,3kW,BS1363 (VK 3-pin),*,, +socket:nema5_15,,nema-5-15.svg,NEMA 5-15 (Type B),as;ai;ag;aw;bb;bz;bm;bo;vg;ky;co;cr;cu;do;ec;sv;pf;gu;gt;gy;ht;hn;jm;jp;jo;la;lb;lr;mx;fm;ms;ni;ne;pw;pa;py;pe;ph;pr;sr;th;tt;tm;ve;vn,,120,15,1.8 kW,NEMA 5-15 (VS 3-pin),*,, +socket:sev1011_t23,,typej.svg,SEV 1011 T23 (Type J),jo;li;mg;mv;rw;ch,,230,16,3.7 kW,SEV 1011 T23 (Zwitserse 3-pin),*,, +socket:as3112,,as3112.svg,AS3112 (Type I),as;ar;au;cn;ck;fj;ki;nr;nz;nu;pg;sb;tj;to;tv;uy;uz;vu,,230,10,2.3 kW,AS3112 (Australische 3-pin),*,, +socket:nema_5_20,,nema-5-20.svg,NEMA 5-20 (Type B),as;ai;ag;aw;bb;bz;bm;bo;vg;ky;co;cr;cu;do;ec;sv;pf;gu;gt;gy;ht;hn;jm;jp;jo;la;lb;lr;mx;fm;ms;ni;ne;pw;pa;py;pe;ph;pr;sr;th;tt;tm;ve;vn,,120,20,2.4 kW,NEMA 5-20 (VS 3-pin),*,, From 9ebfc6b14248ed51e6a326bf760409115293f756 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 14 May 2024 00:41:04 +0200 Subject: [PATCH 25/46] Add license --- assets/layers/questions/dogs_outside.svg.license | 2 ++ assets/layers/questions/license_info.json | 12 ++++++++++++ assets/layers/questions/open24_7.svg.license | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 assets/layers/questions/dogs_outside.svg.license diff --git a/assets/layers/questions/dogs_outside.svg.license b/assets/layers/questions/dogs_outside.svg.license new file mode 100644 index 000000000..fb6f24df8 --- /dev/null +++ b/assets/layers/questions/dogs_outside.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: OpenClipArt; Mannivu +SPDX-License-Identifier: PUBLIC-DOMAIN \ No newline at end of file diff --git a/assets/layers/questions/license_info.json b/assets/layers/questions/license_info.json index aa446c69d..88c1bec03 100644 --- a/assets/layers/questions/license_info.json +++ b/assets/layers/questions/license_info.json @@ -59,6 +59,18 @@ "https://commons.wikimedia.org/wiki/File:Pictograms-nps-pets_on_leash-2.svg" ] }, + { + "path": "dogs_outside.svg", + "license": "PUBLIC-DOMAIN", + "authors": [ + "OpenClipArt", + "Mannivu" + ], + "sources": [ + "https://freesvg.org/no-dogs-round-sign-vector-graphics", + "https://github.com/pietervdvn/MapComplete/pull/1948" + ] + }, { "path": "nfc_card.svg", "license": "CC0-1.0", diff --git a/assets/layers/questions/open24_7.svg.license b/assets/layers/questions/open24_7.svg.license index 2452bee1e..ed0288300 100644 --- a/assets/layers/questions/open24_7.svg.license +++ b/assets/layers/questions/open24_7.svg.license @@ -1,2 +1,2 @@ SPDX-FileCopyrightText: Pieter Vander Vennet -SPDX-License-Identifier: CC0 \ No newline at end of file +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file From 0bd2bcf02a267beb175c69e8a404913a389223cb Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 14 May 2024 18:48:57 +0200 Subject: [PATCH 26/46] Fix typo --- src/Models/ThemeConfig/Json/TagRenderingConfigJson.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Models/ThemeConfig/Json/TagRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/TagRenderingConfigJson.ts index 450634f71..9e8e7acd5 100644 --- a/src/Models/ThemeConfig/Json/TagRenderingConfigJson.ts +++ b/src/Models/ThemeConfig/Json/TagRenderingConfigJson.ts @@ -6,7 +6,7 @@ import { Translatable } from "./Translatable" */ export interface MinimalTagRenderingConfigJson { /** - * question: What value should be shown (if no predifined option matches)? + * question: What value should be shown (if no predefined option matches)? * * This piece of text will be shown in the infobox. * Note that "&LBRACEkey&RBRACE"-parts are substituted by the corresponding values of the element. From 55660b285b530476fe0b040c7a00d4d3cb8a4a02 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 14 May 2024 18:56:59 +0200 Subject: [PATCH 27/46] Chore: regenerate schemas (fix typo) --- Docs/Schemas/IconConfigJson.schema.json | 2 +- Docs/Schemas/IconConfigJsonJSC.ts | 2 +- Docs/Schemas/LayerConfigJson.schema.json | 10 +-- Docs/Schemas/LayerConfigJsonJSC.ts | 10 +-- Docs/Schemas/LayoutConfigJson.schema.json | 16 ++-- Docs/Schemas/LayoutConfigJsonJSC.ts | 16 ++-- .../LineRenderingConfigJson.schema.json | 2 +- Docs/Schemas/LineRenderingConfigJsonJSC.ts | 2 +- Docs/Schemas/MappingConfigJson.schema.json | 2 +- Docs/Schemas/MappingConfigJsonJSC.ts | 2 +- .../MinimalTagRenderingConfigJson.schema.json | 2 +- .../MinimalTagRenderingConfigJsonJSC.ts | 2 +- .../PointRenderingConfigJson.schema.json | 2 +- Docs/Schemas/PointRenderingConfigJsonJSC.ts | 2 +- ...tionableTagRenderingConfigJson.schema.json | 2 +- .../QuestionableTagRenderingConfigJsonJSC.ts | 2 +- Docs/Schemas/RewritableConfigJson.schema.json | 2 +- Docs/Schemas/RewritableConfigJsonJSC.ts | 2 +- src/assets/schemas/layerconfigmeta.json | 38 ++++----- src/assets/schemas/layoutconfigmeta.json | 82 +++++++++---------- 20 files changed, 100 insertions(+), 100 deletions(-) diff --git a/Docs/Schemas/IconConfigJson.schema.json b/Docs/Schemas/IconConfigJson.schema.json index 249398bcb..8dc46d5b1 100644 --- a/Docs/Schemas/IconConfigJson.schema.json +++ b/Docs/Schemas/IconConfigJson.schema.json @@ -190,7 +190,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/IconConfigJsonJSC.ts b/Docs/Schemas/IconConfigJsonJSC.ts index 211310552..df0a4dc6e 100644 --- a/Docs/Schemas/IconConfigJsonJSC.ts +++ b/Docs/Schemas/IconConfigJsonJSC.ts @@ -185,7 +185,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index 1472d195b..7eedbc5aa 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -204,7 +204,7 @@ "type": "boolean" }, "presets": { - "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
\n\ngroup: presets", + "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
\n\ngroup: presets", "type": "array", "items": { "type": "object", @@ -379,7 +379,7 @@ "type": "boolean" }, "units": { - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]", + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\n\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)", "type": "array", "items": { "anyOf": [ @@ -387,7 +387,7 @@ "$ref": "#/definitions/default_2" }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ] } @@ -553,7 +553,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -1950,7 +1950,7 @@ ], "additionalProperties": false }, - "Record": { + "Record": { "type": "object", "additionalProperties": false } diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index 081005bd0..87f5f9911 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -204,7 +204,7 @@ export default { "type": "boolean" }, "presets": { - "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
\n\ngroup: presets", + "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
\n\ngroup: presets", "type": "array", "items": { "type": "object", @@ -379,7 +379,7 @@ export default { "type": "boolean" }, "units": { - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]", + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\n\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)", "type": "array", "items": { "anyOf": [ @@ -387,7 +387,7 @@ export default { "$ref": "#/definitions/default_2" }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ] } @@ -548,7 +548,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -1930,7 +1930,7 @@ export default { "applicableUnits" ] }, - "Record": { + "Record": { "type": "object" } }, diff --git a/Docs/Schemas/LayoutConfigJson.schema.json b/Docs/Schemas/LayoutConfigJson.schema.json index 82f4f8981..4c6bc6f78 100644 --- a/Docs/Schemas/LayoutConfigJson.schema.json +++ b/Docs/Schemas/LayoutConfigJson.schema.json @@ -443,7 +443,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -1840,7 +1840,7 @@ ], "additionalProperties": false }, - "Record": { + "Record": { "type": "object", "additionalProperties": false }, @@ -2095,7 +2095,7 @@ "type": "boolean" }, "presets": { - "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
\n\ngroup: presets", + "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
\n\ngroup: presets", "type": "array", "items": { "type": "object", @@ -2270,7 +2270,7 @@ "type": "boolean" }, "units": { - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]", + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\n\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)", "type": "array", "items": { "anyOf": [ @@ -2278,7 +2278,7 @@ "$ref": "#/definitions/default_2" }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ] } @@ -2514,7 +2514,7 @@ "type": "boolean" }, "presets": { - "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
\n\ngroup: presets", + "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
\n\ngroup: presets", "type": "array", "items": { "type": "object", @@ -2689,7 +2689,7 @@ "type": "boolean" }, "units": { - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]", + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\n\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)", "type": "array", "items": { "anyOf": [ @@ -2697,7 +2697,7 @@ "$ref": "#/definitions/default_2" }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ] } diff --git a/Docs/Schemas/LayoutConfigJsonJSC.ts b/Docs/Schemas/LayoutConfigJsonJSC.ts index 8ac0e9f21..ee3a5ad3f 100644 --- a/Docs/Schemas/LayoutConfigJsonJSC.ts +++ b/Docs/Schemas/LayoutConfigJsonJSC.ts @@ -438,7 +438,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -1820,7 +1820,7 @@ export default { "applicableUnits" ] }, - "Record": { + "Record": { "type": "object" }, "default": { @@ -2073,7 +2073,7 @@ export default { "type": "boolean" }, "presets": { - "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
\n\ngroup: presets", + "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
\n\ngroup: presets", "type": "array", "items": { "type": "object", @@ -2248,7 +2248,7 @@ export default { "type": "boolean" }, "units": { - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]", + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\n\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)", "type": "array", "items": { "anyOf": [ @@ -2256,7 +2256,7 @@ export default { "$ref": "#/definitions/default_2" }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ] } @@ -2491,7 +2491,7 @@ export default { "type": "boolean" }, "presets": { - "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
\n\ngroup: presets", + "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
\n\ngroup: presets", "type": "array", "items": { "type": "object", @@ -2666,7 +2666,7 @@ export default { "type": "boolean" }, "units": { - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]", + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\n\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)", "type": "array", "items": { "anyOf": [ @@ -2674,7 +2674,7 @@ export default { "$ref": "#/definitions/default_2" }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ] } diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index 3232cebc8..902eba713 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -229,7 +229,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index a2165c728..3084b52b2 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -224,7 +224,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/MappingConfigJson.schema.json b/Docs/Schemas/MappingConfigJson.schema.json index 931a2ed1b..c389b8bb7 100644 --- a/Docs/Schemas/MappingConfigJson.schema.json +++ b/Docs/Schemas/MappingConfigJson.schema.json @@ -256,7 +256,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/MappingConfigJsonJSC.ts b/Docs/Schemas/MappingConfigJsonJSC.ts index 9c0562bf5..2bbedf862 100644 --- a/Docs/Schemas/MappingConfigJsonJSC.ts +++ b/Docs/Schemas/MappingConfigJsonJSC.ts @@ -251,7 +251,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json b/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json index 75299efef..b383ff28a 100644 --- a/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json +++ b/Docs/Schemas/MinimalTagRenderingConfigJson.schema.json @@ -3,7 +3,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts b/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts index 949b7864d..64fa61a1f 100644 --- a/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/MinimalTagRenderingConfigJsonJSC.ts @@ -3,7 +3,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index 99cef2514..1ba395ce5 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -303,7 +303,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index ed2cb9819..4937c96d5 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -298,7 +298,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json index a138ec607..4c01b06df 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json +++ b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json @@ -360,7 +360,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts index f49ce9df1..2a39b0ca0 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts @@ -355,7 +355,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/RewritableConfigJson.schema.json b/Docs/Schemas/RewritableConfigJson.schema.json index c0f490c2d..ee06e3fcc 100644 --- a/Docs/Schemas/RewritableConfigJson.schema.json +++ b/Docs/Schemas/RewritableConfigJson.schema.json @@ -182,7 +182,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/Docs/Schemas/RewritableConfigJsonJSC.ts b/Docs/Schemas/RewritableConfigJsonJSC.ts index 9329f43ca..446dc7ef6 100644 --- a/Docs/Schemas/RewritableConfigJsonJSC.ts +++ b/Docs/Schemas/RewritableConfigJsonJSC.ts @@ -177,7 +177,7 @@ export default { "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { diff --git a/src/assets/schemas/layerconfigmeta.json b/src/assets/schemas/layerconfigmeta.json index 5ecd1e779..707499437 100644 --- a/src/assets/schemas/layerconfigmeta.json +++ b/src/assets/schemas/layerconfigmeta.json @@ -1858,7 +1858,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -1913,7 +1913,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -1999,7 +1999,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -2054,7 +2054,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -2185,7 +2185,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -2227,7 +2227,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -9195,7 +9195,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -9236,7 +9236,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -9322,7 +9322,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -9366,7 +9366,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -9477,7 +9477,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -9518,7 +9518,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -9609,7 +9609,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -9650,7 +9650,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -9735,7 +9735,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -9776,7 +9776,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -9965,7 +9965,7 @@ "group": "presets" }, "type": "array", - "description": "
\n
\nPresets for this layer.\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
" + "description": "
\n
\nPresets for this layer.\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
" }, { "path": [ @@ -19442,10 +19442,10 @@ "additionalProperties": false }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ], - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]" + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)" }, { "path": [ diff --git a/src/assets/schemas/layoutconfigmeta.json b/src/assets/schemas/layoutconfigmeta.json index 8182b1f2a..5c7cb70df 100644 --- a/src/assets/schemas/layoutconfigmeta.json +++ b/src/assets/schemas/layoutconfigmeta.json @@ -1323,7 +1323,7 @@ "type": "boolean" }, "presets": { - "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
\n\ngroup: presets", + "description": "
\n
\nPresets for this layer.\n\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\n\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\n\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
\n\ngroup: presets", "type": "array", "items": { "type": "object", @@ -1808,7 +1808,7 @@ "type": "boolean" }, "units": { - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]", + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\n\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)", "type": "array", "items": { "anyOf": [ @@ -1849,7 +1849,7 @@ "additionalProperties": false }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ] } @@ -3836,7 +3836,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -3892,7 +3892,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -3982,7 +3982,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -4038,7 +4038,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -4175,7 +4175,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -4218,7 +4218,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -11402,7 +11402,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -11444,7 +11444,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -11534,7 +11534,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -11579,7 +11579,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -11695,7 +11695,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -11737,7 +11737,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -11832,7 +11832,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -11874,7 +11874,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -11963,7 +11963,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -12005,7 +12005,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -12203,7 +12203,7 @@ "group": "presets" }, "type": "array", - "description": "
\n
\nPresets for this layer.\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
" + "description": "
\n
\nPresets for this layer.\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
" }, { "path": [ @@ -22007,10 +22007,10 @@ "additionalProperties": false }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ], - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]" + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)" }, { "path": [ @@ -24226,7 +24226,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -24283,7 +24283,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -24377,7 +24377,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -24434,7 +24434,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -24577,7 +24577,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -24621,7 +24621,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -32021,7 +32021,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -32064,7 +32064,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -32158,7 +32158,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -32204,7 +32204,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -32325,7 +32325,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -32368,7 +32368,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -32467,7 +32467,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -32510,7 +32510,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -32603,7 +32603,7 @@ "type": "object", "properties": { "render": { - "description": "question: What value should be shown (if no predifined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", + "description": "question: What value should be shown (if no predefined option matches)?\n\nThis piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\n\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`", "type": "string" }, "mappings": { @@ -32646,7 +32646,7 @@ ], "required": false, "hints": { - "question": "What value should be shown (if no predifined option matches)?" + "question": "What value should be shown (if no predefined option matches)?" }, "type": "string", "description": "This piece of text will be shown in the infobox.\nNote that \"&LBRACEkey&RBRACE\"-parts are substituted by the corresponding values of the element.\nThis value will be used if there is no mapping which matches (or there are no matches)\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`" @@ -32853,7 +32853,7 @@ "group": "presets" }, "type": "array", - "description": "
\n
\nPresets for this layer.\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n \n
" + "description": "
\n
\nPresets for this layer.\nA preset consists of one or more attributes (tags), a title and optionally a description and optionally example images.\nWhen the contributor wishes to add a point to OpenStreetMap, they'll:\n1. Press the 'add new point'-button\n2. Choose a preset from the list of all presets\n3. Confirm the choice. In this step, the `description` (if set) and `exampleImages` (if given) will be shown\n4. Confirm the location\n5. A new point will be created with the attributes that were defined in the preset\nIf no presets are defined, the button which invites to add a new preset will not be shown.\n
\n
" }, { "path": [ @@ -42984,10 +42984,10 @@ "additionalProperties": false }, { - "$ref": "#/definitions/Record" + "$ref": "#/definitions/Record" } ], - "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]" + "description": "Either a list with [{\"key\": \"unitname\", \"key2\": {\"quantity\": \"unitname\", \"denominations\": [\"denom\", \"denom\"]}}]\nUse `\"inverted\": true` if the amount should be _divided_ by the denomination, e.g. for charge over time (`€5/day`)" }, { "path": [ From 8218b42c9ee03a64d82732ce012e7e7be8eca26c Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 14 May 2024 19:01:05 +0200 Subject: [PATCH 28/46] Studio: fix crash --- src/UI/Studio/EditLayerState.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/UI/Studio/EditLayerState.ts b/src/UI/Studio/EditLayerState.ts index 2b5b2134f..2af21a35f 100644 --- a/src/UI/Studio/EditLayerState.ts +++ b/src/UI/Studio/EditLayerState.ts @@ -103,7 +103,7 @@ export abstract class EditJsonState { // Walk the path down to see if we find something let entry = this.configuration.data for (let i = 0; i < path.length; i++) { - if (entry === undefined) { + if (entry === undefined || entry === null) { // We reached a dead end - no old vlaue return undefined } From 0e530d07e894bd43cfcd3e020146b0b9753c0f6e Mon Sep 17 00:00:00 2001 From: Patchanka64 Date: Tue, 14 May 2024 12:20:03 +0000 Subject: [PATCH 29/46] Translated using Weblate (French) Currently translated at 61.7% (2122 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/fr/ --- langs/layers/fr.json | 63 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 9 deletions(-) diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 65548366b..e5213f04c 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -3727,6 +3727,30 @@ "render": "Votre chemin" } }, + "guidepost": { + "tagRenderings": { + "type": { + "mappings": { + "0": { + "then": "Un itinéraire vélo" + }, + "1": { + "then": "un itinéraire de randonnée" + }, + "2": { + "then": "un itinéraire de vtt" + }, + "3": { + "then": "un itinéraire équestre" + }, + "4": { + "then": "un itinéraire de pistes de ski" + } + }, + "question": "Quel type d'itinéraire indique ce panneau ?" + } + } + }, "hotel": { "description": "Couche affichant les hôtels", "name": "Hôtels", @@ -4011,7 +4035,7 @@ "then": "La carte d'un site particulier, comme un château, un parc, un campus, une forêt, ...." }, "2": { - "then": "Une carte de village ou de ville" + "then": "Une carte de village ou de petite ville" }, "3": { "then": " Une carte de ville" @@ -4032,6 +4056,9 @@ }, "2": { "then": "Un plan schématique.

Une carte schématique sur laquelle seuls les éléments principaux sont indiqués (rues, POIs). Les angles, distances etc. peuvent être déformés pour rendre le plan plus lisible.

" + }, + "3": { + "then": "Une table d'orientation.

Un élément érigé sur une hauteur qui indique la direction d'éléments paysagers remarquables visibles depuis ce point

" } }, "question": "De quel type de carte s'agit-il ?" @@ -4096,7 +4123,7 @@ "name": "Mémoriaux", "presets": { "0": { - "title": "Un mémorial" + "title": "un mémorial" } }, "tagRenderings": { @@ -4130,19 +4157,19 @@ "then": "C'est un arbre du souvenir" }, "2": { - "then": "C'est un banc commémoratif (banc de crémation)" + "then": "C'est un banc commémoratif" }, "3": { "then": "C'est un vélo fantôme - un vélo blanc peint en mémoire d'un cycliste mort à cet endroit suite à un accident avec une voiture" }, "4": { - "then": "C'est un stolperstein (pierres d'achoppement)" + "then": "C'est un stolperstein (pierre d'achoppement)" }, "5": { "then": "C'est une stèle" }, "6": { - "then": "Pierre commémorative" + "then": "C'est une pierre commémorative" }, "7": { "then": "C'est un buste" @@ -4159,7 +4186,7 @@ }, "memorial-wikidata": { "question": "Quelle est la page Wikipedia de ce mémorial ?", - "questionHint": "C'est la page Wikipedia du mémorial et non celle de la personne ou de l'évènement commémoré. Si le mémorial n'a pas de page Wikipedia ou d'entité Wikidata, passez cette question.", + "questionHint": "C'est la page Wikipédia du mémorial et non celle de la personne ou de l'évènement commémoré. Si le mémorial n'a pas de page Wikipédia ou d'entité Wikidata, passez cette question.", "render": { "before": "

Page Wikipedia du mémorial

" } @@ -4179,10 +4206,10 @@ "title": { "mappings": { "0": { - "then": "Mémorial plaque" + "then": "Plaque commémorative" } }, - "render": "Mémorial plaque" + "render": "Plaque commémorative" } }, "mountain_rescue": { @@ -6746,13 +6773,31 @@ }, "picture-license": { "mappings": { + "1": { + "then": "Les photos que vous avez ajoutées seront sous licence CC0 et mises dans le domaine public. Cela signifie que n'importe qui pourra les utiliser, quel qu'en soit l'usage." + }, "3": { "then": "Les photos que vous prenez seront sous la licence CC-BY-SA 4.0 ce qui signifie que quiconque utilisant votre photo doit vous créditer et que les modifications apportées à votre photo doivent être repartagées avec la même licence." } } }, "show_tags": { - "question": "Afficher les attributs OpenStreetMap bruts ?" + "mappings": { + "0": { + "then": "Ne jamais voir les étiquettes." + }, + "1": { + "then": "Voir les étiquettes au bout de {__userjourney_tagsVisibleAt} modifications" + }, + "2": { + "then": "Voir les étiquettes quand je fais une modification" + }, + "3": { + "then": "Voir les étiquettes quand je fais une modification et toujours voir les étiquettes pour chaque élément" + } + }, + "question": "Afficher les attributs OpenStreetMap bruts ?", + "questionHint": "LesTags ou étiquettes sont des attributs rattachés à chaque élément. C'est une donnée technique qui est stockée dans une base de données. Vous n'avez pas besoin de connaître ces étiquettes pour utiliser MapComplete, mais certains utilisateurs préfèrent les afficher." }, "translation-completeness": { "render": "Les traductions pour {_theme} en {_language} sont à {_translation_percentage} % : {_translation_translated_count} chaînes traduites sur {_translation_total}" From f8061a2991be472d86b026e9ffdb60b0042e3b1a Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Mon, 13 May 2024 16:57:19 +0000 Subject: [PATCH 30/46] Translated using Weblate (Italian) Currently translated at 27.0% (928 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/it/ --- langs/layers/it.json | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/langs/layers/it.json b/langs/layers/it.json index 709d75781..bd6ca7626 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -55,6 +55,9 @@ "2": { "title": "un cartellone pubblicitario fissato al muro" }, + "3": { + "title": "un contenitore di poster pubblicitari di una pensilina del trasporto pubblico" + }, "4": { "description": "PIccolo pannello per la pubblicità di vicinanza, generalmente destinato ai pedoni", "title": "un piccolo pannello" @@ -71,6 +74,9 @@ }, "8": { "title": "uno schermo fissato al muro" + }, + "9": { + "title": "uno schermo montato su una pensilina del traporto pubblico" } }, "tagRenderings": { @@ -263,7 +269,7 @@ } }, "atm": { - "description": "Sportello Bancomat per prelevare denaro", + "description": "Sportelli Bancomat per prelevare denaro", "name": "Sportelli Bancomat", "presets": { "0": { @@ -349,7 +355,7 @@ "then": "Schienale: Sì" }, "2": { - "then": "Schienale: No" + "then": "Questa panchina non ha uno schienale" } }, "question": "Questa panchina ha lo schienale?" @@ -1009,6 +1015,37 @@ "render": "Oggetto relativo alle bici" } }, + "charging_station": { + "filter": { + "0": { + "options": { + "0": { + "question": "Tutti i tipi di veicoli" + }, + "1": { + "question": "Stazione di ricarica per biciclette" + }, + "2": { + "question": "Stazione di ricarica per auto" + } + } + }, + "1": { + "options": { + "0": { + "question": "Solo stazioni di ricarica funzionanti" + } + } + }, + "2": { + "options": { + "0": { + "question": "Tutti i connettori" + } + } + } + } + }, "climbing": { "tagRenderings": { "average_length": { @@ -1272,7 +1309,7 @@ } }, "question": "Quanti bulloni sono presenti in questo percorso prima di arrivare alla moulinette?", - "render": "Questo percorso ha {climbing:bolts} bulloni" + "render": "Questo percorso ha {climbing:bolts} bulloni
Questa è senza collettori e indica di quanti bloccaggi rapidi ha bisogno un arrampicatore
" } }, "title": { From 351b7bb26d7ddac5b722d2736734825bb171367f Mon Sep 17 00:00:00 2001 From: Patchanka64 Date: Tue, 14 May 2024 10:37:48 +0000 Subject: [PATCH 31/46] Translated using Weblate (French) Currently translated at 76.1% (389 of 511 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/fr/ --- langs/themes/fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/themes/fr.json b/langs/themes/fr.json index 7ffc8b2ac..caea2f7f3 100644 --- a/langs/themes/fr.json +++ b/langs/themes/fr.json @@ -849,7 +849,7 @@ }, "memorials": { "description": "Un mémorial est un objet physiquement installé sur l'espace public en souvenir d'une personne ou d'un évènement. Cela peut être toute sorte d'objets, comme une statue, une plaque, une peinture, un objet militaire (comme un tank), ...", - "title": "Mémorials" + "title": "Mémoriaux" }, "nature": { "description": "Retrouvez sur cette carte des informations pour les touristes et les amoureux de la nature.", From 9cadb9419fef03241748f9b071ac7241d78a3376 Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Mon, 13 May 2024 17:00:47 +0000 Subject: [PATCH 32/46] Translated using Weblate (Italian) Currently translated at 54.8% (348 of 635 strings) Translation: MapComplete/Core Translate-URL: https://hosted.weblate.org/projects/mapcomplete/core/it/ --- langs/it.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/langs/it.json b/langs/it.json index d09a0ea4f..993216627 100644 --- a/langs/it.json +++ b/langs/it.json @@ -122,7 +122,7 @@ "add": { "addNew": "Aggiungi {category} qua", "backToSelect": "Seleziona una categoria differente", - "confirmButton": "Aggiungi una {category} qua.
La tua aggiunta è visibile a chiunque
", + "confirmButton": "Aggiungi una {category}
La tua aggiunta è visibile a chiunque
", "confirmTitle": "Aggiungi un {title}?", "disableFilters": "Disabilita tutti i filtri", "disableFiltersExplanation": "Alcuni oggetti potrebbero essere nascosti da un filtro", @@ -137,7 +137,7 @@ "zoomInMore": "Ingrandisci di più per importare questo elemento" }, "importTags": "L'elemento riceverà {tags}", - "intro": "Hai cliccato in un punto dove non ci sono ancora dei dati.
", + "intro": "Hai cliccato in un punto dove non ci sono ancora dei dati.
", "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", @@ -237,7 +237,7 @@ "morescreen": { "createYourOwnTheme": "Crea il tuo tema di MapComplete personalizzato da zero", "hiddenExplanation": "Questi temi sono solo accessibili se si dispone del collegamento. Hai scoperto {hidden_discovered} su {total_hidden} temi nascosti.", - "intro": "

Altre mappe tematiche?

Ti diverti a raccogliere dati geografici?
Sono disponibili altri temi.", + "intro": "

Altre mappe tematiche?

Ti diverti a raccogliere dati geografici?
Sono disponibili altri temi.", "noMatchingThemes": "Nessun argomento corrisponde ai tuoi criteri di ricerca", "noSearch": "Mostra tutti gli argomenti", "previouslyHiddenTitle": "Temi nascosti precedentemente visitati", @@ -293,7 +293,7 @@ "questions": { "emailIs": "L’indirizzo email di questa {category} è {email}", "emailOf": "Qual è l’indirizzo email di {category}?", - "phoneNumberIs": "Il numero di telefono di questa {category} è {phone}", + "phoneNumberIs": "Il numero di telefono di questa {category} è {phone}", "phoneNumberOf": "Qual è il numero di telefono di {category}?", "websiteIs": "Sito web: {website}", "websiteOf": "Qual è il sito web di {category}?" @@ -312,7 +312,7 @@ }, "sharescreen": { "copiedToClipboard": "Collegamento copiato negli appunti", - "embedIntro": "

Incorpora nel tuo sito web

Siamo lieti se vorrai includere questa cartina nel tuo sito web.
Ti incoraggiamo a farlo (non devi neanche chieder il permesso).
È gratuito e lo sarà per sempre. Più persone lo useranno e più valore acquisirà.", + "embedIntro": "

Incorpora nel tuo sito web

Siamo lieti se vorrai includere questa cartina nel tuo sito web.
Ti incoraggiamo a farlo (non devi neanche chieder il permesso).
È gratuito e lo sarà per sempre. Più persone lo useranno e più valore acquisirà.", "fsUserbadge": "Abilita il pulsante di accesso", "fsWelcomeMessage": "Mostra il messaggio di benvenuto e le schede associate", "intro": "

Condividi questa mappa

Condividi questa mappa copiando il collegamento qua sotto e inviandolo ad amici o parenti:", From 4d950064bb24ec673ed7b3f3563d0509dd60fe06 Mon Sep 17 00:00:00 2001 From: Manuel Tassi Date: Mon, 13 May 2024 16:54:26 +0000 Subject: [PATCH 33/46] Translated using Weblate (Italian) Currently translated at 45.4% (232 of 511 strings) Translation: MapComplete/themes Translate-URL: https://hosted.weblate.org/projects/mapcomplete/themes/it/ --- langs/themes/it.json | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/langs/themes/it.json b/langs/themes/it.json index 2b0710cdd..97aa92dd3 100644 --- a/langs/themes/it.json +++ b/langs/themes/it.json @@ -1,4 +1,8 @@ { + "advertising": { + "description": "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", + "title": "Pubblicità" + }, "aed": { "description": "Su questa mappa puoi trovare e segnalare i defibrillatori nelle vicinanze", "title": "Mappa dei defibrillatori (DAE)" @@ -8,7 +12,7 @@ "title": "Mappa libera delle opere d'arte" }, "atm": { - "description": "Questa mappa mostra gli sportelli bancomat per ritirare o depositare del denaro", + "description": "Questa mappa mostra gli sportelli Bancomat per ritirare o depositare del denaro", "layers": { "3": { "override": { @@ -27,7 +31,7 @@ "title": "Sportelli bancomat" }, "benches": { - "description": "Questa mappa mostra tutte le panchine che sono state aggiunte su OpenStreetMap: panchine individuali e quelle alle fermate del trasporto pubblico o nei ripari. Se disponi di un account OpenStreetMap puoi mappare delle nuove panchine o modificare i dettagli di quelle esistenti.", + "description": "Questa mappa mostra tutte le panchine che sono state aggiunte su OpenStreetMap: panchine individuali e quelle alle fermate del trasporto pubblico o sotto le pensiline.", "shortDescription": "Una mappa delle panchine", "title": "Panchine" }, @@ -335,6 +339,14 @@ }, "cycle_highways": { "description": "Questa cartina mostra le strade per velocipedi", + "layers": { + "0": { + "name": "strade per biciclette", + "title": { + "render": "strada per bicilette" + } + } + }, "title": "Strade per velocipedi" }, "cycle_infra": { @@ -424,7 +436,7 @@ } }, "shortDescription": "Qual è l’origine di un toponimo?", - "title": "Apri Carta Etimologica" + "title": "Etimologia - da cosa prende nome un luogo?" }, "facadegardens": { "description": "I giardini veritcali e gli alberi in città non solo portano pace e tranquillità ma creano anche un ambiente più bello, aumentano la biodiversità, rendono il clima più fresco e migliorano la qualità dell’aria.
Klimaan VZW e Mechelen Klimaatneutraal vogliono mappare sia i giardini verticali esistenti che quelli nuovi per mostrarli a quanti vogliono costruire un loro proprio giardino o per quelli che amano la natura e vogliono camminare per la città.
Per ulteriori informazioni visita klimaan.be.", From 68602cba94fdb0512a312d836039d93cadac95fb Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 13 May 2024 17:14:16 +0200 Subject: [PATCH 34/46] Include all countries in _ country --- src/Logic/SimpleMetaTagger.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Logic/SimpleMetaTagger.ts b/src/Logic/SimpleMetaTagger.ts index 15d358668..41399a239 100644 --- a/src/Logic/SimpleMetaTagger.ts +++ b/src/Logic/SimpleMetaTagger.ts @@ -119,7 +119,7 @@ class CountryTagger extends SimpleMetaTagger { constructor() { super({ keys: ["_country"], - doc: "The country code of the property (with latlon2country)", + doc: "The country codes of the of the country/countries that the feature is located in (with latlon2country). Might contain _multiple_ countries, separated by a `;`", includesDates: false, }) } @@ -138,7 +138,7 @@ class CountryTagger extends SimpleMetaTagger { return } const oldCountry = feature.properties["_country"] - const newCountry = countries[0].trim().toLowerCase() + const newCountry = countries.join(";").trim().toLowerCase() if (oldCountry !== newCountry) { if (typeof window === undefined) { tagsSource.data["_country"] = newCountry @@ -150,7 +150,7 @@ class CountryTagger extends SimpleMetaTagger { /** * What is this weird construction? * - * For a theme with a hundreds of items (e.g. shops) + * For a theme with hundreds of items (e.g. shops) * the country for all those shops will probably arrive at the same time. * * This means that all those stores will be pinged around the same time. From 5c2823287a604e919876aaae5ed9887e99d9503d Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 13 May 2024 17:14:59 +0200 Subject: [PATCH 35/46] Fetch taginfo: add code to get all countries, imrove docs --- src/Logic/Web/TagInfo.ts | 78 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/src/Logic/Web/TagInfo.ts b/src/Logic/Web/TagInfo.ts index dfc6fb957..213a81ac7 100644 --- a/src/Logic/Web/TagInfo.ts +++ b/src/Logic/Web/TagInfo.ts @@ -1,35 +1,48 @@ import { Utils } from "../../Utils" +import type { FeatureCollection } from "geojson" export interface TagInfoStats { /** * The total number of entries in the data array, **not** the total number of objects known in OSM! * * Use `data.find(item => item.type==="all").count` for this + * @deprecated: you probably want to use data.find(item => item.type==="all").count */ total: number data: { type: "all" | "nodes" | "ways" | "relations" + // Absolute number count: number + // Relative, percentage count_fraction: number }[] } +interface GeofabrikCountryProperties { + id: string, + parent: string | "europe" | "asia", + urls: string[], + name: string, + "iso3166-1:alpha2": string[] +} + export default class TagInfo { public static readonly global = new TagInfo() private readonly _backend: string + private static _geofabrikCountries = undefined constructor(backend = "https://taginfo.openstreetmap.org/") { this._backend = backend } - public getStats(key: string, value?: string): Promise { + public async getStats(key: string, value?: string): Promise { let url: string if (value) { url = `${this._backend}api/4/tag/stats?key=${key}&value=${value}` } else { url = `${this._backend}api/4/key/stats?key=${key}` } - return Utils.downloadJsonCached(url, 1000 * 60 * 60) + return await Utils.downloadJsonCached(url, 1000 * 60 * 60) } /** @@ -44,4 +57,65 @@ export default class TagInfo { return `${this._backend}/keys/${k}#overview` } } + + /** + * Does not work in the browser due to some resources not being CORS-accessible + */ + public static async geofabrikCountries(): Promise { + if (TagInfo._geofabrikCountries) { + return TagInfo._geofabrikCountries + } + const countriesFC: FeatureCollection = await Utils.downloadJsonCached("https://download.geofabrik.de/index-v1-nogeom.json", 24 * 1000 * 60 * 60) + TagInfo._geofabrikCountries = countriesFC.features.map(f => f.properties) + return TagInfo._geofabrikCountries + } + + /** + * Creates a TagInfo-api-object for geofabrik for the given country. + * Returns undefined if geofabrik does not have such a country + * + * Does not work in the browser due to some resources not being CORS-accessible + * @param countryCode: an iso3166-1:alpha2 code + */ + public static async getInstanceFor(countryCode: string) { + const countries = await this.geofabrikCountries() + countryCode = countryCode.toUpperCase() + const country = countries.find(c => c["iso3166-1:alpha2"]?.indexOf(countryCode) >= 0) + if (!country || !country?.parent || !country?.id) { + return undefined + } + const url = `https://taginfo.geofabrik.de/${country.parent}:${country.id}/` + return new TagInfo(url) + } + + private static async getDistributionsFor(countryCode: string, key: string, value?: string): Promise{ + if (!countryCode) { + return undefined + } + const ti = await TagInfo.getInstanceFor(countryCode) + if (!ti) { + return undefined + } + try { + return await ti.getStats(key, value) + } catch (e) { + console.warn("Could not fetch info for", countryCode,key,value, "due to", e) + return undefined + } + } + + public static async getGlobalDistributionsFor(key: string, value?: string): Promise> { + const countries = await this.geofabrikCountries() + const perCountry: Record = {} + const results = await Promise.all(countries.map(country => TagInfo.getDistributionsFor(country?.["iso3166-1:alpha2"]?.[0], key, value))) + for (let i = 0; i < countries.length; i++){ + const country = countries[i] + const countryCode = country["iso3166-1:alpha2"]?.[0] + if(results[i]){ + perCountry[countryCode] = results[i] + } + } + return perCountry + } + } From d4085d608bcf76b09d2447ee1891102adaa2da8d Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 13 May 2024 18:45:43 +0200 Subject: [PATCH 36/46] Explicitly type MapRoulette challenge --- src/Logic/Maproulette.ts | 6 +++++- src/UI/SpecialVisualizations.ts | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Logic/Maproulette.ts b/src/Logic/Maproulette.ts index 195f52cb4..6f4e5f361 100644 --- a/src/Logic/Maproulette.ts +++ b/src/Logic/Maproulette.ts @@ -1,5 +1,9 @@ import Constants from "../Models/Constants" - +export interface MaprouletteTask { + name: string, + description: string, + instruction: string +} export default class Maproulette { public static readonly defaultEndpoint = "https://maproulette.org/api/v2" diff --git a/src/UI/SpecialVisualizations.ts b/src/UI/SpecialVisualizations.ts index 53c83c9bd..5d0f08f5e 100644 --- a/src/UI/SpecialVisualizations.ts +++ b/src/UI/SpecialVisualizations.ts @@ -35,7 +35,7 @@ import StatisticsPanel from "./BigComponents/StatisticsPanel" import AutoApplyButton from "./Popup/AutoApplyButton" import { LanguageElement } from "./Popup/LanguageElement/LanguageElement" import FeatureReviews from "../Logic/Web/MangroveReviews" -import Maproulette from "../Logic/Maproulette" +import Maproulette, { MaprouletteTask } from "../Logic/Maproulette" import SvelteUIElement from "./Base/SvelteUIElement" import { BBoxFeatureSourceForLayer } from "../Logic/FeatureSource/Sources/TouchesBboxFeatureSource" import { Feature, GeoJsonProperties } from "geojson" @@ -1039,7 +1039,7 @@ console.log(">>> ",helpTexts.join("\n\n")) return undefined } const challenge = Stores.FromPromise( - Utils.downloadJsonCached( + Utils.downloadJsonCached( `${Maproulette.defaultEndpoint}/challenge/${parentId}`, 24 * 60 * 60 * 1000 ) From 3204a76fc97b61506026d48d45d31299e3e0f25b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 16 May 2024 00:26:28 +0200 Subject: [PATCH 37/46] Cleanup imports, improve typing --- src/UI/Popup/TagRendering/TagRenderingEditable.svelte | 3 --- src/Utils.ts | 8 ++++---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/UI/Popup/TagRendering/TagRenderingEditable.svelte b/src/UI/Popup/TagRendering/TagRenderingEditable.svelte index 8bbb001dd..3125a56ab 100644 --- a/src/UI/Popup/TagRendering/TagRenderingEditable.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingEditable.svelte @@ -4,7 +4,6 @@ import type { Feature } from "geojson" import type { SpecialVisualizationState } from "../../SpecialVisualization" import TagRenderingAnswer from "./TagRenderingAnswer.svelte" - import { PencilAltIcon } from "@rgossiaux/svelte-heroicons/solid" import TagRenderingQuestion from "./TagRenderingQuestion.svelte" import { onDestroy } from "svelte" import Tr from "../../Base/Tr.svelte" @@ -12,9 +11,7 @@ import LayerConfig from "../../../Models/ThemeConfig/LayerConfig" import { Utils } from "../../../Utils" import { twMerge } from "tailwind-merge" - import { ariaLabel } from "../../../Utils/ariaLabel" import EditButton from "./EditButton.svelte" - import EditItemButton from "../../Studio/EditItemButton.svelte" export let config: TagRenderingConfig export let tags: UIEventSource> diff --git a/src/Utils.ts b/src/Utils.ts index 141bdaa0e..21b6512a5 100644 --- a/src/Utils.ts +++ b/src/Utils.ts @@ -1035,7 +1035,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be } } const promise = - /*NO AWAIT as we work with the promise directly */ Utils.downloadJsonAdvanced( + /*NO AWAIT as we work with the promise directly */ Utils.downloadJsonAdvanced( url, headers ) @@ -1069,11 +1069,11 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be }) } - public static async downloadJsonAdvanced( + public static async downloadJsonAdvanced( url: string, headers?: Record ): Promise< - { content: object | object[] } | { error: string; url: string; statuscode?: number } + { content: T } | { error: string; url: string; statuscode?: number } > { const injected = Utils.injectedDownloads[url] if (injected !== undefined) { @@ -1091,7 +1091,7 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be try { if (typeof data === "string") { if (data === "") { - return { content: {} } + return { content: {} } } return { content: JSON.parse(data) } } From a68b79fe7cadcccce7f9fc032dd729e5e023fd6e Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 16 May 2024 00:32:28 +0200 Subject: [PATCH 38/46] Move recycling:pmd to the bottom of the mappings to fix translation missync --- assets/layers/recycling/recycling.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json index 81e21b463..85afda7cd 100644 --- a/assets/layers/recycling/recycling.json +++ b/assets/layers/recycling/recycling.json @@ -1112,18 +1112,6 @@ "class": "medium" } }, - { - "if": "recycling:pmd=yes", - "ifnot": "recycling:pmd=", - "then": { - "en": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here", - "nl": "Plastic verkpakkingen, metalen verkpakkingen en drankpakken kunnen hier gerecycled worden" - }, - "icon": { - "path": "./assets/layers/recycling/pmd.svg", - "class": "medium" - } - }, { "if": "recycling:printer_cartridges=yes", "ifnot": "recycling:printer_cartridges=", @@ -1261,6 +1249,18 @@ "path": "./assets/layers/recycling/bicycles.svg", "class": "medium" } + }, + { + "if": "recycling:pmd=yes", + "ifnot": "recycling:pmd=", + "then": { + "en": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here", + "nl": "Plastic verpakkingen, metalen verpakkingen en drankpakken kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/pmd.svg", + "class": "medium" + } } ] }, @@ -1710,4 +1710,4 @@ "enableRelocation": true, "enableImproveAccuracy": true } -} \ No newline at end of file +} From 9ddf86a2a0656eb5d53c788f327f81eef3528182 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Wed, 15 May 2024 22:35:47 +0000 Subject: [PATCH 39/46] Translated using Weblate (French) Currently translated at 61.7% (2122 of 3437 strings) Translation: MapComplete/Layer translations Translate-URL: https://hosted.weblate.org/projects/mapcomplete/layers/fr/ --- langs/layers/fr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/layers/fr.json b/langs/layers/fr.json index e5213f04c..d3a478478 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -6749,7 +6749,7 @@ "then": "Utiliser le fond actuel ({__current_background}) par défaut" }, "5": { - "then": "Utiliser le fond ({__current_background})par défaut" + "then": "Utiliser le fond ({mapcomplete-preferred-background-layer})par défaut" } }, "question": "Quel fond souhaitez-vous utiliser par défaut ?" From 9656bda759bf13c8765df5f6be7e7b20f4c0b0e4 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 16 May 2024 10:27:04 +0200 Subject: [PATCH 40/46] Translation sync (partial) --- assets/layers/address/address.json | 3 +- assets/layers/advertising/advertising.json | 26 +- assets/layers/aerialway/aerialway.json | 12 +- .../ambulancestation/ambulancestation.json | 2 +- assets/layers/atm/atm.json | 2 +- assets/layers/barrier/barrier.json | 4 +- assets/layers/bench/bench.json | 16 +- .../layers/bicycle_rental/bicycle_rental.json | 3 +- assets/layers/bike_parking/bike_parking.json | 11 +- assets/layers/cafe_pub/cafe_pub.json | 2 +- .../charging_station/charging_station.json | 22 +- .../layers/climbing_route/climbing_route.json | 2 +- .../cycleways_and_roads.json | 2 +- .../layers/defibrillator/defibrillator.json | 4 +- assets/layers/doctors/doctors.json | 3 +- assets/layers/extinguisher/extinguisher.json | 2 +- assets/layers/food/food.json | 8 +- assets/layers/ghost_bike/ghost_bike.json | 2 +- assets/layers/guidepost/guidepost.json | 18 +- assets/layers/hydrant/hydrant.json | 8 +- assets/layers/map/map.json | 33 +- assets/layers/maproulette/maproulette.json | 12 +- .../maproulette_challenge.json | 3 +- assets/layers/memorial/memorial.json | 90 +- .../mountain_rescue/mountain_rescue.json | 12 +- .../layers/nature_reserve/nature_reserve.json | 54 +- assets/layers/postboxes/postboxes.json | 3 +- .../public_bookcase/public_bookcase.json | 4 +- assets/layers/school/school.json | 2 +- .../surveillance_camera.json | 6 +- assets/layers/toilet/toilet.json | 18 +- .../toilet_at_amenity/toilet_at_amenity.json | 2 +- assets/layers/tree_node/tree_node.json | 2 +- assets/layers/unit/unit.json | 42 +- assets/layers/usersettings/usersettings.json | 39 +- assets/layers/waste_basket/waste_basket.json | 2 +- assets/themes/advertising/advertising.json | 6 +- assets/themes/atm/atm.json | 2 +- assets/themes/benches/benches.json | 2 +- .../bicycle_parkings/bicycle_parkings.json | 4 +- .../themes/bicycle_rental/bicycle_rental.json | 2 +- .../themes/cycle_highways/cycle_highways.json | 6 +- .../disaster_response/disaster_response.json | 3 +- assets/themes/etymology/etymology.json | 4 +- assets/themes/ghostbikes/ghostbikes.json | 2 +- assets/themes/hailhydrant/hailhydrant.json | 4 +- .../mapcomplete-changes.json | 87 +- assets/themes/memorials/memorials.json | 6 +- assets/themes/postboxes/postboxes.json | 2 +- langs/layers/ca.json | 506 +++++------ langs/layers/cs.json | 2 +- langs/layers/da.json | 2 +- langs/layers/de.json | 830 +++++++++--------- langs/layers/en.json | 131 ++- langs/layers/eo.json | 2 +- langs/layers/es.json | 2 +- langs/layers/eu.json | 2 +- langs/layers/fi.json | 2 +- langs/layers/fil.json | 2 +- langs/layers/fr.json | 336 +++---- langs/layers/gl.json | 2 +- langs/layers/he.json | 2 +- langs/layers/hu.json | 2 +- langs/layers/id.json | 2 +- langs/layers/it.json | 138 +-- langs/layers/ja.json | 2 +- langs/layers/nb_NO.json | 2 +- langs/layers/nl.json | 26 +- langs/layers/pa_PK.json | 2 +- langs/layers/pl.json | 2 +- langs/layers/pt.json | 2 +- langs/layers/pt_BR.json | 2 +- langs/layers/ru.json | 14 +- langs/layers/sl.json | 2 +- langs/layers/sv.json | 2 +- langs/layers/zgh.json | 2 +- langs/layers/zh_Hans.json | 2 +- langs/layers/zh_Hant.json | 2 +- langs/themes/ca.json | 64 +- langs/themes/cs.json | 64 +- langs/themes/da.json | 56 +- langs/themes/de.json | 78 +- langs/themes/en.json | 78 +- langs/themes/es.json | 64 +- langs/themes/fr.json | 64 +- langs/themes/it.json | 2 +- langs/themes/nb_NO.json | 36 +- langs/themes/nl.json | 64 +- langs/themes/pl.json | 64 +- package-lock.json | 12 +- 90 files changed, 1802 insertions(+), 1475 deletions(-) diff --git a/assets/layers/address/address.json b/assets/layers/address/address.json index 2617ae333..2afad5a08 100644 --- a/assets/layers/address/address.json +++ b/assets/layers/address/address.json @@ -326,7 +326,8 @@ "pt_BR": "O que deve ser corrigido aqui? Explique", "he": "מה צריך לתקן כאן? אנא הסבר", "eu": "Zer konpondu behar da hemen? Azaldu mesedez", - "it": "Indica cosa deve essere corretto qui" + "it": "Indica cosa deve essere corretto qui", + "ru": "Что исправить? Пожалуйста, предложите" }, "freeform": { "key": "fixme" diff --git a/assets/layers/advertising/advertising.json b/assets/layers/advertising/advertising.json index df7ea81fb..0658a384b 100644 --- a/assets/layers/advertising/advertising.json +++ b/assets/layers/advertising/advertising.json @@ -14,7 +14,9 @@ "pt_BR": "Anunciar", "zh_Hans": "广告", "it": "Pubblicità", - "zh_Hant": "廣告" + "zh_Hant": "廣告", + "fr": "Publicité", + "ru": "Реклама" }, "description": { "ca": "Completarem les dades dels elements publicitaris amb referència, operador i il·luminació", @@ -26,7 +28,8 @@ "eu": "Publizitate-ezaugarrien datuak osatuko ditugu erreferentziarekin, operadorearekin eta argiztatuarekin.", "pl": "Uzupełnimy dane z obiektów reklamowych o referencję, operatora i oświetlenie", "pt_BR": "Completaremos os dados das características de publicidade com referência, operador e iluminação", - "it": "Completeremo i dati da caratteristiche pubblicitarie, con referenza, operatore e illuminazione" + "it": "Completeremo i dati da caratteristiche pubblicitarie, con referenza, operatore e illuminazione", + "fr": "Nous allons compléter les information sur la publicité avec la référence, l'opérateur et l'éclairage" }, "source": { "osmTags": { @@ -428,7 +431,8 @@ "pt_BR": "um outdoor", "zh_Hans": "一块广告牌", "it": "un cartellone", - "zh_Hant": "一塊告示牌" + "zh_Hant": "一塊告示牌", + "ru": "билборд" }, "description": { "en": "A large outdoor advertising structure, typically found in high-traffic areas such as alongside busy roads", @@ -500,7 +504,9 @@ ], "title": { "en": "a poster box part of a public transport shelter", - "de": "ein Plakatkasten, der zu einem Unterstand für öffentliche Verkehrsmittel gehört" + "de": "ein Plakatkasten, der zu einem Unterstand für öffentliche Verkehrsmittel gehört", + "fr": "Un affichage sur un abribus", + "it": "un contenitore di poster pubblicitari di una pensilina del trasporto pubblico" }, "snapToLayer": [ "shelter" @@ -557,7 +563,8 @@ "pt": "uma coluna", "pl": "kolumna", "pt_BR": "uma coluna", - "it": "una colonna" + "it": "una colonna", + "ru": "столбец" }, "description": { "en": "A cylindrical outdoor structure which shows advertisements", @@ -659,7 +666,9 @@ ], "title": { "en": "a screen mounted on a transit shelter", - "de": "ein Bildschirm, der an einem Wartehäuschen angebracht ist" + "de": "ein Bildschirm, der an einem Wartehäuschen angebracht ist", + "fr": "un écran fixé sur un abri de transport", + "it": "uno schermo montato su una pensilina del traporto pubblico" }, "snapToLayer": [ "shelter" @@ -838,7 +847,8 @@ "pl": "To jest {advertising}", "pt_BR": "Isso é uma {advertising}", "zh_Hans": "这是一个{advertising}", - "pt": "Isto é uma {advertising}" + "pt": "Isto é uma {advertising}", + "fr": "C'est un {advertising}" }, "question": { "ca": "Quin tipus d'element publicitari és aquest?", @@ -887,7 +897,7 @@ ] }, "then": { - "ca": "Açò és un tauló d'anunis", + "ca": "Açò és un tauló d'anuncis", "es": "Esto es un tablón de anuncios", "en": "This is a board", "de": "Dies ist ein Brett", diff --git a/assets/layers/aerialway/aerialway.json b/assets/layers/aerialway/aerialway.json index a8042c4e7..f798539ab 100644 --- a/assets/layers/aerialway/aerialway.json +++ b/assets/layers/aerialway/aerialway.json @@ -44,7 +44,8 @@ "label": { "render": { "en": "{name}", - "de": "{name}" + "de": "{name}", + "fr": "{name}" }, "condition": "name~*", "classes": "bg-white p-1 px-2 rounded" @@ -169,18 +170,21 @@ "id": "duration", "question": { "en": "How long takes a single journey with this elevator?", - "de": "Wie lange dauert eine Fahrt mit diesem Aufzug?" + "de": "Wie lange dauert eine Fahrt mit diesem Aufzug?", + "fr": "Combien de temps dure le trajet dans cet ascenseur ?" }, "questionHint": { "en": "This excludes the waiting time.", - "de": "Dies schließt die Wartezeit aus." + "de": "Dies schließt die Wartezeit aus.", + "fr": "Cela n'inclut pas le temps d'attente." }, "freeform": { "key": "duration" }, "render": { "en": "A single journey takes {duration} minutes", - "de": "Eine Fahrt dauert {duration} Minuten" + "de": "Eine Fahrt dauert {duration} Minuten", + "fr": "Un aller simple dure {duration} minutes" } }, { diff --git a/assets/layers/ambulancestation/ambulancestation.json b/assets/layers/ambulancestation/ambulancestation.json index 956e986fc..430810e6a 100644 --- a/assets/layers/ambulancestation/ambulancestation.json +++ b/assets/layers/ambulancestation/ambulancestation.json @@ -196,7 +196,7 @@ "ja": " 救急ステーションの所在地はどこですか?", "ru": " По какому адресу расположена эта станция?", "fr": "Quel est le nom de la rue où la station se situe ?", - "it": " Come si chiama la strada in cui si trova questa stazione?", + "it": "Come si chiama la strada in cui si trova questa stazione?", "de": "In welcher Straße liegt die Rettungswache?", "hu": "Mi a neve annak az utcának, amelyben az állomás található?", "nl": "In welke straat ligt dit station?", diff --git a/assets/layers/atm/atm.json b/assets/layers/atm/atm.json index 9d40a592f..d179df3a6 100644 --- a/assets/layers/atm/atm.json +++ b/assets/layers/atm/atm.json @@ -29,7 +29,7 @@ "pl": "Bankomaty do wypłacania pieniędzy", "pt_BR": "Caixas eletrônicos para sacar dinheiro", "pt": "Multibancos para levantar dinheiro", - "it": "Sportello Bancomat per prelevare denaro" + "it": "Sportelli Bancomat per prelevare denaro" }, "source": { "osmTags": "amenity=atm" diff --git a/assets/layers/barrier/barrier.json b/assets/layers/barrier/barrier.json index 37026ad00..387d1b1f9 100644 --- a/assets/layers/barrier/barrier.json +++ b/assets/layers/barrier/barrier.json @@ -67,7 +67,7 @@ "nl": "Paaltje", "de": "Poller", "ru": "Прикол", - "fr": "Bollard", + "fr": "Potelet", "es": "Bolardo", "ca": "Pilona", "da": "Pullert", @@ -84,7 +84,7 @@ "en": "Cycling Barrier", "nl": "Fietshekjes", "de": "Barriere für Radfahrer", - "fr": "Barrière cyclable", + "fr": "Barrière à vélos", "ca": "Barrera ciclista", "es": "Barrera Ciclista", "da": "Cykelbarriere", diff --git a/assets/layers/bench/bench.json b/assets/layers/bench/bench.json index 4fae1136b..0393920c9 100644 --- a/assets/layers/bench/bench.json +++ b/assets/layers/bench/bench.json @@ -101,7 +101,7 @@ "title": { "en": "a bench", "de": "eine Sitzbank", - "fr": "une banc", + "fr": "un banc", "nl": "een zitbank", "es": "una banco", "it": "una panchina", @@ -157,7 +157,7 @@ "then": { "en": "This bench does have a backrest", "de": "Diese Sitzbank hat eine Rückenlehne", - "fr": "Dossier : Oui", + "fr": "Ce banc a un dossier", "nl": "Heeft een rugleuning", "es": "Tiene respaldo", "hu": "Van háttámlája", @@ -188,12 +188,12 @@ "then": { "en": "This bench does not have a backrest", "de": "Diese Sitzbank hat keine Rückenlehne", - "fr": "Dossier : Non", + "fr": "Ce banc n'a pas de dossier", "nl": "Heeft geen rugleuning", "es": "No tiene respaldo", "hu": "Nincs háttámlája", "id": "Sandaran: Tidak", - "it": "Schienale: No", + "it": "Questa panchina non ha uno schienale", "ru": "Без спинки", "zh_Hans": "没有靠背", "zh_Hant": "靠背:無", @@ -413,7 +413,7 @@ "then": { "en": "The seating is made from concrete", "de": "Die Sitzfläche ist aus Beton", - "fr": "Matériau du siège : béton", + "fr": "L'assise est en béton", "nl": "Het zitgedeelte is gemaakt uit beton", "es": "El asiento está hecho de hormigón", "hu": "Ülőfelület: beton", @@ -637,7 +637,7 @@ "then": { "en": "Colour: green", "de": "Farbe: grün", - "fr": "Couleur : verte", + "fr": "Couleur : vert", "nl": "De kleur is groen", "hu": "Szín: zöld", "it": "Colore: verde", @@ -737,7 +737,7 @@ "then": { "en": "Colour: black", "de": "Farbe: schwarz", - "fr": "Couleur : noire", + "fr": "Couleur : noir", "nl": "De kleur is zwart", "hu": "Szín: fekete", "it": "Colore: nero", @@ -1032,7 +1032,7 @@ "de": "Z.B. hat es ein integriertes Gemälde, eine Statue oder eine andere nicht triviale, kreative Arbeit", "ca": "P.e. té una pintura integrada, estatua o altres treballs no trivials i creatius", "cs": "Např. má integrovaný obraz, sochu nebo jiné netriviální tvůrčí dílo", - "fr": "Par ex. il intègre une peinture, statue ou autre élément non commune, travail cratif", + "fr": "Par ex. il intègre une peinture, statue ou autre élément non commune, travail créatif", "pl": "Np. jest na niej coś namalowane, ma rzeźbę lub inną nietrywialną pracę", "pt_BR": "Ex. possui uma pintura integrada, estátua ou outro trabalho criativo não trivial", "es": "Por ejemplo, si lleva integrado un cuadro, una estatua u otra obra creativa no trivial", diff --git a/assets/layers/bicycle_rental/bicycle_rental.json b/assets/layers/bicycle_rental/bicycle_rental.json index afd473767..4f9cb248c 100644 --- a/assets/layers/bicycle_rental/bicycle_rental.json +++ b/assets/layers/bicycle_rental/bicycle_rental.json @@ -23,7 +23,8 @@ "ca": "Estacions de lloguer de bicicletes", "pl": "Stacje wypożyczania rowerów", "pt_BR": "Estações de aluguel de bicicletas", - "pt": "Estações de aluguel de bicicletas" + "pt": "Estações de aluguel de bicicletas", + "it": "Stazione noleggio biciclette" }, "source": { "osmTags": { diff --git a/assets/layers/bike_parking/bike_parking.json b/assets/layers/bike_parking/bike_parking.json index 403fe0c6b..e0d0ee134 100644 --- a/assets/layers/bike_parking/bike_parking.json +++ b/assets/layers/bike_parking/bike_parking.json @@ -186,7 +186,7 @@ "gl": "Aros", "de": "Metallgestänge", "hu": "Kerékbefogó hurok", - "it": "Scolapiatti", + "it": "Rastrelliera classica", "zh_Hant": "車輪架/圓圈", "ca": "Portarodes/bucles", "da": "Hjulstativ/løkker", @@ -697,15 +697,18 @@ "condition": "fee=yes", "question": { "en": "How much does it cost to park your bike here?", - "nl": "Hoeveel kost het om een fiets te stallen?" + "nl": "Hoeveel kost het om een fiets te stallen?", + "de": "Wie viel kostet es, Ihr Fahrrad hier zu parken?" }, "questionHint": { "en": "This is the amount which is charged for a single bike", - "nl": "Dit is de kostprijs voor een enkele fiets" + "nl": "Dit is de kostprijs voor een enkele fiets", + "de": "Das ist der Betrag, der für ein einzelnes Fahrrad berechnet wird" }, "render": { "en": "Parking your bike costs {charge}", - "nl": "Je fiets hier parkeren kost {charge}" + "nl": "Je fiets hier parkeren kost {charge}", + "de": "Das Parken Ihres Fahrrads kostet {charge}" }, "freeform": { "key": "charge", diff --git a/assets/layers/cafe_pub/cafe_pub.json b/assets/layers/cafe_pub/cafe_pub.json index 027ba455b..a798f5f5e 100644 --- a/assets/layers/cafe_pub/cafe_pub.json +++ b/assets/layers/cafe_pub/cafe_pub.json @@ -20,7 +20,7 @@ "de": "Eine Ebene mit Cafés und Kneipen, in denen man sich auf ein Getränk treffen kann. Die Ebene fragt nach einigen relevanten Eigenschaften", "es": "Una capa que muestra cafeterías y bares donde uno se puede reunir con una bebida. La capa hace algunas preguntas relevantes", "da": "Et lag med caféer og pubber, hvor man kan samles omkring en drink. Laget stiller nogle relevante spørgsmål", - "fr": "Une couche montrants les cafés et pubs où l’on peut prendre un verre. Cette couche pose des questions y afférentes.", + "fr": "Une couche montrant les cafés et pubs où l’on peut prendre un verre. Cette couche pose des questions y afférant.", "ca": "Una capa que mostra cafeteries i bars on un es pot reunir amb una beguda. La capa demana algunes preguntes rellevants", "cs": "Vrstva s kavárnami a hospodami, kde se můžete sejít u skleničky. Vrstva se ptá na několik důležitých otázek" }, diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index dcfaad56b..7dab837fe 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -69,7 +69,8 @@ "en": "A charging station", "nl": "Oplaadpunten", "ca": "Una estació de càrrega", - "de": "Eine Ladestation" + "de": "Eine Ladestation", + "fr": "Une station de recharge" }, "#": "no-question-hint-check", "tagRenderings": [ @@ -2519,7 +2520,9 @@ "en": "All vehicle types", "nl": "Alle voertuigen", "ca": "Tots els tipus de vehicles", - "de": "Ladestationen für alle Fahrzeugtypen" + "de": "Ladestationen für alle Fahrzeugtypen", + "fr": "Tous les types de véhicules", + "it": "Tutti i tipi di veicoli" } }, { @@ -2527,7 +2530,9 @@ "en": "Charging station for bicycles", "nl": "Oplaadpunten voor fietsen", "ca": "Punt de recàrrega per a bicicletes", - "de": "Ladestationen für Fahrräder" + "de": "Ladestationen für Fahrräder", + "fr": "Station de recharge pour vélos", + "it": "Stazione di ricarica per biciclette" }, "osmTags": "bicycle=yes" }, @@ -2535,7 +2540,9 @@ "question": { "en": "Charging station for cars", "nl": "Oplaadpunten voor auto's", - "de": "Ladestationen für Autos" + "de": "Ladestationen für Autos", + "fr": "Station de recharge pour voitures", + "it": "Stazione di ricarica per auto" }, "osmTags": { "or": [ @@ -2553,7 +2560,9 @@ "question": { "en": "Only working charging stations", "nl": "Enkel werkende oplaadpunten", - "de": "Nur Ladestationen in Betrieb" + "de": "Nur Ladestationen in Betrieb", + "fr": "Seulement les stations de recharge qui fonctionnent", + "it": "Solo stazioni di ricarica funzionanti" }, "osmTags": { "and": [ @@ -2571,7 +2580,8 @@ "question": { "en": "All connectors", "nl": "Alle types", - "de": "Alle Anschlüsse" + "de": "Alle Anschlüsse", + "it": "Tutti i connettori" } }, { diff --git a/assets/layers/climbing_route/climbing_route.json b/assets/layers/climbing_route/climbing_route.json index 1015dcb32..10116eb1d 100644 --- a/assets/layers/climbing_route/climbing_route.json +++ b/assets/layers/climbing_route/climbing_route.json @@ -239,7 +239,7 @@ "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
Questa è senza collettori e indica di quanti bloccaggi rapidi ha bisogno un arrampicatore
", "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": { diff --git a/assets/layers/cycleways_and_roads/cycleways_and_roads.json b/assets/layers/cycleways_and_roads/cycleways_and_roads.json index 619c00611..5d058b410 100644 --- a/assets/layers/cycleways_and_roads/cycleways_and_roads.json +++ b/assets/layers/cycleways_and_roads/cycleways_and_roads.json @@ -534,7 +534,7 @@ "nl": "Dit is geen fietsstraat", "de": "Dies ist keine Fahrradstraße.", "es": "Esta no es una ciclocalle.", - "fr": "Ceci n'est pas une rue cyclable", + "fr": "Ceci n'est pas une rue cyclable (vélorue)", "ca": "Açò no és un ciclocarrer.", "cs": "Toto není cyklostezka." }, diff --git a/assets/layers/defibrillator/defibrillator.json b/assets/layers/defibrillator/defibrillator.json index fc69fcbb8..5a9ceb594 100644 --- a/assets/layers/defibrillator/defibrillator.json +++ b/assets/layers/defibrillator/defibrillator.json @@ -563,7 +563,7 @@ "render": { "en": "Email for questions about this defibrillator: {email}", "nl": "Email voor vragen over deze defibrillator: {email}", - "fr": "Adresse électronique pour des questions à propos de ce défibrillateur : {email}", + "fr": "Adresse électronique pour des questions à propos de ce défibrillateur : {email}", "it": "Indirizzo email per le domande su questo defibrillatore:{email}", "de": "E-Mail für Fragen zu diesem Defibrillator: {email}", "sl": "Email naslov za vprašanja o tem defibrilatorju: {email}", @@ -591,7 +591,7 @@ { "render": { "en": "Telephone for questions about this defibrillator: {phone}", - "fr": "Numéro de téléphone pour questions sur le défibrillateur : {phone}", + "fr": "Numéro de téléphone pour questions sur le défibrillateur : {phone}", "nl": "Telefoonnummer voor vragen over deze defibrillator: {phone}", "it": "Numero di telefono per le domande su questo defibrillatore:{phone}", "de": "Telefonnummer für Fragen zu diesem Defibrillator: {phone}", diff --git a/assets/layers/doctors/doctors.json b/assets/layers/doctors/doctors.json index 199dbfc74..18bc9b422 100644 --- a/assets/layers/doctors/doctors.json +++ b/assets/layers/doctors/doctors.json @@ -16,7 +16,8 @@ "nl": "Deze laag toont dokterspraktijken", "he": "שכבה זו מציגה מרפאות רופאים", "ca": "Aquesta capa mostra els consultoris mèdics", - "cs": "Tato vrstva zobrazuje ordinace lékařů" + "cs": "Tato vrstva zobrazuje ordinace lékařů", + "fr": "Cette ocuhe montre les cabinets de médecin" }, "source": { "osmTags": "amenity=doctors" diff --git a/assets/layers/extinguisher/extinguisher.json b/assets/layers/extinguisher/extinguisher.json index 57c5b6c8a..8c872c146 100644 --- a/assets/layers/extinguisher/extinguisher.json +++ b/assets/layers/extinguisher/extinguisher.json @@ -7,7 +7,7 @@ "ru": "Карта огнетушителей.", "fr": "Couche des extincteurs", "de": "Feuerlöscher", - "it": "Cartina degli estintori.", + "it": "Mappa degli estintori", "nl": "Kaart van brandblussers", "es": "Mapa de extintores", "ca": "Mapa d'extintors", diff --git a/assets/layers/food/food.json b/assets/layers/food/food.json index b1362ee6d..ec9f52e55 100644 --- a/assets/layers/food/food.json +++ b/assets/layers/food/food.json @@ -16,7 +16,7 @@ "nl": "Een laag die restaurants en fast food toont (met een speciale weergave van frituren)", "de": "Eine Ebene mit Restaurants und Fast-Food-Einrichtungen (mit speziellem Rendering für Pommesbuden)", "es": "Una capa mostrando restaurantes y locales de comida rápida (con un renderizado especial para friterías)", - "fr": "Un claque montrant les restaurants et les endroits de nourriture rapide (avec un rendu spécial pour les friteries)", + "fr": "Un calque montrant les restaurants et les lieux de restauration rapide (avec un rendu spécial pour les friteries)", "ca": "Una capa que mostra restaurants i locals de menjar ràpid (amb un renderitzat especial per a fregiduries)", "cs": "Vrstva zobrazující restaurace a zařízení rychlého občerstvení (se speciálním vykreslením pro fritézy)", "pl": "Warstwa przedstawiająca restauracje i obiekty typu fast-food (ze specjalnym renderowaniem dla frytek)" @@ -1205,7 +1205,8 @@ "de": "Restaurants und Schnellimbissbetriebe", "cs": "Restaurace a podniky rychlého občerstvení", "pl": "Restauracje i firmy typu fast food", - "es": "Restaurantes y negocios de comida rápida" + "es": "Restaurantes y negocios de comida rápida", + "fr": "Restaurants et restauration rapide" } }, { @@ -1243,7 +1244,8 @@ "de": "Hat ein vegetarisches Menü", "cs": "Má vegetariánské menu", "pl": "Ma menu wegetariańskie", - "es": "Tiene menú vegetariano" + "es": "Tiene menú vegetariano", + "fr": "A un menu végétarien" }, "osmTags": { "or": [ diff --git a/assets/layers/ghost_bike/ghost_bike.json b/assets/layers/ghost_bike/ghost_bike.json index 829591532..924f933a1 100644 --- a/assets/layers/ghost_bike/ghost_bike.json +++ b/assets/layers/ghost_bike/ghost_bike.json @@ -211,7 +211,7 @@ "nl": "Respecteer privacy - voeg enkel een naam toe indien die op de fiets staat of gepubliceerd is. Eventueel voeg je enkel de voornaam toe.", "de": "Bitte respektieren Sie die Privatsphäre - geben Sie den Namen nur an, wenn er weit verbreitet oder auf dem Fahrrad markiert ist. Den Familiennamen können Sie weglassen.", "it": "Rispetta la privacy (compila solo il nome se questo è stato ampiamente pubblicato o se è scritto sulla bici). Decidi se è il caso di non inserire il cognome.", - "fr": "Veuillez respecter la vie privée – ajoutez le nom seulement s'il est largement publié ou marqué sur le vélo. Choisissez de ne pas indiquer le nom de famille ", + "fr": "Veuillez respecter la vie privée – ajoutez le nom seulement s'il est largement publié ou marqué sur le vélo. Choisissez de ne pas indiquer le nom de famille.", "ca": "Si us plau, respecteu la privadesa: només ompliu el nom si està àmpliament publicat o marcat a la bicicleta. Opta per deixar de banda el cognom.", "cs": "Respektujte prosím soukromí – jméno vyplňte pouze v případě, že je široce publikováno nebo označeno na cyklu. Rozhodněte se vynechat příjmení." } diff --git a/assets/layers/guidepost/guidepost.json b/assets/layers/guidepost/guidepost.json index a3bfcd696..6da67976e 100644 --- a/assets/layers/guidepost/guidepost.json +++ b/assets/layers/guidepost/guidepost.json @@ -60,7 +60,8 @@ "id": "type", "question": { "en": "What kind of routes are shown on this guidepost?", - "de": "Welche Arten von Routen werden auf diesem Wegweiser angezeigt?" + "de": "Welche Arten von Routen werden auf diesem Wegweiser angezeigt?", + "fr": "Quel type d'itinéraire indique ce panneau ?" }, "multiAnswer": true, "mappings": [ @@ -69,7 +70,8 @@ "ifnot": "bicycle=", "then": { "en": "This guidepost shows bicycle routes", - "de": "Dieser Wegweiser zeigt Fahrradrouten" + "de": "Dieser Wegweiser zeigt Fahrradrouten", + "fr": "Un itinéraire vélo" } }, { @@ -77,7 +79,8 @@ "ifnot": "hiking=", "then": { "en": "This guidepost shows hiking routes", - "de": "Dieser Wegweiser zeigt Wanderwege" + "de": "Dieser Wegweiser zeigt Wanderwege", + "fr": "un itinéraire de randonnée" } }, { @@ -85,7 +88,8 @@ "ifnot": "mtb=", "then": { "en": "This guidepost shows mountain bike routes", - "de": "Dieser Wegweiser zeigt Mountainbike-Routen" + "de": "Dieser Wegweiser zeigt Mountainbike-Routen", + "fr": "un itinéraire de vtt" } }, { @@ -93,7 +97,8 @@ "ifnot": "horse=", "then": { "en": "This guidepost shows horse riding routes", - "de": "Dieser Wegweiser zeigt Reitwege" + "de": "Dieser Wegweiser zeigt Reitwege", + "fr": "un itinéraire équestre" } }, { @@ -101,7 +106,8 @@ "ifnot": "ski=", "then": { "en": "This guidepost shows ski routes", - "de": "Dieser Wegweiser zeigt Skirouten" + "de": "Dieser Wegweiser zeigt Skirouten", + "fr": "un itinéraire de pistes de ski" } } ] diff --git a/assets/layers/hydrant/hydrant.json b/assets/layers/hydrant/hydrant.json index 7aed6ef4a..7333fa1d6 100644 --- a/assets/layers/hydrant/hydrant.json +++ b/assets/layers/hydrant/hydrant.json @@ -310,7 +310,7 @@ "ja": "消火栓のライフサイクルステータスを更新します。", "fr": "Cette borne incendie est-elle toujours en bon état de fonctionnement ?", "de": "Ist dieser Hydrant noch in Betrieb?", - "it": "Aggiorna lo stato di funzionamento dell’idrante.", + "it": "Questo idrante è ancora in funzione?", "nl": "Werkt deze brandkraan nog?", "es": "¿Todavía funciona esta boca de incendios?", "ca": "Encara funciona aquest hidrant?", @@ -330,7 +330,7 @@ "ru": "Гидрант (полностью или частично) в рабочем состоянии", "fr": "La borne est en état (ou partiellement en état) de fonctionner", "de": "Der Hydrant ist (ganz oder teilweise) in Betrieb", - "it": "L’idrante è (parzialmente o completamente) funzionante.", + "it": "L’idrante è (parzialmente o completamente) funzionante", "nl": "De brandkraan werkt (minstens gedeeltelijk)", "es": "La boca de incendios funciona (total o parcialmente)", "ca": "L'hidrant funciona (total o parcialment)", @@ -349,7 +349,7 @@ "ja": "消火栓は使用できません。", "fr": "La borne est hors-service", "de": "Der Hydrant ist nicht mehr in Betrieb", - "it": "L’idrante è fuori servizio.", + "it": "L’idrante è fuori servizio", "nl": "De brandkraan is niet beschikbaar", "es": "La boca de incendios no está disponible", "ca": "L'hidrant no està disponible", @@ -370,7 +370,7 @@ "ru": "Гидрант демонтирован", "fr": "La borne a été retirée", "de": "Der Hydrant wurde entfernt", - "it": "L’idrante è stato rimosso.", + "it": "L’idrante è stato rimosso", "nl": "Deze brandkraan is verwijderd", "es": "La boca de incendios se ha retirado", "ca": "L'hidrant s'ha retirat", diff --git a/assets/layers/map/map.json b/assets/layers/map/map.json index fb6af5be9..3b025c997 100644 --- a/assets/layers/map/map.json +++ b/assets/layers/map/map.json @@ -140,7 +140,8 @@ "de": "Was für eine Karte ist das?", "pl": "Jaki rodzaj mapy jest pokazany?", "ca": "Quin tipus de mapa es mostra?", - "cs": "Jaký typ mapy je zobrazen?" + "cs": "Jaký typ mapy je zobrazen?", + "fr": "De quel type de carte s'agit-il ?" }, "mappings": [ { @@ -149,7 +150,8 @@ "en": "Topographical map

The map contains contour lines.

", "de": "Topographische Katte

Die Karte enthält Höhenlinien.

", "ca": "Mapa topogràfic

El mapa conté línies de contorn.

", - "cs": "Topografická mapa

Mapa obsahuje vrstevnice.

" + "cs": "Topografická mapa

Mapa obsahuje vrstevnice.

", + "fr": "Plan topographique" } }, { @@ -159,7 +161,8 @@ "de": "Eine Karte mit allen Straßen und Wegen eines Gebietes.

Die Straßen sind meist benannt; die Winkel, die Entfernungen, etc. stimmen

", "pl": "Mapa z wszystkimi ulicami i ścieżkami w danym obszarze.

Ulica w większości mają nazwy; kąty, odległości itp. są poprawne

", "ca": "Un mapa amb tots els carrers o camins d'una àrea.

Els carrers estan majoritàriament nomenats; els angles, distàncies etc. són acurades

", - "cs": "Mapa se všemi ulicemi nebo cestami v oblasti.

Ulice jsou většinou pojmenované, úhly, vzdálenosti atd. jsou přesné

" + "cs": "Mapa se všemi ulicemi nebo cestami v oblasti.

Ulice jsou většinou pojmenované, úhly, vzdálenosti atd. jsou přesné

", + "fr": "Une carte des rues du secteur.

Le nom des rues est généralement indiqué; les angles, distances, etc. sont précis

" } }, { @@ -169,7 +172,8 @@ "de": "Dies ist eine schematische Karte.

Eine skizzierte Karte mit nur wichtigen Wegen und POIs. Die Winkel, Entfernungen usw. sind lediglich illustrativ, nicht genau.

", "pl": "To jest mapa schematyczna.

Mapa-szkic z tylko ważnymi drogami i POI. Kąty, odległości itp. są tylko ilustratywne, niedokładne.

", "ca": "Això és un mapa esquemàtic.

Un mapa esbossat amb només camins importants i PDI. Els angles, els trajectes etc. són merament il·lustratius, no acurat.

", - "cs": "Jedná se o schematickou mapu.

Schematická mapa s vyznačením pouze důležitých cest a bodů zájmu. Úhly, vzdálenosti atd. jsou pouze ilustrativní, nikoliv přesné.

" + "cs": "Jedná se o schematickou mapu.

Schematická mapa s vyznačením pouze důležitých cest a bodů zájmu. Úhly, vzdálenosti atd. jsou pouze ilustrativní, nikoliv přesné.

", + "fr": "Un plan schématique.

Une carte schématique sur laquelle seuls les éléments principaux sont indiqués (rues, POIs). Les angles, distances etc. peuvent être déformés pour rendre le plan plus lisible.

" } }, { @@ -178,7 +182,8 @@ "en": "This is a toposcope.

A marker erected on high places which indicates the direction to notable landscape features which can be seen from that point

", "de": "Dies ist ein Toposkop.

Eine Markierung, die an hohen Stellen angebracht ist und die Richtung zu wichtigen Landschaftsobjekten anzeigt, die von diesem Punkt aus gesehen werden können

", "ca": "Això és un toposcope.

Un marcador erigit en llocs alts que indica la direcció cap als elements paisatgístics notables que es poden veure des d'aquest punt

", - "cs": "Jedná se o toposkop.

Značka vztyčená na vyvýšených místech, která udává směr k pozoruhodným krajinným prvkům, které jsou z tohoto místa vidět

" + "cs": "Jedná se o toposkop.

Značka vztyčená na vyvýšených místech, která udává směr k pozoruhodným krajinným prvkům, které jsou z tohoto místa vidět

", + "fr": "Une table d'orientation.

Un élément érigé sur une hauteur qui indique la direction d'éléments paysagers remarquables visibles depuis ce point

" } } ] @@ -190,7 +195,8 @@ "de": "Was wird von der Fläche abgedeckt?", "pl": "Jaki jest rozmiar obszaru pokazanego na tej mapie?", "ca": "Quina és la mida de l'àrea mostrada en el mapa?", - "cs": "Jak velká je zobrazená oblast na mapě?" + "cs": "Jak velká je zobrazená oblast na mapě?", + "fr": "Quelle est la taille de la zone visible sur la carte ?" }, "mappings": [ { @@ -200,7 +206,8 @@ "de": "Eine Karte der Räume innerhalb eines Gebäudes", "pl": "Plan pomieszczeń w budynku", "ca": "Un mapa de les habitacions dins d'un edifici", - "cs": "Mapa místností uvnitř budovy" + "cs": "Mapa místností uvnitř budovy", + "fr": "Plan d'intérieur de bâtiment, montrant les différentes pièces" } }, { @@ -209,7 +216,8 @@ "en": "A map of special site, like of a historical castle, a park, a campus, a forest, ....", "de": "Örtlichkeit (z.B. Burg)", "ca": "Un mapa d'un lloc especial, com un castell històric, un parc, un campus, un bosc, …", - "cs": "Mapa speciálního místa, například historického zámku, parku, areálu, lesa, ...." + "cs": "Mapa speciálního místa, například historického zámku, parku, areálu, lesa, ....", + "fr": "La carte d'un site particulier, comme un château, un parc, un campus, une forêt, ...." } }, { @@ -219,7 +227,8 @@ "de": "Eine Karte, die das Dorf oder die Stadt anzeigt", "pl": "Mapa pokazująca wieś lub niewielkie miasto", "ca": "Un mapa que mostra el poble o la ciutat", - "cs": "Mapa zobrazující vesnici nebo město" + "cs": "Mapa zobrazující vesnici nebo město", + "fr": "Une carte de village ou de petite ville" } }, { @@ -229,7 +238,8 @@ "de": "Stadt", "pl": " Mapa miasta", "ca": " Un mapa d'una ciutat", - "cs": " Mapa města" + "cs": " Mapa města", + "fr": " Une carte de ville" } }, { @@ -239,7 +249,8 @@ "de": "Region", "pl": "Mapa całego regionu, pokazująca wiele miast i wsi", "ca": "El mapa d'una regió sencera, mostrant múltiples ciutats i pobles", - "cs": "Mapa celého regionu s několika městy a vesnicemi" + "cs": "Mapa celého regionu s několika městy a vesnicemi", + "fr": "La carte d'une région entière, montrant de nombreuses villes et villages" } } ] diff --git a/assets/layers/maproulette/maproulette.json b/assets/layers/maproulette/maproulette.json index 7e5718700..76d952f3b 100644 --- a/assets/layers/maproulette/maproulette.json +++ b/assets/layers/maproulette/maproulette.json @@ -15,7 +15,8 @@ "ca": "Capa que mostra totes les tasques de MapRoulette", "pl": "Warstwa pokazująca wszystkie zadania w MapRoulette", "cs": "Vrstva zobrazující všechny úlohy v MapRoulette", - "es": "Capa mostrando todas las tareas en MapRoulette" + "es": "Capa mostrando todas las tareas en MapRoulette", + "fr": "Couche montrant toutes les tâches dans MapRoulette" }, "source": { "geoJson": "https://maproulette.org/api/v2/tasks/box/{x_min}/{y_min}/{x_max}/{y_max}", @@ -114,7 +115,8 @@ "nl": "Taak werd opgelost", "pl": "Zadanie jest naprawione", "ca": "La tasca està arreglada", - "cs": "Úkol je opraven" + "cs": "Úkol je opraven", + "fr": "La tâche est résolue" } }, { @@ -125,7 +127,8 @@ "nl": "Taak was vals positief", "pl": "Zadanie jest fałszywie pozytywne", "ca": "La tasca és un fals positiu", - "cs": "Úkol je falešně pozitivní" + "cs": "Úkol je falešně pozitivní", + "fr": "Faux positif" } }, { @@ -180,7 +183,8 @@ "nl": "Taak is uitgeschakeld", "pl": "Zadanie jest wyłączone", "ca": "La tasca està deshabilitada", - "cs": "Úloha je zakázána" + "cs": "Úloha je zakázána", + "fr": "La tâche est désactivée" } } ] diff --git a/assets/layers/maproulette_challenge/maproulette_challenge.json b/assets/layers/maproulette_challenge/maproulette_challenge.json index d7b2fabd0..48697676c 100644 --- a/assets/layers/maproulette_challenge/maproulette_challenge.json +++ b/assets/layers/maproulette_challenge/maproulette_challenge.json @@ -144,7 +144,8 @@ "de": "Aufgabe wurde übersprungen", "nl": "Taak is overgeslagen", "ca": "S'ha saltat la tasca", - "cs": "Úkol je přeskočen" + "cs": "Úkol je přeskočen", + "fr": "La tâche est passée" } }, { diff --git a/assets/layers/memorial/memorial.json b/assets/layers/memorial/memorial.json index 766d72d52..866a890e0 100644 --- a/assets/layers/memorial/memorial.json +++ b/assets/layers/memorial/memorial.json @@ -2,7 +2,8 @@ "id": "memorial", "name": { "en": "Memorials", - "de": "Denkmäler" + "de": "Denkmäler", + "fr": "Mémoriaux" }, "description": "Layer showing memorial plaques, based upon a unofficial theme. Can be expanded to have multiple types of memorials later on", "source": { @@ -19,7 +20,8 @@ "en": "Memorial plaque", "ca": "Placa commemorativa", "cs": "Pamětní deska", - "de": "Gedenktafel" + "de": "Gedenktafel", + "fr": "Plaque commémorative" }, "mappings": [ { @@ -28,7 +30,8 @@ "en": "Memorial plaque", "de": "Gedenktafel", "ca": "Placa commemorativa", - "cs": "Pamětní deska" + "cs": "Pamětní deska", + "fr": "Plaque commémorative" } } ] @@ -72,7 +75,8 @@ { "title": { "en": "a memorial", - "de": "ein Denkmal" + "de": "ein Denkmal", + "fr": "un mémorial" }, "tags": [ "historic=memorial" @@ -85,14 +89,16 @@ "id": "memorial-type", "question": { "en": "What type of memorial is this?", - "de": "Was für eine Art von Denkmal ist das?" + "de": "Was für eine Art von Denkmal ist das?", + "fr": "C'est un mémorial de guerre" }, "mappings": [ { "if": "memorial=statue", "then": { "en": "This is a statue", - "de": "Das ist eine Statue" + "de": "Das ist eine Statue", + "fr": "C'est une statue" }, "addExtraTags": [ "tourism=artwork", @@ -103,14 +109,16 @@ "if": "memorial=plaque", "then": { "en": "This is a plaque", - "de": "Dies ist eine Gedenktafel" + "de": "Dies ist eine Gedenktafel", + "fr": "C'est une plaque" } }, { "if": "memorial=bench", "then": { "en": "This is a commemorative bench", - "de": "Dies ist eine Gedenkbank" + "de": "Dies ist eine Gedenkbank", + "fr": "C'est un banc commémoratif" }, "addExtraTags": [ "amenity=bench" @@ -120,7 +128,8 @@ "if": "memorial=ghost_bike", "then": { "en": "This is a ghost bike - a bicycle painted white to remember a cyclist whom deceased because of a car crash", - "de": "Dies ist ein Geisterrad - ein Fahrrad weiß lackiert, um an einen Radfahrer zu erinnern, der wegen eines Autounfalls verstorben ist" + "de": "Dies ist ein Geisterrad - ein Fahrrad weiß lackiert, um an einen Radfahrer zu erinnern, der wegen eines Autounfalls verstorben ist", + "fr": "C'est un vélo fantôme - un vélo blanc peint en mémoire d'un cycliste mort à cet endroit suite à un accident avec une voiture" } }, { @@ -128,35 +137,40 @@ "alsoShowIf": "memorial:type=stolperstein", "then": { "en": "This is a stolperstein (stumbing stone)", - "de": "Dies ist ein Stolperstein" + "de": "Dies ist ein Stolperstein", + "fr": "C'est un stolperstein (pierre d'achoppement)" } }, { "if": "memorial=stele", "then": { "en": "This is a stele", - "de": "Das ist eine Stele" + "de": "Das ist eine Stele", + "fr": "C'est une stèle" } }, { "if": "memorial=stone", "then": { "en": "This is a memorial stone", - "de": "Das ist ein Gedenkstein" + "de": "Das ist ein Gedenkstein", + "fr": "C'est une pierre commémorative" } }, { "if": "memorial=bust", "then": { "en": "This is a bust", - "de": "Das ist eine Büste" + "de": "Das ist eine Büste", + "fr": "C'est un buste" } }, { "if": "memorial=sculpture", "then": { "en": "This is a sculpture", - "de": "Dies ist eine Skulptur" + "de": "Dies ist eine Skulptur", + "fr": "C'est une sculpture" } }, { @@ -164,7 +178,8 @@ "then": { "en": "This is an obelisk", "de": "Das ist ein Obelisk", - "es": "Es un obelisco" + "es": "Es un obelisco", + "fr": "C'est un obélisque" } }, { @@ -172,14 +187,16 @@ "then": { "en": "This is a cross", "de": "Das ist ein Kreuz", - "es": "Es una cruz" + "es": "Es una cruz", + "fr": "C'est une croix" } }, { "if": "memorial=blue_plaque", "then": { "en": "This is a blue plaque", - "de": "Dies ist eine blaue Plaque" + "de": "Dies ist eine blaue Plaque", + "fr": "C'est une plaque bleue (spécifique aux pays anglo-saxons)" }, "onlyShowIf": "_country=gb" }, @@ -187,14 +204,16 @@ "if": "memorial=tank", "then": { "en": "This is a historic tank, permanently placed in public space as memorial", - "de": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde" + "de": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde", + "fr": "C'est un char historique, placé de manière permanente dans l'espace public comme mémorial" } }, { "if": "memorial=tree", "then": { "en": "This is a memorial tree", - "de": "Das ist ein Baumdenkmal" + "de": "Das ist ein Baumdenkmal", + "fr": "C'est un arbre du souvenir" }, "addExtraTags": [ "natural=tree" @@ -203,7 +222,8 @@ ], "render": { "en": "This is a {memorial}", - "de": "Das ist ein {memorial}" + "de": "Das ist ein {memorial}", + "fr": "C'est un {memorial}" }, "freeform": { "key": "memorial" @@ -215,7 +235,8 @@ "en": "What is the inscription of this plaque?", "ca": "Quina és la inscripció d'aquesta placa?", "cs": "Jaký je nápis na této desce?", - "de": "Wie lautet die Inschrift auf dieser Gedenktafel?" + "de": "Wie lautet die Inschrift auf dieser Gedenktafel?", + "fr": "Quelle est l'inscription sur cette plaque ?" }, "#:condition": "Benches have a separate inscription question", "condition": "memorial!=bench", @@ -223,7 +244,8 @@ "en": "The inscription on this plaque reads:

{inscription}

", "ca": "La inscripció d'aquesta placa diu:

{inscription}

", "cs": "Nápis na této desce zní:

{inscription}

", - "de": "Die Inschrift auf dieser Gedenktafel lautet:

{inscription}

" + "de": "Die Inschrift auf dieser Gedenktafel lautet:

{inscription}

", + "fr": "L'inscription sur cette plaque indique:

{inscription}

" }, "freeform": { "key": "inscription", @@ -234,7 +256,8 @@ "if": "not:inscription=yes", "then": { "en": "This memorial does not have an inscription", - "de": "Dieses Denkmal hat keine Inschrift" + "de": "Dieses Denkmal hat keine Inschrift", + "fr": "Il n'y a aucune inscription sur cette plaque" }, "addExtraTags": [ "inscription=" @@ -250,11 +273,13 @@ }, "question": { "en": "What is the Wikipedia page about this memorial?", - "de": "Was ist die Wikipedia-Seite über dieses Denkmal?" + "de": "Was ist die Wikipedia-Seite über dieses Denkmal?", + "fr": "Quelle est la page Wikipedia de ce mémorial ?" }, "questionHint": { "en": "This is a about the memorial itself, not about the person or event that the memorial remembers. If this memorial does not have a Wikipedia page or Wikidata entity, skip this question.", - "de": "Hier geht es um das Denkmal selbst, nicht um die Person oder das Ereignis, an das die Denkmal erinnert. Wenn diese Gedenkstätte keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage." + "de": "Hier geht es um das Denkmal selbst, nicht um die Person oder das Ereignis, an das die Denkmal erinnert. Wenn diese Gedenkstätte keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage.", + "fr": "C'est la page Wikipédia du mémorial et non celle de la personne ou de l'évènement commémoré. Si le mémorial n'a pas de page Wikipédia ou d'entité Wikidata, passez cette question." }, "render": { "special": { @@ -263,7 +288,8 @@ }, "before": { "en": "

Wikipedia page about the memorial

", - "de": "

Wikipedia-Seite über das Denkmal

" + "de": "

Wikipedia-Seite über das Denkmal

", + "fr": "

Page Wikipedia du mémorial

" } } }, @@ -278,11 +304,13 @@ }, "question": { "en": "What is the Wikipedia page about the person or event that is remembered here?", - "de": "Was ist die Wikipedia-Seite über die Person oder Veranstaltung, die hier erinnert wird?" + "de": "Was ist die Wikipedia-Seite über die Person oder Veranstaltung, die hier erinnert wird?", + "fr": "Quelle est la page Wikipedia qui fait référence à cet évènement ou cette personne?" }, "questionHint": { "en": "If the person or event does not have a Wikipedia page or Wikidata entity, skip this question.", - "de": "Wenn die Person oder das Ereignis keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage." + "de": "Wenn die Person oder das Ereignis keine Wikipedia-Seite oder Wikidata-Entität hat, überspringe diese Frage.", + "fr": "Si la personne ou l'évènement n'a pas de page Wikipedia ou d'entité Wikidata, passez cette question." }, "render": { "special": { @@ -291,14 +319,16 @@ }, "before": { "en": "

Wikipedia page about the remembered event or person

", - "de": "

Wikipedia-Seite über das erinnerte Ereignis oder die Person

" + "de": "

Wikipedia-Seite über das erinnerte Ereignis oder die Person

", + "fr": "

Page Wikipedia sur la personne ou l'évènement commémoré

" } } }, { "question": { "en": "When was this memorial installed?", - "de": "Wann wurde dieses Denkmal installiert?" + "de": "Wann wurde dieses Denkmal installiert?", + "fr": "Quand ce mémorial a-t-il été installé ?" }, "render": { "nl": "Geplaatst op {start_date}", diff --git a/assets/layers/mountain_rescue/mountain_rescue.json b/assets/layers/mountain_rescue/mountain_rescue.json index a1f25797d..3461238ee 100644 --- a/assets/layers/mountain_rescue/mountain_rescue.json +++ b/assets/layers/mountain_rescue/mountain_rescue.json @@ -2,11 +2,13 @@ "id": "mountain_rescue", "name": { "en": "Mountain rescue stations", - "de": "Bergrettungsstationen" + "de": "Bergrettungsstationen", + "fr": "Postes de secours en montagne" }, "description": { "en": "A building where first aid responders store material and might be on watch", - "de": "Ein Gebäude, in dem die Ersthelfer Material lagern und möglicherweise Wache halten" + "de": "Ein Gebäude, in dem die Ersthelfer Material lagern und möglicherweise Wache halten", + "fr": "Un bâtiment où les organismes de secours stockent du matériel ou assurent la garde" }, "source": { "osmTags": "emergency=mountain_rescue" @@ -15,7 +17,8 @@ "title": { "render": { "en": "Mountain rescue station", - "de": "Bergrettungsstation" + "de": "Bergrettungsstation", + "fr": "Poste de secours en montagne" } }, "pointRendering": [ @@ -46,7 +49,8 @@ { "title": { "en": "a mountain rescue station", - "de": "eine Bergrettungsstation" + "de": "eine Bergrettungsstation", + "fr": "un poste de secours en montagne" }, "tags": [ "emergency=mountain_rescue" diff --git a/assets/layers/nature_reserve/nature_reserve.json b/assets/layers/nature_reserve/nature_reserve.json index f3d0fd3a3..bac0f6c02 100644 --- a/assets/layers/nature_reserve/nature_reserve.json +++ b/assets/layers/nature_reserve/nature_reserve.json @@ -6,7 +6,8 @@ "de": "Naturschutzgebiete", "es": "Reserva Natural", "ca": "Reserva Natural", - "cs": "Přírodní rezervace" + "cs": "Přírodní rezervace", + "fr": "Réserve naturelle" }, "description": { "en": "A nature reserve is an area where nature can take its course", @@ -88,14 +89,16 @@ "nl": "een natuurreservaat", "de": "ein Schutzgebiet", "ca": "una reserva natural", - "cs": "přírodní rezervace" + "cs": "přírodní rezervace", + "fr": "une réserve naturelle" }, "description": { "en": "Add a missing nature reserve", "nl": "Voeg een ontbrekend, erkend natuurreservaat toe, bv. een gebied dat beheerd wordt door het ANB of natuurpunt", "de": "Ein fehlendes Naturschutzgebiet hinzufügen", "ca": "Afegeix una reserva natural que falta", - "cs": "Přidat chybějící přírodní rezervaci" + "cs": "Přidat chybějící přírodní rezervaci", + "fr": "Ajouter une réserve naturelle manquante" } } ], @@ -114,7 +117,8 @@ "nl": "Is dit gebied toegankelijk?", "de": "Ist das Gebiet öffentlich zugänglich?", "ca": "Aquesta reserva natural és accessible al públic?", - "cs": "Je tato přírodní rezervace přístupná veřejnosti?" + "cs": "Je tato přírodní rezervace přístupná veřejnosti?", + "fr": "Est-ce que cette réserve naturelle est ouverte au public ?" }, "freeform": { "key": "access:description" @@ -132,7 +136,8 @@ "nl": "Vrij toegankelijk", "de": "Das Gebiet ist öffentlich zugänglich", "ca": "Accessible al públic", - "cs": "Veřejně přístupné" + "cs": "Veřejně přístupné", + "fr": "Accessible au grand public" } }, { @@ -148,7 +153,8 @@ "de": "Das Gebiet ist nicht zugänglich", "es": "No accesible", "ca": "No accessible", - "cs": "Nepřístupné" + "cs": "Nepřístupné", + "fr": "Non accessible" } }, { @@ -164,7 +170,8 @@ "de": "Das Gebiet ist privat und nicht zugänglich", "es": "No accesible, ya que es una área privada", "ca": "No accessible perquè es tracta d'una zona privada", - "cs": "Není přístupné, protože se jedná o soukromou oblast" + "cs": "Není přístupné, protože se jedná o soukromou oblast", + "fr": "Non accessible car c'est une zone privée" } }, { @@ -180,7 +187,8 @@ "de": "Das Gebiet ist privat aber zugänglich", "es": "Accesible a pesar de ser una área privada", "ca": "Accessible tot i ser una propietat privada", - "cs": "Přístupné, přestože se jedná o soukromý areál" + "cs": "Přístupné, přestože se jedná o soukromý areál", + "fr": "Accessible bien que ce soit une zone privée" } }, { @@ -196,7 +204,8 @@ "de": "Das Gebiet ist nur während Führungen oder organisierten Aktivitäten zugänglich", "es": "Solo accesible con un guía o durante actividades organizadas", "ca": "Només accessible amb guia o durant les activitats organitzades", - "cs": "Přístupné pouze s průvodcem nebo během organizovaných aktivit" + "cs": "Přístupné pouze s průvodcem nebo během organizovaných aktivit", + "fr": "Seulement accessible avec un guide ou lors d'activités organisées" } }, { @@ -212,7 +221,8 @@ "de": "Das Gebiet ist nur gegen Bezahlung zugänglich", "es": "Accesible con una tasa", "ca": "Accessible amb una taxa", - "cs": "Přístupné za poplatek" + "cs": "Přístupné za poplatek", + "fr": "Payant" } } ], @@ -332,7 +342,8 @@ "de": "Das Gebiet hat keinen Namen", "es": "Esta área no tiene un nombre", "ca": "Aquesta àrea no té un nom", - "cs": "Tato oblast nemá jméno" + "cs": "Tato oblast nemá jméno", + "fr": "Ce lieu n'a pas de nom" } } ], @@ -438,7 +449,7 @@ "nl": "Waar kan men naartoe emailen voor vragen en meldingen van dit natuurgebied?", "en": "What email address can one send to with questions and problems with this nature reserve?", "it": "Qual è l’indirizzo email a cui scrivere per fare domande o segnalare problemi su questa riserva naturale?", - "fr": "À quelle adresse courriel peut-on envoyer des questions et des problèmes concernant cette réserve naturelle ? ", + "fr": "À quelle adresse courriel peut-on envoyer des questions et des problèmes concernant cette réserve naturelle ?", "de": "An welche Email-Adresse kann man sich bei Fragen und Problemen zu diesem Gebiet wenden?", "ca": "A quina adreça de correu electrònic es pot enviar amb preguntes i problemes amb aquest parc natural?", "cs": "Na jakou e-mailovou adresu lze poslat dotazy a problémy týkající se této přírodní rezervace?" @@ -465,8 +476,8 @@ "question": { "nl": "Waar kan men naartoe bellen voor vragen en meldingen van dit natuurgebied?", "en": "What phone number can one call to with questions and problems with this nature reserve?", - "it": "Quale numero di telefono comporre per fare domande o segnalare problemi riguardanti questa riserva naturale?br/>", - "fr": "Quel numéro de téléphone peut-on appeler pour poser des questions et résoudre des problèmes concernant cette réserve naturelle ? ", + "it": "Quale numero di telefono comporre per fare domande o segnalare problemi riguardanti questa riserva naturale?", + "fr": "Quel numéro de téléphone peut-on appeler pour poser des questions et résoudre des problèmes concernant cette réserve naturelle ?", "de": "Welche Telefonnummer kann man bei Fragen und Problemen zu diesem Gebiet anrufen?", "ca": "A quin número de telèfon es pot trucar amb preguntes i problemes amb aquest parc natural?", "cs": "Na jaké telefonní číslo lze volat v případě dotazů a problémů s touto přírodní rezervací?" @@ -510,7 +521,8 @@ "de": "Gibt es zusätzliche Informationen?", "es": "¿Hay alguna información adicional?", "ca": "Hi ha alguna informació addicional?", - "cs": "Jsou k dispozici nějaké další informace?" + "cs": "Jsou k dispozici nějaké další informace?", + "fr": "Y-a-t-il des informations complémentaires?" }, "render": { "en": "Extra info: {description:0}", @@ -518,7 +530,8 @@ "de": "Zusätzliche Informationen: {description:0}", "es": "Información adicional: {description:0}", "ca": "Informació adicional: {description:0}", - "cs": "Další informace: {description:0}" + "cs": "Další informace: {description:0}", + "fr": "Information complémentaire: {description:0}" }, "freeform": { "key": "description:0" @@ -566,7 +579,8 @@ "nl": "Alle natuurgebieden", "de": "Alle Naturschutzgebiete", "ca": "Totes les reserves naturals", - "cs": "Všechny přírodní rezervace" + "cs": "Všechny přírodní rezervace", + "fr": "Toutes les réserves naturelles" } }, { @@ -575,7 +589,8 @@ "nl": "Honden mogen vrij rondlopen", "de": "Hunde dürfen frei herumlaufen", "ca": "Els gossos poden anar lliurement", - "cs": "Psi se mohou volně pohybovat" + "cs": "Psi se mohou volně pohybovat", + "fr": "Les chiens sont autorisés sans laisse" }, "osmTags": "dog=yes" }, @@ -585,7 +600,8 @@ "nl": "Honden welkom aan de leiband", "de": "Hunde nur erlaubt, wenn sie angeleint sind", "ca": "S'admeten gossos si van lligats", - "cs": "Psi jsou povoleni, pokud jsou na vodítku" + "cs": "Psi jsou povoleni, pokud jsou na vodítku", + "fr": "Les chiens sont autorisés tenus en laisse" }, "osmTags": { "or": [ diff --git a/assets/layers/postboxes/postboxes.json b/assets/layers/postboxes/postboxes.json index 82f2f9cae..dcbdfff0f 100644 --- a/assets/layers/postboxes/postboxes.json +++ b/assets/layers/postboxes/postboxes.json @@ -25,7 +25,8 @@ "fr": "Le calque montrant les boîtes à lettres.", "ca": "La capa que mostra bústies de correus.", "cs": "Vrstva zobrazující poštovní schránky.", - "pl": "Warstwa pokazująca skrzynki pocztowe." + "pl": "Warstwa pokazująca skrzynki pocztowe.", + "it": "Questo livello mostra le buche delle lettere." }, "source": { "osmTags": "amenity=post_box" diff --git a/assets/layers/public_bookcase/public_bookcase.json b/assets/layers/public_bookcase/public_bookcase.json index 72025489a..2e37abef5 100644 --- a/assets/layers/public_bookcase/public_bookcase.json +++ b/assets/layers/public_bookcase/public_bookcase.json @@ -434,7 +434,7 @@ "nl": "Dit boekenruilkastje maakt geen deel uit van een netwerk", "de": "Der Bücherschrank gehört zu keinem Netzwerk", "fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe", - "it": "Questa microbiblioteca non fa parte di una rete", + "it": "Questa biblioteca pubblica non fa parte di una rete", "hu": "Ez a nyilvános könyvespolc nem része egy nagyobb hálózatnak", "ca": "Aquesta prestatgeria pública no és part d'una xarxa més gran", "cs": "Tato veřejná knihobudka není součástí větší sítě" @@ -474,7 +474,7 @@ "nl": "Dit boekenruilkastje maakt geen deel uit van een netwerk", "de": "Dieser Bücherschrank ist nicht Teil eines größeren Netzwerks", "fr": "Cette microbibliothèque ne fait pas partie d'un réseau/groupe", - "it": "Questa microbiblioteca non fa parte di una rete", + "it": "Questa biblioteca non fa parte di una rete", "hu": "Ez a könyvespolc nem része egy nagyobb hálózatnak", "ca": "Aquesta prestatgeria no forma part d'una xarxa més gran", "cs": "Tato knihobudka není součástí větší sítě" diff --git a/assets/layers/school/school.json b/assets/layers/school/school.json index 07ef243ce..e6f249ff3 100644 --- a/assets/layers/school/school.json +++ b/assets/layers/school/school.json @@ -28,7 +28,7 @@ "en": "School {name}", "nl": "School {name}", "de": "Schule {name}", - "fr": "School {name}", + "fr": "École {name}", "pl": "Szkoła {name}", "ca": "Escola {name}", "cs": "Škola {name}" diff --git a/assets/layers/surveillance_camera/surveillance_camera.json b/assets/layers/surveillance_camera/surveillance_camera.json index a4536e938..0b2c61716 100644 --- a/assets/layers/surveillance_camera/surveillance_camera.json +++ b/assets/layers/surveillance_camera/surveillance_camera.json @@ -445,7 +445,7 @@ "en": "A public area is surveilled, such as a street, a bridge, a square, a park, a train station, a public corridor or tunnel, …", "nl": "Bewaking van de publieke ruimte, dus een straat, een brug, een park, een plein, een stationsgebouw, een publiek toegankelijke gang of tunnel…", "fr": "Une zone publique est surveillée, telle qu'une rue, un pont, une place, un parc, une gare, un couloir, un tunnel public…", - "it": "Sorveglia un'area pubblica, come una strada, un ponte, una piazza, un parco, una stazione, un passaggio o un sottopasso pubblico, ...", + "it": "Sorveglia un'area pubblica, come una strada, un ponte, una piazza, un parco, una stazione, un passaggio o un sottopasso pubblico, …", "de": "Die Kamera überwacht einen öffentlichen Bereich, z. B. Straßen, Brücken, Plätze, Parks, Bahnhöfe, öffentliche Gänge oder Tunnel, …", "da": "Et offentligt område overvåges, f.eks. en gade, en bro, et torv, en park, en togstation, en offentlig korridor eller en tunnel, …", "ca": "Es vigila una àrea pública, com un carrer, un pont, una plaça, un parc, una estació de tren, un túnel públic, …", @@ -483,7 +483,7 @@ "nl": "Een private binnenruimte wordt bewaakt, bv. een winkel, een parkeergarage, …", "en": "A private indoor area is surveilled, e.g. a shop, a private underground parking, …", "fr": "Une zone intérieure privée est surveillée, par exemple un magasin, un parking souterrain privé…", - "it": "Sorveglia un ambiente interno di proprietà privata, per esempio un negozio, un parcheggio sotterraneo privato, ...", + "it": "Sorveglia un ambiente interno di proprietà privata, per esempio un negozio, un parcheggio sotterraneo privato, …", "de": "Die Kamera überwacht einen privaten Innenbereich, z. B. Geschäfte, private Tiefgaragen, …", "da": "Et privat indendørs område overvåges, f.eks. en butik, en privat parkeringskælder, …", "ca": "Es vigila una àrea interior privada, p.e. una botiga, un parking subterrani privat, …", @@ -620,7 +620,7 @@ "en": "Surveills a {surveillance:zone}", "nl": "Bewaakt een {surveillance:zone}", "fr": "Surveille un(e) {surveillance:zone}", - "it": " Sorveglia una {surveillance:zone}", + "it": "Sorveglia una {surveillance:zone}", "de": "Überwacht ein/e {surveillance:zone}", "da": "Overvåger en {surveillance:zone}", "ca": "Vigila un/a {surveillance:zone}", diff --git a/assets/layers/toilet/toilet.json b/assets/layers/toilet/toilet.json index 61be28c0d..78dfc0cb5 100644 --- a/assets/layers/toilet/toilet.json +++ b/assets/layers/toilet/toilet.json @@ -394,7 +394,7 @@ "de": "Können Rollstuhlfahrer die Toilette benutzen?", "fr": "Y a-t-il des toilettes réservées aux personnes en fauteuil roulant ?", "nl": "Is er een rolstoeltoegankelijke toilet voorzien?", - "it": "C'è un WC riservato alle persone in sedia a rotelle", + "it": "C'è un WC riservato alle persone in sedia a rotelle?", "da": "Er der et særligt toilet til kørestolsbrugere?", "ca": "Hi ha un lavabo específic per a usuaris amb cadira de rodes?", "cs": "Je zde vyhrazená toaleta pro vozíčkáře?" @@ -763,9 +763,9 @@ "then": { "en": "A changing table is in the toilet for women", "de": "Ein Wickeltisch ist in der Damentoilette vorhanden", - "fr": "La table à langer est dans les toilettes pour femmes. ", + "fr": "La table à langer est dans les toilettes pour femmes.", "nl": "Er bevindt zich een luiertafel in de vrouwentoiletten ", - "it": "Il fasciatoio è nei servizi igienici femminili. ", + "it": "Un fasciatoio è nei servizi igienici femminili", "da": "Puslebordet er på toilettet til kvinder. ", "ca": "El canviador està al lavabo per a dones. ", "cs": "Přebalovací pult je na dámské toaletě. " @@ -776,9 +776,9 @@ "then": { "en": "A changing table is in the toilet for men", "de": "Ein Wickeltisch ist in der Herrentoilette vorhanden", - "fr": "La table à langer est dans les toilettes pour hommes. ", + "fr": "La table à langer est dans les toilettes pour hommes.", "nl": "Er bevindt zich een luiertafel in de herentoiletten ", - "it": "Il fasciatoio è nei servizi igienici maschili. ", + "it": "Un fasciatoio è nei servizi igienici maschili", "ca": "El canviador està al lavabo per a homes. ", "cs": "Přebalovací pult je na pánské toaletě. " }, @@ -789,9 +789,9 @@ "then": { "en": "A changing table is in the toilet for wheelchair users", "de": "Ein Wickeltisch ist in der barrierefreien Toilette vorhanden", - "fr": "La table à langer est dans les toilettes pour personnes à mobilité réduite. ", + "fr": "La table à langer est dans les toilettes pour personnes à mobilité réduite.", "nl": "Er bevindt zich een luiertafel in de rolstoeltoegankelijke toilet ", - "it": "Il fasciatoio è nei servizi igienici per persone in sedia a rotelle. ", + "it": "Un fasciatoio è nei servizi igienici per persone in sedia a rotelle", "da": "Puslebordet er på toilettet for kørestolsbrugere. ", "ca": "El canviador està al lavabo per a usuaris de cadira de rodes. ", "cs": "Přebalovací pult je na toaletě pro vozíčkáře. " @@ -802,9 +802,9 @@ "then": { "en": "A changing table is in a dedicated room", "de": "Ein Wickeltisch befindet sich in einem eigenen Raum", - "fr": "La table à langer est dans un espace dédié. ", + "fr": "La table à langer est dans un espace dédié.", "nl": "Er bevindt zich een luiertafel in een daartoe voorziene kamer ", - "it": "Il fasciatoio è in una stanza dedicata. ", + "it": "Un fasciatoio è in una stanza dedicata", "es": "El cambiador está en una habitación dedicada", "da": "Vuggestuen står i et særligt rum. ", "ca": "El canviador està en una habitació dedicada. ", diff --git a/assets/layers/toilet_at_amenity/toilet_at_amenity.json b/assets/layers/toilet_at_amenity/toilet_at_amenity.json index 0e750587f..9ea998538 100644 --- a/assets/layers/toilet_at_amenity/toilet_at_amenity.json +++ b/assets/layers/toilet_at_amenity/toilet_at_amenity.json @@ -337,7 +337,7 @@ "de": "Können Rollstuhlfahrer die Toilette benutzen?", "fr": "Y a-t-il des toilettes réservées aux personnes en fauteuil roulant ?", "nl": "Is er een rolstoeltoegankelijke toilet voorzien?", - "it": "C'è un WC riservato alle persone in sedia a rotelle", + "it": "C'è un WC riservato alle persone in sedia a rotelle?", "da": "Er der et særligt toilet til kørestolsbrugere?", "ca": "Hi ha un lavabo específic per a usuaris amb cadira de rodes?", "cs": "Existuje vyhrazená toaleta pro vozíčkáře?", diff --git a/assets/layers/tree_node/tree_node.json b/assets/layers/tree_node/tree_node.json index b752b9e88..da9f4fe11 100644 --- a/assets/layers/tree_node/tree_node.json +++ b/assets/layers/tree_node/tree_node.json @@ -274,7 +274,7 @@ "question": { "en": "What is the circumference of the tree trunk?", "de": "Wie groß ist der Umfang des Baumstammes?", - "fr": "Quelle est la circonférence du tronc ? ", + "fr": "Quelle est la circonférence du tronc ?", "nl": "Wat is de omtrek van de boomstam? ", "es": "¿Cuál es la circunferencia del tronco del árbol?", "pt": "Qual é a circunferência do tronco da árvore?", diff --git a/assets/layers/unit/unit.json b/assets/layers/unit/unit.json index bd26fe9b5..03659bc66 100644 --- a/assets/layers/unit/unit.json +++ b/assets/layers/unit/unit.json @@ -342,13 +342,15 @@ "en": "{quantity} minutes", "nl": "{quantity} minuten", "ca": "{quantity} minuts", - "de": "{quantity} Minuten" + "de": "{quantity} Minuten", + "fr": "{quantity} minutes" }, "humanSingular": { "en": "one minute", "nl": "één minuut", "ca": "un minut", - "de": "eine Minute" + "de": "eine Minute", + "fr": "une minute" } }, { @@ -367,13 +369,15 @@ "en": "{quantity} hours", "nl": "{quantity} uren", "ca": "{quantity} hores", - "de": "{quantity} Stunden" + "de": "{quantity} Stunden", + "fr": "{quantity} heures" }, "humanSingular": { "en": "one hour", "nl": "één uur", "ca": "una hora", - "de": "eine Stunde" + "de": "eine Stunde", + "fr": "une heure" } }, { @@ -389,12 +393,14 @@ "en": "{quantity} days", "nl": "{quantity} day", "ca": "{quantity} dies", - "de": "{quantity} Tage" + "de": "{quantity} Tage", + "fr": "{quantity} jours" }, "humanSingular": { "en": "one day", "nl": "één dag", - "de": "ein Tag" + "de": "ein Tag", + "fr": "un jour" } }, { @@ -403,11 +409,15 @@ "canonicalDenominationSingular": "week", "humanSingular": { "en": "one week", - "nl": "één week" + "nl": "één week", + "de": "ein Woche", + "fr": "une semaine" }, "human": { "en": "{quantity} weeks", - "nl": "{quantity} weken" + "nl": "{quantity} weken", + "de": "{quantity} Wochen", + "fr": "{quantity} semaines" } }, { @@ -416,11 +426,15 @@ "canonicalDenominationSingular": "month", "humanSingular": { "en": "one month", - "nl": "één maand" + "nl": "één maand", + "de": "ein Monat", + "fr": "un mois" }, "human": { "en": "{quantity} months", - "nl": "{quantity} maanden" + "nl": "{quantity} maanden", + "de": "{quantity} Monate", + "fr": "{quantity} mois" } }, { @@ -429,11 +443,15 @@ "canonicalDenominationSingular": "year", "humanSingular": { "en": "one year", - "nl": "één jaar" + "nl": "één jaar", + "de": "ein Jahr", + "fr": "un an" }, "human": { "en": "{quantity} years", - "nl": "{quantity} jaar" + "nl": "{quantity} jaar", + "de": "{quantity} Jahre", + "fr": "{quantity} années" } } ] diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index 35629f2fa..c17c51ada 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -178,7 +178,8 @@ "ca": "Quina capa de fons s'ha de mostrar per defecte?", "de": "Welche Hintergrundebene soll als Standard verwendet werden?", "cs": "Jaká vrstva pozadí by se měla zobrazovat ve výchozím nastavení?", - "nl": "Welke achtergrondlaag moet altijd gebruikt worden?" + "nl": "Welke achtergrondlaag moet altijd gebruikt worden?", + "fr": "Quel fond souhaitez-vous utiliser par défaut ?" }, "condition": "_theme:backgroundLayer=", "mappings": [ @@ -190,7 +191,8 @@ "ca": "Utilitzeu la capa de fons predeterminada", "de": "Standardhintergrund verwenden", "cs": "Použití výchozí vrstvu pozadí", - "nl": "Gebruik de standaard achtergrondlaag" + "nl": "Gebruik de standaard achtergrondlaag", + "fr": "Utiliser le fond par défaut" } }, { @@ -200,7 +202,8 @@ "ca": "Utilitzeu OpenStreetMap-carto com a capa predeterminada", "de": "OpenStreetMap-carto als Standardhintergrund verwenden", "cs": "Použít OpenStreetMap-carto jako výchozí vrstvu", - "nl": "Gebruik OpenStreetMap-carto altijd als achtergrondlaag" + "nl": "Gebruik OpenStreetMap-carto altijd als achtergrondlaag", + "fr": "Utiliser le fond OpenStreetMap-carto par défaut" } }, { @@ -210,7 +213,8 @@ "ca": "Utilitzeu imatges aèries com a fons predeterminat", "de": "Satellitenbilder als Standardhintergrund verwenden", "cs": "Použít letecké snímky jako výchozí pozadí", - "nl": "Gebruik luchtfoto's als standaard achtergrondlaag" + "nl": "Gebruik luchtfoto's als standaard achtergrondlaag", + "fr": "Utiliser le fond imagerie aérienne par défaut" } }, { @@ -220,7 +224,8 @@ "ca": "Utilitzeu un mapa que no sigui openstreetmap com a fons predeterminat", "de": "Eine eigene Karte als Standardhintergrund verwenden", "cs": "Použití mapy, která není založena na mapě openstreetmap, jako výchozího pozadí", - "nl": "Gebruik altijd een kaart di niet op OpenStreetMap gebaseerd is als achtergrond" + "nl": "Gebruik altijd een kaart di niet op OpenStreetMap gebaseerd is als achtergrond", + "fr": "Utiliser un fond non basé sur OpenStreetMap par défaut" } }, { @@ -230,7 +235,8 @@ "ca": "Utilitzeu la capa de fons actual ({__current_background}) com a fons predeterminat", "de": "Aktuelle Hintergrundebene ({__current_background}) als Standardhintergrund verwenden", "cs": "Použít aktuální vrstvu pozadí ({__current_background}) jako výchozí pozadí", - "nl": "Gebruik altijd {__current_background} als achtergrondlaag. Dit is de huidige achtergrond." + "nl": "Gebruik altijd {__current_background} als achtergrondlaag. Dit is de huidige achtergrond.", + "fr": "Utiliser le fond actuel ({__current_background}) par défaut" }, "hideInAnswer": { "or": [ @@ -247,7 +253,8 @@ "ca": "Utilitza la capa de fons {mapcomplete-preferred-background-layer} com a fons predeterminat", "de": "Hintergrundebene {mapcomplete-preferred-background-layer} als Standardhintergrund verwenden", "cs": "Použít vrstvu pozadí {mapcomplete-preferred-background-layer} jako výchozí pozadí", - "nl": "Gebruik {mapcomplete-preferred-background-layer} altijd als achtergrondlaag" + "nl": "Gebruik {mapcomplete-preferred-background-layer} altijd als achtergrondlaag", + "fr": "Utiliser le fond ({__current_background})par défaut" }, "hideInAnswer": true } @@ -288,7 +295,8 @@ "ca": "Les imatges que feu tindran llicència CC0 i s'afegiran al domini públic. Això vol dir que tothom pot utilitzar les vostres imatges per a qualsevol propòsit.", "es": "Las fotografías que tome tendrán una licencia con CC0 y se agregarán al dominio público. Esto significa que todos pueden usar sus imágenes para cualquier propósito.", "pt": "As fotos que você tirar serão licenciadas com CC0 e adicionadas ao domínio público. Isso significa que todos podem usar suas fotos para qualquer finalidade.", - "da": "Billeder, som du har taget, vil blive udgivet under CC0-licensen og lagt ud i fælleseje. Det betyder, at alle kan bruge dine billeder til ethvert formål." + "da": "Billeder, som du har taget, vil blive udgivet under CC0-licensen og lagt ud i fælleseje. Det betyder, at alle kan bruge dine billeder til ethvert formål.", + "fr": "Les photos que vous avez ajoutées seront sous licence CC0 et mises dans le domaine public. Cela signifie que n'importe qui pourra les utiliser, quel qu'en soit l'usage." } }, { @@ -331,7 +339,8 @@ "de": "Tags sind die Eigenschaften, die jedes Objekt hat. Das sind die technischen Daten, die in der Datenbank gespeichert werden. Du brauchst diese Informationen nicht, um mit MapComplete Änderungen zu machen, aber fortgeschrittenen Nutzer*innen kann es als Referenz dienen.", "ca": "Les etiquetes són atributs que té cada element. Aquestes són les dades tècniques que s'emmagatzemen a la base de dades. No necessiteu aquesta informació per editar amb MapComplete, però és possible que els usuaris avançats la vulguin fer servir com a referència.", "cs": "Tagy jsou atributy, které má každý element. Jedná se o technické údaje, které jsou uloženy v databázi. K úpravám pomocí MapComplete tyto informace nepotřebujete, ale pokročilí uživatelé by je mohli chtít použít jako referenci.", - "nl": "Data-attributen zijn stukjes data die elk element in OpenStreetMap heeft. Dit is technische data die in de databank komt. Je hoeft deze informatie niet te kennen om aanpassingen te maken met MapComplete, maar geavanceerde gebruikers kunnen dit als referentie gebruiken." + "nl": "Data-attributen zijn stukjes data die elk element in OpenStreetMap heeft. Dit is technische data die in de databank komt. Je hoeft deze informatie niet te kennen om aanpassingen te maken met MapComplete, maar geavanceerde gebruikers kunnen dit als referentie gebruiken.", + "fr": "LesTags ou étiquettes sont des attributs rattachés à chaque élément. C'est une donnée technique qui est stockée dans une base de données. Vous n'avez pas besoin de connaître ces étiquettes pour utiliser MapComplete, mais certains utilisateurs préfèrent les afficher." }, "mappings": [ { @@ -341,7 +350,8 @@ "de": "Tags nie anzeigen.", "ca": "No mostris mai les etiquetes.", "cs": "Nikdy nezobrazovat tagy.", - "nl": "Verberg data-attributen" + "nl": "Verberg data-attributen", + "fr": "Ne jamais voir les étiquettes." } }, { @@ -351,7 +361,8 @@ "de": "Tags anzeigen sobald ich {__userjourney_tagsVisibleAt} Changesets erstellt habe", "ca": "Mostra les etiquetes que s'aplicaran un cop hagi fet {__userjourney_tagsVisibleAt} conjunts de canvis", "cs": "Zobrazit tagy, které budou použity, jakmile provedu {__userjourney_tagsVisibleAt} sady změn", - "nl": "Toon data-attributen bij wijzigingen indien je meer dan {__userjourney_tagsVisibleAt} changesets hebt gemaakt" + "nl": "Toon data-attributen bij wijzigingen indien je meer dan {__userjourney_tagsVisibleAt} changesets hebt gemaakt", + "fr": "Voir les étiquettes au bout de {__userjourney_tagsVisibleAt} modifications" } }, { @@ -361,7 +372,8 @@ "de": "Tags anzeigen, die bei der Änderung hinzugefügt werden", "ca": "Mostra les etiquetes que s'aplicaran en fer un canvi", "cs": "Zobrazení tagů, které budou použity při provádění změny", - "nl": "Toon de data-attributen die toegepast zullen worden bij wijzigingen" + "nl": "Toon de data-attributen die toegepast zullen worden bij wijzigingen", + "fr": "Voir les étiquettes quand je fais une modification" } }, { @@ -371,7 +383,8 @@ "de": "Tags anzeigen, die bei der Änderung hinzugefügt werden, und Tag-Tabelle bei jedem Objekt anzeigen", "ca": "Mostra les etiquetes que s'aplicaran a l'hora de fer un canvi i mostra la taula d'etiquetes a cada element", "cs": "Zobrazení tagů, které se použijí při provádění změny, a zobrazení tabulky tagů u každé funkce", - "nl": "Toon de data-attributen die toegepast zullen worden bij wijzigingen en toon een tabel met alle data-attributen bij elk object." + "nl": "Toon de data-attributen die toegepast zullen worden bij wijzigingen en toon een tabel met alle data-attributen bij elk object.", + "fr": "Voir les étiquettes quand je fais une modification et toujours voir les étiquettes pour chaque élément" } } ] diff --git a/assets/layers/waste_basket/waste_basket.json b/assets/layers/waste_basket/waste_basket.json index 2c572b62e..3d1daf3a4 100644 --- a/assets/layers/waste_basket/waste_basket.json +++ b/assets/layers/waste_basket/waste_basket.json @@ -18,7 +18,7 @@ "nl": "Dit is een publieke vuilnisbak waar je je afval kan weggooien.", "de": "Dies ist ein öffentlicher Abfalleimer, in den Sie Ihren Müll entsorgen können.", "hu": "Ez egy nyilvános szemétkosár vagy kuka, ahová kidobhatod a szemetedet.", - "it": "Questo è un cestino dei rifiuti pubblico, un bidone della spazzatura, dove puoi buttare via la tua spazzatura", + "it": "Questo è un cestino, un bidone dei rifiuti pubblico, dove puoi buttare via la tua spazzatura.", "es": "Esta es una papelera pública, donde puedes tirar tu basura.", "da": "Dette er en offentlig affaldskurv, en skraldespand, hvor du kan smide dit affald.", "fr": "C'est une poubelle dans laquelle vous pouvez jeter vos mégots.", diff --git a/assets/themes/advertising/advertising.json b/assets/themes/advertising/advertising.json index d08e574fb..9e6518dc5 100644 --- a/assets/themes/advertising/advertising.json +++ b/assets/themes/advertising/advertising.json @@ -10,7 +10,8 @@ "nl": "Reclame", "zh_Hant": "廣告物件", "eu": "Publizitatea", - "pl": "Reklamy" + "pl": "Reklamy", + "it": "Pubblicità" }, "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", @@ -24,7 +25,8 @@ "zh_Hant": "你曾經好奇路上有多少廣告物件?有了這份地圖,你可以找到所有路上能夠看到的廣告物件", "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" + "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" }, "shortDescription": { "ca": "On puc trobar elements publicitaris?", diff --git a/assets/themes/atm/atm.json b/assets/themes/atm/atm.json index d9058ed37..65d3a7735 100644 --- a/assets/themes/atm/atm.json +++ b/assets/themes/atm/atm.json @@ -28,7 +28,7 @@ "id": "Peta ini menunjukkan ATM untuk menarik atau menyetorkan uang", "zh_Hant": "這份地圖顯示領錢與存錢的 ATM", "eu": "Mapa honek dirua atera edo sartzeko kutxazain automatikoak erakusten ditu", - "it": "Questa mappa mostra gli sportelli bancomat per ritirare o depositare del denaro", + "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" }, "icon": "./assets/themes/atm/logo.svg", diff --git a/assets/themes/benches/benches.json b/assets/themes/benches/benches.json index d1ea28881..e25e5851b 100644 --- a/assets/themes/benches/benches.json +++ b/assets/themes/benches/benches.json @@ -28,7 +28,7 @@ "de": "Diese Karte zeigt alle Sitzbänke, die in OpenStreetMap eingetragen sind: Alleinstehende Bänke und Bänke, die zu Haltestellen oder Unterständen gehören.", "fr": "Cette carte affiche les bancs cartographiés dans OpenStreetMap, entre autres : bancs des transports en commun, bancs publics, etc.", "nl": "Deze kaart toont alle zitbanken die zijn opgenomen in OpenStreetMap: individuele banken en banken bij bushaltes.", - "it": "Questa mappa mostra tutte le panchine che sono state aggiunte su OpenStreetMap: panchine individuali e quelle alle fermate del trasporto pubblico o nei ripari. Se disponi di un account OpenStreetMap puoi mappare delle nuove panchine o modificare i dettagli di quelle esistenti.", + "it": "Questa mappa mostra tutte le panchine che sono state aggiunte su OpenStreetMap: panchine individuali e quelle alle fermate del trasporto pubblico o sotto le pensiline.", "ru": "На этой карте показаны все скамейки, записанные в OpenStreetMap: отдельные скамейки, а также скамейки, относящиеся к остановкам общественного транспорта или навесам. Имея учётную запись OpenStreetMap, вы можете наносить на карту новые скамейки или редактировать информацию о существующих скамейках.", "ja": "このマップには、OpenStreetMapに記録されているすべてのベンチが表示されます。個々のベンチ、および公共交通機関の停留所または避難場所に属するベンチです。OpenStreetMapアカウントを使用すると、新しいベンチをマップしたり、既存のベンチの詳細を編集したりできます。", "zh_Hant": "這份地圖顯示開放街圖上所有記錄的長椅:單獨的長椅,屬於大眾運輸站點或涼亭的長椅。", diff --git a/assets/themes/bicycle_parkings/bicycle_parkings.json b/assets/themes/bicycle_parkings/bicycle_parkings.json index c4ed407e8..c78fb7203 100644 --- a/assets/themes/bicycle_parkings/bicycle_parkings.json +++ b/assets/themes/bicycle_parkings/bicycle_parkings.json @@ -2,7 +2,9 @@ "id": "bicycle_parkings", "title": { "en": "Bicycle parkings", - "de": "Fahrradabstellplätze" + "de": "Fahrradabstellplätze", + "ca": "Aparcament de bicicletes", + "fr": "Stationnement vélo" }, "description": { "en": "A map showing all types of bicycle parkings", diff --git a/assets/themes/bicycle_rental/bicycle_rental.json b/assets/themes/bicycle_rental/bicycle_rental.json index 2d07e6932..bd14568e1 100644 --- a/assets/themes/bicycle_rental/bicycle_rental.json +++ b/assets/themes/bicycle_rental/bicycle_rental.json @@ -27,7 +27,7 @@ "ca": "En aquest mapa, trobaràs nombroses estacions de lloguer de bicicletes que són conegudes per OpenStreetMap", "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", + "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" }, "shortDescription": { diff --git a/assets/themes/cycle_highways/cycle_highways.json b/assets/themes/cycle_highways/cycle_highways.json index f7997a176..57ee62470 100644 --- a/assets/themes/cycle_highways/cycle_highways.json +++ b/assets/themes/cycle_highways/cycle_highways.json @@ -119,7 +119,8 @@ "da": "cykelmotorveje", "pa_PK": "سائیکل‌وے", "cs": "cyklodálnice", - "pl": "ścieżki rowerowe" + "pl": "ścieżki rowerowe", + "it": "strade per biciclette" }, "source": { "osmTags": "cycle_network=BE-VLG:cycle_highway" @@ -137,7 +138,8 @@ "da": "cykelmotorvej", "pa_PK": "سائیکل‌وے", "cs": "cyklodálnice", - "pl": "ścieżka rowerowa" + "pl": "ścieżka rowerowa", + "it": "strada per bicilette" } }, "filter": [ diff --git a/assets/themes/disaster_response/disaster_response.json b/assets/themes/disaster_response/disaster_response.json index 0869c1578..1fb0ac472 100644 --- a/assets/themes/disaster_response/disaster_response.json +++ b/assets/themes/disaster_response/disaster_response.json @@ -4,7 +4,8 @@ "en": "Disaster response", "it": "Risposta ai disastri", "de": "Katastrophenschutz", - "es": "Respuesta ante desastres" + "es": "Respuesta ante desastres", + "ca": "Resposta davant de desastres" }, "description": { "en": "This map contains elements meant for disaster preparedness and response.", diff --git a/assets/themes/etymology/etymology.json b/assets/themes/etymology/etymology.json index 12f6504f7..ade8a1325 100644 --- a/assets/themes/etymology/etymology.json +++ b/assets/themes/etymology/etymology.json @@ -4,7 +4,7 @@ "en": "Etymology - what is a place named after?", "nl": "Etymologie - waarnaar is een straat vernoemd?", "de": "Etymologie - Wonach ist ein Ort benannt?", - "it": "Apri Carta Etimologica", + "it": "Etimologia - da cosa prende nome un luogo?", "ru": "Открытая этимологическая карта", "zh_Hant": "開放詞源地圖", "hu": "Etimológiai térkép", @@ -193,7 +193,7 @@ "override": { "id": "toursistic_places_without_etymology", "=name": { - "en": "Toursistic places without etymology information", + "en": "Touristic places without etymology information", "de": "Touristische Einrichtungen ohne Namensherkunft", "fr": "Lieux touristiques sans origine étymologique", "es": "Lugares turísticos sin información etimológica", diff --git a/assets/themes/ghostbikes/ghostbikes.json b/assets/themes/ghostbikes/ghostbikes.json index 2b886a9a7..c97680130 100644 --- a/assets/themes/ghostbikes/ghostbikes.json +++ b/assets/themes/ghostbikes/ghostbikes.json @@ -30,7 +30,7 @@ "ja": "ゴーストバイクは、交通事故で死亡したサイクリストを記念するもので、事故現場の近くに恒久的に置かれた白い自転車の形をしています。

このマップには、OpenStreetMapで知られているゴーストバイクがすべて表示されます。ゴーストバイクは行方不明ですか?誰でもここで情報の追加や更新ができます。必要なのは(無料の)OpenStreetMapアカウントだけです。", "zh_Hant": "幽靈單車是用來紀念死於交通事故的單車騎士,在事發地點附近放置白色單車。

在這份地圖上面,你可以看到所有在開放街圖已知的幽靈單車。有缺漏的幽靈單車嗎?所有人都可以在這邊新增或是更新資訊-只有你有(免費)開放街圖帳號。", "fr": "Les vélos fantômes sont des mémoriaux pour les cyclistes tuées sur la route, prenant la forme de vélos blancs placés à proximité des faits.

Cette carte indique leur emplacement à partir d’OpenStreetMap. Il est possible de contribuer aux informations ici, sous réserve d’avoir un compte OpenStreetMap (gratuit).

Il existe un compte automatisé Mastodon qui publie un aperçu mensuel des vélos fantômes à travers le monde

", - "it": "Una bici fantasma è 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 dell’incidente.

In questa cartina, è 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).", + "it": "Una bici fantasma è 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 dell’incidente.

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).

Esiste un account automatizzato su Mastodon da aggiornamenti mensili sulle bici fantasma del mondo

", "hu": "A szellemkerékpár egy közlekedési balesetben elhunyt kerékpáros emlékműve: egy fehér kerékpár, amelyet állandó jelleggel a baleset helyszínének közelében helyeznek el.

A térképen az OpenStreetMap által ismert összes szellemkerékpár megtekinthető. Hiányzik róla egy szellemkerékpár? Bárki hozzáadhat vagy frissíthet adatokat – csak egy (ingyenes) OpenStreetMap-fiókra van szükség hozzá.", "da": "En spøgelsescykel er et mindesmærke for en cyklist, der døde i en trafikulykke, i form af en hvid cykel placeret permanent i nærheden af ulykkesstedet.

På dette kort er en kan se alle de spøgelsescykler, som er kendt af OpenStreetMap. Mangler der en spøgelsescykel? Alle kan tilføje eller opdatere oplysninger her - du behøver kun at have en (gratis) OpenStreetMap-konto.", "cs": "Kolo duchů je památník pro cyklisty, kteří zemřeli při dopravní nehodě, ve formě bílého kola trvale umístěného poblíž místa nehody.

Na této mapě je možné vidět všechna kola duchů, která jsou známa OpenStreetMap. Chybí na mapě nějaké? Každý může přidat nebo aktualizovat informace zde - stačí mít pouze (bezplatný) účet OpenStreetMap.

Na Mastodonu existuje automatizovaný účet, který posílá měsíční přehled kol duchů po celém světě

", diff --git a/assets/themes/hailhydrant/hailhydrant.json b/assets/themes/hailhydrant/hailhydrant.json index 697015a6b..3e212ab73 100644 --- a/assets/themes/hailhydrant/hailhydrant.json +++ b/assets/themes/hailhydrant/hailhydrant.json @@ -6,7 +6,7 @@ "zh_Hant": "消防栓、滅火器、消防隊、以及急救站。", "ru": "Пожарные гидранты, огнетушители, пожарные станции и станции скорой помощи.", "fr": "Bornes incendies, extincteurs, casernes de pompiers et ambulanciers", - "it": "Idranti, estintori, caserme dei vigili del fuoco e stazioni delle ambulanze.", + "it": "Idranti, estintori, caserme dei vigili del fuoco e stazioni delle ambulanze", "nb_NO": "Hydranter, brannslukkere, brannstasjoner, og ambulansestasjoner.", "de": "Hydranten, Feuerlöscher, Feuerwachen und Rettungswachen", "hu": "Tűzcsapok, tűzoltó készülékek, tűzoltóságok és mentőállomások.", @@ -23,7 +23,7 @@ "zh_Hant": "在這份地圖上面你可以在你喜愛的社區尋找與更新消防栓、消防隊、急救站與滅火器。\n\n你可以追蹤確切位置 (只有行動版) 以及在左下角選擇與你相關的圖層。你也可以使用這工具新增或編輯地圖上的釘子 (興趣點),以及透過回答一些問題提供額外的資訊。\n\n所有你做出的變動都會自動存到開放街圖這個全球資料庫,而且能自由讓其他人取用。", "fr": "Sur cette carte on trouve et met à jour les bornes incendies, extincteurs, casernes de pompiers et ambulanciers dans son quartier.", "de": "Auf dieser Karte können Sie Hydranten, Feuerwachen, Krankenwagen und Feuerlöscher in Ihren bevorzugten Stadtvierteln finden und aktualisieren.", - "it": "In questa cartina puoi vedere e aggiornare idranti, stazioni dei pompieri, stazioni delle ambulanze ed estintori del tuo quartiere preferito.\n\nPuoi seguire la tua posizione precisa (solo su cellulare) e selezionare i livelli che ti interessano nell’angolo in basso a sinistra. Puoi anche usare questo strumento per aggiungere o modificare i PDI sulla mappa e fornire ulteriori dettagli rispondendo alle domande.\n\nTutte le modifiche che farai verranno automaticamente salvate nel database globale di OpenStreetMap e potranno essere riutilizzate liberamente da tutti.", + "it": "In questa cartina puoi vedere e aggiornare idranti, stazioni dei pompieri, stazioni delle ambulanze ed estintori del tuo quartiere preferito.", "hu": "Ezen a térképen tűzcsapokat, tűzoltóállomásokat, mentőállomásokat és tűzoltóállomásokat találhat és szerkeszthet kedvenc városrészeiben (vagy másutt).\n\nA bal alsó sarokban nyomon követheti pontos tartózkodási helyét (csak mobilon), és kiválaszthatja az Ön számára releváns rétegeket. Ezzel az eszközzel gombostűket (érdekes pontokat, POI-kat) is szerkeszthet vagy felrajzolhat a térképre, a rendelkezésre álló kérdések megválaszolásával pedig további részleteket adhat meg.\n\nAz Ön által elvégzett módosítások automatikusan elmentődnek az OpenStreetMap globális adatbázisában, és mások szabadon újra felhasználhatják azokat.", "ru": "На этой карте вы можете найти и обновить местоположение пожарных гидрантов, пожарных станций, станций скорой помощи и огнетушителей в ваших избранных районах населенного пункта.\n\nВы можете записать своё точное месторасположение (только на мобильных устройствах) и выбрать интересующие слои данных в левом нижнем углу. Вы также можете использовать этот инструмент для добавления или изменения точек интереса на карте и дополнять данные, отвечая на вопросы.\n\nВсе сделанные вами изменения автоматически сохраняются в базе данных OpenStreetMap и могут быть свободно переработаны другими пользователями.", "es": "En este mapa puedes encontrar y actualizar hidrantes contra incendios, estaciones de bomberos, estaciones de ambulancias y extintores en tus vecindarios favoritos.", diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index 9e119e077..2ebfce4ba 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -1,13 +1,16 @@ { "id": "mapcomplete-changes", "title": { - "en": "Changes made with MapComplete" + "en": "Changes made with MapComplete", + "de": "Änderungen mit MapComplete" }, "shortDescription": { - "en": "Shows changes made by MapComplete" + "en": "Shows changes made by MapComplete", + "de": "Änderungen von MapComplete anzeigen" }, "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" }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, @@ -18,7 +21,8 @@ { "id": "mapcomplete-changes", "name": { - "en": "Changeset centers" + "en": "Changeset centers", + "de": "Zentrum der Änderungssätze" }, "minzoom": 0, "source": { @@ -28,41 +32,48 @@ }, "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": "Alle MapComplete-Änderungen anzeigen" }, "tagRenderings": [ { "id": "show_changeset_id", "render": { - "en": "Changeset {id}" + "en": "Changeset {id}", + "de": "Änderungssatz {id}" } }, { "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 {user}" + "en": "Change made by {user}", + "de": "Änderung vorgenommen von {user}" } }, { "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 die Änderung verwendet?" }, "freeform": { "key": "theme" }, "render": { - "en": "Change with theme {theme}" + "en": "Change with theme {theme}", + "de": "Geändert mit Thema {theme}" } }, { @@ -71,19 +82,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 Benutzersprache wurde die Änderung vorgenommen?" }, "render": { - "en": "User locale is {locale}" + "en": "User locale is {locale}", + "de": "Benutzersprache {locale}" } }, { "id": "host", "render": { - "en": "Change with with {host}" + "en": "Change with with {host}", + "de": "Änderung über {host}" }, "question": { - "en": "What host (website) was this change made with?" + "en": "What host (website) was this change made with?", + "de": "Über welchen Host (Webseite) wurde diese Änderung vorgenommen?" }, "freeform": { "key": "host" @@ -104,10 +119,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": "Mit welcher MapComplete Version wurde die Änderung vorgenommen?" }, "render": { - "en": "Made with {editor}" + "en": "Made with {editor}", + "de": "Erstellt mit {editor}" }, "freeform": { "key": "editor" @@ -489,7 +506,8 @@ } ], "question": { - "en": "Themename contains {search}" + "en": "Themename contains {search}", + "de": "Themenname enthält {search}" } } ] @@ -505,7 +523,8 @@ } ], "question": { - "en": "Themename does not contain {search}" + "en": "Themename does not contain {search}", + "de": "Themename enthält not {search}" } } ] @@ -521,7 +540,8 @@ } ], "question": { - "en": "Made by contributor {search}" + "en": "Made by contributor {search}", + "de": "Erstellt vom Mitwirkenden {search}" } } ] @@ -537,7 +557,8 @@ } ], "question": { - "en": "Not made by contributor {search}" + "en": "Not made by contributor {search}", + "de": "Nicht erstellt von Mitwirkendem {search}" } } ] @@ -554,7 +575,8 @@ } ], "question": { - "en": "Made before {search}" + "en": "Made before {search}", + "de": "Erstellt vor {search}" } } ] @@ -571,7 +593,8 @@ } ], "question": { - "en": "Made after {search}" + "en": "Made after {search}", + "de": "Erstellt nach {search}" } } ] @@ -587,7 +610,8 @@ } ], "question": { - "en": "User language (iso-code) {search}" + "en": "User language (iso-code) {search}", + "de": "Benutzersprache (ISO-Code) {search}" } } ] @@ -603,7 +627,8 @@ } ], "question": { - "en": "Made with host {search}" + "en": "Made with host {search}", + "de": "Erstellt mit Host {search}" } } ] @@ -614,7 +639,8 @@ { "osmTags": "add-image>0", "question": { - "en": "Changeset added at least one image" + "en": "Changeset added at least one image", + "de": "Änderungssatz hat mindestens ein Bild hinzugefügt" } } ] @@ -625,7 +651,8 @@ { "osmTags": "theme!=grb", "question": { - "en": "Exclude GRB theme" + "en": "Exclude GRB theme", + "de": "GRB-Thema ausschließen" } } ] @@ -636,7 +663,8 @@ { "osmTags": "theme!=etymology", "question": { - "en": "Exclude etymology theme" + "en": "Exclude etymology theme", + "de": "Etymologie-Thema ausschließen" } } ] @@ -651,7 +679,8 @@ { "id": "link_to_more", "render": { - "en": "More statistics can be found here" + "en": "More statistics can be found here", + "de": "Weitere Statistiken gibt es hier" } }, { diff --git a/assets/themes/memorials/memorials.json b/assets/themes/memorials/memorials.json index 713d11feb..0cb1a616a 100644 --- a/assets/themes/memorials/memorials.json +++ b/assets/themes/memorials/memorials.json @@ -2,11 +2,13 @@ "id": "memorials", "title": { "en": "Memorials", - "de": "Denkmäler" + "de": "Denkmäler", + "fr": "Mémoriaux" }, "description": { "en": "Memorials are physical objects permantently placed in the public space to remember a person or event. They can be a wide range of objects, such as statues, plaques, paintings, military objects (such as tanks), ...", - "de": "Denkmäler sind physische Objekte, die dauerhaft im öffentlichen Raum aufgestellt werden, um an eine Person oder ein Ereignis zu erinnern. Dabei kann es sich um eine Vielzahl von Objekten handeln, z. B. Statuen, Tafeln, Gemälde, militärische Objekte (wie Panzer), ..." + "de": "Denkmäler sind physische Objekte, die dauerhaft im öffentlichen Raum aufgestellt werden, um an eine Person oder ein Ereignis zu erinnern. Dabei kann es sich um eine Vielzahl von Objekten handeln, z. B. Statuen, Tafeln, Gemälde, militärische Objekte (wie Panzer), ...", + "fr": "Un mémorial est un objet physiquement installé sur l'espace public en souvenir d'une personne ou d'un évènement. Cela peut être toute sorte d'objets, comme une statue, une plaque, une peinture, un objet militaire (comme un tank), ..." }, "icon": "./assets/layers/memorial/memorial.svg", "layers": [ diff --git a/assets/themes/postboxes/postboxes.json b/assets/themes/postboxes/postboxes.json index 3e81b4c5a..1137340b5 100644 --- a/assets/themes/postboxes/postboxes.json +++ b/assets/themes/postboxes/postboxes.json @@ -17,7 +17,7 @@ }, "description": { "en": "On this map you can find and add data of post offices and post boxes. You can use this map to find where you can mail your next postcard! :)
Spotted an error or is a post box missing? You can edit this map with a free OpenStreetMap account.", - "it": "In questa cartina puoi veder e modificare gli uffici postali e le buche delle lettere. Puoi usare questa cartina per trovare dove imbucare la tua prossima cartolina! :)
Hai trovato un errore o una buca delle lettere mancante? Puoi modificare questa cartina con un account gratuito su OpenStreetMap.", + "it": "In questa mappa puoi veder e modificare gli uffici postali e le buche delle lettere. Puoi usare questa mappa per scoprire dove imbucare la tua prossima cartolina! :)
Hai trovato un errore o una buca delle lettere mancante? Puoi modificare questa cartina con un account gratuito su OpenStreetMap.", "zh_Hant": "在這份地圖你能找到與新增有關郵局與郵筒的資料,你可以用這份地圖找到寄送您下張明信片的地方!:)
發現錯誤或是有郵筒遺漏嗎?你可以用免費的開放街圖帳號來編輯。 ", "hu": "Ezen a térképen postahivatalok és postaládák adatait találod és egészítheted ki. Utánanézhetsz, hogy hol adhatod fel a következő képeslapodat! :)
Hibát találtál, vagy hiányzik egy postaláda? Ezt a térképet mindössze egy ingyenes OpenStreetMap-fiókkal szerkesztheted. ", "de": "Auf dieser Karte können Sie Daten von Poststellen und Briefkästen finden und ergänzen. Sie können diese Karte nutzen, um herauszufinden, wo Sie Ihre nächste Postkarte versenden können :)
Haben Sie einen Fehler entdeckt oder fehlt ein Briefkasten? Sie können die Kartenddaten mit einem kostenlosen OpenStreetMap-Konto bearbeiten.", diff --git a/langs/layers/ca.json b/langs/layers/ca.json index 881dcb8a4..a650871c5 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -35,23 +35,6 @@ "1": { "title": "un mupi" }, - "10": { - "description": "Una peça de tèxtil impermeable amb un missatge imprès, fixada permanentment a una paret", - "title": "una lona" - }, - "11": { - "title": "un tòtem" - }, - "12": { - "description": "S'utilitza per a cartells publicitaris, rètols de neó, logotips i cartells en entrades institucionals", - "title": "un lletrer" - }, - "13": { - "title": "una escupltura" - }, - "14": { - "title": "una paret pintada" - }, "2": { "title": "un mupi sobre la paret" }, @@ -71,6 +54,23 @@ }, "8": { "title": "una patalla sobre una paret" + }, + "10": { + "description": "Una peça de tèxtil impermeable amb un missatge imprès, fixada permanentment a una paret", + "title": "una lona" + }, + "11": { + "title": "un tòtem" + }, + "12": { + "description": "S'utilitza per a cartells publicitaris, rètols de neó, logotips i cartells en entrades institucionals", + "title": "un lletrer" + }, + "13": { + "title": "una escupltura" + }, + "14": { + "title": "una paret pintada" } }, "tagRenderings": { @@ -165,9 +165,6 @@ "1": { "then": "Açò és un tauló d'anuncis" }, - "10": { - "then": "Açò és una paret pintada" - }, "2": { "then": "Açò és una columna" }, @@ -191,6 +188,9 @@ }, "9": { "then": "Açò és un tòtem" + }, + "10": { + "then": "Açò és una paret pintada" } }, "question": "Quin tipus d'element publicitari és aquest?", @@ -205,9 +205,6 @@ "1": { "then": "Tauló d'anuncis" }, - "10": { - "then": "Paret Pintada" - }, "2": { "then": "Mupi" }, @@ -231,6 +228,9 @@ }, "9": { "then": "Tòtem" + }, + "10": { + "then": "Paret Pintada" } } } @@ -347,15 +347,6 @@ "1": { "then": "Mural" }, - "10": { - "then": "Azulejo (Rajoles decoratives espanyoles i portugueses)" - }, - "11": { - "then": "Enrajolat" - }, - "12": { - "then": "Tallat a la fusta" - }, "2": { "then": "Pintura" }, @@ -379,6 +370,15 @@ }, "9": { "then": "Relleu" + }, + "10": { + "then": "Azulejo (Rajoles decoratives espanyoles i portugueses)" + }, + "11": { + "then": "Enrajolat" + }, + "12": { + "then": "Tallat a la fusta" } }, "question": "Quin tipus d'obra és aquesta peça?", @@ -1945,30 +1945,6 @@ "1": { "then": "Endoll de paret Schuko sense pin a terra (CEE7/4 tipus F)" }, - "10": { - "then": "CSS Tipus 1 (també conegut com a Tipus 1 Combo)" - }, - "11": { - "then": "CSS Tipus 1 (també conegut com a Tipus 1 Combo)" - }, - "12": { - "then": "Supercarregador de Tesla" - }, - "13": { - "then": "Supercarregador de Tesla" - }, - "14": { - "then": "Tipus 2 (mennekes)" - }, - "15": { - "then": "Tipus 2 (mennekes)" - }, - "16": { - "then": "CSS Tipus 2 (mennekes)" - }, - "17": { - "then": "CSS Tipus 2 (mennekes)" - }, "2": { "then": "Endoll de paret Europeu amb pin a terra (CEE7/4 tipus E)" }, @@ -1992,6 +1968,30 @@ }, "9": { "then": "Tipus 1 sense cable(J1772)" + }, + "10": { + "then": "CSS Tipus 1 (també conegut com a Tipus 1 Combo)" + }, + "11": { + "then": "CSS Tipus 1 (també conegut com a Tipus 1 Combo)" + }, + "12": { + "then": "Supercarregador de Tesla" + }, + "13": { + "then": "Supercarregador de Tesla" + }, + "14": { + "then": "Tipus 2 (mennekes)" + }, + "15": { + "then": "Tipus 2 (mennekes)" + }, + "16": { + "then": "CSS Tipus 2 (mennekes)" + }, + "17": { + "then": "CSS Tipus 2 (mennekes)" } } }, @@ -2661,9 +2661,6 @@ "1": { "then": "Aquesta via ciclista està pavimentada" }, - "10": { - "then": "Aquesta via ciclista està feta de grava fina" - }, "2": { "then": "Aquesta via ciclista està feta d'asfalt" }, @@ -2687,6 +2684,9 @@ }, "9": { "then": "Aquesta via ciclista està feta de grava" + }, + "10": { + "then": "Aquesta via ciclista està feta de grava fina" } }, "question": "De quina superfície està fet aquesta via ciclista?", @@ -2732,9 +2732,6 @@ "1": { "then": "Aquest carril bici està pavimentat" }, - "10": { - "then": "Aquesta via ciclista està feta de gravilla" - }, "2": { "then": "Aquest carril bici està fet d'asfalt" }, @@ -2746,6 +2743,9 @@ }, "9": { "then": "Aquesta via ciclista està feta de grava" + }, + "10": { + "then": "Aquesta via ciclista està feta de gravilla" } }, "question": "De què està feta la superfície d'aquest carrer?", @@ -3764,21 +3764,6 @@ "1": { "then": "Aquesta estació de fitness té un cartell amb instruccions per a un exercici concret." }, - "10": { - "then": "Aquesta estació de gimnàs té esglaons." - }, - "11": { - "then": "Aquesta estació de fitness disposa de cons per fer salts de granota." - }, - "12": { - "then": "Aquesta estació de fitness té bigues per saltar." - }, - "13": { - "then": "Aquesta estació de fitness té obstacles per a travesar." - }, - "14": { - "then": "Aquesta estació de fitness té una paret per enfilar-se." - }, "2": { "then": "Aquesta estació de fitness té una instal·lació per fer abdominals." }, @@ -3802,6 +3787,21 @@ }, "9": { "then": "Aquesta estació de fitness té llocs per fer exercicis d'eslàlom." + }, + "10": { + "then": "Aquesta estació de gimnàs té esglaons." + }, + "11": { + "then": "Aquesta estació de fitness disposa de cons per fer salts de granota." + }, + "12": { + "then": "Aquesta estació de fitness té bigues per saltar." + }, + "13": { + "then": "Aquesta estació de fitness té obstacles per a travesar." + }, + "14": { + "then": "Aquesta estació de fitness té una paret per enfilar-se." } } } @@ -3920,21 +3920,6 @@ "1": { "then": "Això és una fregiduria" }, - "10": { - "then": "Aquí es serveixen plats xinesos" - }, - "11": { - "then": "Aquí es serveixen plats grecs" - }, - "12": { - "then": "Aquí es serveixen plats indis" - }, - "13": { - "then": "Aquí es serveixen plats turcs" - }, - "14": { - "then": "Aquí es serveixen plats tailandesos" - }, "2": { "then": "Principalment serveix pasta" }, @@ -3958,6 +3943,21 @@ }, "9": { "then": "Aquí es serveixen plats francesos" + }, + "10": { + "then": "Aquí es serveixen plats xinesos" + }, + "11": { + "then": "Aquí es serveixen plats grecs" + }, + "12": { + "then": "Aquí es serveixen plats indis" + }, + "13": { + "then": "Aquí es serveixen plats turcs" + }, + "14": { + "then": "Aquí es serveixen plats tailandesos" } }, "question": "Quin tipus de menjar es serveix aquí?", @@ -4510,24 +4510,9 @@ "1": { "then": "Açò és un auditori" }, - "10": { - "then": "Açò és un laboratori" - }, - "14": { - "then": "Açò és una oficina" - }, - "16": { - "then": "Açò és un restaurant" - }, - "19": { - "then": "Açò és un magatzem" - }, "2": { "then": "Açò és un dormitori" }, - "22": { - "then": "Açò és una sala d'espera" - }, "3": { "then": "Açò és una capella" }, @@ -4545,6 +4530,21 @@ }, "9": { "then": "Açò és una cuina" + }, + "10": { + "then": "Açò és un laboratori" + }, + "14": { + "then": "Açò és una oficina" + }, + "16": { + "then": "Açò és un restaurant" + }, + "19": { + "then": "Açò és un magatzem" + }, + "22": { + "then": "Açò és una sala d'espera" } }, "question": "Quin tipus d'habitació és aquesta?" @@ -5154,19 +5154,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Totes les notes" - }, - "1": { - "question": "Oculta les notes d'importació" - }, - "2": { - "question": "Mostrar només les notes d'importació" - } - } - }, "2": { "options": { "0": { @@ -5222,6 +5209,19 @@ "question": "Sols mostra les notes obertes" } } + }, + "10": { + "options": { + "0": { + "question": "Totes les notes" + }, + "1": { + "question": "Oculta les notes d'importació" + }, + "2": { + "question": "Mostrar només les notes d'importació" + } + } } }, "name": "Notes d'OpenStreetMap", @@ -5521,12 +5521,6 @@ "1": { "then": "Aquesta és una plaça d'aparcament normal." }, - "10": { - "then": "Es tracta d'una plaça d'aparcament reservada al personal." - }, - "11": { - "then": "Aquest espai d'aparcament està reservat per a taxi." - }, "2": { "then": "Aquesta és una plaça d'aparcament per a minusvàlids." }, @@ -5544,6 +5538,12 @@ }, "9": { "then": "Es tracta d'una plaça d'aparcament reservada per a pares amb fills." + }, + "10": { + "then": "Es tracta d'una plaça d'aparcament reservada al personal." + }, + "11": { + "then": "Aquest espai d'aparcament està reservat per a taxi." } }, "question": "Quin tipus d'espai d'aparcament és aquest?" @@ -6118,21 +6118,6 @@ "1": { "then": "S'accepten monedes de 2 cèntims" }, - "10": { - "then": "S'accepten monedes de 20 cèntims" - }, - "11": { - "then": "S'accepten monedes de ½ franc" - }, - "12": { - "then": "S'accepten monedes d'1 franc" - }, - "13": { - "then": "S'accepten monedes de 2 francs" - }, - "14": { - "then": "S'accepten monedes de 5 francs" - }, "2": { "then": "S'accepten monedes de 5 cèntims" }, @@ -6156,6 +6141,21 @@ }, "9": { "then": "S'accepten monedes de 10 cèntims" + }, + "10": { + "then": "S'accepten monedes de 20 cèntims" + }, + "11": { + "then": "S'accepten monedes de ½ franc" + }, + "12": { + "then": "S'accepten monedes d'1 franc" + }, + "13": { + "then": "S'accepten monedes de 2 francs" + }, + "14": { + "then": "S'accepten monedes de 5 francs" } }, "question": "Quines monedes es poden utilitzar per a pagar aquí?" @@ -6168,15 +6168,6 @@ "1": { "then": "S'accepten bitllets de 10 euros" }, - "10": { - "then": "S'accepten bitllets de 100 francs" - }, - "11": { - "then": "S'accepten bitllets de 200 francs" - }, - "12": { - "then": "S'accepten bitllets de 1000 francs" - }, "2": { "then": "S'accepten bitllets de 20 euros" }, @@ -6200,6 +6191,15 @@ }, "9": { "then": "S'accepten bitllets de 50 francs" + }, + "10": { + "then": "S'accepten bitllets de 100 francs" + }, + "11": { + "then": "S'accepten bitllets de 200 francs" + }, + "12": { + "then": "S'accepten bitllets de 1000 francs" } }, "question": "Amb quins bitllets pot pagar aquí?" @@ -6554,6 +6554,30 @@ "1": { "question": "Reciclatge de piles" }, + "2": { + "question": "Reciclatge de cartrons de begudes" + }, + "3": { + "question": "Reciclatge de llaunes" + }, + "4": { + "question": "Reciclatge de roba" + }, + "5": { + "question": "Reciclatge d'oli de cuina" + }, + "6": { + "question": "Reciclatge d'oli de motor" + }, + "7": { + "question": "Reciclatge de tubs fluorescents" + }, + "8": { + "question": "Reciclatge de residus verds" + }, + "9": { + "question": "Reciclatge d'ampolles de vidre" + }, "10": { "question": "Reciclatge de vidre" }, @@ -6584,35 +6608,11 @@ "19": { "question": "Reciclatge del rebuig" }, - "2": { - "question": "Reciclatge de cartrons de begudes" - }, "20": { "question": "Reciclatge de cartutxos d'impressora" }, "21": { "question": "Reciclatge de bicicletes" - }, - "3": { - "question": "Reciclatge de llaunes" - }, - "4": { - "question": "Reciclatge de roba" - }, - "5": { - "question": "Reciclatge d'oli de cuina" - }, - "6": { - "question": "Reciclatge d'oli de motor" - }, - "7": { - "question": "Reciclatge de tubs fluorescents" - }, - "8": { - "question": "Reciclatge de residus verds" - }, - "9": { - "question": "Reciclatge d'ampolles de vidre" } } }, @@ -6680,6 +6680,30 @@ "1": { "then": "Aquí es poden reciclar els cartons de begudes" }, + "2": { + "then": "Aquí es poden reciclar llaunes" + }, + "3": { + "then": "Aquí es pot reciclar roba" + }, + "4": { + "then": "Aquí es pot reciclar oli de cuina" + }, + "5": { + "then": "Aquí es pot reciclar oli de motor" + }, + "6": { + "then": "Aquí es poden reciclar tub fluroescents" + }, + "7": { + "then": "Aquí es poden reciclar residus verds" + }, + "8": { + "then": "Ací es poden reciclar residus orgànics" + }, + "9": { + "then": "Aquí es poden reciclar ampolles de vidre" + }, "10": { "then": "Aquí es pot reciclar vidre" }, @@ -6710,9 +6734,6 @@ "19": { "then": "Aquí es poden reciclar sabates" }, - "2": { - "then": "Aquí es poden reciclar llaunes" - }, "20": { "then": "Aquí es poden reciclar petits electrodomèstics" }, @@ -6727,27 +6748,6 @@ }, "24": { "then": "Aquí es poden reciclar bicicletes" - }, - "3": { - "then": "Aquí es pot reciclar roba" - }, - "4": { - "then": "Aquí es pot reciclar oli de cuina" - }, - "5": { - "then": "Aquí es pot reciclar oli de motor" - }, - "6": { - "then": "Aquí es poden reciclar tub fluroescents" - }, - "7": { - "then": "Aquí es poden reciclar residus verds" - }, - "8": { - "then": "Ací es poden reciclar residus orgànics" - }, - "9": { - "then": "Aquí es poden reciclar ampolles de vidre" } }, "question": "Què es pot reciclar aquí?" @@ -7508,12 +7508,6 @@ "1": { "then": "Aquest fanal utilitza LED" }, - "10": { - "then": "Aquest fanal utilitza làmpades de sodi d'alta pressió (taronja amb blanc)" - }, - "11": { - "then": "Aquest fanal s'il·lumina amb gas" - }, "2": { "then": "Aquest fanal utilitza il·luminació incandescent" }, @@ -7537,6 +7531,12 @@ }, "9": { "then": "Aquest fanal utilitza làmpades de sodi de baixa pressió (taronja monocroma)" + }, + "10": { + "then": "Aquest fanal utilitza làmpades de sodi d'alta pressió (taronja amb blanc)" + }, + "11": { + "then": "Aquest fanal s'il·lumina amb gas" } }, "question": "Quin tipus d'il·luminació utilitza aquest fanal?" @@ -8751,6 +8751,30 @@ "1": { "question": "Venda de begudes" }, + "2": { + "question": "Venda de llaminadures" + }, + "3": { + "question": "Venda de menjar" + }, + "4": { + "question": "Venda de tabaco" + }, + "5": { + "question": "Venda de preservatius" + }, + "6": { + "question": "Venda de cafè" + }, + "7": { + "question": "Venda d'aigua" + }, + "8": { + "question": "Venda de diaris" + }, + "9": { + "question": "Venda de càmeres interiors de bicicletes" + }, "10": { "question": "Venda de llet" }, @@ -8781,9 +8805,6 @@ "19": { "question": "Venda de flors" }, - "2": { - "question": "Venda de llaminadures" - }, "20": { "question": "Venda de tiquets d'aparcament" }, @@ -8807,27 +8828,6 @@ }, "27": { "question": "Venda de cadenat per a bicicletes" - }, - "3": { - "question": "Venda de menjar" - }, - "4": { - "question": "Venda de tabaco" - }, - "5": { - "question": "Venda de preservatius" - }, - "6": { - "question": "Venda de cafè" - }, - "7": { - "question": "Venda d'aigua" - }, - "8": { - "question": "Venda de diaris" - }, - "9": { - "question": "Venda de càmeres interiors de bicicletes" } } } @@ -8874,6 +8874,30 @@ "1": { "then": "Es venen llaminadures" }, + "2": { + "then": "Es ven menjar" + }, + "3": { + "then": "Es ven tabaco" + }, + "4": { + "then": "Es venen preservatius" + }, + "5": { + "then": "Es ven cafè" + }, + "6": { + "then": "Es ven aigua" + }, + "7": { + "then": "Es venen diaris" + }, + "8": { + "then": "Es venen càmeres interiors de bicicletes" + }, + "9": { + "then": "Es ven llet" + }, "10": { "then": "Es ven pa" }, @@ -8904,9 +8928,6 @@ "19": { "then": "Es venen tiquets d'aparcament" }, - "2": { - "then": "Es ven menjar" - }, "20": { "then": "Es venen cèntims premsats" }, @@ -8927,27 +8948,6 @@ }, "26": { "then": "Es venen cadenats per a bicicletes" - }, - "3": { - "then": "Es ven tabaco" - }, - "4": { - "then": "Es venen preservatius" - }, - "5": { - "then": "Es ven cafè" - }, - "6": { - "then": "Es ven aigua" - }, - "7": { - "then": "Es venen diaris" - }, - "8": { - "then": "Es venen càmeres interiors de bicicletes" - }, - "9": { - "then": "Es ven llet" } }, "question": "Que ven aquesta màquina expenedora?", @@ -9239,4 +9239,4 @@ "render": "Turbina eòlica" } } -} +} \ No newline at end of file diff --git a/langs/layers/cs.json b/langs/layers/cs.json index 305d4a0ad..4ec8e3268 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -9498,4 +9498,4 @@ "render": "větrná turbína" } } -} +} \ No newline at end of file diff --git a/langs/layers/da.json b/langs/layers/da.json index d71c798ba..b02ab560f 100644 --- a/langs/layers/da.json +++ b/langs/layers/da.json @@ -2713,4 +2713,4 @@ "render": "vindmølle" } } -} +} \ No newline at end of file diff --git a/langs/layers/de.json b/langs/layers/de.json index 69ede696e..ad012f2bc 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -35,23 +35,6 @@ "1": { "title": "eine freistehende Posterbox" }, - "10": { - "description": "Ein wasserfestes Textil mit einer aufgedruckten Botschaft, das dauerhaft an einer Wand verankert ist", - "title": "eine Plane" - }, - "11": { - "title": "ein Totem" - }, - "12": { - "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", - "title": "ein Schild" - }, - "13": { - "title": "eine Skulptur" - }, - "14": { - "title": "eine Wandmalerei" - }, "2": { "title": "eine wandmontierte Posterbox" }, @@ -77,6 +60,23 @@ }, "9": { "title": "ein Bildschirm, der an einem Wartehäuschen angebracht ist" + }, + "10": { + "description": "Ein wasserfestes Textil mit einer aufgedruckten Botschaft, das dauerhaft an einer Wand verankert ist", + "title": "eine Plane" + }, + "11": { + "title": "ein Totem" + }, + "12": { + "description": "Verwendet für Werbeschilder, Leuchtreklamen, Logos und institutionelle Eingangsschilder", + "title": "ein Schild" + }, + "13": { + "title": "eine Skulptur" + }, + "14": { + "title": "eine Wandmalerei" } }, "tagRenderings": { @@ -171,9 +171,6 @@ "1": { "then": "Dies ist ein Brett" }, - "10": { - "then": "Dies ist eine Wandmalerei" - }, "2": { "then": "Dies ist eine Litfaßsäule" }, @@ -197,6 +194,9 @@ }, "9": { "then": "Dies ist ein Totem" + }, + "10": { + "then": "Dies ist eine Wandmalerei" } }, "question": "Welche Art von Werbung ist das?", @@ -211,9 +211,6 @@ "1": { "then": "Brett" }, - "10": { - "then": "Wandmalerei" - }, "2": { "then": "Posterbox" }, @@ -237,6 +234,9 @@ }, "9": { "then": "Totem" + }, + "10": { + "then": "Wandmalerei" } } } @@ -283,9 +283,6 @@ "1": { "then": "Es handelt sich um eine Seilbahn, bei der die Kabinen in ständigen Kreisen fahren" }, - "10": { - "then": "Eine Seilrutsche. (Eine Touristenattraktion, bei der abenteuerlustige Menschen mit hoher Geschwindigkeit hinunterfahren) " - }, "2": { "then": "Ein offener Sessellift mit Sitzgelegenheiten und Zugang zur Außenluft." }, @@ -309,6 +306,9 @@ }, "9": { "then": "Ein magic carpet (ein Förderband auf dem Boden)" + }, + "10": { + "then": "Eine Seilrutsche. (Eine Touristenattraktion, bei der abenteuerlustige Menschen mit hoher Geschwindigkeit hinunterfahren) " } }, "question": "Um welchen Seilbahntyp handelt es sich?" @@ -432,15 +432,6 @@ "1": { "then": "Wandbild" }, - "10": { - "then": "Azulejo (spanische dekorative Fliesenarbeit)" - }, - "11": { - "then": "Fliesenarbeit" - }, - "12": { - "then": "Holzschnitzerei" - }, "2": { "then": "Malerei" }, @@ -464,6 +455,15 @@ }, "9": { "then": "Relief" + }, + "10": { + "then": "Azulejo (spanische dekorative Fliesenarbeit)" + }, + "11": { + "then": "Fliesenarbeit" + }, + "12": { + "then": "Holzschnitzerei" } }, "question": "Um welche Art Kunstwerk handelt es sich?", @@ -2117,27 +2117,6 @@ "1": { "question": "Verfügt über einen
Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)
" }, - "10": { - "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" - }, - "11": { - "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" - }, - "12": { - "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" - }, - "13": { - "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" - }, - "14": { - "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" - }, - "15": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" - }, - "16": { - "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" - }, "2": { "question": "Verfügt über einen
europäischen Netzstecker mit Erdungsstift (CEE7/4 Typ E)
Anschluss" }, @@ -2161,6 +2140,27 @@ }, "9": { "question": "Hat einen
Typ 2 CCS (Mennekes)
Anschluss" + }, + "10": { + "question": "Hat einen
Typ 2 (Mennekes)
Anschluss mit Kabel" + }, + "11": { + "question": "Hat einen
Tesla Supercharger CCS (Typ 2 CSS vonTesla)
Anschluss" + }, + "12": { + "question": "Hat einen
Tesla Supercharger (Destination)
Anschluss" + }, + "13": { + "question": "Hat einen
Tesla Supercharger (Destination) (Typ 2 von Tesla)
Anschluss mit Kabel" + }, + "14": { + "question": "Hat einen
USB-Anschluss zum Aufladen von Telefonen und kleinen Elektrogeräten
" + }, + "15": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 3 Pins
und Kabel" + }, + "16": { + "question": "Hat einen
Bosch Active Connect Anschluss mit 5 Pins
und Kabel" } } } @@ -2216,6 +2216,30 @@ "1": { "then": "Schuko-Stecker ohne Erdungsstift (CEE7/4 Typ F)" }, + "2": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, + "3": { + "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" + }, + "4": { + "then": "Chademo-Anschluss" + }, + "5": { + "then": "Chademo-Anschluss" + }, + "6": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "7": { + "then": "Typ 1 mit Kabel (J1772)" + }, + "8": { + "then": "Typ 1 ohne Kabel (J1772)" + }, + "9": { + "then": " Typ 1 ohne Kabel (J1772)" + }, "10": { "then": "Typ 1 CCS (Typ 1 Combo)" }, @@ -2246,9 +2270,6 @@ "19": { "then": "Typ 2 mit Kabel (mennekes)" }, - "2": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, "20": { "then": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" }, @@ -2279,32 +2300,11 @@ "29": { "then": " Bosch Active Connect mit 3 Pins und Kabel" }, - "3": { - "then": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" - }, "30": { "then": "Bosch Active Connect mit 5 Pins und Kabel" }, "31": { "then": " Bosch Active Connect mit 5 Pins und Kabel" - }, - "4": { - "then": "Chademo-Anschluss" - }, - "5": { - "then": "Chademo-Anschluss" - }, - "6": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "7": { - "then": "Typ 1 mit Kabel (J1772)" - }, - "8": { - "then": "Typ 1 ohne Kabel (J1772)" - }, - "9": { - "then": " Typ 1 ohne Kabel (J1772)" } }, "question": "Welche Ladeanschlüsse gibt es hier?" @@ -2498,24 +2498,6 @@ "1": { "2": "Europäischer Netzstecker mit Erdungsstift (CEE7/4 Typ E)" }, - "10": { - "2": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" - }, - "11": { - "2": "Tesla Supercharger (Destination)" - }, - "12": { - "2": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)" - }, - "13": { - "2": "USB zum Aufladen von Handys und kleinen Elektrogeräten" - }, - "14": { - "2": " Bosch Active Connect mit 3 Pins und Kabel" - }, - "15": { - "2": " Bosch Active Connect mit 5 Pins und Kabel" - }, "2": { "2": "Chademo-Stecker" }, @@ -2539,6 +2521,24 @@ }, "9": { "2": "Typ 2 mit Kabel (Mennekes)" + }, + "10": { + "2": "Tesla Supercharger CCS (Typ 2 CSS von Tesla)" + }, + "11": { + "2": "Tesla Supercharger (Destination)" + }, + "12": { + "2": "Tesla Supercharger (Destination) (Typ 2 mit Kabel von Tesla)" + }, + "13": { + "2": "USB zum Aufladen von Handys und kleinen Elektrogeräten" + }, + "14": { + "2": " Bosch Active Connect mit 3 Pins und Kabel" + }, + "15": { + "2": " Bosch Active Connect mit 5 Pins und Kabel" } } } @@ -3336,15 +3336,6 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" - }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3368,6 +3359,15 @@ }, "9": { "then": "Der Radweg ist aus Schotter" + }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieses Radwegs?", @@ -3416,15 +3416,6 @@ "1": { "then": "Dieser Radweg hat einen festen Belag" }, - "10": { - "then": "Dieser Radweg besteht aus feinem Schotter" - }, - "11": { - "then": "Der Radweg ist aus Kies" - }, - "12": { - "then": "Dieser Radweg besteht aus Rohboden" - }, "2": { "then": "Der Radweg ist aus Asphalt" }, @@ -3448,6 +3439,15 @@ }, "9": { "then": "Der Radweg ist aus Schotter" + }, + "10": { + "then": "Dieser Radweg besteht aus feinem Schotter" + }, + "11": { + "then": "Der Radweg ist aus Kies" + }, + "12": { + "then": "Dieser Radweg besteht aus Rohboden" } }, "question": "Was ist der Belag dieser Straße?", @@ -4435,54 +4435,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Keine Bevorzugung von Hunden" - }, - "1": { - "question": "Hunde erlaubt" - }, - "2": { - "question": "Keine Hunde erlaubt" - } - } - }, - "11": { - "options": { - "0": { - "question": "Internetzugang vorhanden" - } - } - }, - "12": { - "options": { - "0": { - "question": "Stromanschluss vorhanden" - } - } - }, - "13": { - "options": { - "0": { - "question": "Hat zuckerfreie Angebote" - } - } - }, - "14": { - "options": { - "0": { - "question": "Hat glutenfreie Angebote" - } - } - }, - "15": { - "options": { - "0": { - "question": "Hat laktosefreie Angebote" - } - } - }, "2": { "options": { "0": { @@ -4553,6 +4505,54 @@ "question": "Nutzung kostenlos" } } + }, + "10": { + "options": { + "0": { + "question": "Keine Bevorzugung von Hunden" + }, + "1": { + "question": "Hunde erlaubt" + }, + "2": { + "question": "Keine Hunde erlaubt" + } + } + }, + "11": { + "options": { + "0": { + "question": "Internetzugang vorhanden" + } + } + }, + "12": { + "options": { + "0": { + "question": "Stromanschluss vorhanden" + } + } + }, + "13": { + "options": { + "0": { + "question": "Hat zuckerfreie Angebote" + } + } + }, + "14": { + "options": { + "0": { + "question": "Hat glutenfreie Angebote" + } + } + }, + "15": { + "options": { + "0": { + "question": "Hat laktosefreie Angebote" + } + } } } }, @@ -4672,6 +4672,30 @@ "1": { "then": "Die Fitness-Station hat ein Schild mit Anweisungen für eine bestimmte Übung." }, + "2": { + "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." + }, + "3": { + "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." + }, + "4": { + "then": "Die Fitness-Station hat Stangen zum Dehnen." + }, + "5": { + "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." + }, + "6": { + "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." + }, + "7": { + "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." + }, + "8": { + "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." + }, + "9": { + "then": "Die Fitness-Station hat Pfosten für Slalomübungen." + }, "10": { "then": "Die Fitness-Station hat Trittsteine." }, @@ -4702,9 +4726,6 @@ "19": { "then": "Die Fitness-Station hat Kampfseile (battle ropes)." }, - "2": { - "then": "Die Fitness-Station hat eine Einrichtung für Sit-ups." - }, "20": { "then": "Die Fitness-Station hat ein Fahrradergometer." }, @@ -4719,27 +4740,6 @@ }, "24": { "then": "Die Fitness-Station hat eine Slackline." - }, - "3": { - "then": "Die Fitness-Station hat eine Vorrichtung für Liegestütze. In der Regel eine oder mehrere niedrige Reckstangen." - }, - "4": { - "then": "Die Fitness-Station hat Stangen zum Dehnen." - }, - "5": { - "then": "Die Fitness-Station hat eine Vorrichtung für Rückenstrecker (Hyperextensions)." - }, - "6": { - "then": "Die Fitness-Station hat Ringe für Gymnastikübungen." - }, - "7": { - "then": "Die Fitness-Station hat eine horizontale Leiter (Monkey Bars)." - }, - "8": { - "then": "Die Fitness-Station hat eine Sprossenwand zum Klettern." - }, - "9": { - "then": "Die Fitness-Station hat Pfosten für Slalomübungen." } }, "question": "Welche Übungsgeräte gibt es an dieser Fitness-Station?" @@ -4859,21 +4859,6 @@ "1": { "then": "Dies ist eine Pommesbude" }, - "10": { - "then": "Hier werden chinesische Gerichte serviert" - }, - "11": { - "then": "Hier werden griechische Gerichte serviert" - }, - "12": { - "then": "Hier werden indische Gerichte serviert" - }, - "13": { - "then": "Hier werden türkische Gerichte serviert" - }, - "14": { - "then": "Hier werden thailändische Gerichte serviert" - }, "2": { "then": "Bietet vorwiegend Pastagerichte an" }, @@ -4897,6 +4882,21 @@ }, "9": { "then": "Hier werden französische Gerichte serviert" + }, + "10": { + "then": "Hier werden chinesische Gerichte serviert" + }, + "11": { + "then": "Hier werden griechische Gerichte serviert" + }, + "12": { + "then": "Hier werden indische Gerichte serviert" + }, + "13": { + "then": "Hier werden türkische Gerichte serviert" + }, + "14": { + "then": "Hier werden thailändische Gerichte serviert" } }, "question": "Was für Essen gibt es hier?", @@ -5596,6 +5596,30 @@ "1": { "then": "Dies ist ein Auditorium" }, + "2": { + "then": "Dies ist ein Schlafzimmer" + }, + "3": { + "then": "Dies ist eine Kapelle" + }, + "4": { + "then": "Dies ist ein Klassenzimmer" + }, + "5": { + "then": "Dies ist ein Klassenzimmer" + }, + "6": { + "then": "Dies ist ein Computerraum" + }, + "7": { + "then": "Dies ist ein Konferenzraum" + }, + "8": { + "then": "Dies ist eine Krypta" + }, + "9": { + "then": "Dies ist eine Küche" + }, "10": { "then": "Dies ist ein Labor" }, @@ -5626,9 +5650,6 @@ "19": { "then": "Dies ist ein Lagerraum" }, - "2": { - "then": "Dies ist ein Schlafzimmer" - }, "20": { "then": "Dies ist ein Technikraum" }, @@ -5637,27 +5658,6 @@ }, "22": { "then": "Dies ist ein Wartezimmer" - }, - "3": { - "then": "Dies ist eine Kapelle" - }, - "4": { - "then": "Dies ist ein Klassenzimmer" - }, - "5": { - "then": "Dies ist ein Klassenzimmer" - }, - "6": { - "then": "Dies ist ein Computerraum" - }, - "7": { - "then": "Dies ist ein Konferenzraum" - }, - "8": { - "then": "Dies ist eine Krypta" - }, - "9": { - "then": "Dies ist eine Küche" } }, "question": "Wie wird dieser Raum genutzt?" @@ -6185,18 +6185,6 @@ "1": { "then": "Dies ist eine Gedenktafel" }, - "10": { - "then": "Das ist ein Kreuz" - }, - "11": { - "then": "Dies ist eine blaue Plaque" - }, - "12": { - "then": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde" - }, - "13": { - "then": "Das ist ein Baumdenkmal" - }, "2": { "then": "Dies ist eine Gedenkbank" }, @@ -6220,6 +6208,18 @@ }, "9": { "then": "Das ist ein Obelisk" + }, + "10": { + "then": "Das ist ein Kreuz" + }, + "11": { + "then": "Dies ist eine blaue Plaque" + }, + "12": { + "then": "Dies ist ein historischer Panzer, der permanent in den öffentlichen Raum als Denkmal platziert wurde" + }, + "13": { + "then": "Das ist ein Baumdenkmal" } }, "question": "Was für eine Art von Denkmal ist das?", @@ -6403,19 +6403,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Alle Notizen" - }, - "1": { - "question": "Importnotizen ausblenden" - }, - "2": { - "question": "Nur Importnotizen anzeigen" - } - } - }, "2": { "options": { "0": { @@ -6471,6 +6458,19 @@ "question": "Nur offene Notizen anzeigen" } } + }, + "10": { + "options": { + "0": { + "question": "Alle Notizen" + }, + "1": { + "question": "Importnotizen ausblenden" + }, + "2": { + "question": "Nur Importnotizen anzeigen" + } + } } }, "name": "OpenStreetMap-Hinweise", @@ -6795,18 +6795,6 @@ "1": { "then": "Dies ist ein normaler Stellplatz." }, - "10": { - "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." - }, - "11": { - "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." - }, - "12": { - "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." - }, - "13": { - "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." - }, "2": { "then": "Dies ist ein Behindertenstellplatz." }, @@ -6830,6 +6818,18 @@ }, "9": { "then": "Dies ist ein Stellplatz, der für Eltern mit Kindern reserviert ist." + }, + "10": { + "then": "Dies ist ein Stellplatz, der für das Personal reserviert ist." + }, + "11": { + "then": "Dies ist ein Stellplatz, der für Taxis reserviert ist." + }, + "12": { + "then": "Dies ist ein Stellplatz, der für Fahrzeuge mit Anhänger reserviert ist." + }, + "13": { + "then": "Dies ist ein Stellplatz, der für Carsharing reserviert ist." } }, "question": "Welche Art von Stellplatz ist dies?" @@ -7143,6 +7143,30 @@ "1": { "then": "Dies ist eine Struktur aus mehreren angeschlossenen Spielgeräten" }, + "2": { + "then": "Das ist eine Rutsche" + }, + "3": { + "then": "Dies ist ein Sandkasten" + }, + "4": { + "then": "Dies ist ein Springreiter" + }, + "5": { + "then": "Dies ist ein Kletterrahmen" + }, + "6": { + "then": "Dies ist eine Wippe" + }, + "7": { + "then": "Das ist ein Spielhaus" + }, + "8": { + "then": "Dies ist ein Karussell" + }, + "9": { + "then": "Dies ist eine Korbschaukel" + }, "10": { "then": "Dies ist ein Seilzug" }, @@ -7173,35 +7197,11 @@ "19": { "then": "Dies ist eine Jugendherberge" }, - "2": { - "then": "Das ist eine Rutsche" - }, "20": { "then": "Dies ist ein Trichter, mit dem man Trichterball spielen kann" }, "21": { "then": "Dies ist ein sich drehender Kreis" - }, - "3": { - "then": "Dies ist ein Sandkasten" - }, - "4": { - "then": "Dies ist ein Springreiter" - }, - "5": { - "then": "Dies ist ein Kletterrahmen" - }, - "6": { - "then": "Dies ist eine Wippe" - }, - "7": { - "then": "Das ist ein Spielhaus" - }, - "8": { - "then": "Dies ist ein Karussell" - }, - "9": { - "then": "Dies ist eine Korbschaukel" } }, "question": "Was ist das für ein Gerät?", @@ -7562,21 +7562,6 @@ "1": { "then": "2-Cent-Münzen werden akzeptiert" }, - "10": { - "then": "20-Centime-Münzen werden akzeptiert" - }, - "11": { - "then": "½-Schweizer Franken-Münzen werden akzeptiert" - }, - "12": { - "then": "1-Schweizer Franken-Münzen werden akzeptiert" - }, - "13": { - "then": "2-Schweizer Franken-Münzen werden akzeptiert" - }, - "14": { - "then": "5-Schweizer Franken-Münzen werden akzeptiert" - }, "2": { "then": "5-Cent-Münzen werden akzeptiert" }, @@ -7600,6 +7585,21 @@ }, "9": { "then": "10-Centime-Münzen werden akzeptiert" + }, + "10": { + "then": "20-Centime-Münzen werden akzeptiert" + }, + "11": { + "then": "½-Schweizer Franken-Münzen werden akzeptiert" + }, + "12": { + "then": "1-Schweizer Franken-Münzen werden akzeptiert" + }, + "13": { + "then": "2-Schweizer Franken-Münzen werden akzeptiert" + }, + "14": { + "then": "5-Schweizer Franken-Münzen werden akzeptiert" } }, "question": "Mit welchen Münzen kann man hier bezahlen?" @@ -7612,15 +7612,6 @@ "1": { "then": "10-Euro-Scheine werden angenommen" }, - "10": { - "then": "100-Schweizer Franken-Scheine werden akzeptiert" - }, - "11": { - "then": "200-Schweizer Franken-Scheine werden akzeptiert" - }, - "12": { - "then": "1000-Schweizer Franken-Scheine werden akzeptiert" - }, "2": { "then": "20-Euro-Scheine werden angenommen" }, @@ -7644,6 +7635,15 @@ }, "9": { "then": "50-Schweizer Franken-Scheine werden akzeptiert" + }, + "10": { + "then": "100-Schweizer Franken-Scheine werden akzeptiert" + }, + "11": { + "then": "200-Schweizer Franken-Scheine werden akzeptiert" + }, + "12": { + "then": "1000-Schweizer Franken-Scheine werden akzeptiert" } }, "question": "Mit welchen Banknoten kann man hier bezahlen?" @@ -8102,6 +8102,30 @@ "1": { "question": "Recycling von Batterien" }, + "2": { + "question": "Recycling von Getränkekartons" + }, + "3": { + "question": "Recycling von Dosen" + }, + "4": { + "question": "Recycling von Kleidung" + }, + "5": { + "question": "Recycling von Speiseöl" + }, + "6": { + "question": "Recycling von Motoröl" + }, + "7": { + "question": "Recycling von Leuchtstoffröhren" + }, + "8": { + "question": "Recycling von Grünabfällen" + }, + "9": { + "question": "Recycling von Glasflaschen" + }, "10": { "question": "Recycling von Glas" }, @@ -8132,35 +8156,11 @@ "19": { "question": "Recycling von Restabfällen" }, - "2": { - "question": "Recycling von Getränkekartons" - }, "20": { "question": "Recycling von Druckerpatronen" }, "21": { "question": "Recycling von Fahrrädern" - }, - "3": { - "question": "Recycling von Dosen" - }, - "4": { - "question": "Recycling von Kleidung" - }, - "5": { - "question": "Recycling von Speiseöl" - }, - "6": { - "question": "Recycling von Motoröl" - }, - "7": { - "question": "Recycling von Leuchtstoffröhren" - }, - "8": { - "question": "Recycling von Grünabfällen" - }, - "9": { - "question": "Recycling von Glasflaschen" } } }, @@ -8228,6 +8228,30 @@ "1": { "then": "Getränkekartons können hier recycelt werden" }, + "2": { + "then": "Dosen können hier recycelt werden" + }, + "3": { + "then": "Kleidung kann hier recycelt werden" + }, + "4": { + "then": "Speiseöl kann hier recycelt werden" + }, + "5": { + "then": "Motoröl kann hier recycelt werden" + }, + "6": { + "then": "Hier können Leuchtstoffröhren recycelt werden" + }, + "7": { + "then": "Grünabfälle können hier recycelt werden" + }, + "8": { + "then": "Bio-Abfall kann hier recycelt werden" + }, + "9": { + "then": "Glasflaschen können hier recycelt werden" + }, "10": { "then": "Glas kann hier recycelt werden" }, @@ -8258,9 +8282,6 @@ "19": { "then": "Schuhe können hier recycelt werden" }, - "2": { - "then": "Dosen können hier recycelt werden" - }, "20": { "then": "Elektrokleingeräte können hier recycelt werden" }, @@ -8275,27 +8296,6 @@ }, "24": { "then": "Fahrräder können hier recycelt werden" - }, - "3": { - "then": "Kleidung kann hier recycelt werden" - }, - "4": { - "then": "Speiseöl kann hier recycelt werden" - }, - "5": { - "then": "Motoröl kann hier recycelt werden" - }, - "6": { - "then": "Hier können Leuchtstoffröhren recycelt werden" - }, - "7": { - "then": "Grünabfälle können hier recycelt werden" - }, - "8": { - "then": "Bio-Abfall kann hier recycelt werden" - }, - "9": { - "then": "Glasflaschen können hier recycelt werden" } }, "question": "Was kann hier recycelt werden?" @@ -9361,12 +9361,6 @@ "1": { "then": "Diese Straßenlaterne verwendet LEDs" }, - "10": { - "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" - }, - "11": { - "then": "Diese Straßenlaterne wird mit Gas beleuchtet" - }, "2": { "then": "Diese Straßenlaterne verwendet Glühlampenlicht" }, @@ -9390,6 +9384,12 @@ }, "9": { "then": "Diese Straßenlaterne verwendet Niederdruck-Natriumdampflampen (einfarbig orange)" + }, + "10": { + "then": "Diese Straßenlaterne verwendet Hochdruck-Natriumdampflampen (orange mit weiß)" + }, + "11": { + "then": "Diese Straßenlaterne wird mit Gas beleuchtet" } }, "question": "Mit welcher Art von Beleuchtung arbeitet diese Straßenlaterne?" @@ -10796,6 +10796,30 @@ "1": { "question": "Verkauf von Getränken" }, + "2": { + "question": "Verkauf von Süßigkeiten" + }, + "3": { + "question": "Verkauf von Lebensmitteln" + }, + "4": { + "question": "Verkauf von Zigaretten" + }, + "5": { + "question": "Verkauf von Kondomen" + }, + "6": { + "question": "Verkauf von Kaffee" + }, + "7": { + "question": "Verkauf von Trinkwasser" + }, + "8": { + "question": "Verkauf von Zeitungen" + }, + "9": { + "question": "Verkauf von Fahrradschläuchen" + }, "10": { "question": "Verkauf von Milch" }, @@ -10826,9 +10850,6 @@ "19": { "question": "Verkauf von Blumen" }, - "2": { - "question": "Verkauf von Süßigkeiten" - }, "20": { "question": "Verkauf von Parkscheinen" }, @@ -10852,27 +10873,6 @@ }, "27": { "question": "Verkauf von Fahrradschlössern" - }, - "3": { - "question": "Verkauf von Lebensmitteln" - }, - "4": { - "question": "Verkauf von Zigaretten" - }, - "5": { - "question": "Verkauf von Kondomen" - }, - "6": { - "question": "Verkauf von Kaffee" - }, - "7": { - "question": "Verkauf von Trinkwasser" - }, - "8": { - "question": "Verkauf von Zeitungen" - }, - "9": { - "question": "Verkauf von Fahrradschläuchen" } } } @@ -10919,6 +10919,30 @@ "1": { "then": "Süßigkeiten werden verkauft" }, + "2": { + "then": "Lebensmittel werden verkauft" + }, + "3": { + "then": "Zigaretten werden verkauft" + }, + "4": { + "then": "Kondome werden verkauft" + }, + "5": { + "then": "Kaffee wird verkauft" + }, + "6": { + "then": "Trinkwasser wird verkauft" + }, + "7": { + "then": "Zeitungen werden verkauft" + }, + "8": { + "then": "Fahrradschläuche werden verkauft" + }, + "9": { + "then": "Milch wird verkauft" + }, "10": { "then": "Brot wird verkauft" }, @@ -10949,9 +10973,6 @@ "19": { "then": "Parkscheine werden verkauft" }, - "2": { - "then": "Lebensmittel werden verkauft" - }, "20": { "then": "Souvenirmünzen werden verkauft" }, @@ -10972,27 +10993,6 @@ }, "26": { "then": "Fahrradschlösser werden verkauft" - }, - "3": { - "then": "Zigaretten werden verkauft" - }, - "4": { - "then": "Kondome werden verkauft" - }, - "5": { - "then": "Kaffee wird verkauft" - }, - "6": { - "then": "Trinkwasser wird verkauft" - }, - "7": { - "then": "Zeitungen werden verkauft" - }, - "8": { - "then": "Fahrradschläuche werden verkauft" - }, - "9": { - "then": "Milch wird verkauft" } }, "question": "Was wird in diesem Automaten verkauft?", @@ -11284,4 +11284,4 @@ "render": "Windrad" } } -} +} \ No newline at end of file diff --git a/langs/layers/en.json b/langs/layers/en.json index 946d2b816..ff6f5d141 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -393,6 +393,27 @@ } }, "question": "What is the purpose of the animal shelter?" + }, + "boarded_animals": { + "mappings": { + "0": { + "then": "Dogs are kept here" + }, + "1": { + "then": "Cats are kept here" + }, + "2": { + "then": "Horses are kept here" + }, + "3": { + "then": "Birds are kept here" + }, + "4": { + "then": "Wild animals are kept here" + } + }, + "question": "Which animals are accepted here?", + "render": "{animal_shelter} is kept here" } }, "title": { @@ -1490,10 +1511,18 @@ }, "question": "Are these bicycle parkings free to use?" }, + "maxstay": { + "question": "What is the maximum allowed parking duration?", + "questionHint": "If the bicycle is parked for a longer amount, it might be removed by the operator", + "render": "A bike can be parked here for at most {canonical(maxstay)}" + }, "operator": { "question": "Who maintains this bicycle parking?", "render": "This bicycle parking is maintained by {operator}" }, + "operator_email": { + "question": "What is the email address of the operator of this bicycle parking?" + }, "operator_phone": { "question": "What is the phone number of the operator of this bicycle parking?", "questionHint": "One might be able to call this number in case of problems, e.g. to remove unmaintained bicycles" @@ -2161,6 +2190,9 @@ }, "16": { "question": "Has a
Bosch Active Connect with 5 pins and cable
connector" + }, + "17": { + "question": "Has a
BS1363 (Type G)
connector" } } } @@ -2305,6 +2337,12 @@ }, "31": { "then": "Bosch Active Connect with 5 pins and cable" + }, + "32": { + "then": "BS1363 (Type G)" + }, + "33": { + "then": "BS1363 (Type G)" } }, "question": "Which charging connections are available here?" @@ -2539,6 +2577,9 @@ }, "15": { "2": "Bosch Active Connect with 5 pins and cable" + }, + "16": { + "2": "BS1363 (Type G)" } } } @@ -5113,6 +5154,22 @@ "render": "Restaurant" } }, + "food_courts": { + "description": "Food courts with a variety of food options.", + "name": "Food Courts", + "tagRenderings": { + "name": { + "freeform": { + "placeholder": "Name of the food court" + }, + "question": "What is the name of this food court?", + "render": "This food court is called {name}." + } + }, + "title": { + "render": "Food Court" + } + }, "ghost_bike": { "description": "A layer showing memorials for cyclists, killed in road accidents", "name": "Ghost bikes", @@ -6625,6 +6682,74 @@ "render": "OSM Community Index" } }, + "outdoor_seating": { + "description": "Outdoor seating areas, usually located near cafes and restaurants.", + "name": "Outdoor Seating", + "tagRenderings": { + "access": { + "mappings": { + "0": { + "then": "Anyone can use this outdoor seating area." + }, + "1": { + "then": "Only customers can use this outdoor seating area." + }, + "2": { + "then": "This outdoor seating area is private." + } + }, + "question": "Who can use this outdoor seating area?" + }, + "covered": { + "mappings": { + "0": { + "then": "This outdoor seating area is covered." + }, + "1": { + "then": "This outdoor seating area is not covered." + } + }, + "question": "Is this outdoor seating area covered?" + }, + "heating": { + "mappings": { + "0": { + "then": "This outdoor seating area is heated." + }, + "1": { + "then": "This outdoor seating area is not heated." + } + }, + "question": "Is this outdoor seating area heated?" + }, + "seasonal": { + "mappings": { + "0": { + "then": "This outdoor seating area is available all year round." + }, + "1": { + "then": "This outdoor seating area is available in spring." + }, + "2": { + "then": "This outdoor seating area is available in summer." + }, + "3": { + "then": "This outdoor seating area is available in autumn." + }, + "4": { + "then": "This outdoor seating area is available in winter." + }, + "5": { + "then": "This outdoor seating area is available in the dry season." + } + }, + "question": "Is this outdoor seating area seasonal?" + } + }, + "title": { + "render": "Outdoor Seating area" + } + }, "parcel_lockers": { "description": "Layer showing parcel lockers for collecting and sending parcels.", "name": "Parcel Lockers", @@ -8957,6 +9082,10 @@ } }, "tagRenderings": { + "camera_direction": { + "question": "In which geographical direction does this camera film?", + "render": "Films to a compass heading of {direction}" + }, "maxspeed": { "freeform": { "placeholder": "Maximum speed allowed" @@ -11280,4 +11409,4 @@ "render": "wind turbine" } } -} +} \ No newline at end of file diff --git a/langs/layers/eo.json b/langs/layers/eo.json index 04629a910..7d3920b24 100644 --- a/langs/layers/eo.json +++ b/langs/layers/eo.json @@ -275,4 +275,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/es.json b/langs/layers/es.json index 79f76d128..d2fc81df3 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -4891,4 +4891,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/eu.json b/langs/layers/eu.json index c647d51b9..937736949 100644 --- a/langs/layers/eu.json +++ b/langs/layers/eu.json @@ -289,4 +289,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/fi.json b/langs/layers/fi.json index 6d5de8f51..6ad318e18 100644 --- a/langs/layers/fi.json +++ b/langs/layers/fi.json @@ -126,4 +126,4 @@ "render": "Asetukset" } } -} +} \ No newline at end of file diff --git a/langs/layers/fil.json b/langs/layers/fil.json index 1468d6cf2..df662aa44 100644 --- a/langs/layers/fil.json +++ b/langs/layers/fil.json @@ -135,4 +135,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/fr.json b/langs/layers/fr.json index e5213f04c..b025d080e 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -35,23 +35,6 @@ "1": { "title": "un panneau à affiches scellé au sol" }, - "10": { - "description": "Une pièce de textile imperméable avec un message imprimé, ancrée de façon permanente sur un mur.", - "title": "une bâche" - }, - "11": { - "title": "un totem" - }, - "12": { - "description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées", - "title": "une enseigne" - }, - "13": { - "title": "une sculpture" - }, - "14": { - "title": "une peinture murale" - }, "2": { "title": "un panneau à affiches monté sur un mur" }, @@ -77,6 +60,23 @@ }, "9": { "title": "un écran fixé sur un abri de transport" + }, + "10": { + "description": "Une pièce de textile imperméable avec un message imprimé, ancrée de façon permanente sur un mur.", + "title": "une bâche" + }, + "11": { + "title": "un totem" + }, + "12": { + "description": "Désigne une enseigne publicitaire, une enseigne néon, les logos ou des indications d'entrées", + "title": "une enseigne" + }, + "13": { + "title": "une sculpture" + }, + "14": { + "title": "une peinture murale" } }, "tagRenderings": { @@ -168,9 +168,6 @@ "1": { "then": "C'est un petit panneau" }, - "10": { - "then": "C'est une peinture murale" - }, "2": { "then": "C'est une colonne" }, @@ -194,6 +191,9 @@ }, "9": { "then": "C'est un totem" + }, + "10": { + "then": "C'est une peinture murale" } }, "question": "De quel type de dispositif publicitaire s'agit-il ?", @@ -205,9 +205,6 @@ "1": { "then": "Petit panneau" }, - "10": { - "then": "Peinture murale" - }, "3": { "then": "Colonne" }, @@ -228,6 +225,9 @@ }, "9": { "then": "Totem" + }, + "10": { + "then": "Peinture murale" } } } @@ -328,15 +328,6 @@ "1": { "then": "Peinture murale" }, - "10": { - "then": "Azulejo (faïence latine)" - }, - "11": { - "then": "Carrelage" - }, - "12": { - "then": "Sculpture sur bois" - }, "2": { "then": "Peinture" }, @@ -360,6 +351,15 @@ }, "9": { "then": "Relief" + }, + "10": { + "then": "Azulejo (faïence latine)" + }, + "11": { + "then": "Carrelage" + }, + "12": { + "then": "Sculpture sur bois" } }, "question": "Quel est le type de cette œuvre d'art ?", @@ -2467,15 +2467,6 @@ "1": { "then": "Cette piste cyclable est goudronée" }, - "10": { - "then": "Cette piste cyclable est faite en graviers fins" - }, - "11": { - "then": "Cette piste cyclable est en cailloux" - }, - "12": { - "then": "Cette piste cyclable est faite en sol brut" - }, "2": { "then": "Cette piste cyclable est asphaltée" }, @@ -2499,6 +2490,15 @@ }, "9": { "then": "Cette piste cyclable est faite en graviers" + }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" } }, "question": "De quoi est faite la surface de la piste cyclable ?", @@ -2547,15 +2547,6 @@ "1": { "then": "Cette piste cyclable est pavée" }, - "10": { - "then": "Cette piste cyclable est faite en graviers fins" - }, - "11": { - "then": "Cette piste cyclable est en cailloux" - }, - "12": { - "then": "Cette piste cyclable est faite en sol brut" - }, "2": { "then": "Cette piste cyclable est asphaltée" }, @@ -2579,6 +2570,15 @@ }, "9": { "then": "Cette piste cyclable est faite en graviers" + }, + "10": { + "then": "Cette piste cyclable est faite en graviers fins" + }, + "11": { + "then": "Cette piste cyclable est en cailloux" + }, + "12": { + "then": "Cette piste cyclable est faite en sol brut" } }, "question": "De quel materiel est faite cette rue ?", @@ -3428,21 +3428,6 @@ "1": { "then": "C'est une friterie" }, - "10": { - "then": "Des plats chinois sont servis ici" - }, - "11": { - "then": "Des plats grecs sont servis ici" - }, - "12": { - "then": "Des plats indiens sont servis ici" - }, - "13": { - "then": "Des plats turcs sont servis ici" - }, - "14": { - "then": "Des plats thaïlandais sont servis ici" - }, "2": { "then": "Restaurant Italien" }, @@ -3466,6 +3451,21 @@ }, "9": { "then": "Des plats français sont servis ici" + }, + "10": { + "then": "Des plats chinois sont servis ici" + }, + "11": { + "then": "Des plats grecs sont servis ici" + }, + "12": { + "then": "Des plats indiens sont servis ici" + }, + "13": { + "then": "Des plats turcs sont servis ici" + }, + "14": { + "then": "Des plats thaïlandais sont servis ici" } }, "question": "Quelle type de nourriture est servie ici ?", @@ -3859,11 +3859,11 @@ }, "room-type": { "mappings": { - "14": { - "then": "C'est un bureau" - }, "4": { "then": "C'est une salle de classe" + }, + "14": { + "then": "C'est un bureau" } } } @@ -4144,18 +4144,6 @@ "1": { "then": "C'est une plaque" }, - "10": { - "then": "C'est une croix" - }, - "11": { - "then": "C'est une plaque bleue (spécifique aux pays anglo-saxons)" - }, - "12": { - "then": "C'est un char historique, placé de manière permanente dans l'espace public comme mémorial" - }, - "13": { - "then": "C'est un arbre du souvenir" - }, "2": { "then": "C'est un banc commémoratif" }, @@ -4179,6 +4167,18 @@ }, "9": { "then": "C'est un obélisque" + }, + "10": { + "then": "C'est une croix" + }, + "11": { + "then": "C'est une plaque bleue (spécifique aux pays anglo-saxons)" + }, + "12": { + "then": "C'est un char historique, placé de manière permanente dans l'espace public comme mémorial" + }, + "13": { + "then": "C'est un arbre du souvenir" } }, "question": "C'est un mémorial de guerre", @@ -5278,6 +5278,30 @@ "1": { "question": "Recyclage de piles et batteries domestiques" }, + "2": { + "question": "Recyclage d'emballage de boissons" + }, + "3": { + "question": "Recyclage de boites de conserve et de canettes" + }, + "4": { + "question": "Recyclage de vêtements" + }, + "5": { + "question": "Recyclage des huiles de friture" + }, + "6": { + "question": "Recyclage des huiles de moteur" + }, + "7": { + "question": "Recyclage des lampes fluorescentes" + }, + "8": { + "question": "Recyclage des déchets verts" + }, + "9": { + "question": "Recyclage des bouteilles en verre et des bocaux" + }, "10": { "question": "Recyclage de tout type de verre" }, @@ -5308,35 +5332,11 @@ "19": { "question": "Recyclage des autres déchets" }, - "2": { - "question": "Recyclage d'emballage de boissons" - }, "20": { "question": "Recyclage des cartouches d'imprimante" }, "21": { "question": "Recyclage des vélos" - }, - "3": { - "question": "Recyclage de boites de conserve et de canettes" - }, - "4": { - "question": "Recyclage de vêtements" - }, - "5": { - "question": "Recyclage des huiles de friture" - }, - "6": { - "question": "Recyclage des huiles de moteur" - }, - "7": { - "question": "Recyclage des lampes fluorescentes" - }, - "8": { - "question": "Recyclage des déchets verts" - }, - "9": { - "question": "Recyclage des bouteilles en verre et des bocaux" } } }, @@ -5399,6 +5399,30 @@ "1": { "then": "Les briques alimentaires en carton peuvent être recyclées ici" }, + "2": { + "then": "Les boites de conserve et canettes peuvent être recyclées ici" + }, + "3": { + "then": "Les vêtements peuvent être recyclés ici" + }, + "4": { + "then": "Les huiles de friture peuvent être recyclées ici" + }, + "5": { + "then": "Les huiles de moteur peuvent être recyclées ici" + }, + "6": { + "then": "Les lampes fluorescentes peuvent être recyclées ici" + }, + "7": { + "then": "Les déchets verts peuvent être recyclés ici" + }, + "8": { + "then": "Les déchets organiques peuvent être recyclés ici" + }, + "9": { + "then": "Les bouteilles en verre et bocaux peuvent être recyclés ici" + }, "10": { "then": "Tout type de verre peut être recyclé ici" }, @@ -5429,9 +5453,6 @@ "19": { "then": "Les chaussures peuvent être recyclées ici" }, - "2": { - "then": "Les boites de conserve et canettes peuvent être recyclées ici" - }, "20": { "then": "Les petits appareils électriques peuvent être recyclés ici" }, @@ -5446,27 +5467,6 @@ }, "24": { "then": "Les vélos peuvent être recyclés ici" - }, - "3": { - "then": "Les vêtements peuvent être recyclés ici" - }, - "4": { - "then": "Les huiles de friture peuvent être recyclées ici" - }, - "5": { - "then": "Les huiles de moteur peuvent être recyclées ici" - }, - "6": { - "then": "Les lampes fluorescentes peuvent être recyclées ici" - }, - "7": { - "then": "Les déchets verts peuvent être recyclés ici" - }, - "8": { - "then": "Les déchets organiques peuvent être recyclés ici" - }, - "9": { - "then": "Les bouteilles en verre et bocaux peuvent être recyclés ici" } }, "question": "Que peut-on recycler ici ?" @@ -6846,27 +6846,6 @@ "1": { "question": "Vente de boissons" }, - "10": { - "question": "Vente de lait" - }, - "11": { - "question": "Vente de pain" - }, - "12": { - "question": "Vente d'œufs" - }, - "13": { - "question": "Vente de fromage" - }, - "14": { - "question": "Vente de miel" - }, - "15": { - "question": "Vente de pommes de terre" - }, - "19": { - "question": "Vente de fleurs" - }, "2": { "question": "Ventre de confiseries" }, @@ -6890,6 +6869,27 @@ }, "9": { "question": "Vente de chambres à air pour vélo" + }, + "10": { + "question": "Vente de lait" + }, + "11": { + "question": "Vente de pain" + }, + "12": { + "question": "Vente d'œufs" + }, + "13": { + "question": "Vente de fromage" + }, + "14": { + "question": "Vente de miel" + }, + "15": { + "question": "Vente de pommes de terre" + }, + "19": { + "question": "Vente de fleurs" } } } @@ -6930,24 +6930,6 @@ "1": { "then": "Vent des confiseries" }, - "10": { - "then": "Vent du pain" - }, - "11": { - "then": "Vent des œufs" - }, - "12": { - "then": "Vent du fromage" - }, - "13": { - "then": "Vent du miel" - }, - "14": { - "then": "Vent des pommes de terre" - }, - "18": { - "then": "Vent des fleurs" - }, "2": { "then": "Vent de la nourriture" }, @@ -6971,6 +6953,24 @@ }, "9": { "then": "Vent du lait" + }, + "10": { + "then": "Vent du pain" + }, + "11": { + "then": "Vent des œufs" + }, + "12": { + "then": "Vent du fromage" + }, + "13": { + "then": "Vent du miel" + }, + "14": { + "then": "Vent des pommes de terre" + }, + "18": { + "then": "Vent des fleurs" } }, "question": "Que vent ce distributeur ?", @@ -7173,4 +7173,4 @@ "render": "éolienne" } } -} +} \ No newline at end of file diff --git a/langs/layers/gl.json b/langs/layers/gl.json index fa1439a1f..f5a502b3d 100644 --- a/langs/layers/gl.json +++ b/langs/layers/gl.json @@ -394,4 +394,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/he.json b/langs/layers/he.json index cc53efdde..9f06b9efa 100644 --- a/langs/layers/he.json +++ b/langs/layers/he.json @@ -484,4 +484,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/hu.json b/langs/layers/hu.json index 1a9205d57..92a8b9157 100644 --- a/langs/layers/hu.json +++ b/langs/layers/hu.json @@ -971,4 +971,4 @@ "render": "szélerőmű" } } -} +} \ No newline at end of file diff --git a/langs/layers/id.json b/langs/layers/id.json index 60a7484a6..b33cd73a2 100644 --- a/langs/layers/id.json +++ b/langs/layers/id.json @@ -942,4 +942,4 @@ "render": "turbin angin" } } -} +} \ No newline at end of file diff --git a/langs/layers/it.json b/langs/layers/it.json index bd6ca7626..0272461b4 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -35,23 +35,6 @@ "1": { "title": "un cartellone pubblicitario fissato a terra" }, - "10": { - "description": "Un telo impermeabile con un messaggio stampato, fissato in modo permanente al muro", - "title": "un telone" - }, - "11": { - "title": "un totem" - }, - "12": { - "description": "Utilizzato per insegna pubblicitaria, un'insegna al neon, i loghi o le indicazioni d'entrata", - "title": "un'insegna" - }, - "13": { - "title": "una scultura" - }, - "14": { - "title": "un murales" - }, "2": { "title": "un cartellone pubblicitario fissato al muro" }, @@ -77,6 +60,23 @@ }, "9": { "title": "uno schermo montato su una pensilina del traporto pubblico" + }, + "10": { + "description": "Un telo impermeabile con un messaggio stampato, fissato in modo permanente al muro", + "title": "un telone" + }, + "11": { + "title": "un totem" + }, + "12": { + "description": "Utilizzato per insegna pubblicitaria, un'insegna al neon, i loghi o le indicazioni d'entrata", + "title": "un'insegna" + }, + "13": { + "title": "una scultura" + }, + "14": { + "title": "un murales" } }, "tagRenderings": { @@ -159,15 +159,6 @@ "1": { "then": "Murale" }, - "10": { - "then": "Azulejo (ornamento decorativo piastrellato spagnolo)" - }, - "11": { - "then": "Mosaico di piastrelle" - }, - "12": { - "then": "Scultura in legno" - }, "2": { "then": "Dipinto" }, @@ -191,6 +182,15 @@ }, "9": { "then": "Rilievo" + }, + "10": { + "then": "Azulejo (ornamento decorativo piastrellato spagnolo)" + }, + "11": { + "then": "Mosaico di piastrelle" + }, + "12": { + "then": "Scultura in legno" } }, "question": "Che tipo di opera d’arte è questo?", @@ -2182,6 +2182,27 @@ "1": { "question": "Riciclo di batterie" }, + "2": { + "question": "Riciclo di confezioni per bevande" + }, + "3": { + "question": "Riciclo di lattine" + }, + "4": { + "question": "Riciclo di abiti" + }, + "5": { + "question": "Riciclo di olio da cucina" + }, + "6": { + "question": "Riciclo di olio da motore" + }, + "8": { + "question": "Riciclo di umido" + }, + "9": { + "question": "Riciclo di bottiglie di vetro" + }, "10": { "question": "Riciclo di vetro" }, @@ -2209,29 +2230,8 @@ "19": { "question": "Riciclo di secco" }, - "2": { - "question": "Riciclo di confezioni per bevande" - }, "20": { "question": "Riciclo di secco" - }, - "3": { - "question": "Riciclo di lattine" - }, - "4": { - "question": "Riciclo di abiti" - }, - "5": { - "question": "Riciclo di olio da cucina" - }, - "6": { - "question": "Riciclo di olio da motore" - }, - "8": { - "question": "Riciclo di umido" - }, - "9": { - "question": "Riciclo di bottiglie di vetro" } } }, @@ -2284,6 +2284,27 @@ "1": { "then": "Cartoni per bevande" }, + "2": { + "then": "Lattine" + }, + "3": { + "then": "Abiti" + }, + "4": { + "then": "Olio da cucina" + }, + "5": { + "then": "Olio di motore" + }, + "7": { + "then": "Verde" + }, + "8": { + "then": "Umido" + }, + "9": { + "then": "Bottiglie di vetro" + }, "10": { "then": "Vetro" }, @@ -2308,9 +2329,6 @@ "19": { "then": "Scarpe" }, - "2": { - "then": "Lattine" - }, "20": { "then": "Piccoli elettrodomestici" }, @@ -2322,24 +2340,6 @@ }, "23": { "then": "Secco" - }, - "3": { - "then": "Abiti" - }, - "4": { - "then": "Olio da cucina" - }, - "5": { - "then": "Olio di motore" - }, - "7": { - "then": "Verde" - }, - "8": { - "then": "Umido" - }, - "9": { - "then": "Bottiglie di vetro" } }, "question": "Cosa si può riciclare qui?" @@ -3148,4 +3148,4 @@ "render": "pala eolica" } } -} +} \ No newline at end of file diff --git a/langs/layers/ja.json b/langs/layers/ja.json index 92c86d2a8..66ad27974 100644 --- a/langs/layers/ja.json +++ b/langs/layers/ja.json @@ -642,4 +642,4 @@ "render": "店" } } -} +} \ No newline at end of file diff --git a/langs/layers/nb_NO.json b/langs/layers/nb_NO.json index 7434382ae..1bdf05dd2 100644 --- a/langs/layers/nb_NO.json +++ b/langs/layers/nb_NO.json @@ -847,4 +847,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 0cb5e0ae9..3c2e71774 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -1227,10 +1227,18 @@ }, "question": "Is deze fietsenstalling gratis te gebruiken?" }, + "maxstay": { + "question": "Wat is de toegestane, maximale parkeerduur?", + "questionHint": "Indien een fiets langer geparkeerd staat, kan deze verwijderd worden door de beheerder", + "render": "Een fiets mag hier maximaal {canonical(maxstay)} parkeren" + }, "operator": { "question": "Wie beheert deze fietsenstalling?", "render": "Deze fietsenstalling wordt beheerd door {operator}" }, + "operator_email": { + "question": "Wat is het emailadres van de beheerder van deze parking?" + }, "operator_phone": { "question": "Wat is het telefoonnummer van de operator van deze fietsenstalling?", "questionHint": "Men kan dit nummer bellen om bv. fietswrakken of defecten te melden" @@ -1874,6 +1882,9 @@ }, "16": { "question": "Heeft een
Bosch Active Connect met 5 pinnen aan een kabel
" + }, + "17": { + "question": "Heeft een
BS1363 (VK 3-pin)
" } } } @@ -2018,6 +2029,12 @@ }, "31": { "then": "Bosch Active Connect met 5 pinnen aan een kabel" + }, + "32": { + "then": "BS1363 (VK 3-pin)" + }, + "33": { + "then": "BS1363 (VK 3-pin)" } }, "question": "Welke aansluitingen zijn hier beschikbaar?" @@ -2252,6 +2269,9 @@ }, "15": { "2": "Bosch Active Connect met 5 pinnen aan een kabel" + }, + "16": { + "2": "BS1363 (VK 3-pin)" } } } @@ -7346,6 +7366,10 @@ } }, "tagRenderings": { + "camera_direction": { + "question": "In welke geografische richting filmt deze camera?", + "render": "Filmt in kompasrichting {direction}" + }, "maxspeed": { "freeform": { "placeholder": "Maximum toegestane snelheid" @@ -9426,4 +9450,4 @@ "render": "windturbine" } } -} +} \ No newline at end of file diff --git a/langs/layers/pa_PK.json b/langs/layers/pa_PK.json index 408d9a078..306d966c5 100644 --- a/langs/layers/pa_PK.json +++ b/langs/layers/pa_PK.json @@ -293,4 +293,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/pl.json b/langs/layers/pl.json index e4a934f25..48c3ed344 100644 --- a/langs/layers/pl.json +++ b/langs/layers/pl.json @@ -2737,4 +2737,4 @@ "render": "turbina wiatrowa" } } -} +} \ No newline at end of file diff --git a/langs/layers/pt.json b/langs/layers/pt.json index b1470c7b3..d8f2eaf62 100644 --- a/langs/layers/pt.json +++ b/langs/layers/pt.json @@ -1925,4 +1925,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/pt_BR.json b/langs/layers/pt_BR.json index 0450fe8bb..46ea81bdf 100644 --- a/langs/layers/pt_BR.json +++ b/langs/layers/pt_BR.json @@ -1589,4 +1589,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/ru.json b/langs/layers/ru.json index 23d0408c6..7fa8166f2 100644 --- a/langs/layers/ru.json +++ b/langs/layers/ru.json @@ -95,12 +95,6 @@ "1": { "then": "Фреска" }, - "10": { - "then": "Азуле́жу (испанская роспись глазурованной керамической плитки)" - }, - "11": { - "then": "Плитка (мозаика)" - }, "2": { "then": "Живопись" }, @@ -124,6 +118,12 @@ }, "9": { "then": "Рельеф" + }, + "10": { + "then": "Азуле́жу (испанская роспись глазурованной керамической плитки)" + }, + "11": { + "then": "Плитка (мозаика)" } }, "question": "К какому типу относится эта работа?", @@ -1984,4 +1984,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/sl.json b/langs/layers/sl.json index d605a4f22..9387209d9 100644 --- a/langs/layers/sl.json +++ b/langs/layers/sl.json @@ -463,4 +463,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/sv.json b/langs/layers/sv.json index 540c65bb3..fcace1943 100644 --- a/langs/layers/sv.json +++ b/langs/layers/sv.json @@ -137,4 +137,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/zgh.json b/langs/layers/zgh.json index 7b34b5c4d..4f6fcb199 100644 --- a/langs/layers/zgh.json +++ b/langs/layers/zgh.json @@ -6,4 +6,4 @@ "artwork": { "description": "ⵢⴰⵜ ⵜⴽⴰⵕⴹⴰ ⵉⵕⵥⵎⵏ ⵅⴼ ⵉⵙⴼⵔⵉⵙⵏ, ⵉⵖⵔⴰⵙⵏ ⴷ ⵜⵡⵓⵔⵉⵡⵉⵏ ⵜⵉⵏⴰⵥⵓⵕⵉⵏ ⵢⴰⴹⵏⵉⵏ ⴳ ⵓⵎⴰⴹⴰⵍ" } -} +} \ No newline at end of file diff --git a/langs/layers/zh_Hans.json b/langs/layers/zh_Hans.json index 7e3768356..818a2be18 100644 --- a/langs/layers/zh_Hans.json +++ b/langs/layers/zh_Hans.json @@ -627,4 +627,4 @@ } } } -} +} \ No newline at end of file diff --git a/langs/layers/zh_Hant.json b/langs/layers/zh_Hant.json index ccc000508..20ef18f0f 100644 --- a/langs/layers/zh_Hant.json +++ b/langs/layers/zh_Hant.json @@ -856,4 +856,4 @@ "render": "風機" } } -} +} \ No newline at end of file diff --git a/langs/themes/ca.json b/langs/themes/ca.json index cac2ecfa3..da525e2ff 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -905,33 +905,6 @@ "onwheels": { "description": "En aquest mapa, es mostren llocs públics accessibles per a cadira de rodes i es poden afegir fàcilment", "layers": { - "19": { - "override": { - "=title": { - "render": "Estadístiques" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Importar" - } - } - }, - "1": { - "render": { - "special": { - "message": "Afegiu totes les etiquetes suggerides" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -974,6 +947,33 @@ "override": { "name": "Places d'aparcament per a minusvàlids" } + }, + "19": { + "override": { + "=title": { + "render": "Estadístiques" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Importar" + } + } + }, + "1": { + "render": { + "special": { + "message": "Afegiu totes les etiquetes suggerides" + } + } + } + } + } } }, "title": "Sobre rodes" @@ -1134,6 +1134,10 @@ "stations": { "description": "Veure, editar i afegir detalls a una estació de tren", "layers": { + "3": { + "description": "Capa que mostra les estacions de tren", + "name": "Estació de tren" + }, "16": { "description": "Pantalles que mostren els trens que sortiran de l'estació", "name": "Taulers de sortides", @@ -1165,10 +1169,6 @@ "title": { "render": "Tauler de sortides" } - }, - "3": { - "description": "Capa que mostra les estacions de tren", - "name": "Estació de tren" } }, "title": "Estacions de tren" @@ -1290,4 +1290,4 @@ "shortDescription": "Un mapa amb papereres", "title": "Papepera" } -} +} \ No newline at end of file diff --git a/langs/themes/cs.json b/langs/themes/cs.json index 15e2afc6b..8e4b6f321 100644 --- a/langs/themes/cs.json +++ b/langs/themes/cs.json @@ -906,33 +906,6 @@ "onwheels": { "description": "Na této mapě jsou zobrazena veřejně přístupná místa pro vozíčkáře, a lze je také snadno přidat", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistiky" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Dovoz" - } - } - }, - "1": { - "render": { - "special": { - "message": "Přidat všechny navrhované značky" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -975,6 +948,33 @@ "override": { "name": "Parkovací místa pro osoby se zdravotním postižením" } + }, + "19": { + "override": { + "=title": { + "render": "Statistiky" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Dovoz" + } + } + }, + "1": { + "render": { + "special": { + "message": "Přidat všechny navrhované značky" + } + } + } + } + } } }, "title": "Na kolečkách" @@ -1135,6 +1135,10 @@ "stations": { "description": "Zobrazení, úprava a přidání podrobností o vlakovém nádraží", "layers": { + "3": { + "description": "Vrstva zobrazující vlaková nádraží", + "name": "Vlaková nádraží" + }, "16": { "description": "Zobrazuje vlaky odjíždějící z této stanice", "name": "Odjezdové tabule", @@ -1166,10 +1170,6 @@ "title": { "render": "Odjezdová tabule" } - }, - "3": { - "description": "Vrstva zobrazující vlaková nádraží", - "name": "Vlaková nádraží" } }, "title": "Vlaková nádraží" @@ -1306,4 +1306,4 @@ "shortDescription": "Mapa odpadkových košů", "title": "Odpadkový koš" } -} +} \ No newline at end of file diff --git a/langs/themes/da.json b/langs/themes/da.json index e5ea211ee..12db6a955 100644 --- a/langs/themes/da.json +++ b/langs/themes/da.json @@ -631,33 +631,6 @@ "onwheels": { "description": "På dette kort vises steder, der er offentligt tilgængelige for kørestolsbrugere, og de kan nemt tilføjes", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistikker" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Importere" - } - } - }, - "1": { - "render": { - "special": { - "message": "Tilføj alle de foreslåede tags" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -695,6 +668,33 @@ } } } + }, + "19": { + "override": { + "=title": { + "render": "Statistikker" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Importere" + } + } + }, + "1": { + "render": { + "special": { + "message": "Tilføj alle de foreslåede tags" + } + } + } + } + } } } }, @@ -915,4 +915,4 @@ "shortDescription": "Et kort med affaldskurve", "title": "Affaldskurv" } -} +} \ No newline at end of file diff --git a/langs/themes/de.json b/langs/themes/de.json index 4f2de334d..a11cd1341 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -995,13 +995,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Etymologie-Thema ausschließen" - } - } - }, "2": { "options": { "0": { @@ -1057,6 +1050,13 @@ "question": "GRB-Thema ausschließen" } } + }, + "10": { + "options": { + "0": { + "question": "Etymologie-Thema ausschließen" + } + } } }, "name": "Zentrum der Änderungssätze", @@ -1137,33 +1137,6 @@ "onwheels": { "description": "Auf dieser Karte können Sie öffentlich zugängliche Orte für Rollstuhlfahrer ansehen, bearbeiten oder hinzufügen", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistik" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Alle vorgeschlagenen Tags hinzufügen" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -1206,6 +1179,33 @@ "override": { "name": "Barrierefreie Parkplätze" } + }, + "19": { + "override": { + "=title": { + "render": "Statistik" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Alle vorgeschlagenen Tags hinzufügen" + } + } + } + } + } } }, "title": "Auf Rädern" @@ -1447,6 +1447,10 @@ "stations": { "description": "Bahnhofsdetails ansehen, bearbeiten und hinzufügen", "layers": { + "3": { + "description": "Ebene mit Bahnhöfen", + "name": "Bahnhöfe" + }, "16": { "description": "Anzeigen der Züge, die von diesem Bahnhof abfahren", "name": "Abfahrtstafeln", @@ -1478,10 +1482,6 @@ "title": { "render": "Abfahrtstafel" } - }, - "3": { - "description": "Ebene mit Bahnhöfen", - "name": "Bahnhöfe" } }, "title": "Bahnhöfe" @@ -1660,4 +1660,4 @@ "shortDescription": "Eine Karte mit Abfalleimern", "title": "Abfalleimer" } -} +} \ No newline at end of file diff --git a/langs/themes/en.json b/langs/themes/en.json index 9fbdf6358..d7ca47936 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -995,13 +995,6 @@ } } }, - "10": { - "options": { - "0": { - "question": "Exclude etymology theme" - } - } - }, "2": { "options": { "0": { @@ -1057,6 +1050,13 @@ "question": "Exclude GRB theme" } } + }, + "10": { + "options": { + "0": { + "question": "Exclude etymology theme" + } + } } }, "name": "Changeset centers", @@ -1137,33 +1137,6 @@ "onwheels": { "description": "On this map, publicly weelchair accessible places are shown and can be easily added", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistics" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Add all the suggested tags" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -1206,6 +1179,33 @@ "override": { "name": "Disabled parking spaces" } + }, + "19": { + "override": { + "=title": { + "render": "Statistics" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Add all the suggested tags" + } + } + } + } + } } }, "title": "OnWheels" @@ -1447,6 +1447,10 @@ "stations": { "description": "View, edit and add details to a train station", "layers": { + "3": { + "description": "Layer showing train stations", + "name": "Train Stations" + }, "16": { "description": "Displays showing the trains that will leave from this station", "name": "Departures boards", @@ -1478,10 +1482,6 @@ "title": { "render": "Departures board" } - }, - "3": { - "description": "Layer showing train stations", - "name": "Train Stations" } }, "title": "Train Stations" @@ -1660,4 +1660,4 @@ "shortDescription": "A map with waste baskets", "title": "Waste Baskets" } -} +} \ No newline at end of file diff --git a/langs/themes/es.json b/langs/themes/es.json index 227f94cba..9110808f3 100644 --- a/langs/themes/es.json +++ b/langs/themes/es.json @@ -956,33 +956,6 @@ "onwheels": { "description": "En este mapa se muestran los lugares accesibles al público en silla de ruedas, que pueden añadirse fácilmente", "layers": { - "19": { - "override": { - "=title": { - "render": "Estadísticas" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Importar" - } - } - }, - "1": { - "render": { - "special": { - "message": "Añadir todas las etiquetas sugeridas" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -1025,6 +998,33 @@ "override": { "name": "Plazas de aparcamiento para discapacitados" } + }, + "19": { + "override": { + "=title": { + "render": "Estadísticas" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Importar" + } + } + }, + "1": { + "render": { + "special": { + "message": "Añadir todas las etiquetas sugeridas" + } + } + } + } + } } }, "title": "Sobre ruedas" @@ -1240,6 +1240,10 @@ "stations": { "description": "Ver, editar y añadir detalles a una estación de tren", "layers": { + "3": { + "description": "Capa que muestra las estaciones de tren", + "name": "Estación de Tren" + }, "16": { "description": "Pantallas que muestran los trenes que saldrán de esta estación", "name": "Tableros de salidas", @@ -1271,10 +1275,6 @@ "title": { "render": "Tablero de salidas" } - }, - "3": { - "description": "Capa que muestra las estaciones de tren", - "name": "Estación de Tren" } }, "title": "Estaciones de tren" @@ -1453,4 +1453,4 @@ "shortDescription": "Un mapa con papeleras", "title": "Papeleras" } -} +} \ No newline at end of file diff --git a/langs/themes/fr.json b/langs/themes/fr.json index caea2f7f3..8fdf77ed2 100644 --- a/langs/themes/fr.json +++ b/langs/themes/fr.json @@ -868,33 +868,6 @@ "onwheels": { "description": "Sur cette carte nous pouvons voir et ajouter les différents endroits publiques accessibles aux chaises roulantes", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistiques" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Importation" - } - } - }, - "1": { - "render": { - "special": { - "message": "Ajouter tous les attributs suggérés" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -937,6 +910,33 @@ "override": { "name": "Places de stationnement pour personnes handicapées" } + }, + "19": { + "override": { + "=title": { + "render": "Statistiques" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Importation" + } + } + }, + "1": { + "render": { + "special": { + "message": "Ajouter tous les attributs suggérés" + } + } + } + } + } } }, "title": "OnWheels" @@ -1097,6 +1097,10 @@ "stations": { "description": "Voir, modifier et ajouter des détails à une gare ferroviaire", "layers": { + "3": { + "description": "Couche montrant les gares", + "name": "Gares ferroviaires" + }, "16": { "description": "Panneau affichant les trains au départ depuis cette gare", "name": "Panneaux des départs", @@ -1128,10 +1132,6 @@ "title": { "render": "Tableau des départs" } - }, - "3": { - "description": "Couche montrant les gares", - "name": "Gares ferroviaires" } }, "title": "Gares ferroviaires" @@ -1253,4 +1253,4 @@ "shortDescription": "Une carte des poubelles", "title": "Poubelles" } -} +} \ No newline at end of file diff --git a/langs/themes/it.json b/langs/themes/it.json index 97aa92dd3..bfed7edfa 100644 --- a/langs/themes/it.json +++ b/langs/themes/it.json @@ -714,4 +714,4 @@ "shortDescription": "Una cartina dei cestini dei rifiuti", "title": "Cestino dei rifiuti" } -} +} \ No newline at end of file diff --git a/langs/themes/nb_NO.json b/langs/themes/nb_NO.json index 6e6863e81..859a3bb64 100644 --- a/langs/themes/nb_NO.json +++ b/langs/themes/nb_NO.json @@ -494,6 +494,19 @@ }, "onwheels": { "layers": { + "4": { + "override": { + "filter": { + "0": { + "options": { + "1": { + "question": "Uten breddeinfo" + } + } + } + } + } + }, "19": { "override": { "=title": { @@ -520,19 +533,6 @@ } } } - }, - "4": { - "override": { - "filter": { - "0": { - "options": { - "1": { - "question": "Uten breddeinfo" - } - } - } - } - } } }, "title": "På hjul" @@ -626,6 +626,10 @@ }, "stations": { "layers": { + "3": { + "description": "Lag som viser togstasjoner", + "name": "Togstasjoner" + }, "16": { "tagRenderings": { "type": { @@ -636,10 +640,6 @@ } } } - }, - "3": { - "description": "Lag som viser togstasjoner", - "name": "Togstasjoner" } }, "title": "Togstasjoner" @@ -735,4 +735,4 @@ "shortDescription": "Oversikt over søppelkurver", "title": "Søppelkurv" } -} +} \ No newline at end of file diff --git a/langs/themes/nl.json b/langs/themes/nl.json index c6eb5cdde..c759ba1e3 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -908,33 +908,6 @@ "onwheels": { "description": "Op deze kaart kan je informatie rond rolstoeltoegankelijkheid zien, zoals toegangsdeuren met hun breedte en drempelhoogte, toiletten met toegankelijkheidsinformatie, recepties maar ook winkels, cafés en restaurants.", "layers": { - "19": { - "override": { - "=title": { - "render": "Statistieken" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Importeren" - } - } - }, - "1": { - "render": { - "special": { - "message": "Voeg alle gesuggereerde tags toe" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -977,6 +950,33 @@ "override": { "name": "Parkeerplaatsen voor personen met een beperking" } + }, + "19": { + "override": { + "=title": { + "render": "Statistieken" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Importeren" + } + } + }, + "1": { + "render": { + "special": { + "message": "Voeg alle gesuggereerde tags toe" + } + } + } + } + } } }, "title": "OnWheels" @@ -1183,6 +1183,10 @@ "stations": { "description": "Bekijk, bewerk en voeg details to aan een treinstation", "layers": { + "3": { + "description": "Laag met treinstations", + "name": "Treinstations" + }, "16": { "description": "Schermen die treinen tonen die van dit station vertrekken", "name": "Vertrektijdenborden", @@ -1214,10 +1218,6 @@ "title": { "render": "Vertrektijdenbord" } - }, - "3": { - "description": "Laag met treinstations", - "name": "Treinstations" } }, "title": "Treinstations" @@ -1387,4 +1387,4 @@ "shortDescription": "Een kaart met vuilnisbakken", "title": "Vuilnisbakken" } -} +} \ No newline at end of file diff --git a/langs/themes/pl.json b/langs/themes/pl.json index 24065c794..d744ef078 100644 --- a/langs/themes/pl.json +++ b/langs/themes/pl.json @@ -875,33 +875,6 @@ "onwheels": { "description": "Na tej mapie pokazane są miejsca publicznie dostępne dla wózków inwalidzkich, które można łatwo dodać", "layers": { - "19": { - "override": { - "=title": { - "render": "Statystyki" - } - } - }, - "20": { - "override": { - "+tagRenderings": { - "0": { - "render": { - "special": { - "text": "Import" - } - } - }, - "1": { - "render": { - "special": { - "message": "Dodaj wszystkie sugerowane znaczniki" - } - } - } - } - } - }, "4": { "override": { "filter": { @@ -944,6 +917,33 @@ "override": { "name": "Miejsca parkingowe dla niepełnosprawnych" } + }, + "19": { + "override": { + "=title": { + "render": "Statystyki" + } + } + }, + "20": { + "override": { + "+tagRenderings": { + "0": { + "render": { + "special": { + "text": "Import" + } + } + }, + "1": { + "render": { + "special": { + "message": "Dodaj wszystkie sugerowane znaczniki" + } + } + } + } + } } }, "title": "Na kółkach" @@ -1104,6 +1104,10 @@ "stations": { "description": "Przeglądaj, edytuj i dodawaj szczegóły do stacji kolejowej", "layers": { + "3": { + "description": "Warstwa pokazująca stacje kolejowe", + "name": "Stacje Kolejowe" + }, "16": { "description": "Ekrany wyświetlające pokazujące pociągi, które odjadą z tej stacji", "name": "Tablice odjazdów", @@ -1135,10 +1139,6 @@ "title": { "render": "Tablica odjazdów" } - }, - "3": { - "description": "Warstwa pokazująca stacje kolejowe", - "name": "Stacje Kolejowe" } }, "title": "Stacje Kolejowe" @@ -1260,4 +1260,4 @@ "shortDescription": "Mapa koszy na śmieci", "title": "Kosz na śmieci" } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 90e49eaa1..1a641d371 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7784,9 +7784,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", + "version": "1.0.30001618", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz", + "integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==", "dev": true, "funding": [ { @@ -24844,9 +24844,9 @@ "version": "2.0.1" }, "caniuse-lite": { - "version": "1.0.30001612", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001612.tgz", - "integrity": "sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==", + "version": "1.0.30001618", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz", + "integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==", "dev": true }, "canonicalize": { From 188763d88549fa44a83a82787812df5599467d10 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 16 May 2024 10:28:32 +0200 Subject: [PATCH 41/46] Chore: housekeeping --- assets/layers/usersettings/usersettings.json | 2 +- package-lock.json | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index c17c51ada..6bc0f0d8a 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -254,7 +254,7 @@ "de": "Hintergrundebene {mapcomplete-preferred-background-layer} als Standardhintergrund verwenden", "cs": "Použít vrstvu pozadí {mapcomplete-preferred-background-layer} jako výchozí pozadí", "nl": "Gebruik {mapcomplete-preferred-background-layer} altijd als achtergrondlaag", - "fr": "Utiliser le fond ({__current_background})par défaut" + "fr": "Utiliser le fond ({mapcomplete-preferred-background-layer})par défaut" }, "hideInAnswer": true } diff --git a/package-lock.json b/package-lock.json index 1a641d371..900f17b87 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7784,9 +7784,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001618", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz", - "integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==", + "version": "1.0.30001620", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz", + "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==", "dev": true, "funding": [ { @@ -24844,9 +24844,9 @@ "version": "2.0.1" }, "caniuse-lite": { - "version": "1.0.30001618", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz", - "integrity": "sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg==", + "version": "1.0.30001620", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz", + "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==", "dev": true }, "canonicalize": { From 187459cda19cc80366b57225083ff9557fc2f352 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 16 May 2024 10:38:46 +0200 Subject: [PATCH 42/46] Chore: sync translations --- assets/layers/recycling/recycling.json | 14 ++-- assets/layers/usersettings/usersettings.json | 3 +- assets/layers/waste_basket/waste_basket.json | 16 ++-- assets/themes/velopark/velopark.json | 1 - langs/ca.json | 6 +- langs/cs.json | 6 +- langs/da.json | 6 +- langs/de.json | 6 +- langs/en.json | 6 +- langs/es.json | 6 +- langs/fr.json | 6 +- langs/layers/en.json | 85 ++++++++++++++++++++ langs/layers/it.json | 3 + langs/layers/nl.json | 63 +++++++++++++++ langs/nl.json | 6 +- langs/pl.json | 6 +- langs/zh_Hant.json | 6 +- 17 files changed, 197 insertions(+), 48 deletions(-) diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json index 85afda7cd..9133cd093 100644 --- a/assets/layers/recycling/recycling.json +++ b/assets/layers/recycling/recycling.json @@ -1602,13 +1602,6 @@ }, "osmTags": "recycling:plastic=yes" }, - { - "question": { - "en": "Recycling of plastic packaging, metal packaging and drink cartons (PMD)", - "nl": "Recycling van plastic verkpakkingen, metalen verkpakkingen en drankpakken (PMD)" - }, - "osmTags": "recycling:pmd=yes" - }, { "question": { "en": "Recycling of scrap metal", @@ -1674,6 +1667,13 @@ "cs": "Recyklace jízdních kol" }, "osmTags": "recycling:bicycles=yes" + }, + { + "question": { + "en": "Recycling of plastic packaging, metal packaging and drink cartons (PMD)", + "nl": "Recycling van plastic verkpakkingen, metalen verkpakkingen en drankpakken (PMD)" + }, + "osmTags": "recycling:pmd=yes" } ] }, diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index b6b0a3eac..d1551bda3 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -510,8 +510,7 @@ }, { "id": "more_privacy", - "question": - { + "question": { "en": "When making changes, should a rough indication be given how far away you were from the object?" }, "questionHint": { diff --git a/assets/layers/waste_basket/waste_basket.json b/assets/layers/waste_basket/waste_basket.json index 2df99a79c..a05949a90 100644 --- a/assets/layers/waste_basket/waste_basket.json +++ b/assets/layers/waste_basket/waste_basket.json @@ -206,13 +206,6 @@ "cs": "Odpadkový koš na plasty" } }, - { - "if": "waste=pmd", - "then": { - "en": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)", - "nl": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" - } - }, { "if": "waste=paper", "then": { @@ -226,6 +219,13 @@ "ca": "Una paperera per a paper", "cs": "Odpadový koš na papír" } + }, + { + "if": "waste=pmd", + "then": { + "en": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)", + "nl": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" + } } ] }, @@ -454,4 +454,4 @@ "enableRelocation": false, "enableImproveAccuracy": true } -} \ No newline at end of file +} diff --git a/assets/themes/velopark/velopark.json b/assets/themes/velopark/velopark.json index 35d27cccd..a9706ec50 100644 --- a/assets/themes/velopark/velopark.json +++ b/assets/themes/velopark/velopark.json @@ -435,7 +435,6 @@ ] } ], - "tagRenderings": [ { "id": "tutorial", diff --git a/langs/ca.json b/langs/ca.json index ea121a2ff..71812ba1a 100644 --- a/langs/ca.json +++ b/langs/ca.json @@ -558,11 +558,11 @@ "intro": "La privadesa és important, tant per a l'individu com per a la societat. MapComplete intenta respectar la vostra privadesa tant com sigui possible, fins al punt que no es necessita cap banner de galetes molest. No obstant això, encara volem informar-vos quina informació es recopila i es comparteix, en quines circumstàncies i per què es fan aquestes compensacions.", "items": { "changesYouMake": "Els canvis que has fet", - "username": "El teu nom d'usuari", "date": "Quan es fa aquest canvi", - "theme": "La petició que vas utilitzar mentre feies el canvi", + "distanceIndicator": "Una indicació de la proximitat a la que estaves dels objectes canviats. Altres mapejadors poden utilitzar aquesta informació per determinar si es va fer un canvi basant-se en una enquesta o en una investigació remota", "language": "L'idioma de la interfície d'usuari", - "distanceIndicator": "Una indicació de la proximitat a la que estaves dels objectes canviats. Altres mapejadors poden utilitzar aquesta informació per determinar si es va fer un canvi basant-se en una enquesta o en una investigació remota" + "theme": "La petició que vas utilitzar mentre feies el canvi", + "username": "El teu nom d'usuari" }, "miscCookies": "MapComplete s'integra amb diversos altres serveis, especialment per carregar imatges de característiques. Les imatges s'allotgen en diversos servidors de tercers, que poden establir galetes per si mateixos.", "miscCookiesTitle": "Altres galetes", diff --git a/langs/cs.json b/langs/cs.json index 7406a15aa..265e1be42 100644 --- a/langs/cs.json +++ b/langs/cs.json @@ -548,11 +548,11 @@ "intro": "Soukromí je důležité – jak pro jednotlivce, tak pro společnost. MapComplete se snaží co nejvíce respektovat vaše soukromí – až do té míry není potřeba žádný obtěžující banner cookie. Přesto bychom vás rádi informovali, které informace jsou shromažďovány a sdíleny, za jakých okolností a proč jsou tyto kompromisy prováděny.", "items": { "changesYouMake": "Provedené změny", - "username": "Vaše uživatelské jméno", "date": "Když je tato změna provedena", - "theme": "Motiv kterou jste použili při provádění změny", + "distanceIndicator": "Indikace toho, jak blízko jste byli ke změněným objektům. Ostatní tvůrci map mohou tyto informace použít k určení, zda byla změna provedena na základě průzkumu nebo vzdáleného výzkumu", "language": "Jazyk uživatelského rozhraní", - "distanceIndicator": "Indikace toho, jak blízko jste byli ke změněným objektům. Ostatní tvůrci map mohou tyto informace použít k určení, zda byla změna provedena na základě průzkumu nebo vzdáleného výzkumu" + "theme": "Motiv kterou jste použili při provádění změny", + "username": "Vaše uživatelské jméno" }, "miscCookies": "MapComplete se integruje s různými dalšími službami, zejména pro načítání obrázků funkcí. Obrázky jsou hostovány na různých serverech třetích stran, které mohou samy nastavovat soubory cookie.", "miscCookiesTitle": "Jiné cookies", diff --git a/langs/da.json b/langs/da.json index e6bb25ec4..2f9b85937 100644 --- a/langs/da.json +++ b/langs/da.json @@ -471,11 +471,11 @@ "intro": "Privatliv er vigtigt - både for den enkelte og for samfundet. MapComplete forsøger at respektere dit privatliv så meget som muligt - så vidt muligt uden et irriterende cookie-banner. Vi vil dog stadig gerne informere dig om, hvilke oplysninger der indsamles og deles, under hvilke omstændigheder, og hvorfor disse afvejninger foretages.", "items": { "changesYouMake": "De ændringer, du har foretaget", - "username": "Dit brugernavn", "date": "Hvornår denne ændring er foretaget", - "theme": "Det tema, du brugte, mens du foretog ændringen", + "distanceIndicator": "En angivelse af, hvor tæt du var på ændrede objekter. Andre kortlæggere kan bruge disse oplysninger til at afgøre, om en ændring blev foretaget på baggrund af en kortlægning på stedet eller på baggrund af fjernundersøgelser", "language": "Sproget i brugergrænsefladen", - "distanceIndicator": "En angivelse af, hvor tæt du var på ændrede objekter. Andre kortlæggere kan bruge disse oplysninger til at afgøre, om en ændring blev foretaget på baggrund af en kortlægning på stedet eller på baggrund af fjernundersøgelser" + "theme": "Det tema, du brugte, mens du foretog ændringen", + "username": "Dit brugernavn" }, "miscCookies": "MapComplete integreres med forskellige andre tjenester, især til at hente billeder af elementer. Billederne er hostet på forskellige tredjepartsservere, som måske selv sætter cookies.", "miscCookiesTitle": "Andre cookies", diff --git a/langs/de.json b/langs/de.json index 95b064ac3..b4ac1fe03 100644 --- a/langs/de.json +++ b/langs/de.json @@ -682,11 +682,11 @@ "intro": "Privatsphäre ist wichtig - sowohl für den Einzelnen als auch für die Gesellschaft. MapComplete versucht, Ihre Privatsphäre so weit wie möglich zu respektieren - bis zu dem Punkt, an dem kein lästiger Cookie-Banner mehr nötig ist. Dennoch möchten wir Sie darüber informieren, welche Informationen gesammelt und weitergegeben werden, unter welchen Umständen und warum diese Kompromisse gemacht werden.", "items": { "changesYouMake": "Ihre Änderungen", - "username": "Ihren Benutzernamen", "date": "Den Zeitpunkt Ihrer Änderungen", - "theme": "Das bei Ihren Änderungen verwendete MapComplete-Thema", + "distanceIndicator": "Ihre Entfernung zu den geänderten Objekten. Dadurch kann festgestellt werden, ob die Änderungen vor Ort gespeichert wurden", "language": "Die Sprache Ihrer Benutzeroberfläche", - "distanceIndicator": "Ihre Entfernung zu den geänderten Objekten. Dadurch kann festgestellt werden, ob die Änderungen vor Ort gespeichert wurden" + "theme": "Das bei Ihren Änderungen verwendete MapComplete-Thema", + "username": "Ihren Benutzernamen" }, "miscCookies": "MapComplete integriert weitere Dienste, insbesondere um Bilder von Objekten zu laden. Diese Bilder werden auf Servern von Drittanbietern gehostet, die möglicherweise eigene Cookies setzen.", "miscCookiesTitle": "Andere Cookies", diff --git a/langs/en.json b/langs/en.json index 14f4c43ba..833262114 100644 --- a/langs/en.json +++ b/langs/en.json @@ -686,11 +686,11 @@ "intro": "Privacy is important - for both the individual and for society. MapComplete tries to respect your privacy as much as possible - up to the point no annoying cookie banner is needed. However, we still would like to inform you which information is gathered and shared, under which circumstances and why these trade-offs are made.", "items": { "changesYouMake": "The changes you made", - "username": "Your username", "date": "When this change is made", - "theme": "The theme you used while making the change", + "distanceIndicator": "An indication of how close you were to changed objects. Other mappers can use this information to determine if a change was made based on survey or on remote research", "language": "The language of the user interface", - "distanceIndicator": "An indication of how close you were to changed objects. Other mappers can use this information to determine if a change was made based on survey or on remote research" + "theme": "The theme you used while making the change", + "username": "Your username" }, "miscCookies": "MapComplete integrates with various other services, especially to load images of features. Images are hosted on various third-party servers, which might set cookies on their own.", "miscCookiesTitle": "Other cookies", diff --git a/langs/es.json b/langs/es.json index 0b63eb9bd..3b1e5d80c 100644 --- a/langs/es.json +++ b/langs/es.json @@ -442,11 +442,11 @@ "intro": "La privacidad es importante - tanto para el individual como para la sociedad. MapComplete intenta respetar tu privacidad tanto como sea posible - hasta el punto de que no se necesita ningún banner de cookies molesto es necesario. De todas formas, nos gustaría informarte de qué información se recolecta y se comparte, bajo que circunstancias y por qué se hacen estos compromisos.", "items": { "changesYouMake": " Los cambios que has hecho", - "username": "Tu nombre de usuario", "date": "Cuándo se efectuó el cambio", - "theme": "El tema que utilizaste mientras que hacías el cambio", + "distanceIndicator": "Una indicación de como de cerca estabas a los objetos cambiados. Otros mapeadores pueden utilizar esta información para determina si un cambio se hizo basándose en un sondeo o en una investigación remota", "language": "El idioma de la interfaz de usuario", - "distanceIndicator": "Una indicación de como de cerca estabas a los objetos cambiados. Otros mapeadores pueden utilizar esta información para determina si un cambio se hizo basándose en un sondeo o en una investigación remota" + "theme": "El tema que utilizaste mientras que hacías el cambio", + "username": "Tu nombre de usuario" }, "miscCookies": "MapComplete se integra con varios otros servicios, especialmente para cargar imágenes de características. Las imágenes se alojan en varios servidores de terceros, que puede que establezcan cookies por si mismos.", "miscCookiesTitle": "Otras cookies", diff --git a/langs/fr.json b/langs/fr.json index 2603b95d1..0e28ed099 100644 --- a/langs/fr.json +++ b/langs/fr.json @@ -461,11 +461,11 @@ "intro": "La vie privée est importante - tant pour l'individu que pour la société. MapComplete s'efforce de respecter votre vie privée autant que possible - jusqu'au point où aucune bannière de cookie gênante n'est nécessaire. Toutefois, nous tenons à vous informer des informations qui sont recueillies et partagées, des circonstances dans lesquelles elles le sont et des raisons pour lesquelles ces compromis sont faits.", "items": { "changesYouMake": "Les modifications que vous avez faites", - "username": "Votre nom d'utilisateur", "date": "Quand la modification a été faite", - "theme": "Le thème utilisé lorsque vous faites la modification", + "distanceIndicator": "Une indication sur votre proximité avec l'objet modifié. D'autres utilisateurs peuvent utiliser cette information pour déterminer si la modification a été faite par un relevé de terrain ou par une recherche à distance", "language": "La langue de l'interface utilisateur", - "distanceIndicator": "Une indication sur votre proximité avec l'objet modifié. D'autres utilisateurs peuvent utiliser cette information pour déterminer si la modification a été faite par un relevé de terrain ou par une recherche à distance" + "theme": "Le thème utilisé lorsque vous faites la modification", + "username": "Votre nom d'utilisateur" }, "miscCookiesTitle": "Autres cookies", "title": "Politique de confidentialité", diff --git a/langs/layers/en.json b/langs/layers/en.json index ff6f5d141..27a21918a 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -2193,6 +2193,18 @@ }, "17": { "question": "Has a
BS1363 (Type G)
connector" + }, + "18": { + "question": "Has a
NEMA 5-15 (Type B)
connector" + }, + "19": { + "question": "Has a
SEV 1011 T23 (Type J)
connector" + }, + "20": { + "question": "Has a
AS3112 (Type I)
connector" + }, + "21": { + "question": "Has a
NEMA 5-20 (Type B)
connector" } } } @@ -2343,6 +2355,30 @@ }, "33": { "then": "BS1363 (Type G)" + }, + "34": { + "then": "NEMA 5-15 (Type B)" + }, + "35": { + "then": "NEMA 5-15 (Type B)" + }, + "36": { + "then": "SEV 1011 T23 (Type J)" + }, + "37": { + "then": "SEV 1011 T23 (Type J)" + }, + "38": { + "then": "AS3112 (Type I)" + }, + "39": { + "then": "AS3112 (Type I)" + }, + "40": { + "then": "NEMA 5-20 (Type B)" + }, + "41": { + "then": "NEMA 5-20 (Type B)" } }, "question": "Which charging connections are available here?" @@ -2580,6 +2616,18 @@ }, "16": { "2": "BS1363 (Type G)" + }, + "17": { + "2": "NEMA 5-15 (Type B)" + }, + "18": { + "2": "SEV 1011 T23 (Type J)" + }, + "19": { + "2": "AS3112 (Type I)" + }, + "20": { + "2": "NEMA 5-20 (Type B)" } } } @@ -7790,6 +7838,9 @@ }, "3": { "then": "Dogs are allowed and can run around freely" + }, + "4": { + "then": "Dogs are allowed only outside" } }, "question": "Are dogs allowed in this business?" @@ -8286,6 +8337,9 @@ }, "21": { "question": "Recycling of bicycles" + }, + "22": { + "question": "Recycling of plastic packaging, metal packaging and drink cartons (PMD)" } } }, @@ -8421,6 +8475,9 @@ }, "24": { "then": "Bicycles can be recycled here" + }, + "25": { + "then": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here" } }, "question": "What can be recycled here?" @@ -10799,6 +10856,25 @@ } } }, + "more_privacy": { + "mappings": { + "0": { + "then": "When making changes to OpenStreetMap, do not indicate how far away you were from the changed objects." + }, + "1": { + "then": "When making changes to OpenStreetMap, roughly indicate how far away you were from the changed objects. This helps other contributors to understand how you made the change" + } + }, + "question": "When making changes, should a rough indication be given how far away you were from the object?", + "questionHint": "If you make a change to one or more objects and you enabled your location, a rough indication of where you made will be saved: it is indicated if you were closer then 25m, 500m, 5km or further away then 5km. This helps mappers understand your context when making changes, but gives an indication of where you were at this time. " + }, + "more_privacy_theme_override": { + "mappings": { + "0": { + "then": "This theme is sensitive. Making changes will not indicate if you were nearby explicitly." + } + } + }, "picture-license": { "mappings": { "0": { @@ -11236,6 +11312,12 @@ }, "6": { "question": "Waste basket for plastic" + }, + "7": { + "question": "Waste basket for plastic packaging, metal packaging and drink cartons (PMD)" + }, + "8": { + "question": "Waste basket for paper" } } }, @@ -11293,6 +11375,9 @@ }, "7": { "then": "A waste basket for paper" + }, + "8": { + "then": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)" } }, "question": "What kind of waste basket is this?" diff --git a/langs/layers/it.json b/langs/layers/it.json index 0272461b4..ac5b0af46 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -2086,6 +2086,9 @@ }, "3": { "then": "I cani sono ammessi e possono andare in giro liberamente" + }, + "4": { + "then": "I cani sono ammessi solo all'esterno" } }, "question": "I cani sono ammessi in quest’attività?" diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 3c2e71774..cb7e1d405 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -1885,6 +1885,18 @@ }, "17": { "question": "Heeft een
BS1363 (VK 3-pin)
" + }, + "18": { + "question": "Heeft een
NEMA 5-15 (VS 3-pin)
" + }, + "19": { + "question": "Heeft een
SEV 1011 T23 (Zwitserse 3-pin)
" + }, + "20": { + "question": "Heeft een
AS3112 (Australische 3-pin)
" + }, + "21": { + "question": "Heeft een
NEMA 5-20 (VS 3-pin)
" } } } @@ -2035,6 +2047,30 @@ }, "33": { "then": "BS1363 (VK 3-pin)" + }, + "34": { + "then": "NEMA 5-15 (VS 3-pin)" + }, + "35": { + "then": "NEMA 5-15 (VS 3-pin)" + }, + "36": { + "then": "SEV 1011 T23 (Zwitserse 3-pin)" + }, + "37": { + "then": "SEV 1011 T23 (Zwitserse 3-pin)" + }, + "38": { + "then": "AS3112 (Australische 3-pin)" + }, + "39": { + "then": "AS3112 (Australische 3-pin)" + }, + "40": { + "then": "NEMA 5-20 (VS 3-pin)" + }, + "41": { + "then": "NEMA 5-20 (VS 3-pin)" } }, "question": "Welke aansluitingen zijn hier beschikbaar?" @@ -2272,6 +2308,18 @@ }, "16": { "2": "BS1363 (VK 3-pin)" + }, + "17": { + "2": "NEMA 5-15 (VS 3-pin)" + }, + "18": { + "2": "SEV 1011 T23 (Zwitserse 3-pin)" + }, + "19": { + "2": "AS3112 (Australische 3-pin)" + }, + "20": { + "2": "NEMA 5-20 (VS 3-pin)" } } } @@ -6869,6 +6917,9 @@ }, "21": { "question": "Recycling van fietsen" + }, + "22": { + "question": "Recycling van plastic verkpakkingen, metalen verkpakkingen en drankpakken (PMD)" } } }, @@ -7004,6 +7055,9 @@ }, "24": { "then": "Fietsen (en fietswrakken) kunnen hier gerecycled worden" + }, + "25": { + "then": "Plastic verpakkingen, metalen verpakkingen en drankpakken kunnen hier gerecycled worden" } }, "question": "Wat kan hier gerecycled worden?" @@ -9288,6 +9342,12 @@ }, "6": { "question": "Vuilnisbak voor plastic" + }, + "7": { + "question": "Vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" + }, + "8": { + "question": "Vuilnisbak voor papier" } } }, @@ -9345,6 +9405,9 @@ }, "7": { "then": "Een vuilnisbak voor papier" + }, + "8": { + "then": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" } }, "question": "Wat voor soort vuilnisbak is dit?" diff --git a/langs/nl.json b/langs/nl.json index 5bd35bec7..129c515e1 100644 --- a/langs/nl.json +++ b/langs/nl.json @@ -589,11 +589,11 @@ "intro": "We vinden privacy belangrijk, zowel for het individu als voor de samenleving. MapComplete probeert zo veel mogelijk te vermijden dat private gegevens worden verzameld. Daarom is er zelfs geen cookie banner nodig. Maar we geven graag informatie over welke data verzameld en gedeeld worden, onder welke omstandigheden, en waarom deze afwegingen gemaakt worden.", "items": { "changesYouMake": "De aanpassingen aan de data", - "username": "Je gebruikersnaam", "date": "Wanneer deze wijziging werd gemaakt", - "theme": "Het thema dat je gebruikt om de wijziging te maken", + "distanceIndicator": "Een indicatie hoe ver jij je van de gewijzigde objecten bevindt. Andere bijdragers kunnen deze informatie gebruiken om af te leiden of de wijziging gemaakt door lokaal te gaan kijken of door onderzoek vanop afstand", "language": "De taal van de gebruikersinterface", - "distanceIndicator": "Een indicatie hoe ver jij je van de gewijzigde objecten bevindt. Andere bijdragers kunnen deze informatie gebruiken om af te leiden of de wijziging gemaakt door lokaal te gaan kijken of door onderzoek vanop afstand" + "theme": "Het thema dat je gebruikt om de wijziging te maken", + "username": "Je gebruikersnaam" }, "miscCookies": "MapComplete integreert met verschillende andere services, in het bijzonder om afbeeldingen van kaart-objecten te tonen. Deze afbeeldingen zijn opgeslaan bij diverse websites, die elk cookies kunnen instellen.", "miscCookiesTitle": "Andere cookies", diff --git a/langs/pl.json b/langs/pl.json index f84f1b2ec..fc39beed8 100644 --- a/langs/pl.json +++ b/langs/pl.json @@ -548,11 +548,11 @@ "intro": "Prywatność jest ważna – zarówno dla jednostki, jak i dla społeczeństwa. MapComplete stara się w jak największym stopniu szanować Twoją prywatność - do tego stopnia, że nie jest potrzebny irytujący baner z plikami cookie. Jednakże nadal chcielibyśmy poinformować Cię, jakie informacje są gromadzone i udostępniane, w jakich okolicznościach i dlaczego dokonuje się takich kompromisów.", "items": { "changesYouMake": "Wprowadzone zmiany", - "username": "Twoja nazwa użytkownika", "date": "Kiedy dokonano tej zmiany", - "theme": "Motyw, którego użyłeś podczas wprowadzania zmiany", + "distanceIndicator": "Wskazanie, jak blisko byłeś zmienionych obiektów. Inni twórcy map mogą wykorzystać te informacje do ustalenia, czy zmiana została wprowadzona na podstawie realnych odwiedzin miejsca czy zdalnych badań.", "language": "Język interfejsu użytkownika", - "distanceIndicator": "Wskazanie, jak blisko byłeś zmienionych obiektów. Inni twórcy map mogą wykorzystać te informacje do ustalenia, czy zmiana została wprowadzona na podstawie realnych odwiedzin miejsca czy zdalnych badań." + "theme": "Motyw, którego użyłeś podczas wprowadzania zmiany", + "username": "Twoja nazwa użytkownika" }, "miscCookies": "MapComplete integruje się z różnymi innymi usługami, szczególnie w celu wczytywania obrazów obiektów. Obrazy są przechowywane na różnych serwerach stron trzecich, które mogą samodzielnie ustawiać pliki cookie.", "miscCookiesTitle": "Inne ciasteczka", diff --git a/langs/zh_Hant.json b/langs/zh_Hant.json index bb11d2358..9535c1c5a 100644 --- a/langs/zh_Hant.json +++ b/langs/zh_Hant.json @@ -659,11 +659,11 @@ "intro": "隱私相當重要 - 對個人與對社會都是。MapComplete 試著盡可能尊重你的隱私 - 所以不會需要惱人的 cookie。然而我們仍然告知,在那些情境下,以及做出的選擇與取捨下,有那些資訊會被收集與分享。", "items": { "changesYouMake": "你做的變動", - "username": "你的使用者名稱", "date": "你在什麼時間做的變動", - "theme": "當你做出變動時使用的主題", + "distanceIndicator": "你會多接近時變動物件的指示。其他的圖客可以用這些資訊來決定是否是居於踏查還是遠端研究", "language": "使用者介面語言", - "distanceIndicator": "你會多接近時變動物件的指示。其他的圖客可以用這些資訊來決定是否是居於踏查還是遠端研究" + "theme": "當你做出變動時使用的主題", + "username": "你的使用者名稱" }, "miscCookies": "MapComplete 整合多項服務,特別是載入圖徵的圖片。圖片是放在多個第三方服務供應商,也許會有他們自己的 cookies。", "miscCookiesTitle": "其他 cookies", From 2f50dbdf363084e7c324102cf8bf01d707688232 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 16 May 2024 10:40:03 +0200 Subject: [PATCH 43/46] Move mappings around --- assets/layers/recycling/recycling.json | 24 ++++++++++---------- assets/layers/waste_basket/waste_basket.json | 14 ++++++------ langs/layers/ca.json | 18 +++++++-------- langs/layers/cs.json | 18 +++++++-------- langs/layers/da.json | 2 +- langs/layers/de.json | 18 +++++++-------- langs/layers/en.json | 20 ++++++++-------- langs/layers/es.json | 4 ++-- langs/layers/fr.json | 18 +++++++-------- langs/layers/id.json | 2 +- langs/layers/it.json | 14 ++++++------ langs/layers/nl.json | 20 ++++++++-------- 12 files changed, 86 insertions(+), 86 deletions(-) diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json index 9133cd093..5aef12d3a 100644 --- a/assets/layers/recycling/recycling.json +++ b/assets/layers/recycling/recycling.json @@ -1112,6 +1112,18 @@ "class": "medium" } }, + { + "if": "recycling:pmd=yes", + "ifnot": "recycling:pmd=", + "then": { + "en": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here", + "nl": "Plastic verpakkingen, metalen verpakkingen en drankpakken kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/pmd.svg", + "class": "medium" + } + }, { "if": "recycling:printer_cartridges=yes", "ifnot": "recycling:printer_cartridges=", @@ -1249,18 +1261,6 @@ "path": "./assets/layers/recycling/bicycles.svg", "class": "medium" } - }, - { - "if": "recycling:pmd=yes", - "ifnot": "recycling:pmd=", - "then": { - "en": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here", - "nl": "Plastic verpakkingen, metalen verpakkingen en drankpakken kunnen hier gerecycled worden" - }, - "icon": { - "path": "./assets/layers/recycling/pmd.svg", - "class": "medium" - } } ] }, diff --git a/assets/layers/waste_basket/waste_basket.json b/assets/layers/waste_basket/waste_basket.json index a05949a90..2f78b9c7c 100644 --- a/assets/layers/waste_basket/waste_basket.json +++ b/assets/layers/waste_basket/waste_basket.json @@ -206,6 +206,13 @@ "cs": "Odpadkový koš na plasty" } }, + { + "if": "waste=pmd", + "then": { + "en": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)", + "nl": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" + } + }, { "if": "waste=paper", "then": { @@ -219,13 +226,6 @@ "ca": "Una paperera per a paper", "cs": "Odpadový koš na papír" } - }, - { - "if": "waste=pmd", - "then": { - "en": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)", - "nl": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" - } } ] }, diff --git a/langs/layers/ca.json b/langs/layers/ca.json index a650871c5..a73fe680c 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -6725,28 +6725,28 @@ "16": { "then": "Aquí es pot reciclar plàstic" }, - "17": { + "18": { "then": "Els cartutxos d'impressora es poden reciclar aquí" }, - "18": { + "19": { "then": "Aquí es pot reciclar ferralla" }, - "19": { - "then": "Aquí es poden reciclar sabates" - }, "20": { - "then": "Aquí es poden reciclar petits electrodomèstics" + "then": "Aquí es poden reciclar sabates" }, "21": { "then": "Aquí es poden reciclar petits electrodomèstics" }, "22": { - "then": "Aquí es poden reciclar agulles" + "then": "Aquí es poden reciclar petits electrodomèstics" }, "23": { - "then": "Ací es pot reciclar el rebuig" + "then": "Aquí es poden reciclar agulles" }, "24": { + "then": "Ací es pot reciclar el rebuig" + }, + "25": { "then": "Aquí es poden reciclar bicicletes" } }, @@ -9121,7 +9121,7 @@ "6": { "then": "Una paperera per a plàstic" }, - "7": { + "8": { "then": "Una paperera per a paper" } }, diff --git a/langs/layers/cs.json b/langs/layers/cs.json index 4ec8e3268..cce41264c 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -6988,28 +6988,28 @@ "16": { "then": "Plast se zde dá recyklovat" }, - "17": { + "18": { "then": "Náplně do tiskáren lze recyklovat zde" }, - "18": { + "19": { "then": "Kovový šrot lze zde recyklovat" }, - "19": { - "then": "Boty se zde dají recyklovat" - }, "20": { - "then": "Drobné elektrospotřebiče se zde dají recyklovat" + "then": "Boty se zde dají recyklovat" }, "21": { "then": "Drobné elektrospotřebiče se zde dají recyklovat" }, "22": { - "then": "Jehly se zde dají recyklovat" + "then": "Drobné elektrospotřebiče se zde dají recyklovat" }, "23": { - "then": "Zbytkový odpad zde lze recyklovat" + "then": "Jehly se zde dají recyklovat" }, "24": { + "then": "Zbytkový odpad zde lze recyklovat" + }, + "25": { "then": "Kola se zde dají recyklovat" } }, @@ -9380,7 +9380,7 @@ "6": { "then": "Odpadkový koš na plasty" }, - "7": { + "8": { "then": "Odpadový koš na papír" } }, diff --git a/langs/layers/da.json b/langs/layers/da.json index b02ab560f..b72b0f2f0 100644 --- a/langs/layers/da.json +++ b/langs/layers/da.json @@ -2610,7 +2610,7 @@ "6": { "then": "En affaldskurv til plast" }, - "7": { + "8": { "then": "En affaldskurv til papir" } }, diff --git a/langs/layers/de.json b/langs/layers/de.json index ad012f2bc..d776b5fd7 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -8273,28 +8273,28 @@ "16": { "then": "Kunststoff kann hier recycelt werden" }, - "17": { + "18": { "then": "Druckerpatronen können hier recycelt werden" }, - "18": { + "19": { "then": "Metallschrott kann hier recycelt werden" }, - "19": { - "then": "Schuhe können hier recycelt werden" - }, "20": { - "then": "Elektrokleingeräte können hier recycelt werden" + "then": "Schuhe können hier recycelt werden" }, "21": { "then": "Elektrokleingeräte können hier recycelt werden" }, "22": { - "then": "Nadeln können hier recycelt werden" + "then": "Elektrokleingeräte können hier recycelt werden" }, "23": { - "then": "Restmüll kann hier recycelt werden" + "then": "Nadeln können hier recycelt werden" }, "24": { + "then": "Restmüll kann hier recycelt werden" + }, + "25": { "then": "Fahrräder können hier recycelt werden" } }, @@ -11166,7 +11166,7 @@ "6": { "then": "Der Abfalleimer ist für Plastik" }, - "7": { + "8": { "then": "Der Abfalleimer ist für Papier" } }, diff --git a/langs/layers/en.json b/langs/layers/en.json index 27a21918a..92077a494 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -8453,31 +8453,31 @@ "then": "Plastic can be recycled here" }, "17": { - "then": "Printer cartridges can be recycled here" + "then": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here" }, "18": { - "then": "Scrap metal can be recycled here" + "then": "Printer cartridges can be recycled here" }, "19": { - "then": "Shoes can be recycled here" + "then": "Scrap metal can be recycled here" }, "20": { - "then": "Small electrical appliances can be recycled here" + "then": "Shoes can be recycled here" }, "21": { "then": "Small electrical appliances can be recycled here" }, "22": { - "then": "Needles can be recycled here" + "then": "Small electrical appliances can be recycled here" }, "23": { - "then": "Residual waste can be recycled here" + "then": "Needles can be recycled here" }, "24": { - "then": "Bicycles can be recycled here" + "then": "Residual waste can be recycled here" }, "25": { - "then": "Plastic packaging, metal packaging and drink cartons (PMD) can be recycled here" + "then": "Bicycles can be recycled here" } }, "question": "What can be recycled here?" @@ -11374,10 +11374,10 @@ "then": "A waste basket for plastic" }, "7": { - "then": "A waste basket for paper" + "then": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)" }, "8": { - "then": "A waste basket for plastic packaging, metal packaging and drink cartons (PMD)" + "then": "A waste basket for paper" } }, "question": "What kind of waste basket is this?" diff --git a/langs/layers/es.json b/langs/layers/es.json index d2fc81df3..deb453b4f 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -3913,10 +3913,10 @@ "16": { "then": "Aquí se puede reciclar plástico" }, - "18": { + "19": { "then": "Aquí se puede reciclar chatarra" }, - "19": { + "20": { "then": "El calzado se puede reciclar aquí" } }, diff --git a/langs/layers/fr.json b/langs/layers/fr.json index f64c95f63..c8f2e4440 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -5444,28 +5444,28 @@ "16": { "then": "Le plastique peut être recyclé ici" }, - "17": { + "18": { "then": "Les cartouches d'imprimante peuvent être recyclées ici" }, - "18": { + "19": { "then": "La ferraille peut être recyclée ici" }, - "19": { - "then": "Les chaussures peuvent être recyclées ici" - }, "20": { - "then": "Les petits appareils électriques peuvent être recyclés ici" + "then": "Les chaussures peuvent être recyclées ici" }, "21": { "then": "Les petits appareils électriques peuvent être recyclés ici" }, "22": { - "then": "Les aiguilles peuvent être recyclées ici" + "then": "Les petits appareils électriques peuvent être recyclés ici" }, "23": { - "then": "Les autres déchets peuvent être déposés ici" + "then": "Les aiguilles peuvent être recyclées ici" }, "24": { + "then": "Les autres déchets peuvent être déposés ici" + }, + "25": { "then": "Les vélos peuvent être recyclés ici" } }, @@ -7117,7 +7117,7 @@ "6": { "then": "Une poubelle pour plastiques" }, - "7": { + "8": { "then": "Une poubelle pour papier" } }, diff --git a/langs/layers/id.json b/langs/layers/id.json index b33cd73a2..aa5b630a9 100644 --- a/langs/layers/id.json +++ b/langs/layers/id.json @@ -855,7 +855,7 @@ "6": { "then": "Keranjang sampah untuk plastik" }, - "7": { + "8": { "then": "Keranjang sampah untuk kertas" } }, diff --git a/langs/layers/it.json b/langs/layers/it.json index ac5b0af46..f65184d76 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -2326,22 +2326,22 @@ "16": { "then": "Plastica" }, - "18": { + "19": { "then": "Rottami metallici" }, - "19": { - "then": "Scarpe" - }, "20": { - "then": "Piccoli elettrodomestici" + "then": "Scarpe" }, "21": { "then": "Piccoli elettrodomestici" }, "22": { - "then": "Aghi e oggetti appuntiti" + "then": "Piccoli elettrodomestici" }, "23": { + "then": "Aghi e oggetti appuntiti" + }, + "24": { "then": "Secco" } }, @@ -3046,7 +3046,7 @@ "6": { "then": "Un cestino rifiuti per la plastica" }, - "7": { + "8": { "then": "Un cestino rifiuti per la carta" } }, diff --git a/langs/layers/nl.json b/langs/layers/nl.json index cb7e1d405..d745ddab5 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -7033,31 +7033,31 @@ "then": "Plastic kan hier gerecycled worden" }, "17": { - "then": "Inktpatronen kunnen hier gerecycleerd worden" + "then": "Plastic verpakkingen, metalen verpakkingen en drankpakken kunnen hier gerecycled worden" }, "18": { - "then": "Oud metaal kan hier gerecycled worden" + "then": "Inktpatronen kunnen hier gerecycleerd worden" }, "19": { - "then": "Schoenen kunnen hier gerecycled worden" + "then": "Oud metaal kan hier gerecycled worden" }, "20": { - "then": "Kleine elektrische apparaten kunnen hier gerecycled worden" + "then": "Schoenen kunnen hier gerecycled worden" }, "21": { "then": "Kleine elektrische apparaten kunnen hier gerecycled worden" }, "22": { - "then": "Injectienaalden kunnen hier gerecycled worden" + "then": "Kleine elektrische apparaten kunnen hier gerecycled worden" }, "23": { - "then": "Restafval kan hier gerecycled worden" + "then": "Injectienaalden kunnen hier gerecycled worden" }, "24": { - "then": "Fietsen (en fietswrakken) kunnen hier gerecycled worden" + "then": "Restafval kan hier gerecycled worden" }, "25": { - "then": "Plastic verpakkingen, metalen verpakkingen en drankpakken kunnen hier gerecycled worden" + "then": "Fietsen (en fietswrakken) kunnen hier gerecycled worden" } }, "question": "Wat kan hier gerecycled worden?" @@ -9404,10 +9404,10 @@ "then": "Een vuilnisbak voor plastic" }, "7": { - "then": "Een vuilnisbak voor papier" + "then": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" }, "8": { - "then": "Een vuilnisbak voor plastic verpakkingen, metalen verpakkingen en drankpakken (PMD)" + "then": "Een vuilnisbak voor papier" } }, "question": "Wat voor soort vuilnisbak is dit?" From 436e8286b7c406de5ec5b6f30d105e7abc9532ff Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 16 May 2024 11:38:54 +0200 Subject: [PATCH 44/46] Version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 44c6f65ee..7849f0e77 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.42.6", + "version": "0.42.7", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", From f43bd696f51a64c0b5d3134def9f1b2a6712b689 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 21 May 2024 00:05:30 +0200 Subject: [PATCH 45/46] improve typing --- scripts/generateStats.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scripts/generateStats.ts b/scripts/generateStats.ts index 2931cbaf7..9653e3926 100644 --- a/scripts/generateStats.ts +++ b/scripts/generateStats.ts @@ -6,6 +6,7 @@ import { writeFileSync } from "fs" import ScriptUtils from "./ScriptUtils" import TagRenderingConfig from "../src/Models/ThemeConfig/TagRenderingConfig" import { And } from "../src/Logic/Tags/And" +import TagInfo from "../src/Logic/Web/TagInfo" /* Downloads stats on osmSource-tags and keys from tagInfo */ @@ -49,9 +50,7 @@ async function main(includeTags = true) { await Promise.all( Array.from(keysAndTags.keys()).map(async (key) => { const values = keysAndTags.get(key) - const data = await Utils.downloadJson( - `https://taginfo.openstreetmap.org/api/4/key/stats?key=${key}` - ) + const data = await TagInfo.global.getStats(key) const count = data.data.find((item) => item.type === "all").count keyTotal.set(key, count) console.log(key, "-->", count) @@ -60,9 +59,7 @@ async function main(includeTags = true) { tagTotal.set(key, new Map()) await Promise.all( Array.from(values).map(async (value) => { - const tagData = await Utils.downloadJson( - `https://taginfo.openstreetmap.org/api/4/tag/stats?key=${key}&value=${value}` - ) + const tagData = await TagInfo.global.getStats(key, value) const count = tagData.data.find((item) => item.type === "all").count tagTotal.get(key).set(value, count) console.log(key + "=" + value, "-->", count) From 5fe2e9b948a301b7cc4ee4b11984723c225a855e Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 21 May 2024 00:37:52 +0200 Subject: [PATCH 46/46] UI: Fix #1957 --- src/UI/BigComponents/FilterviewWithFields.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/UI/BigComponents/FilterviewWithFields.svelte b/src/UI/BigComponents/FilterviewWithFields.svelte index 4268a34f9..e3a903106 100644 --- a/src/UI/BigComponents/FilterviewWithFields.svelte +++ b/src/UI/BigComponents/FilterviewWithFields.svelte @@ -50,13 +50,13 @@
{#each parts as part, i} - {#if part.subs} + {#if part["subs"]} - + {:else} - {part.message} + {@html part["message"]} {/if} {/each}