From 9cc67a0b62cb74b978bb6baeab291a20fdb3f575 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 14 Jan 2025 01:52:32 +0100 Subject: [PATCH 01/42] Chore: typo --- src/UI/Map/MaplibreMap.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/UI/Map/MaplibreMap.svelte b/src/UI/Map/MaplibreMap.svelte index 6267e347d3..6db1fa6484 100644 --- a/src/UI/Map/MaplibreMap.svelte +++ b/src/UI/Map/MaplibreMap.svelte @@ -46,7 +46,7 @@ styleUrl = defaultLayer.style ?? defaultLayer.url } - console.log("Initiating mapLIbremap with style", styleUrl) + console.log("Initiating mapLibremap with style", styleUrl) const options: MapOptions = { container, From 8dd6b4c3effee398276d175e392a35546ebefec4 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 14 Jan 2025 01:52:53 +0100 Subject: [PATCH 02/42] UX: don't show "no more questions" if not logged in --- src/UI/Popup/TagRendering/Questionbox.svelte | 111 ++++++++++--------- 1 file changed, 58 insertions(+), 53 deletions(-) diff --git a/src/UI/Popup/TagRendering/Questionbox.svelte b/src/UI/Popup/TagRendering/Questionbox.svelte index 44515c746b..cdeba5c028 100644 --- a/src/UI/Popup/TagRendering/Questionbox.svelte +++ b/src/UI/Popup/TagRendering/Questionbox.svelte @@ -13,6 +13,7 @@ import { Utils } from "../../../Utils" import { onDestroy } from "svelte" import TagRenderingQuestionDynamic from "./TagRenderingQuestionDynamic.svelte" + import LoginToggle from "../../Base/LoginToggle.svelte" export let layer: LayerConfig export let tags: UIEventSource> @@ -155,74 +156,78 @@ {/if} - {#if $allQuestionsToAsk.length === 0} -
- -
- {/if} + + + {#if $allQuestionsToAsk.length === 0} +
+ +
+ {/if} -
- {#if skipped + answered > 0} -
- {#if answered === 0} - {#if skipped === 1} - - {:else} - - {/if} - {:else if answered === 1} - {#if skipped === 0} - +
+ {#if skipped + answered > 0} +
+ {#if answered === 0} + {#if skipped === 1} + + {:else} + + {/if} + {:else if answered === 1} + {#if skipped === 0} + + {:else if skipped === 1} + + {:else} + + {/if} + {:else if skipped === 0} + {:else if skipped === 1} - + {:else} - {/if} - {:else if skipped === 0} - - {:else if skipped === 1} - - {:else} - - {/if} -
+ /> + {/if} +
- {#if skipped + $skippedQuestions.size > 0} - + > + + + {/if} {/if} - {/if} - {#if $skippedQuestions.size - skipped > 0} - - {/if} - {#if $debug} - Skipped questions are {Array.from($skippedQuestions).join(", ")} - {/if} -
+ > + Show the disabled questions for this object + + {/if} + {#if $debug} + Skipped questions are {Array.from($skippedQuestions).join(", ")} + {/if} +
+
+ {/if} From 0d20301140a353534af732994961f73ca2d7c288 Mon Sep 17 00:00:00 2001 From: Hufkratzer Date: Wed, 15 Jan 2025 21:44:33 +0100 Subject: [PATCH 03/42] Make data filters work and add presets for skateboard and equestrian in sport_pitch.json --- assets/layers/sport_pitch/sport_pitch.json | 34 ++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/assets/layers/sport_pitch/sport_pitch.json b/assets/layers/sport_pitch/sport_pitch.json index 241a5372e3..57f56b65c7 100644 --- a/assets/layers/sport_pitch/sport_pitch.json +++ b/assets/layers/sport_pitch/sport_pitch.json @@ -166,6 +166,28 @@ "leisure=pitch", "fixme=Geometry to be drawn, added by MapComplete" ] + }, + { + "title": { + "en": "a skatepark", + "de": "einen Skatepark", + "es": "un skatepark" + }, + "tags": [ + "leisure=pitch", + "sport=skateboard" + ] + }, + { + "title": { + "en": "a horse riding arena", + "de": "einen Reitplatz", + "es": "una pista ecuestre" + }, + "tags": [ + "leisure=pitch", + "sport=equestrian" + ] } ], "tagRenderings": [ @@ -306,7 +328,11 @@ "hideInAnswer": true }, { - "if": "sport=skateboard", + "if": { + "and": [ + "sport=skateboard" + ] + }, "then": { "en": "This is a skatepark", "nl": "Dit is een skatepark", @@ -317,7 +343,11 @@ } }, { - "if": "sport=equestrian", + "if": { + "and": [ + "sport=equestrian" + ] + }, "then": { "en": "This is a horse riding arena", "de": "Dies ist ein Reitplatz", From 8c6619a1722430ce3e4a93770c1af44cffc34a8e Mon Sep 17 00:00:00 2001 From: Robin van der Linde Date: Wed, 15 Jan 2025 22:15:14 +0100 Subject: [PATCH 04/42] Themes(waste): Fix broken translations (fj#2297) --- assets/layers/recycling/recycling.json | 27 +++++++++----------------- langs/layers/ca.json | 9 +-------- langs/layers/cs.json | 9 +-------- langs/layers/da.json | 7 ------- langs/layers/de.json | 11 ++--------- langs/layers/en.json | 6 +++--- langs/layers/es.json | 9 +-------- langs/layers/fr.json | 9 +-------- langs/layers/id.json | 7 ------- langs/layers/it.json | 9 +-------- langs/layers/nl.json | 9 +-------- 11 files changed, 20 insertions(+), 92 deletions(-) diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json index d5c98a3f0b..52d9693a13 100644 --- a/assets/layers/recycling/recycling.json +++ b/assets/layers/recycling/recycling.json @@ -1440,14 +1440,7 @@ { "osmTags": "recycling_type=centre", "question": { - "en": "All recycling types", - "ca": "Tots els tipus de reciclatge", - "cs": "Všechny typy recyklace", - "de": "Alle Recyclingarten", - "es": "Todos los tipos de reciclaje", - "fr": "Tout type de recyclage", - "it": "Tutti i tipi di rifiuti", - "nl": "Alle recyclingtypes" + "en": "Only recycling centres" } } ] @@ -1457,16 +1450,14 @@ "options": [ { "question": { - "en": "Only public access", - "nl": "Enkel publiek toegankelijke afvalcontainers", - "de": "Nur öffentliche Recyclingeinrichtungen", - "es": "Solo acceso público", - "it": "Solo accesso pubblico", - "ca": "Només amb accés públic", - "fr": "Accès public uniquement", - "cs": "Pouze veřejný přístup", - "da": "Kun offentlig adgang", - "id": "Hanya akses publik" + "en": "All recycling types", + "nl": "Alle recyclingtypes", + "de": "Alle Recyclingarten", + "es": "Todos los tipos de reciclado", + "it": "Tutti i tipi di rifiuti", + "ca": "Tots els tipus de reciclatge", + "fr": "Tout type de recyclage", + "cs": "Všechny typy recyklace" } }, { diff --git a/langs/layers/ca.json b/langs/layers/ca.json index 626ef568fc..00e8634299 100644 --- a/langs/layers/ca.json +++ b/langs/layers/ca.json @@ -6720,17 +6720,10 @@ "recycling": { "description": "Una capa amb contenidors i centres de reciclatge", "filter": { - "1": { - "options": { - "0": { - "question": "Tots els tipus de reciclatge" - } - } - }, "2": { "options": { "0": { - "question": "Només amb accés públic" + "question": "Tots els tipus de reciclatge" }, "1": { "question": "Reciclatge de piles" diff --git a/langs/layers/cs.json b/langs/layers/cs.json index a71471a09f..a08e559d7b 100644 --- a/langs/layers/cs.json +++ b/langs/layers/cs.json @@ -7694,17 +7694,10 @@ "recycling": { "description": "Vrstva s recyklačními kontejnery a středisky", "filter": { - "1": { - "options": { - "0": { - "question": "Všechny typy recyklace" - } - } - }, "2": { "options": { "0": { - "question": "Pouze veřejný přístup" + "question": "Všechny typy recyklace" }, "1": { "question": "Recyklace baterií" diff --git a/langs/layers/da.json b/langs/layers/da.json index 419445c2b4..bc67feaf62 100644 --- a/langs/layers/da.json +++ b/langs/layers/da.json @@ -1864,13 +1864,6 @@ }, "recycling": { "filter": { - "2": { - "options": { - "0": { - "question": "Kun offentlig adgang" - } - } - }, "3": { "options": { "0": { diff --git a/langs/layers/de.json b/langs/layers/de.json index 4e9c640a02..675cba1239 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -9007,17 +9007,10 @@ "recycling": { "description": "Eine Ebene mit Recyclingcontainern und -zentren", "filter": { - "1": { - "options": { - "0": { - "question": "Alle Recyclingarten" - } - } - }, "2": { "options": { "0": { - "question": "Nur öffentliche Recyclingeinrichtungen" + "question": "Alle Recyclingarten" }, "1": { "question": "Recycling von Batterien" @@ -12799,4 +12792,4 @@ "render": "Windrad" } } -} \ No newline at end of file +} diff --git a/langs/layers/en.json b/langs/layers/en.json index 08f6a4d5b5..74f998ae4e 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -9135,14 +9135,14 @@ "1": { "options": { "0": { - "question": "All recycling types" + "question": "Only recycling centres" } } }, "2": { "options": { "0": { - "question": "Only public access" + "question": "All recycling types" }, "1": { "question": "Recycling of batteries" @@ -13342,4 +13342,4 @@ "render": "wind turbine" } } -} \ No newline at end of file +} diff --git a/langs/layers/es.json b/langs/layers/es.json index 3be5861525..31a4c9dce2 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -8972,17 +8972,10 @@ "recycling": { "description": "Una capa con contenedores y centros de reciclaje", "filter": { - "1": { - "options": { - "0": { - "question": "Todos los tipos de reciclaje" - } - } - }, "2": { "options": { "0": { - "question": "Solo acceso público" + "question": "Todos los tipos de reciclado" }, "1": { "question": "Reciclaje de pilas" diff --git a/langs/layers/fr.json b/langs/layers/fr.json index 27cf0bfa9d..863e132847 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -5442,17 +5442,10 @@ "recycling": { "description": "Une couche avec des conteneurs de recyclage et des déchèteries", "filter": { - "1": { - "options": { - "0": { - "question": "Tout type de recyclage" - } - } - }, "2": { "options": { "0": { - "question": "Accès public uniquement" + "question": "Tout type de recyclage" }, "1": { "question": "Recyclage de piles et batteries domestiques" diff --git a/langs/layers/id.json b/langs/layers/id.json index 50d033e461..09d2c2cb1b 100644 --- a/langs/layers/id.json +++ b/langs/layers/id.json @@ -684,13 +684,6 @@ }, "recycling": { "filter": { - "2": { - "options": { - "0": { - "question": "Hanya akses publik" - } - } - }, "3": { "options": { "0": { diff --git a/langs/layers/it.json b/langs/layers/it.json index 446f67dc67..5015f93908 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -2256,17 +2256,10 @@ "recycling": { "description": "Un livello con i contenitori e centri per la raccolta rifiuti riciclabili", "filter": { - "1": { - "options": { - "0": { - "question": "Tutti i tipi di rifiuti" - } - } - }, "2": { "options": { "0": { - "question": "Solo accesso pubblico" + "question": "Tutti i tipi di rifiuti" }, "1": { "question": "Riciclo di batterie" diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 99d4de9b04..574cd26ee0 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -7804,17 +7804,10 @@ "recycling": { "description": "Een laag met recyclagingcontainers en -centrums", "filter": { - "1": { - "options": { - "0": { - "question": "Alle recyclingtypes" - } - } - }, "2": { "options": { "0": { - "question": "Enkel publiek toegankelijke afvalcontainers" + "question": "Alle recyclingtypes" }, "1": { "question": "Recycling van batterijen" From 622049f21f2a43812ff31709dd91cfbe71e9197d Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 17 Jan 2025 14:25:12 +0100 Subject: [PATCH 05/42] Themes(shops): revert to ID-presets for icons, add "vacant" as shop option --- assets/layers/shops/shops.json | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/assets/layers/shops/shops.json b/assets/layers/shops/shops.json index 9b06d9ba68..52823433e2 100644 --- a/assets/layers/shops/shops.json +++ b/assets/layers/shops/shops.json @@ -108,7 +108,7 @@ }, { "icon": { - "builtin": "nsi_brand.icon", + "builtin": "id_presets.shop_rendering", "override": { "render": "./assets/layers/id_presets/maki-shop.svg", "+mappings": [ @@ -316,6 +316,27 @@ } } ], + "mappings+": [ + { + "if": "disused:shop:={shop}", + "then": { + "en": "This shop is no longer used. It is vacant", + "nl": "Deze winkel staat leeg" + }, + "icon": "./assets/layers/shops/shop-disused.svg", + "addExtraTags": [ + "shop=" + ], + "alsoShowIf": { + "or": [ + "shop=disused", + "shop=vacant", + "disused:shop~*", + "abandoned:shop~*" + ] + } + } + ], "condition": "craft=", "invalidValues": "shop=yes", "filter": true From e69a08baa1a3ed02ff7d6e792384cc3476838e81 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 17 Jan 2025 14:25:30 +0100 Subject: [PATCH 06/42] Refactoring: rename method --- src/Logic/ImageProviders/AllImageProviders.ts | 4 ++-- src/UI/Image/NearbyImages.svelte | 2 +- src/UI/Popup/PlantNetDetectionViz.ts | 3 ++- src/UI/SpecialVisualizations.ts | 8 ++------ test/Logic/ImageProviders/ImageProviders.spec.ts | 2 +- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/Logic/ImageProviders/AllImageProviders.ts b/src/Logic/ImageProviders/AllImageProviders.ts index 8db2a8d014..aaac514a4b 100644 --- a/src/Logic/ImageProviders/AllImageProviders.ts +++ b/src/Logic/ImageProviders/AllImageProviders.ts @@ -70,7 +70,7 @@ export default class AllImageProviders { /** * Tries to extract all image data for this image. Cached on tags?.data?.id */ - public static LoadImagesFor( + public static loadImagesFor( tags: Store>, tagKey?: string[] ): Store { @@ -113,6 +113,6 @@ export default class AllImageProviders { for (let i = 0; i < urls.length; i++) { tags["image:" + i] = urls[i] } - return this.LoadImagesFor(new ImmutableStore(tags)) + return this.loadImagesFor(new ImmutableStore(tags)) } } diff --git a/src/UI/Image/NearbyImages.svelte b/src/UI/Image/NearbyImages.svelte index 9650e2fcb6..c4892a543f 100644 --- a/src/UI/Image/NearbyImages.svelte +++ b/src/UI/Image/NearbyImages.svelte @@ -36,7 +36,7 @@ let imagesProvider = state.nearbyImageSearcher - let loadedImages = AllImageProviders.LoadImagesFor(tags).mapD( + let loadedImages = AllImageProviders.loadImagesFor(tags).mapD( (loaded) => new Set(loaded.map((img) => img.url)) ) let imageState = imagesProvider.getImagesAround(lon, lat) diff --git a/src/UI/Popup/PlantNetDetectionViz.ts b/src/UI/Popup/PlantNetDetectionViz.ts index 595a8262ec..5d7d0c2d8c 100644 --- a/src/UI/Popup/PlantNetDetectionViz.ts +++ b/src/UI/Popup/PlantNetDetectionViz.ts @@ -9,6 +9,7 @@ import { SpecialVisualization, SpecialVisualizationState } from "../SpecialVisua import SvelteUIElement from "../Base/SvelteUIElement" import PlantNet from "../PlantNet/PlantNet.svelte" import { default as PlantNetCode } from "../../Logic/Web/PlantNet" + export class PlantNetDetectionViz implements SpecialVisualization { funcName = "plantnet_detection" needsUrls = [PlantNetCode.baseUrl] @@ -33,7 +34,7 @@ export class PlantNetDetectionViz implements SpecialVisualization { imagePrefixes = [].concat(...args.map((a) => a.split(","))) } - const allProvidedImages: Store = AllImageProviders.LoadImagesFor( + const allProvidedImages: Store = AllImageProviders.loadImagesFor( tags, imagePrefixes ) diff --git a/src/UI/SpecialVisualizations.ts b/src/UI/SpecialVisualizations.ts index b8be328351..ad9f864c4b 100644 --- a/src/UI/SpecialVisualizations.ts +++ b/src/UI/SpecialVisualizations.ts @@ -3,11 +3,7 @@ import { FixedUiElement } from "./Base/FixedUiElement" import BaseUIElement from "./BaseUIElement" import Title from "./Base/Title" import { default as FeatureTitle } from "./Popup/Title.svelte" -import { - RenderingSpecification, - SpecialVisualization, - SpecialVisualizationState, -} from "./SpecialVisualization" +import { RenderingSpecification, SpecialVisualization, SpecialVisualizationState } from "./SpecialVisualization" import { HistogramViz } from "./Popup/HistogramViz" import MinimapViz from "./Popup/MinimapViz.svelte" import { ShareLinkViz } from "./Popup/ShareLinkViz" @@ -720,7 +716,7 @@ export default class SpecialVisualizations { if (args.length > 0) { imagePrefixes = [].concat(...args.map((a) => a.split(","))) } - const images = AllImageProviders.LoadImagesFor(tags, imagePrefixes) + const images = AllImageProviders.loadImagesFor(tags, imagePrefixes) return new SvelteUIElement(ImageCarousel, { state, tags, images }) }, }, diff --git a/test/Logic/ImageProviders/ImageProviders.spec.ts b/test/Logic/ImageProviders/ImageProviders.spec.ts index 218af01688..ff42f46ff1 100644 --- a/test/Logic/ImageProviders/ImageProviders.spec.ts +++ b/test/Logic/ImageProviders/ImageProviders.spec.ts @@ -79,7 +79,7 @@ describe("ImageProviders", () => { if (!Array.isArray(urls)) { urls = [urls] } - const images = await AllImageProviders.LoadImagesFor( + const images = await AllImageProviders.loadImagesFor( new ImmutableStore(tags) ).AsPromise((imgs) => imgs !== undefined && imgs.length > 0) console.log("ImageProvider test", tags.id, "for", tags) From d7509c8d6f67a205708bb496fdbad6cd93a3c79b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 17 Jan 2025 14:26:58 +0100 Subject: [PATCH 07/42] chore(release): 0.48.0 --- CHANGELOG.md | 24 ++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index feaa89b6cb..c2542af64c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,30 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [0.48.0](https://github.com/pietervdvn/mapcomplete/compare/v0.47.14...v0.48.0) (2025-01-17) + + +### Bug Fixes + +* add missing data ([bd228a6](https://github.com/pietervdvn/mapcomplete/commits/bd228a6129e5e95feaf58cfbd438ca8011a69a3f)) +* Add question block ([0c5ab25](https://github.com/pietervdvn/mapcomplete/commits/0c5ab259e845f852e30202a196aacd225a70b928)) +* attempt to fix build ([6bc786d](https://github.com/pietervdvn/mapcomplete/commits/6bc786dc783d2b06af94ca1a034c18d3bf1e41f3)) +* build ([a278234](https://github.com/pietervdvn/mapcomplete/commits/a2782348a7a5a65a62056b566cb8ce5e83cf48c7)) +* don't crash if an initial hash is given from a non-matching layer ([551235a](https://github.com/pietervdvn/mapcomplete/commits/551235a185c2f54f561c82b79c34aaf1f171e217)) +* fix https://source.mapcomplete.org/MapComplete/MapComplete/issues/2293 ([b22015e](https://github.com/pietervdvn/mapcomplete/commits/b22015e2c829187b710f0ceddf3ff3754bb7f3c1)) + + +### Theme improvements + +* **charging_station:** add charge_point layer ([67b3fb3](https://github.com/pietervdvn/mapcomplete/commits/67b3fb3740af55172dba647a5a198902ebd27328)) +* **charging_station:** Remove units for V and A (gh[#2320](https://github.com/pietervdvn/MapComplete/issues/2320)), fix stray A ([5a9c53e](https://github.com/pietervdvn/mapcomplete/commits/5a9c53e4d632dcae58c49c34cd9a5a8e0c0ca293)) +* **drinking_water:** add temperature question ([5617630](https://github.com/pietervdvn/mapcomplete/commits/5617630d690d3a229be13be0104a24316950c0e3)) +* move generated themes into assets, remove known_themes, support pruning of borrowed icons ([ee64d84](https://github.com/pietervdvn/mapcomplete/commits/ee64d84d270f141b0dafb2ac2726899afce5297e)) +* **scouting:** cleanup, use NSI ([1f384e7](https://github.com/pietervdvn/mapcomplete/commits/1f384e754b92bbc3c45b1251222145004b3614b7)) +* **shops:** revert to ID-presets for icons, add "vacant" as shop option ([622049f](https://github.com/pietervdvn/mapcomplete/commits/622049f21f2a43812ff31709dd91cfbe71e9197d)) +* **toilets:** add ratings ([5276442](https://github.com/pietervdvn/mapcomplete/commits/527644220984593b0379b1a17fa8c2a39936bef4)) +* **waste:** Fix broken translations (fj[#2297](https://github.com/pietervdvn/MapComplete/issues/2297)) ([8c6619a](https://github.com/pietervdvn/mapcomplete/commits/8c6619a1722430ce3e4a93770c1af44cffc34a8e)) + ### [0.47.14](https://github.com/pietervdvn/mapcomplete/compare/v0.47.13...v0.47.14) (2025-01-02) diff --git a/package-lock.json b/package-lock.json index b57e04c61e..a7f6f4a648 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.47.14", + "version": "0.48.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.47.14", + "version": "0.48.0", "license": "GPL-3.0-or-later", "dependencies": { "@comunica/core": "^3.0.1", diff --git a/package.json b/package.json index 9c7ae0f76f..e6ec3b9528 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.47.14", + "version": "0.48.0", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", From 32993df92a316044ebaffe987a060796ea72866a Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 17 Jan 2025 16:01:40 +0100 Subject: [PATCH 08/42] UX: show loading icon if images are being loaded --- public/css/index-tailwind-output.css | 77 ++++++++----------- src/Logic/ImageProviders/AllImageProviders.ts | 30 +++++++- src/Logic/ImageProviders/Panoramax.ts | 2 +- src/UI/Base/LoadingPlaceholder.svelte | 11 +++ src/UI/Image/AttributedImage.svelte | 5 ++ src/UI/Image/ImageCarousel.svelte | 26 +++++-- src/UI/SpecialVisualizations.ts | 3 +- 7 files changed, 97 insertions(+), 57 deletions(-) create mode 100644 src/UI/Base/LoadingPlaceholder.svelte diff --git a/public/css/index-tailwind-output.css b/public/css/index-tailwind-output.css index 3da0d51cfa..518950b8ed 100644 --- a/public/css/index-tailwind-output.css +++ b/public/css/index-tailwind-output.css @@ -1136,18 +1136,6 @@ input[type="range"].range-lg::-moz-range-thumb { right: 0px; } -.left-24 { - left: 6rem; -} - -.right-24 { - right: 6rem; -} - -.top-56 { - top: 14rem; -} - .bottom-0 { bottom: 0px; } @@ -1332,10 +1320,6 @@ input[type="range"].range-lg::-moz-range-thumb { margin: 0.5rem; } -.m-8 { - margin: 2rem; -} - .m-0\.5 { margin: 0.125rem; } @@ -1356,6 +1340,10 @@ input[type="range"].range-lg::-moz-range-thumb { margin: 1.25rem; } +.m-8 { + margin: 2rem; +} + .m-14 { margin: 3.5rem; } @@ -1694,18 +1682,14 @@ input[type="range"].range-lg::-moz-range-thumb { height: 2.25rem; } -.h-24 { - height: 6rem; +.h-screen { + height: 100vh; } .h-full { height: 100%; } -.h-screen { - height: 100vh; -} - .h-fit { height: -webkit-fit-content; height: -moz-fit-content; @@ -1749,6 +1733,10 @@ input[type="range"].range-lg::-moz-range-thumb { height: 0.75rem; } +.h-80 { + height: 20rem; +} + .h-modal { height: calc(100% - 2rem); } @@ -1785,10 +1773,6 @@ input[type="range"].range-lg::-moz-range-thumb { height: 16rem; } -.h-80 { - height: 20rem; -} - .h-20 { height: 5rem; } @@ -1797,6 +1781,10 @@ input[type="range"].range-lg::-moz-range-thumb { height: 9rem; } +.h-24 { + height: 6rem; +} + .h-96 { height: 24rem; } @@ -2007,6 +1995,10 @@ input[type="range"].range-lg::-moz-range-thumb { width: 0.75rem; } +.w-60 { + width: 15rem; +} + .w-11 { width: 2.75rem; } @@ -2023,11 +2015,6 @@ input[type="range"].range-lg::-moz-range-thumb { width: 3.5rem; } -.w-max { - width: -webkit-max-content; - width: max-content; -} - .w-48 { width: 12rem; } @@ -3060,11 +3047,20 @@ input[type="range"].range-lg::-moz-range-thumb { border-color: rgb(209 213 219 / var(--tw-border-opacity)); } +.border-transparent { + border-color: transparent; +} + .border-gray-600 { --tw-border-opacity: 1; border-color: rgb(75 85 99 / var(--tw-border-opacity)); } +.border-red-500 { + --tw-border-opacity: 1; + border-color: rgb(240 82 82 / var(--tw-border-opacity)); +} + .border-gray-800 { --tw-border-opacity: 1; border-color: rgb(31 41 55 / var(--tw-border-opacity)); @@ -3170,11 +3166,6 @@ input[type="range"].range-lg::-moz-range-thumb { border-color: rgb(14 159 110 / var(--tw-border-opacity)); } -.border-red-500 { - --tw-border-opacity: 1; - border-color: rgb(240 82 82 / var(--tw-border-opacity)); -} - .border-gray-700 { --tw-border-opacity: 1; border-color: rgb(55 65 81 / var(--tw-border-opacity)); @@ -3185,10 +3176,6 @@ input[type="range"].range-lg::-moz-range-thumb { border-color: rgb(239 86 47 / var(--tw-border-opacity)); } -.border-transparent { - border-color: transparent; -} - .border-red-300 { --tw-border-opacity: 1; border-color: rgb(248 180 180 / var(--tw-border-opacity)); @@ -3262,6 +3249,11 @@ input[type="range"].range-lg::-moz-range-thumb { background-color: rgb(249 128 128 / var(--tw-bg-opacity)); } +.bg-gray-400 { + --tw-bg-opacity: 1; + background-color: rgb(156 163 175 / var(--tw-bg-opacity)); +} + .bg-slate-400 { --tw-bg-opacity: 1; background-color: rgb(148 163 184 / var(--tw-bg-opacity)); @@ -3494,11 +3486,6 @@ input[type="range"].range-lg::-moz-range-thumb { background-color: rgb(254 121 93 / var(--tw-bg-opacity)); } -.bg-gray-400 { - --tw-bg-opacity: 1; - background-color: rgb(156 163 175 / var(--tw-bg-opacity)); -} - .bg-pink-500 { --tw-bg-opacity: 1; background-color: rgb(231 70 148 / var(--tw-bg-opacity)); diff --git a/src/Logic/ImageProviders/AllImageProviders.ts b/src/Logic/ImageProviders/AllImageProviders.ts index aaac514a4b..c53be2d79b 100644 --- a/src/Logic/ImageProviders/AllImageProviders.ts +++ b/src/Logic/ImageProviders/AllImageProviders.ts @@ -22,7 +22,7 @@ export default class AllImageProviders { ...WikimediaImageProvider.commonsPrefixes, ...Mapillary.valuePrefixes, ...AllImageProviders.dontLoadFromPrefixes, - "Category:", + "Category:" ]) private static ImageAttributionSource: ImageProvider[] = [ @@ -31,7 +31,7 @@ export default class AllImageProviders { WikidataImageProvider.singleton, WikimediaImageProvider.singleton, Panoramax.singleton, - AllImageProviders.genericImageProvider, + AllImageProviders.genericImageProvider ] public static apiUrls: string[] = [].concat( ...AllImageProviders.ImageAttributionSource.map((src) => src.apiUrls()) @@ -44,7 +44,7 @@ export default class AllImageProviders { mapillary: Mapillary.singleton, wikidata: WikidataImageProvider.singleton, wikimedia: WikimediaImageProvider.singleton, - panoramax: Panoramax.singleton, + panoramax: Panoramax.singleton } public static byName(name: string) { @@ -67,6 +67,28 @@ export default class AllImageProviders { } private static readonly _cachedImageStores: Record> = {} + + /** + * Does a guess on the number of images that are probably there. + * Will simply count all image tags + * + * AllImageProviders.estimateNumberOfImages({image:"abc", "mapillary": "123", "panoramax:0"}) // => 3 + * + */ + public static estimateNumberOfImages(tags: Record, prefixes: string[] = undefined): number { + let count = 0 + + const allPrefixes = prefixes ?? [].concat(...AllImageProviders.ImageAttributionSource.map(s => s.defaultKeyPrefixes)) + for (const k in tags) { + for (const prefix of allPrefixes) { + if (k === prefix || k.startsWith(prefix + ":")) { + count++ + } + } + } + return count + } + /** * Tries to extract all image data for this image. Cached on tags?.data?.id */ @@ -108,7 +130,7 @@ export default class AllImageProviders { */ public static loadImagesFrom(urls: string[]): Store { const tags = { - id: urls.join(";"), + id: urls.join(";") } for (let i = 0; i < urls.length; i++) { tags["image:" + i] = urls[i] diff --git a/src/Logic/ImageProviders/Panoramax.ts b/src/Logic/ImageProviders/Panoramax.ts index b50e4712d9..0e9c7485e5 100644 --- a/src/Logic/ImageProviders/Panoramax.ts +++ b/src/Logic/ImageProviders/Panoramax.ts @@ -149,7 +149,7 @@ export default class PanoramaxImageProvider extends ImageProvider { ) } - Stores.Chronic(1500, () => hasLoading(source.data)).addCallback(() => { + Stores.Chronic(5000, () => hasLoading(source.data)).addCallback(() => { super.getRelevantUrlsFor(tags, prefixes).then((data) => { source.set(data) return !hasLoading(data) diff --git a/src/UI/Base/LoadingPlaceholder.svelte b/src/UI/Base/LoadingPlaceholder.svelte new file mode 100644 index 0000000000..9b9f5ca427 --- /dev/null +++ b/src/UI/Base/LoadingPlaceholder.svelte @@ -0,0 +1,11 @@ + +
+
+
+
+ +
+
diff --git a/src/UI/Image/AttributedImage.svelte b/src/UI/Image/AttributedImage.svelte index 257801e4cc..6b8c16f3ea 100644 --- a/src/UI/Image/AttributedImage.svelte +++ b/src/UI/Image/AttributedImage.svelte @@ -17,6 +17,7 @@ import Translations from "../i18n/Translations" import Tr from "../Base/Tr.svelte" import DotMenu from "../Base/DotMenu.svelte" + import LoadingPlaceholder from "../Base/LoadingPlaceholder.svelte" export let image: Partial let fallbackImage: string = undefined @@ -111,7 +112,11 @@ {/if} + {#if !loaded} + + {/if} (loaded = true)} class={imgClass ?? ""} diff --git a/src/UI/Image/ImageCarousel.svelte b/src/UI/Image/ImageCarousel.svelte index f9b4316205..b8fb8a14bc 100644 --- a/src/UI/Image/ImageCarousel.svelte +++ b/src/UI/Image/ImageCarousel.svelte @@ -3,14 +3,28 @@ import type { ProvidedImage } from "../../Logic/ImageProviders/ImageProvider" import type { SpecialVisualizationState } from "../SpecialVisualization" import DeletableImage from "./DeletableImage.svelte" + import Loading from "../Base/Loading.svelte" + import LoadingPlaceholder from "../Base/LoadingPlaceholder.svelte" export let images: Store export let state: SpecialVisualizationState export let tags: UIEventSource> - -
- {#each $images as image (image.url)} - - {/each} -
+ export let estimated: Store + + images.addCallbackAndRun(imgs => { + console.log(">>><<< imgs are", imgs) + }) + + +{#if $estimated > 0 && $images.length < 1} + +{:else} +
+
+ {#each $images as image (image.url)} + + {/each} +
+
+{/if} diff --git a/src/UI/SpecialVisualizations.ts b/src/UI/SpecialVisualizations.ts index ad9f864c4b..a119908ae2 100644 --- a/src/UI/SpecialVisualizations.ts +++ b/src/UI/SpecialVisualizations.ts @@ -717,7 +717,8 @@ export default class SpecialVisualizations { imagePrefixes = [].concat(...args.map((a) => a.split(","))) } const images = AllImageProviders.loadImagesFor(tags, imagePrefixes) - return new SvelteUIElement(ImageCarousel, { state, tags, images }) + const estimated = tags.mapD(tags => AllImageProviders.estimateNumberOfImages(tags, imagePrefixes)) + return new SvelteUIElement(ImageCarousel, { state, tags, images, estimated }) }, }, { From 392e96e4f5d184d8af64beae2f115a7a15c9f25d Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Fri, 17 Jan 2025 16:47:56 +0100 Subject: [PATCH 09/42] Fix: tests --- src/Logic/ImageProviders/AllImageProviders.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Logic/ImageProviders/AllImageProviders.ts b/src/Logic/ImageProviders/AllImageProviders.ts index c53be2d79b..3c9ba228aa 100644 --- a/src/Logic/ImageProviders/AllImageProviders.ts +++ b/src/Logic/ImageProviders/AllImageProviders.ts @@ -72,17 +72,18 @@ export default class AllImageProviders { * Does a guess on the number of images that are probably there. * Will simply count all image tags * - * AllImageProviders.estimateNumberOfImages({image:"abc", "mapillary": "123", "panoramax:0"}) // => 3 + * AllImageProviders.estimateNumberOfImages({image:"abc", "mapillary": "123", "panoramax:0": "xyz"}) // => 3 * */ public static estimateNumberOfImages(tags: Record, prefixes: string[] = undefined): number { let count = 0 - const allPrefixes = prefixes ?? [].concat(...AllImageProviders.ImageAttributionSource.map(s => s.defaultKeyPrefixes)) - for (const k in tags) { - for (const prefix of allPrefixes) { + const allPrefixes = Utils.Dedup(prefixes ?? [].concat(...AllImageProviders.ImageAttributionSource.map(s => s.defaultKeyPrefixes))) + for (const prefix of allPrefixes) { + for (const k in tags) { if (k === prefix || k.startsWith(prefix + ":")) { count++ + continue } } } From 66c27cbad457eacfb3b9646bbfe46dde59fe3210 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 00:30:06 +0100 Subject: [PATCH 10/42] chore: automated housekeeping... --- Docs/BuiltinIndex.md | 25 + Docs/ELI-overview.md | 3 +- Docs/Layers/bicycle_counter.md | 6 +- Docs/Layers/bike_shop.md | 1 + Docs/Layers/charge_point.md | 1208 +++++++++ Docs/Layers/charging_station.md | 298 +- Docs/Layers/charging_station_ebikes.md | 298 +- Docs/Layers/dogshop.md | 2 + Docs/Layers/drinking_water.md | 23 +- Docs/Layers/medical_shops.md | 2 + Docs/Layers/recycling.md | 4 +- Docs/Layers/scouting_group.md | 141 + Docs/Layers/shops.md | 2 + Docs/Layers/shops_glutenfree.md | 2 + Docs/Layers/shops_lactosefree.md | 2 + Docs/Layers/shops_second_hand.md | 2 + .../Layers/shops_with_climbing_shoe_repair.md | 2 + Docs/Layers/sport_pitch.md | 8 +- Docs/Layers/sport_shops.md | 2 + Docs/Layers/toilet.md | 6 + Docs/Layers/vending_machine.md | 2 +- Docs/Schemas/FilterConfigJson.schema.json | 4 + Docs/Schemas/FilterConfigJsonJSC.ts | 4 + Docs/Schemas/IconConfigJson.schema.json | 2 +- Docs/Schemas/IconConfigJsonJSC.ts | 2 +- Docs/Schemas/LayerConfigJson.schema.json | 13 +- Docs/Schemas/LayerConfigJsonJSC.ts | 13 +- .../LineRenderingConfigJson.schema.json | 2 +- Docs/Schemas/LineRenderingConfigJsonJSC.ts | 2 +- Docs/Schemas/MappingConfigJson.schema.json | 2 +- Docs/Schemas/MappingConfigJsonJSC.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 +- Docs/Schemas/ThemeConfigJson.schema.json | 20 +- Docs/Schemas/ThemeConfigJsonJSC.ts | 20 +- Docs/SpecialRenderings.md | 4 +- .../mapcomplete_charging_stations.json | 1302 ++++++++- .../TagInfo/mapcomplete_circular_economy.json | 5 + Docs/TagInfo/mapcomplete_climbing.json | 40 +- Docs/TagInfo/mapcomplete_cyclofix.json | 330 ++- Docs/TagInfo/mapcomplete_drinking_water.json | 35 +- Docs/TagInfo/mapcomplete_glutenfree.json | 5 + Docs/TagInfo/mapcomplete_healthcare.json | 5 + Docs/TagInfo/mapcomplete_lactosefree.json | 5 + Docs/TagInfo/mapcomplete_nature.json | 35 +- Docs/TagInfo/mapcomplete_onwheels.json | 5 + Docs/TagInfo/mapcomplete_parkings.json | 290 +- Docs/TagInfo/mapcomplete_pets.json | 5 + Docs/TagInfo/mapcomplete_postboxes.json | 5 + Docs/TagInfo/mapcomplete_scouting.json | 63 + Docs/TagInfo/mapcomplete_shops.json | 5 + Docs/TagInfo/mapcomplete_ski.json | 35 +- Docs/TagInfo/mapcomplete_sport_pitches.json | 5 + Docs/TagInfo/mapcomplete_sports.json | 10 + Docs/Themes/charging_stations.md | 1 + Docs/Themes/circular_economy.md | 2 + Docs/Themes/climbing.md | 2 + Docs/Themes/cyclofix.md | 298 +- Docs/Themes/glutenfree.md | 2 + Docs/Themes/healthcare.md | 2 + Docs/Themes/lactosefree.md | 2 + Docs/Themes/mapcomplete-changes.md | 1 + Docs/Themes/openlovemap.md | 2 + Docs/Themes/personal.md | 2 + Docs/Themes/pets.md | 2 + Docs/Themes/scouting.md | 21 + Docs/Themes/sports.md | 2 + Docs/Themes/toerisme_vlaanderen.md | 298 +- Docs/URL_Parameters.md | 2 +- Docs/wikiIndex.txt | 11 +- .../charging_station/charging_station.json | 266 +- assets/themes/cyclestreets/cyclestreets.json | 42 +- .../mapcomplete-changes.json | 21 +- assets/themes/maps/maps.json | 3 +- assets/themes/trees/trees.json | 3 +- langs/de.json | 22 +- langs/layers/de.json | 26 +- langs/layers/en.json | 55 +- langs/layers/es.json | 6 + langs/layers/nl.json | 67 +- langs/themes/en.json | 4 + langs/themes/nl.json | 114 +- langs/themes/pt.json | 6 +- langs/themes/uk.json | 6 +- langs/themes/zh_Hant.json | 36 +- langs/uk.json | 20 +- package-lock.json | 12 +- package.json | 2 +- scripts/downloadNsiLogos.ts | 20 +- scripts/generateLayerOverview.ts | 10 +- scripts/generateLayouts.ts | 9 +- scripts/generateStats.ts | 33 +- src/Customizations/AllKnownLayouts.ts | 6 +- src/Customizations/AllSharedLayers.ts | 4 +- src/Logic/Actors/InitialMapPositioning.ts | 2 +- src/Logic/DetermineTheme.ts | 9 +- src/Logic/State/UserSettingsMetaTagging.ts | 48 +- src/Logic/Tags/And.ts | 22 +- src/Logic/Tags/Or.ts | 1 - src/Logic/Tags/Tag.ts | 8 +- src/Logic/Tags/TagUtils.ts | 79 +- src/Logic/Web/NameSuggestionIndex.ts | 56 +- src/Logic/Web/TagInfo.ts | 29 +- .../ThemeConfig/Conversion/ExpandFilter.ts | 98 +- .../Conversion/ExpandTagRendering.ts | 142 +- .../ThemeConfig/Conversion/PrepareLayer.ts | 36 +- .../ThemeConfig/Conversion/Validation.ts | 2 +- src/Models/ThemeConfig/LayerConfig.ts | 85 +- src/Models/ThemeConfig/ThemeConfig.ts | 16 +- src/UI/Base/DelayedComponent.svelte | 5 +- src/UI/BigComponents/ThemeIntroPanel.svelte | 17 +- src/UI/Popup/MinimapViz.svelte | 5 +- src/UI/Popup/TagRendering/Questionbox.svelte | 25 +- src/UI/Popup/Title.svelte | 2 +- src/UI/Reviews/ReviewForm.svelte | 1 + src/UI/SpecialVisualizations.ts | 257 +- src/assets/contributors.json | 20 +- src/assets/language_native.json | 2 +- src/assets/language_translations.json | 2411 ++++++++++------- src/assets/schemas/layerconfigmeta.json | 42 +- src/assets/schemas/layoutconfigmeta.json | 48 + src/assets/translators.json | 14 +- .../Conversion/PrepareTheme.spec.ts | 4 +- 127 files changed, 6557 insertions(+), 2698 deletions(-) create mode 100644 Docs/Layers/charge_point.md create mode 100644 Docs/Layers/scouting_group.md create mode 100644 Docs/TagInfo/mapcomplete_scouting.json create mode 100644 Docs/Themes/scouting.md diff --git a/Docs/BuiltinIndex.md b/Docs/BuiltinIndex.md index c51f4f9b3c..e7f25bfb6f 100644 --- a/Docs/BuiltinIndex.md +++ b/Docs/BuiltinIndex.md @@ -33,6 +33,7 @@ - cafe_pub - car_rental - caravansites + - charge_point - charging_station - cinema - climbing_area @@ -326,6 +327,7 @@ - police - postoffices - school + - scouting_group - stripclub - tool_library - tourism_accomodation @@ -334,6 +336,7 @@ - assisted_repair - hackerspace + - scouting_group ### facebook @@ -489,14 +492,36 @@ ### questions - caravansites + - charge_point - charging_station - etymology - favourite - hackerspace - play_forest - playground + - scouting_group - sport_pitch + ### charging_station.capacity + + - charge_point + + ### charging_station.Available_charging_stations (generated) + + - charge_point + + ### charging_station.plugs-amount + + - charge_point + + ### charging_station.questions-technical + + - charge_point + + ### charging_station.technical + + - charge_point + ### maxstay - charging_station diff --git a/Docs/ELI-overview.md b/Docs/ELI-overview.md index f2fcddb542..a414fb2083 100644 --- a/Docs/ELI-overview.md +++ b/Docs/ELI-overview.md @@ -13,6 +13,7 @@ This table gives a summary of ids, names and other metainformation. [See the onl | South_Africa-CapeTown-Aerial-2018 | City of Cape Town Aerial Imagery (2018) | historicphoto | | City of Cape Town Aerial | | South_Africa-CapeTown-Aerial-2021 | City of Cape Town Aerial Imagery (2021) | historicphoto | | City of Cape Town Aerial | | South_Africa-CapeTown-Aerial-2023 | City of Cape Town Aerial Imagery (2023) | photo | ⭐ | City of Cape Town Aerial | +| South_Africa-CapeTown-Aerial-2024 | City of Cape Town Aerial Imagery (2024) | photo | ⭐ | City of Cape Town Aerial | | osm-cambodia_laos_thailand_vietnam-bilingual | Cambodia, Laos, Thailand, Vietnam, Malaysia, Myanmar bilingual | osmbasedmap | | © osm-tools.org & OpenStreetMap contributors, CC-BY-SA | | India-PMGSY | PMGSY GeoSadak - India Rural Roads Open Data | map | | PMGSY Rural Connectivity Dataset, Government Open Data License | © Mapbox | © OpenStreetMap | © Maxar | | Plateau_orthophoto_official | MLIT Plateau Official | photo | | MLIT_PLATEAU | @@ -769,7 +770,7 @@ This table gives a summary of ids, names and other metainformation. [See the onl | Greene_OH_2023 | Greene County Orthoimagery (2023) | historicphoto | | Greene County, State of Ohio | | Greene_OH_2024 | Greene County Orthoimagery (2024) | photo | | Greene County, State of Ohio | | Licking_OH_2023 | Licking County Orthoimagery (2023) | photo | | Licking County, State of Ohio | -| Lorain_OH_2024 | Lorain County Orthoimagery (2024) | photo | | Lorain County, State of Ohio | +| Lorain_OH_2024 | Lorain County Orthoimagery (2024) | photo | ⭐ | Lorain County, State of Ohio | | Lucas_OH_2023 | Lucas County Orthoimagery (2023) | photo | | Lucas County, State of Ohio | | Mercer_OH_2021 | Mercer County Orthoimagery (2021) | photo | | Mercer County, State of Ohio | | Miami_OH_2023 | Miami County Orthoimagery (2023) | photo | | Miami County, State of Ohio | diff --git a/Docs/Layers/bicycle_counter.md b/Docs/Layers/bicycle_counter.md index 4444099e8c..eaf8a60443 100644 --- a/Docs/Layers/bicycle_counter.md +++ b/Docs/Layers/bicycle_counter.md @@ -40,10 +40,10 @@ The following options to create new points are included: Elements must match **all** of the following expressions: -0. man_made=monitoring_station -1. monitoring:bicycle=yes +0. monitoring:bicycle=yes +1. man_made=monitoring_station -[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22man_made%22%3D%22monitoring_station%22%5D%5B%22monitoring%3Abicycle%22%3D%22yes%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22monitoring%3Abicycle%22%3D%22yes%22%5D%5B%22man_made%22%3D%22monitoring_station%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) ## Supported attributes diff --git a/Docs/Layers/bike_shop.md b/Docs/Layers/bike_shop.md index 6d105c2519..8f03bc9266 100644 --- a/Docs/Layers/bike_shop.md +++ b/Docs/Layers/bike_shop.md @@ -309,6 +309,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` diff --git a/Docs/Layers/charge_point.md b/Docs/Layers/charge_point.md new file mode 100644 index 0000000000..22e0ba7a1e --- /dev/null +++ b/Docs/Layers/charge_point.md @@ -0,0 +1,1208 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + +# charge_point + +Layer showing individual charge points within a charging station + + - This layer is shown at zoomlevel **18** and higher + +## Table of contents + +1. [Themes using this layer](#themes-using-this-layer) +2. [Presets](#presets) +3. [Basic tags for this layer](#basic-tags-for-this-layer) +4. [Supported attributes](#supported-attributes) + - [images](#images) + - [ref](#ref) + - [capacity](#capacity) + - [Available_charging_stations (generated)](#available_charging_stations-(generated)) + - [plugs-amount-socket:schuko](#plugs-amount-socketschuko) + - [plugs-amount-socket:typee](#plugs-amount-sockettypee) + - [plugs-amount-socket:chademo](#plugs-amount-socketchademo) + - [plugs-amount-socket:type1_cable](#plugs-amount-sockettype1_cable) + - [plugs-amount-socket:type1](#plugs-amount-sockettype1) + - [plugs-amount-socket:type1_combo](#plugs-amount-sockettype1_combo) + - [plugs-amount-socket:tesla_supercharger](#plugs-amount-sockettesla_supercharger) + - [plugs-amount-socket:type2](#plugs-amount-sockettype2) + - [plugs-amount-socket:type2_combo](#plugs-amount-sockettype2_combo) + - [plugs-amount-socket:type2_cable](#plugs-amount-sockettype2_cable) + - [plugs-amount-socket:tesla_supercharger_ccs](#plugs-amount-sockettesla_supercharger_ccs) + - [plugs-amount-socket:tesla_destination_us](#plugs-amount-sockettesla_destination_us) + - [plugs-amount-socket:tesla_destination](#plugs-amount-sockettesla_destination) + - [plugs-amount-socket:USB-A](#plugs-amount-socketusb-a) + - [plugs-amount-socket:bosch_3pin](#plugs-amount-socketbosch_3pin) + - [plugs-amount-socket:bosch_5pin](#plugs-amount-socketbosch_5pin) + - [plugs-amount-socket:bs1363](#plugs-amount-socketbs1363) + - [plugs-amount-socket:nema5_15](#plugs-amount-socketnema5_15) + - [plugs-amount-socket:sev1011_t23](#plugs-amount-socketsev1011_t23) + - [plugs-amount-socket:as3112](#plugs-amount-socketas3112) + - [plugs-amount-socket:nema_5_20](#plugs-amount-socketnema_5_20) + - [questions](#questions) + - [questions-technical](#questions-technical) + - [Technical questions](#technical-questions) + - [voltage-socket:schuko](#voltage-socketschuko) + - [current-socket:schuko](#current-socketschuko) + - [power-output-socket:schuko](#power-output-socketschuko) + - [voltage-socket:typee](#voltage-sockettypee) + - [current-socket:typee](#current-sockettypee) + - [power-output-socket:typee](#power-output-sockettypee) + - [voltage-socket:chademo](#voltage-socketchademo) + - [current-socket:chademo](#current-socketchademo) + - [power-output-socket:chademo](#power-output-socketchademo) + - [voltage-socket:type1_cable](#voltage-sockettype1_cable) + - [current-socket:type1_cable](#current-sockettype1_cable) + - [power-output-socket:type1_cable](#power-output-sockettype1_cable) + - [voltage-socket:type1](#voltage-sockettype1) + - [current-socket:type1](#current-sockettype1) + - [power-output-socket:type1](#power-output-sockettype1) + - [voltage-socket:type1_combo](#voltage-sockettype1_combo) + - [current-socket:type1_combo](#current-sockettype1_combo) + - [power-output-socket:type1_combo](#power-output-sockettype1_combo) + - [voltage-socket:tesla_supercharger](#voltage-sockettesla_supercharger) + - [current-socket:tesla_supercharger](#current-sockettesla_supercharger) + - [power-output-socket:tesla_supercharger](#power-output-sockettesla_supercharger) + - [voltage-socket:type2](#voltage-sockettype2) + - [current-socket:type2](#current-sockettype2) + - [power-output-socket:type2](#power-output-sockettype2) + - [voltage-socket:type2_combo](#voltage-sockettype2_combo) + - [current-socket:type2_combo](#current-sockettype2_combo) + - [power-output-socket:type2_combo](#power-output-sockettype2_combo) + - [voltage-socket:type2_cable](#voltage-sockettype2_cable) + - [current-socket:type2_cable](#current-sockettype2_cable) + - [power-output-socket:type2_cable](#power-output-sockettype2_cable) + - [voltage-socket:tesla_supercharger_ccs](#voltage-sockettesla_supercharger_ccs) + - [current-socket:tesla_supercharger_ccs](#current-sockettesla_supercharger_ccs) + - [power-output-socket:tesla_supercharger_ccs](#power-output-sockettesla_supercharger_ccs) + - [voltage-socket:tesla_destination_us](#voltage-sockettesla_destination_us) + - [current-socket:tesla_destination_us](#current-sockettesla_destination_us) + - [power-output-socket:tesla_destination_us](#power-output-sockettesla_destination_us) + - [voltage-socket:tesla_destination](#voltage-sockettesla_destination) + - [current-socket:tesla_destination](#current-sockettesla_destination) + - [power-output-socket:tesla_destination](#power-output-sockettesla_destination) + - [voltage-socket:USB-A](#voltage-socketusb-a) + - [current-socket:USB-A](#current-socketusb-a) + - [power-output-socket:USB-A](#power-output-socketusb-a) + - [voltage-socket:bosch_3pin](#voltage-socketbosch_3pin) + - [current-socket:bosch_3pin](#current-socketbosch_3pin) + - [power-output-socket:bosch_3pin](#power-output-socketbosch_3pin) + - [voltage-socket:bosch_5pin](#voltage-socketbosch_5pin) + - [current-socket:bosch_5pin](#current-socketbosch_5pin) + - [power-output-socket:bosch_5pin](#power-output-socketbosch_5pin) + - [voltage-socket:bs1363](#voltage-socketbs1363) + - [current-socket:bs1363](#current-socketbs1363) + - [power-output-socket:bs1363](#power-output-socketbs1363) + - [voltage-socket:nema5_15](#voltage-socketnema5_15) + - [current-socket:nema5_15](#current-socketnema5_15) + - [power-output-socket:nema5_15](#power-output-socketnema5_15) + - [voltage-socket:sev1011_t23](#voltage-socketsev1011_t23) + - [current-socket:sev1011_t23](#current-socketsev1011_t23) + - [power-output-socket:sev1011_t23](#power-output-socketsev1011_t23) + - [voltage-socket:as3112](#voltage-socketas3112) + - [current-socket:as3112](#current-socketas3112) + - [power-output-socket:as3112](#power-output-socketas3112) + - [voltage-socket:nema_5_20](#voltage-socketnema_5_20) + - [current-socket:nema_5_20](#current-socketnema_5_20) + - [power-output-socket:nema_5_20](#power-output-socketnema_5_20) + - [move-button](#move-button) + - [lod](#lod) + +## Themes using this layer + + - [charging_stations](https://mapcomplete.org/charging_stations) + - [personal](https://mapcomplete.org/personal) + +## Presets + +The following options to create new points are included: + + - **a charge point** which has the following tags:man_made=charge_point + +## Basic tags for this layer + +Elements must match the expression **man_made=charge_point** + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22man_made%22%3D%22charge_point%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + +## Supported attributes + +**Warning:**,this quick overview is incomplete, + +| attribute | type | values which are supported by this layer | +-----|-----|----- | +| [ref](https://wiki.openstreetmap.org/wiki/Key:ref) | [string](../SpecialInputElements.md#string) | | +| [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:bosch_5pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:bs1363](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:nema5_15](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:sev1011_t23](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:as3112](https://wiki.openstreetmap.org/wiki/Key:socket:as3112) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:nema_5_20](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20) | [pnat](../SpecialInputElements.md#pnat) | | +| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230) | +| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16) | +| [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:output%3D3.6 kW) | +| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230) | +| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16) | +| [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D3 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D22 kW) | +| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500) | +| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120) | +| [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:output%3D50 kW) | +| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240) | +| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32) | +| [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D3.7 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D7 kW) | +| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240) | +| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32) | +| [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D3.7 kW) [6.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D6.6 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7 kW) [7.2 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7.2 kW) | +| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400) [1000](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000) | +| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50) [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125) | +| [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D50 kW) [62.5 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D62.5 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D150 kW) [350 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D350 kW) | +| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480) | +| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350) | +| [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D250 kW) | +| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400) | +| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32) | +| [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D22 kW) | +| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920) | +| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350) | +| [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:output%3D50 kW) | +| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400) | +| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32) | +| [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D22 kW) | +| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920) | +| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350) | +| [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:output%3D50 kW) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350) | +| [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D250 kW) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32) | +| [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D22 kW) | +| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5) | +| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2) | +| [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) | [pfloat](../SpecialInputElements.md#pfloat) | [5W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D5W) [10W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D10W) | +| [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | | +| [socket:bosch_3pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | | +| [socket:bosch_3pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | | +| [socket:bosch_5pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | | +| [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | | +| [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | | +| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230) | +| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13) | +| [socket:bs1363:output](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3kW](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:output%3D3kW) | +| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120) | +| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15) | +| [socket:nema5_15:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:output) | [pfloat](../SpecialInputElements.md#pfloat) | [1.8 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:output%3D1.8 kW) | +| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230) | +| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16) | +| [socket:sev1011_t23:output](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:output%3D3.7 kW) | +| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230) | +| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10) | +| [socket:as3112:output](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:output%3D2.3 kW) | +| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120) | +| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20) | +| [socket:nema_5_20:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.4 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:output%3D2.4 kW) | + +### images +This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata` and shows the button to upload new images +_This tagrendering has no question and is thus read-only_ +*{image_carousel()}{image_upload()}* + +### ref + +The question is `What is the reference number of this charge point?` +*The reference of this charge point is {ref}* is shown if `ref` is set + +### capacity + +The question is `How much vehicles can be charged here at the same time?` +*{capacity} vehicles can be charged here at the same time* is shown if `capacity` is set + +### Available_charging_stations (generated) + +The question is `Which charging connections are available here?` + + - *Schuko wall plug without ground pin (CEE7/4 type F)* is shown if with socket:schuko=1. Unselecting this answer will add socket:schuko= + - *Schuko wall plug without ground pin (CEE7/4 type F)* is shown if with socket:schuko~.+ & socket:schuko!=1. _This option cannot be chosen as answer_ + - *European wall plug with ground pin (CEE7/4 type E)* is shown if with socket:typee=1. Unselecting this answer will add socket:typee= + - *European wall plug with ground pin (CEE7/4 type E)* is shown if with socket:typee~.+ & socket:typee!=1. _This option cannot be chosen as answer_ + - *Chademo* is shown if with socket:chademo=1. Unselecting this answer will add socket:chademo= + - *Chademo* is shown if with socket:chademo~.+ & socket:chademo!=1. _This option cannot be chosen as answer_ + - *Type 1 with cable (J1772)* is shown if with socket:type1_cable=1. Unselecting this answer will add socket:type1_cable= + - *Type 1 with cable (J1772)* is shown if with socket:type1_cable~.+ & socket:type1_cable!=1. _This option cannot be chosen as answer_ + - *Type 1 without cable (J1772)* is shown if with socket:type1=1. Unselecting this answer will add socket:type1= + - *Type 1 without cable (J1772)* is shown if with socket:type1~.+ & socket:type1!=1. _This option cannot be chosen as answer_ + - *Type 1 CCS (aka Type 1 Combo)* is shown if with socket:type1_combo=1. Unselecting this answer will add socket:type1_combo= + - *Type 1 CCS (aka Type 1 Combo)* is shown if with socket:type1_combo~.+ & socket:type1_combo!=1. _This option cannot be chosen as answer_ + - *Tesla Supercharger* is shown if with socket:tesla_supercharger=1. Unselecting this answer will add socket:tesla_supercharger= + - *Tesla Supercharger* is shown if with socket:tesla_supercharger~.+ & socket:tesla_supercharger!=1. _This option cannot be chosen as answer_ + - *Type 2 (mennekes)* is shown if with socket:type2=1. Unselecting this answer will add socket:type2= + - *Type 2 (mennekes)* is shown if with socket:type2~.+ & socket:type2!=1. _This option cannot be chosen as answer_ + - *Type 2 CCS (mennekes)* is shown if with socket:type2_combo=1. Unselecting this answer will add socket:type2_combo= + - *Type 2 CCS (mennekes)* is shown if with socket:type2_combo~.+ & socket:type2_combo!=1. _This option cannot be chosen as answer_ + - *Type 2 with cable (mennekes)* is shown if with socket:type2_cable=1. Unselecting this answer will add socket:type2_cable= + - *Type 2 with cable (mennekes)* is shown if with socket:type2_cable~.+ & socket:type2_cable!=1. _This option cannot be chosen as answer_ + - *Tesla Supercharger CCS (a branded type2_css)* is shown if with socket:tesla_supercharger_ccs=1. Unselecting this answer will add socket:tesla_supercharger_ccs= + - *Tesla Supercharger CCS (a branded type2_css)* is shown if with socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=1. _This option cannot be chosen as answer_ + - *Tesla Supercharger (destination)* is shown if with socket:tesla_destination=1. Unselecting this answer will add socket:tesla_destination= + - *Tesla Supercharger (destination)* is shown if with socket:tesla_destination~.+ & socket:tesla_destination!=1 & _country=us. _This option cannot be chosen as answer_ + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla)* is shown if with socket:tesla_destination=1. Unselecting this answer will add socket:tesla_destination= + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla)* is shown if with socket:tesla_destination~.+ & socket:tesla_destination!=1 & _country!=us. _This option cannot be chosen as answer_ + - *USB to charge phones and small electronics* is shown if with socket:USB-A=1. Unselecting this answer will add socket:USB-A= + - *USB to charge phones and small electronics* is shown if with socket:USB-A~.+ & socket:USB-A!=1. _This option cannot be chosen as answer_ + - *Bosch Active Connect with 3 pins and cable* is shown if with socket:bosch_3pin=1. Unselecting this answer will add socket:bosch_3pin= + - *Bosch Active Connect with 3 pins and cable* is shown if with socket:bosch_3pin~.+ & socket:bosch_3pin!=1. _This option cannot be chosen as answer_ + - *Bosch Active Connect with 5 pins and cable* is shown if with socket:bosch_5pin=1. Unselecting this answer will add socket:bosch_5pin= + - *Bosch Active Connect with 5 pins and cable* is shown if with socket:bosch_5pin~.+ & socket:bosch_5pin!=1. _This option cannot be chosen as answer_ + - *BS1363 (Type G)* is shown if with socket:bs1363=1. Unselecting this answer will add socket:bs1363= + - *BS1363 (Type G)* is shown if with socket:bs1363~.+ & socket:bs1363!=1. _This option cannot be chosen as answer_ + - *NEMA 5-15 (Type B)* is shown if with socket:nema5_15=1. Unselecting this answer will add socket:nema5_15= + - *NEMA 5-15 (Type B)* is shown if with socket:nema5_15~.+ & socket:nema5_15!=1. _This option cannot be chosen as answer_ + - *SEV 1011 T23 (Type J)* is shown if with socket:sev1011_t23=1. Unselecting this answer will add socket:sev1011_t23= + - *SEV 1011 T23 (Type J)* is shown if with socket:sev1011_t23~.+ & socket:sev1011_t23!=1. _This option cannot be chosen as answer_ + - *AS3112 (Type I)* is shown if with socket:as3112=1. Unselecting this answer will add socket:as3112= + - *AS3112 (Type I)* is shown if with socket:as3112~.+ & socket:as3112!=1. _This option cannot be chosen as answer_ + - *NEMA 5-20 (Type B)* is shown if with socket:nema_5_20=1. Unselecting this answer will add socket:nema_5_20= + - *NEMA 5-20 (Type B)* is shown if with socket:nema_5_20~.+ & socket:nema_5_20!=1. _This option cannot be chosen as answer_ + +### plugs-amount-socket:schuko + +The question is `How much plugs of type Schuko wall plug without ground pin (CEE7/4 type F) are available here?` +*There are {socket:schuko} plugs of type Schuko wall plug without ground pin (CEE7/4 type F) available here* is shown if `socket:schuko` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:typee + +The question is `How much plugs of type European wall plug with ground pin (CEE7/4 type E) are available here?` +*There are {socket:typee} plugs of type European wall plug with ground pin (CEE7/4 type E) available here* is shown if `socket:typee` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:chademo + +The question is `How much plugs of type Chademo are available here?` +*There are {socket:chademo} plugs of type Chademo available here* is shown if `socket:chademo` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:type1_cable + +The question is `How much plugs of type Type 1 with cable (J1772) are available here?` +*There are {socket:type1_cable} plugs of type Type 1 with cable (J1772) available here* is shown if `socket:type1_cable` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:type1 + +The question is `How much plugs of type Type 1 without cable (J1772) are available here?` +*There are {socket:type1} plugs of type Type 1 without cable (J1772) available here* is shown if `socket:type1` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:type1_combo + +The question is `How much plugs of type Type 1 CCS (aka Type 1 Combo) are available here?` +*There are {socket:type1_combo} plugs of type Type 1 CCS (aka Type 1 Combo) available here* is shown if `socket:type1_combo` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:tesla_supercharger + +The question is `How much plugs of type Tesla Supercharger are available here?` +*There are {socket:tesla_supercharger} plugs of type Tesla Supercharger available here* is shown if `socket:tesla_supercharger` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:type2 + +The question is `How much plugs of type Type 2 (mennekes) are available here?` +*There are {socket:type2} plugs of type Type 2 (mennekes) available here* is shown if `socket:type2` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:type2_combo + +The question is `How much plugs of type Type 2 CCS (mennekes) are available here?` +*There are {socket:type2_combo} plugs of type Type 2 CCS (mennekes) available here* is shown if `socket:type2_combo` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:type2_cable + +The question is `How much plugs of type Type 2 with cable (mennekes) are available here?` +*There are {socket:type2_cable} plugs of type Type 2 with cable (mennekes) available here* is shown if `socket:type2_cable` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:tesla_supercharger_ccs + +The question is `How much plugs of type Tesla Supercharger CCS (a branded type2_css) are available here?` +*There are {socket:tesla_supercharger_ccs} plugs of type Tesla Supercharger CCS (a branded type2_css) available here* is shown if `socket:tesla_supercharger_ccs` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:tesla_destination_us + +The question is `How much plugs of type Tesla Supercharger (destination) are available here?` +*There are {socket:tesla_destination} plugs of type Tesla Supercharger (destination) available here* is shown if `socket:tesla_destination` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:tesla_destination + +The question is `How much plugs of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) are available here?` +*There are {socket:tesla_destination} plugs of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) available here* is shown if `socket:tesla_destination` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:USB-A + +The question is `How much plugs of type USB to charge phones and small electronics are available here?` +*There are {socket:USB-A} plugs of type USB to charge phones and small electronics available here* is shown if `socket:USB-A` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:bosch_3pin + +The question is `How much plugs of type Bosch Active Connect with 3 pins and cable are available here?` +*There are {socket:bosch_3pin} plugs of type Bosch Active Connect with 3 pins and cable available here* is shown if `socket:bosch_3pin` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:bosch_5pin + +The question is `How much plugs of type Bosch Active Connect with 5 pins and cable are available here?` +*There are {socket:bosch_5pin} plugs of type Bosch Active Connect with 5 pins and cable available here* is shown if `socket:bosch_5pin` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:bs1363 + +The question is `How much plugs of type BS1363 (Type G) are available here?` +*There are {socket:bs1363} plugs of type BS1363 (Type G) available here* is shown if `socket:bs1363` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:nema5_15 + +The question is `How much plugs of type NEMA 5-15 (Type B) are available here?` +*There are {socket:nema5_15} plugs of type NEMA 5-15 (Type B) available here* is shown if `socket:nema5_15` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:sev1011_t23 + +The question is `How much plugs of type SEV 1011 T23 (Type J) are available here?` +*There are {socket:sev1011_t23} plugs of type SEV 1011 T23 (Type J) available here* is shown if `socket:sev1011_t23` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:as3112 + +The question is `How much plugs of type AS3112 (Type I) are available here?` +*There are {socket:as3112} plugs of type AS3112 (Type I) available here* is shown if `socket:as3112` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`plugs-amount` + +### plugs-amount-socket:nema_5_20 + +The question is `How much plugs of type NEMA 5-20 (Type B) are available here?` +*There are {socket:nema_5_20} plugs of type NEMA 5-20 (Type B) available here* is shown if `socket:nema_5_20` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`plugs-amount` + +### questions +Show the questions block at this location +_This tagrendering has no question and is thus read-only_ +*{questions()}* + +### questions-technical + +_This tagrendering has no question and is thus read-only_ +*

Technical questions

The questions below are very technical. Feel free to ignore them
{questions(technical)}* + +### voltage-socket:schuko + +The question is `What voltage do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` +*Schuko wall plug without ground pin (CEE7/4 type F) outputs {canonical(socket:schuko:voltage)}* is shown if `socket:schuko:voltage` is set + + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 + +This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`technical` + +### current-socket:schuko + +The question is `What current do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` +*Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:current)}* is shown if `socket:schuko:current` is set + + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 + +This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`technical` + +### power-output-socket:schuko + +The question is `What power output does a single plug of type Schuko wall plug without ground pin (CEE7/4 type F) offer?` +*Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:output)}* is shown if `socket:schuko:output` is set + + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW* is shown if with socket:schuko:output=3.6 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`technical` + +### voltage-socket:typee + +The question is `What voltage do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` +*European wall plug with ground pin (CEE7/4 type E) outputs {canonical(socket:typee:voltage)}* is shown if `socket:typee:voltage` is set + + - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 + +This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`technical` + +### current-socket:typee + +The question is `What current do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` +*European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:current)}* is shown if `socket:typee:current` is set + + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 + +This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`technical` + +### power-output-socket:typee + +The question is `What power output does a single plug of type European wall plug with ground pin (CEE7/4 type E) offer?` +*European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:output)}* is shown if `socket:typee:output` is set + + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW* is shown if with socket:typee:output=3 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW* is shown if with socket:typee:output=22 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`technical` + +### voltage-socket:chademo + +The question is `What voltage do the plugs with Chademo offer?` +*Chademo outputs {canonical(socket:chademo:voltage)}* is shown if `socket:chademo:voltage` is set + + - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 + +This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`technical` + +### current-socket:chademo + +The question is `What current do the plugs with Chademo offer?` +*Chademo outputs at most {canonical(socket:chademo:current)}* is shown if `socket:chademo:current` is set + + - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 + +This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`technical` + +### power-output-socket:chademo + +The question is `What power output does a single plug of type Chademo offer?` +*Chademo outputs at most {canonical(socket:chademo:output)}* is shown if `socket:chademo:output` is set + + - *Chademo outputs at most 50 kW* is shown if with socket:chademo:output=50 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`technical` + +### voltage-socket:type1_cable + +The question is `What voltage do the plugs with Type 1 with cable (J1772) offer?` +*Type 1 with cable (J1772) outputs {canonical(socket:type1_cable:voltage)}* is shown if `socket:type1_cable:voltage` is set + + - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 + - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`technical` + +### current-socket:type1_cable + +The question is `What current do the plugs with Type 1 with cable (J1772) offer?` +*Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:current)}* is shown if `socket:type1_cable:current` is set + + - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`technical` + +### power-output-socket:type1_cable + +The question is `What power output does a single plug of type Type 1 with cable (J1772) offer?` +*Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:output)}* is shown if `socket:type1_cable:output` is set + + - *Type 1 with cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1_cable:output=3.7 kW + - *Type 1 with cable (J1772) outputs at most 7 kW* is shown if with socket:type1_cable:output=7 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`technical` + +### voltage-socket:type1 + +The question is `What voltage do the plugs with Type 1 without cable (J1772) offer?` +*Type 1 without cable (J1772) outputs {canonical(socket:type1:voltage)}* is shown if `socket:type1:voltage` is set + + - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 + - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 + +This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`technical` + +### current-socket:type1 + +The question is `What current do the plugs with Type 1 without cable (J1772) offer?` +*Type 1 without cable (J1772) outputs at most {canonical(socket:type1:current)}* is shown if `socket:type1:current` is set + + - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 + +This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`technical` + +### power-output-socket:type1 + +The question is `What power output does a single plug of type Type 1 without cable (J1772) offer?` +*Type 1 without cable (J1772) outputs at most {canonical(socket:type1:output)}* is shown if `socket:type1:output` is set + + - *Type 1 without cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1:output=3.7 kW + - *Type 1 without cable (J1772) outputs at most 6.6 kW* is shown if with socket:type1:output=6.6 kW + - *Type 1 without cable (J1772) outputs at most 7 kW* is shown if with socket:type1:output=7 kW + - *Type 1 without cable (J1772) outputs at most 7.2 kW* is shown if with socket:type1:output=7.2 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`technical` + +### voltage-socket:type1_combo + +The question is `What voltage do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` +*Type 1 CCS (aka Type 1 Combo) outputs {canonical(socket:type1_combo:voltage)}* is shown if `socket:type1_combo:voltage` is set + + - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 + - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`technical` + +### current-socket:type1_combo + +The question is `What current do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` +*Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:current)}* is shown if `socket:type1_combo:current` is set + + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 + - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`technical` + +### power-output-socket:type1_combo + +The question is `What power output does a single plug of type Type 1 CCS (aka Type 1 Combo) offer?` +*Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:output)}* is shown if `socket:type1_combo:output` is set + + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW* is shown if with socket:type1_combo:output=50 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW* is shown if with socket:type1_combo:output=62.5 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW* is shown if with socket:type1_combo:output=150 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW* is shown if with socket:type1_combo:output=350 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`technical` + +### voltage-socket:tesla_supercharger + +The question is `What voltage do the plugs with Tesla Supercharger offer?` +*Tesla Supercharger outputs {canonical(socket:tesla_supercharger:voltage)}* is shown if `socket:tesla_supercharger:voltage` is set + + - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`technical` + +### current-socket:tesla_supercharger + +The question is `What current do the plugs with Tesla Supercharger offer?` +*Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:current)}* is shown if `socket:tesla_supercharger:current` is set + + - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 + - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`technical` + +### power-output-socket:tesla_supercharger + +The question is `What power output does a single plug of type Tesla Supercharger offer?` +*Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:output)}* is shown if `socket:tesla_supercharger:output` is set + + - *Tesla Supercharger outputs at most 120 kW* is shown if with socket:tesla_supercharger:output=120 kW + - *Tesla Supercharger outputs at most 150 kW* is shown if with socket:tesla_supercharger:output=150 kW + - *Tesla Supercharger outputs at most 250 kW* is shown if with socket:tesla_supercharger:output=250 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`technical` + +### voltage-socket:type2 + +The question is `What voltage do the plugs with Type 2 (mennekes) offer?` +*Type 2 (mennekes) outputs {canonical(socket:type2:voltage)}* is shown if `socket:type2:voltage` is set + + - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 + - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 + +This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`technical` + +### current-socket:type2 + +The question is `What current do the plugs with Type 2 (mennekes) offer?` +*Type 2 (mennekes) outputs at most {canonical(socket:type2:current)}* is shown if `socket:type2:current` is set + + - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 + - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 + +This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`technical` + +### power-output-socket:type2 + +The question is `What power output does a single plug of type Type 2 (mennekes) offer?` +*Type 2 (mennekes) outputs at most {canonical(socket:type2:output)}* is shown if `socket:type2:output` is set + + - *Type 2 (mennekes) outputs at most 11 kW* is shown if with socket:type2:output=11 kW + - *Type 2 (mennekes) outputs at most 22 kW* is shown if with socket:type2:output=22 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`technical` + +### voltage-socket:type2_combo + +The question is `What voltage do the plugs with Type 2 CCS (mennekes) offer?` +*Type 2 CCS (mennekes) outputs {canonical(socket:type2_combo:voltage)}* is shown if `socket:type2_combo:voltage` is set + + - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 + - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`technical` + +### current-socket:type2_combo + +The question is `What current do the plugs with Type 2 CCS (mennekes) offer?` +*Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:current)}* is shown if `socket:type2_combo:current` is set + + - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 + - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`technical` + +### power-output-socket:type2_combo + +The question is `What power output does a single plug of type Type 2 CCS (mennekes) offer?` +*Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:output)}* is shown if `socket:type2_combo:output` is set + + - *Type 2 CCS (mennekes) outputs at most 50 kW* is shown if with socket:type2_combo:output=50 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`technical` + +### voltage-socket:type2_cable + +The question is `What voltage do the plugs with Type 2 with cable (mennekes) offer?` +*Type 2 with cable (mennekes) outputs {canonical(socket:type2_cable:voltage)}* is shown if `socket:type2_cable:voltage` is set + + - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 + - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`technical` + +### current-socket:type2_cable + +The question is `What current do the plugs with Type 2 with cable (mennekes) offer?` +*Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:current)}* is shown if `socket:type2_cable:current` is set + + - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 + - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`technical` + +### power-output-socket:type2_cable + +The question is `What power output does a single plug of type Type 2 with cable (mennekes) offer?` +*Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:output)}* is shown if `socket:type2_cable:output` is set + + - *Type 2 with cable (mennekes) outputs at most 11 kW* is shown if with socket:type2_cable:output=11 kW + - *Type 2 with cable (mennekes) outputs at most 22 kW* is shown if with socket:type2_cable:output=22 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`technical` + +### voltage-socket:tesla_supercharger_ccs + +The question is `What voltage do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` +*Tesla Supercharger CCS (a branded type2_css) outputs {canonical(socket:tesla_supercharger_ccs:voltage)}* is shown if `socket:tesla_supercharger_ccs:voltage` is set + + - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 + - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`technical` + +### current-socket:tesla_supercharger_ccs + +The question is `What current do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` +*Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:current)}* is shown if `socket:tesla_supercharger_ccs:current` is set + + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`technical` + +### power-output-socket:tesla_supercharger_ccs + +The question is `What power output does a single plug of type Tesla Supercharger CCS (a branded type2_css) offer?` +*Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:output)}* is shown if `socket:tesla_supercharger_ccs:output` is set + + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW* is shown if with socket:tesla_supercharger_ccs:output=50 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`technical` + +### voltage-socket:tesla_destination_us + +The question is `What voltage do the plugs with Tesla Supercharger (destination) offer?` +*Tesla Supercharger (destination) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set + + - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`technical` + +### current-socket:tesla_destination_us + +The question is `What current do the plugs with Tesla Supercharger (destination) offer?` +*Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set + + - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 + - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`technical` + +### power-output-socket:tesla_destination_us + +The question is `What power output does a single plug of type Tesla Supercharger (destination) offer?` +*Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set + + - *Tesla Supercharger (destination) outputs at most 120 kW* is shown if with socket:tesla_destination:output=120 kW + - *Tesla Supercharger (destination) outputs at most 150 kW* is shown if with socket:tesla_destination:output=150 kW + - *Tesla Supercharger (destination) outputs at most 250 kW* is shown if with socket:tesla_destination:output=250 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`technical` + +### voltage-socket:tesla_destination + +The question is `What voltage do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` +*Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set + + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`technical` + +### current-socket:tesla_destination + +The question is `What current do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` +*Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set + + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`technical` + +### power-output-socket:tesla_destination + +The question is `What power output does a single plug of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` +*Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set + + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW* is shown if with socket:tesla_destination:output=11 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW* is shown if with socket:tesla_destination:output=22 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`technical` + +### voltage-socket:USB-A + +The question is `What voltage do the plugs with USB to charge phones and small electronics offer?` +*USB to charge phones and small electronics outputs {canonical(socket:USB-A:voltage)}* is shown if `socket:USB-A:voltage` is set + + - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 + +This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`technical` + +### current-socket:USB-A + +The question is `What current do the plugs with USB to charge phones and small electronics offer?` +*USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:current)}* is shown if `socket:USB-A:current` is set + + - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 + - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 + +This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`technical` + +### power-output-socket:USB-A + +The question is `What power output does a single plug of type USB to charge phones and small electronics offer?` +*USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:output)}* is shown if `socket:USB-A:output` is set + + - *USB to charge phones and small electronics outputs at most 5W* is shown if with socket:USB-A:output=5W + - *USB to charge phones and small electronics outputs at most 10W* is shown if with socket:USB-A:output=10W + +This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`technical` + +### voltage-socket:bosch_3pin + +The question is `What voltage do the plugs with Bosch Active Connect with 3 pins and cable offer?` +*Bosch Active Connect with 3 pins and cable outputs {canonical(socket:bosch_3pin:voltage)}* is shown if `socket:bosch_3pin:voltage` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`technical` + +### current-socket:bosch_3pin + +The question is `What current do the plugs with Bosch Active Connect with 3 pins and cable offer?` +*Bosch Active Connect with 3 pins and cable outputs at most {canonical(socket:bosch_3pin:current)}* is shown if `socket:bosch_3pin:current` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`technical` + +### power-output-socket:bosch_3pin + +The question is `What power output does a single plug of type Bosch Active Connect with 3 pins and cable offer?` +*Bosch Active Connect with 3 pins and cable outputs at most {canonical(socket:bosch_3pin:output)}* is shown if `socket:bosch_3pin:output` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`technical` + +### voltage-socket:bosch_5pin + +The question is `What voltage do the plugs with Bosch Active Connect with 5 pins and cable offer?` +*Bosch Active Connect with 5 pins and cable outputs {canonical(socket:bosch_5pin:voltage)}* is shown if `socket:bosch_5pin:voltage` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`technical` + +### current-socket:bosch_5pin + +The question is `What current do the plugs with Bosch Active Connect with 5 pins and cable offer?` +*Bosch Active Connect with 5 pins and cable outputs at most {canonical(socket:bosch_5pin:current)}* is shown if `socket:bosch_5pin:current` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`technical` + +### power-output-socket:bosch_5pin + +The question is `What power output does a single plug of type Bosch Active Connect with 5 pins and cable offer?` +*Bosch Active Connect with 5 pins and cable outputs at most {canonical(socket:bosch_5pin:output)}* is shown if `socket:bosch_5pin:output` is set + +This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`technical` + +### voltage-socket:bs1363 + +The question is `What voltage do the plugs with BS1363 (Type G) offer?` +*BS1363 (Type G) outputs {canonical(socket:bs1363:voltage)}* is shown if `socket:bs1363:voltage` is set + + - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 + +This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`technical` + +### current-socket:bs1363 + +The question is `What current do the plugs with BS1363 (Type G) offer?` +*BS1363 (Type G) outputs at most {canonical(socket:bs1363:current)}* is shown if `socket:bs1363:current` is set + + - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 + +This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`technical` + +### power-output-socket:bs1363 + +The question is `What power output does a single plug of type BS1363 (Type G) offer?` +*BS1363 (Type G) outputs at most {canonical(socket:bs1363:output)}* is shown if `socket:bs1363:output` is set + + - *BS1363 (Type G) outputs at most 3kW* is shown if with socket:bs1363:output=3kW + +This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`technical` + +### voltage-socket:nema5_15 + +The question is `What voltage do the plugs with NEMA 5-15 (Type B) offer?` +*NEMA 5-15 (Type B) outputs {canonical(socket:nema5_15:voltage)}* is shown if `socket:nema5_15:voltage` is set + + - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 + +This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`technical` + +### current-socket:nema5_15 + +The question is `What current do the plugs with NEMA 5-15 (Type B) offer?` +*NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:current)}* is shown if `socket:nema5_15:current` is set + + - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 + +This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`technical` + +### power-output-socket:nema5_15 + +The question is `What power output does a single plug of type NEMA 5-15 (Type B) offer?` +*NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:output)}* is shown if `socket:nema5_15:output` is set + + - *NEMA 5-15 (Type B) outputs at most 1.8 kW* is shown if with socket:nema5_15:output=1.8 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`technical` + +### voltage-socket:sev1011_t23 + +The question is `What voltage do the plugs with SEV 1011 T23 (Type J) offer?` +*SEV 1011 T23 (Type J) outputs {canonical(socket:sev1011_t23:voltage)}* is shown if `socket:sev1011_t23:voltage` is set + + - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 + +This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`technical` + +### current-socket:sev1011_t23 + +The question is `What current do the plugs with SEV 1011 T23 (Type J) offer?` +*SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:current)}* is shown if `socket:sev1011_t23:current` is set + + - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 + +This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`technical` + +### power-output-socket:sev1011_t23 + +The question is `What power output does a single plug of type SEV 1011 T23 (Type J) offer?` +*SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:output)}* is shown if `socket:sev1011_t23:output` is set + + - *SEV 1011 T23 (Type J) outputs at most 3.7 kW* is shown if with socket:sev1011_t23:output=3.7 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`technical` + +### voltage-socket:as3112 + +The question is `What voltage do the plugs with AS3112 (Type I) offer?` +*AS3112 (Type I) outputs {canonical(socket:as3112:voltage)}* is shown if `socket:as3112:voltage` is set + + - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 + +This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`technical` + +### current-socket:as3112 + +The question is `What current do the plugs with AS3112 (Type I) offer?` +*AS3112 (Type I) outputs at most {canonical(socket:as3112:current)}* is shown if `socket:as3112:current` is set + + - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 + +This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`technical` + +### power-output-socket:as3112 + +The question is `What power output does a single plug of type AS3112 (Type I) offer?` +*AS3112 (Type I) outputs at most {canonical(socket:as3112:output)}* is shown if `socket:as3112:output` is set + + - *AS3112 (Type I) outputs at most 2.3 kW* is shown if with socket:as3112:output=2.3 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`technical` + +### voltage-socket:nema_5_20 + +The question is `What voltage do the plugs with NEMA 5-20 (Type B) offer?` +*NEMA 5-20 (Type B) outputs {canonical(socket:nema_5_20:voltage)}* is shown if `socket:nema_5_20:voltage` is set + + - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 + +This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`technical` + +### current-socket:nema_5_20 + +The question is `What current do the plugs with NEMA 5-20 (Type B) offer?` +*NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:current)}* is shown if `socket:nema_5_20:current` is set + + - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 + +This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`technical` + +### power-output-socket:nema_5_20 + +The question is `What power output does a single plug of type NEMA 5-20 (Type B) offer?` +*NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:output)}* is shown if `socket:nema_5_20:output` is set + + - *NEMA 5-20 (Type B) outputs at most 2.4 kW* is shown if with socket:nema_5_20:output=2.4 kW + +This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`technical` + +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + +### lod + +_This tagrendering has no question and is thus read-only_ +*{linked_data_from_website()}* + +This tagrendering has labels +`added_by_default` + + +This document is autogenerated from [assets/layers/charge_point/charge_point.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/charge_point/charge_point.json) diff --git a/Docs/Layers/charging_station.md b/Docs/Layers/charging_station.md index 5c4c4a4d67..9d277b186c 100644 --- a/Docs/Layers/charging_station.md +++ b/Docs/Layers/charging_station.md @@ -162,60 +162,60 @@ Elements must match **any** of the following expressions: | [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [key](https://wiki.openstreetmap.org/wiki/Tag:access%3Dkey) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [permissive](https://wiki.openstreetmap.org/wiki/Tag:access%3Dpermissive) | | [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230 V) | -| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16 A) | +| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230) | +| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16) | | [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:output%3D3.6 kW) | | [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230 V) | -| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16 A) | +| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230) | +| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16) | | [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D3 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D22 kW) | | [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500 V) | -| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120 A](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120 A) | +| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500) | +| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120) | | [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:output%3D50 kW) | | [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240 V) | -| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32 A) | +| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240) | +| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32) | | [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D3.7 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D7 kW) | | [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240 V) | -| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32 A) | +| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240) | +| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32) | | [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D3.7 kW) [6.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D6.6 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7 kW) [7.2 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7.2 kW) | | [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400 V) [1000 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000 V) | -| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50 A) [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125 A) | +| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400) [1000](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000) | +| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50) [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125) | | [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D50 kW) [62.5 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D62.5 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D150 kW) [350 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D350 kW) | | [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480 V) | -| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350 A) | +| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480) | +| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350) | | [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D250 kW) | | [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400 V) | -| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32 A) | +| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400) | +| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32) | | [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D22 kW) | | [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920 V) | -| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350 A) | +| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920) | +| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350) | | [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:output%3D50 kW) | | [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400 V) | -| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32 A) | +| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400) | +| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32) | | [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D22 kW) | | [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920 V) | -| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350 A) | +| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920) | +| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350) | | [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:output%3D50 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D250 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D22 kW) | | [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5 V](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5 V) | -| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1 A) [2 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2 A) | +| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5) | +| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2) | | [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) | [pfloat](../SpecialInputElements.md#pfloat) | [5W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D5W) [10W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D10W) | | [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | | @@ -226,24 +226,24 @@ Elements must match **any** of the following expressions: | [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bs1363](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230 V) | -| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13 A](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13 A) | +| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230) | +| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13) | | [socket:bs1363:output](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3kW](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:output%3D3kW) | | [socket:nema5_15](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120 V) | -| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15 A) | +| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120) | +| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15) | | [socket:nema5_15:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:output) | [pfloat](../SpecialInputElements.md#pfloat) | [1.8 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:output%3D1.8 kW) | | [socket:sev1011_t23](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230 V) | -| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16 A) | +| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230) | +| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16) | | [socket:sev1011_t23:output](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:output%3D3.7 kW) | | [socket:as3112](https://wiki.openstreetmap.org/wiki/Key:socket:as3112) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230 V) | -| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10 A](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10 A) | +| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230) | +| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10) | | [socket:as3112:output](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:output%3D2.3 kW) | | [socket:nema_5_20](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120 V) | -| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20 A) | +| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120) | +| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20) | | [socket:nema_5_20:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.4 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:output%3D2.4 kW) | | [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) | | [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) | @@ -345,13 +345,15 @@ The question is `How much plugs of type Schuko wall plug without ground p *There are {socket:schuko} plugs of type Schuko wall plug without ground pin (CEE7/4 type F) available here* is shown if `socket:schuko` is set This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:schuko The question is `What voltage do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs {canonical(socket:schuko:voltage)}* is shown if `socket:schuko:voltage` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 V + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -362,7 +364,7 @@ This tagrendering has labels The question is `What current do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:current)}* is shown if `socket:schuko:current` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 A + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -373,7 +375,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:output)}* is shown if `socket:schuko:output` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW A* is shown if with socket:schuko:output=3.6 kW + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW* is shown if with socket:schuko:output=3.6 kW This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -385,13 +387,15 @@ The question is `How much plugs of type European wall plug with ground pi *There are {socket:typee} plugs of type European wall plug with ground pin (CEE7/4 type E) available here* is shown if `socket:typee` is set This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:typee The question is `What voltage do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs {canonical(socket:typee:voltage)}* is shown if `socket:typee:voltage` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 V + - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -402,7 +406,7 @@ This tagrendering has labels The question is `What current do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:current)}* is shown if `socket:typee:current` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 A + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -413,8 +417,8 @@ This tagrendering has labels The question is `What power output does a single plug of type European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:output)}* is shown if `socket:typee:output` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW A* is shown if with socket:typee:output=3 kW - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW A* is shown if with socket:typee:output=22 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW* is shown if with socket:typee:output=3 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW* is shown if with socket:typee:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -426,13 +430,15 @@ The question is `How much plugs of type Chademo are available here?` *There are {socket:chademo} plugs of type Chademo available here* is shown if `socket:chademo` is set This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:chademo The question is `What voltage do the plugs with Chademo offer?` *Chademo outputs {canonical(socket:chademo:voltage)}* is shown if `socket:chademo:voltage` is set - - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 V + - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -443,7 +449,7 @@ This tagrendering has labels The question is `What current do the plugs with Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:current)}* is shown if `socket:chademo:current` is set - - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 A + - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -454,7 +460,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:output)}* is shown if `socket:chademo:output` is set - - *Chademo outputs at most 50 kW A* is shown if with socket:chademo:output=50 kW + - *Chademo outputs at most 50 kW* is shown if with socket:chademo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -466,14 +472,16 @@ The question is `How much plugs of type Type 1 with cable (J1772) are ava *There are {socket:type1_cable} plugs of type Type 1 with cable (J1772) available here* is shown if `socket:type1_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_cable The question is `What voltage do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs {canonical(socket:type1_cable:voltage)}* is shown if `socket:type1_cable:voltage` is set - - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 V - - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 V + - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 + - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -484,7 +492,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:current)}* is shown if `socket:type1_cable:current` is set - - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 A + - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -495,8 +503,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:output)}* is shown if `socket:type1_cable:output` is set - - *Type 1 with cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1_cable:output=3.7 kW - - *Type 1 with cable (J1772) outputs at most 7 kW A* is shown if with socket:type1_cable:output=7 kW + - *Type 1 with cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1_cable:output=3.7 kW + - *Type 1 with cable (J1772) outputs at most 7 kW* is shown if with socket:type1_cable:output=7 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -508,14 +516,16 @@ The question is `How much plugs of type Type 1 without cable (J177 *There are {socket:type1} plugs of type Type 1 without cable (J1772) available here* is shown if `socket:type1` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1 The question is `What voltage do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs {canonical(socket:type1:voltage)}* is shown if `socket:type1:voltage` is set - - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 V - - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 V + - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 + - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -526,7 +536,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:current)}* is shown if `socket:type1:current` is set - - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 A + - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -537,10 +547,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:output)}* is shown if `socket:type1:output` is set - - *Type 1 without cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1:output=3.7 kW - - *Type 1 without cable (J1772) outputs at most 6.6 kW A* is shown if with socket:type1:output=6.6 kW - - *Type 1 without cable (J1772) outputs at most 7 kW A* is shown if with socket:type1:output=7 kW - - *Type 1 without cable (J1772) outputs at most 7.2 kW A* is shown if with socket:type1:output=7.2 kW + - *Type 1 without cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1:output=3.7 kW + - *Type 1 without cable (J1772) outputs at most 6.6 kW* is shown if with socket:type1:output=6.6 kW + - *Type 1 without cable (J1772) outputs at most 7 kW* is shown if with socket:type1:output=7 kW + - *Type 1 without cable (J1772) outputs at most 7.2 kW* is shown if with socket:type1:output=7.2 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -552,14 +562,16 @@ The question is `How much plugs of type Type 1 CCS (aka Type 1 Combo) are *There are {socket:type1_combo} plugs of type Type 1 CCS (aka Type 1 Combo) available here* is shown if `socket:type1_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_combo The question is `What voltage do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs {canonical(socket:type1_combo:voltage)}* is shown if `socket:type1_combo:voltage` is set - - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 V - - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 V + - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 + - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -570,8 +582,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:current)}* is shown if `socket:type1_combo:current` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 A - - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 A + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 + - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -582,10 +594,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:output)}* is shown if `socket:type1_combo:output` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW A* is shown if with socket:type1_combo:output=50 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW A* is shown if with socket:type1_combo:output=62.5 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW A* is shown if with socket:type1_combo:output=150 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW A* is shown if with socket:type1_combo:output=350 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW* is shown if with socket:type1_combo:output=50 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW* is shown if with socket:type1_combo:output=62.5 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW* is shown if with socket:type1_combo:output=150 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW* is shown if with socket:type1_combo:output=350 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -597,13 +609,15 @@ The question is `How much plugs of type Tesla Supercharger are available *There are {socket:tesla_supercharger} plugs of type Tesla Supercharger available here* is shown if `socket:tesla_supercharger` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger The question is `What voltage do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs {canonical(socket:tesla_supercharger:voltage)}* is shown if `socket:tesla_supercharger:voltage` is set - - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 V + - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -614,8 +628,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:current)}* is shown if `socket:tesla_supercharger:current` is set - - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 A - - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 A + - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 + - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -626,9 +640,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:output)}* is shown if `socket:tesla_supercharger:output` is set - - *Tesla Supercharger outputs at most 120 kW A* is shown if with socket:tesla_supercharger:output=120 kW - - *Tesla Supercharger outputs at most 150 kW A* is shown if with socket:tesla_supercharger:output=150 kW - - *Tesla Supercharger outputs at most 250 kW A* is shown if with socket:tesla_supercharger:output=250 kW + - *Tesla Supercharger outputs at most 120 kW* is shown if with socket:tesla_supercharger:output=120 kW + - *Tesla Supercharger outputs at most 150 kW* is shown if with socket:tesla_supercharger:output=150 kW + - *Tesla Supercharger outputs at most 250 kW* is shown if with socket:tesla_supercharger:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -640,14 +654,16 @@ The question is `How much plugs of type Type 2 (mennekes) are available h *There are {socket:type2} plugs of type Type 2 (mennekes) available here* is shown if `socket:type2` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2 The question is `What voltage do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs {canonical(socket:type2:voltage)}* is shown if `socket:type2:voltage` is set - - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 V - - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 V + - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 + - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -658,8 +674,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:current)}* is shown if `socket:type2:current` is set - - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 A - - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 A + - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 + - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -670,8 +686,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:output)}* is shown if `socket:type2:output` is set - - *Type 2 (mennekes) outputs at most 11 kW A* is shown if with socket:type2:output=11 kW - - *Type 2 (mennekes) outputs at most 22 kW A* is shown if with socket:type2:output=22 kW + - *Type 2 (mennekes) outputs at most 11 kW* is shown if with socket:type2:output=11 kW + - *Type 2 (mennekes) outputs at most 22 kW* is shown if with socket:type2:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -683,14 +699,16 @@ The question is `How much plugs of type Type 2 CCS (mennekes) are availab *There are {socket:type2_combo} plugs of type Type 2 CCS (mennekes) available here* is shown if `socket:type2_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_combo The question is `What voltage do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs {canonical(socket:type2_combo:voltage)}* is shown if `socket:type2_combo:voltage` is set - - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 V - - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 V + - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 + - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -701,8 +719,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:current)}* is shown if `socket:type2_combo:current` is set - - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 A - - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 A + - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 + - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -713,7 +731,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:output)}* is shown if `socket:type2_combo:output` is set - - *Type 2 CCS (mennekes) outputs at most 50 kW A* is shown if with socket:type2_combo:output=50 kW + - *Type 2 CCS (mennekes) outputs at most 50 kW* is shown if with socket:type2_combo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -725,14 +743,16 @@ The question is `How much plugs of type Type 2 with cable (mennekes) are *There are {socket:type2_cable} plugs of type Type 2 with cable (mennekes) available here* is shown if `socket:type2_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_cable The question is `What voltage do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs {canonical(socket:type2_cable:voltage)}* is shown if `socket:type2_cable:voltage` is set - - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 V - - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 V + - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 + - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -743,8 +763,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:current)}* is shown if `socket:type2_cable:current` is set - - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 A - - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 A + - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 + - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -755,8 +775,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:output)}* is shown if `socket:type2_cable:output` is set - - *Type 2 with cable (mennekes) outputs at most 11 kW A* is shown if with socket:type2_cable:output=11 kW - - *Type 2 with cable (mennekes) outputs at most 22 kW A* is shown if with socket:type2_cable:output=22 kW + - *Type 2 with cable (mennekes) outputs at most 11 kW* is shown if with socket:type2_cable:output=11 kW + - *Type 2 with cable (mennekes) outputs at most 22 kW* is shown if with socket:type2_cable:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -768,14 +788,16 @@ The question is `How much plugs of type Tesla Supercharger CCS (a branded *There are {socket:tesla_supercharger_ccs} plugs of type Tesla Supercharger CCS (a branded type2_css) available here* is shown if `socket:tesla_supercharger_ccs` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger_ccs The question is `What voltage do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs {canonical(socket:tesla_supercharger_ccs:voltage)}* is shown if `socket:tesla_supercharger_ccs:voltage` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 V - - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 V + - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 + - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -786,8 +808,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:current)}* is shown if `socket:tesla_supercharger_ccs:current` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 A - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 A + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -798,7 +820,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:output)}* is shown if `socket:tesla_supercharger_ccs:output` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW A* is shown if with socket:tesla_supercharger_ccs:output=50 kW + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW* is shown if with socket:tesla_supercharger_ccs:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -810,13 +832,15 @@ The question is `How much plugs of type Tesla Supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla Supercharger (destination) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination_us The question is `What voltage do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 V + - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -827,8 +851,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 A - - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 A + - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 + - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -839,9 +863,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla Supercharger (destination) outputs at most 120 kW A* is shown if with socket:tesla_destination:output=120 kW - - *Tesla Supercharger (destination) outputs at most 150 kW A* is shown if with socket:tesla_destination:output=150 kW - - *Tesla Supercharger (destination) outputs at most 250 kW A* is shown if with socket:tesla_destination:output=250 kW + - *Tesla Supercharger (destination) outputs at most 120 kW* is shown if with socket:tesla_destination:output=120 kW + - *Tesla Supercharger (destination) outputs at most 150 kW* is shown if with socket:tesla_destination:output=150 kW + - *Tesla Supercharger (destination) outputs at most 250 kW* is shown if with socket:tesla_destination:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -853,14 +877,16 @@ The question is `How much plugs of type Tesla supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination The question is `What voltage do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 V - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 V + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -871,8 +897,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 A - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 A + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -883,8 +909,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW A* is shown if with socket:tesla_destination:output=11 kW - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW A* is shown if with socket:tesla_destination:output=22 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW* is shown if with socket:tesla_destination:output=11 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW* is shown if with socket:tesla_destination:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -896,13 +922,15 @@ The question is `How much plugs of type USB to charge phones and small el *There are {socket:USB-A} plugs of type USB to charge phones and small electronics available here* is shown if `socket:USB-A` is set This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:USB-A The question is `What voltage do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs {canonical(socket:USB-A:voltage)}* is shown if `socket:USB-A:voltage` is set - - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 V + - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -913,8 +941,8 @@ This tagrendering has labels The question is `What current do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:current)}* is shown if `socket:USB-A:current` is set - - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 A - - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 A + - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 + - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -925,8 +953,8 @@ This tagrendering has labels The question is `What power output does a single plug of type USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:output)}* is shown if `socket:USB-A:output` is set - - *USB to charge phones and small electronics outputs at most 5W A* is shown if with socket:USB-A:output=5W - - *USB to charge phones and small electronics outputs at most 10W A* is shown if with socket:USB-A:output=10W + - *USB to charge phones and small electronics outputs at most 5W* is shown if with socket:USB-A:output=5W + - *USB to charge phones and small electronics outputs at most 10W* is shown if with socket:USB-A:output=10W This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -938,6 +966,8 @@ The question is `How much plugs of type Bosch Active Connect with 3 pins *There are {socket:bosch_3pin} plugs of type Bosch Active Connect with 3 pins and cable available here* is shown if `socket:bosch_3pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_3pin @@ -972,6 +1002,8 @@ The question is `How much plugs of type Bosch Active Connect with 5 pins *There are {socket:bosch_5pin} plugs of type Bosch Active Connect with 5 pins and cable available here* is shown if `socket:bosch_5pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_5pin @@ -1006,13 +1038,15 @@ The question is `How much plugs of type BS1363 (Type G) are available her *There are {socket:bs1363} plugs of type BS1363 (Type G) available here* is shown if `socket:bs1363` is set This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bs1363 The question is `What voltage do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs {canonical(socket:bs1363:voltage)}* is shown if `socket:bs1363:voltage` is set - - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 V + - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1023,7 +1057,7 @@ This tagrendering has labels The question is `What current do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:current)}* is shown if `socket:bs1363:current` is set - - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 A + - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1034,7 +1068,7 @@ This tagrendering has labels The question is `What power output does a single plug of type BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:output)}* is shown if `socket:bs1363:output` is set - - *BS1363 (Type G) outputs at most 3kW A* is shown if with socket:bs1363:output=3kW + - *BS1363 (Type G) outputs at most 3kW* is shown if with socket:bs1363:output=3kW This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1046,13 +1080,15 @@ The question is `How much plugs of type NEMA 5-15 (Type B) are available *There are {socket:nema5_15} plugs of type NEMA 5-15 (Type B) available here* is shown if `socket:nema5_15` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema5_15 The question is `What voltage do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs {canonical(socket:nema5_15:voltage)}* is shown if `socket:nema5_15:voltage` is set - - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 V + - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1063,7 +1099,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:current)}* is shown if `socket:nema5_15:current` is set - - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 A + - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1074,7 +1110,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:output)}* is shown if `socket:nema5_15:output` is set - - *NEMA 5-15 (Type B) outputs at most 1.8 kW A* is shown if with socket:nema5_15:output=1.8 kW + - *NEMA 5-15 (Type B) outputs at most 1.8 kW* is shown if with socket:nema5_15:output=1.8 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1086,13 +1122,15 @@ The question is `How much plugs of type SEV 1011 T23 (Type J) are availab *There are {socket:sev1011_t23} plugs of type SEV 1011 T23 (Type J) available here* is shown if `socket:sev1011_t23` is set This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:sev1011_t23 The question is `What voltage do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs {canonical(socket:sev1011_t23:voltage)}* is shown if `socket:sev1011_t23:voltage` is set - - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 V + - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1103,7 +1141,7 @@ This tagrendering has labels The question is `What current do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:current)}* is shown if `socket:sev1011_t23:current` is set - - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 A + - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1114,7 +1152,7 @@ This tagrendering has labels The question is `What power output does a single plug of type SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:output)}* is shown if `socket:sev1011_t23:output` is set - - *SEV 1011 T23 (Type J) outputs at most 3.7 kW A* is shown if with socket:sev1011_t23:output=3.7 kW + - *SEV 1011 T23 (Type J) outputs at most 3.7 kW* is shown if with socket:sev1011_t23:output=3.7 kW This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1126,13 +1164,15 @@ The question is `How much plugs of type AS3112 (Type I) are available her *There are {socket:as3112} plugs of type AS3112 (Type I) available here* is shown if `socket:as3112` is set This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:as3112 The question is `What voltage do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs {canonical(socket:as3112:voltage)}* is shown if `socket:as3112:voltage` is set - - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 V + - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1143,7 +1183,7 @@ This tagrendering has labels The question is `What current do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:current)}* is shown if `socket:as3112:current` is set - - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 A + - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1154,7 +1194,7 @@ This tagrendering has labels The question is `What power output does a single plug of type AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:output)}* is shown if `socket:as3112:output` is set - - *AS3112 (Type I) outputs at most 2.3 kW A* is shown if with socket:as3112:output=2.3 kW + - *AS3112 (Type I) outputs at most 2.3 kW* is shown if with socket:as3112:output=2.3 kW This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1166,13 +1206,15 @@ The question is `How much plugs of type NEMA 5-20 (Type B) are available *There are {socket:nema_5_20} plugs of type NEMA 5-20 (Type B) available here* is shown if `socket:nema_5_20` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema_5_20 The question is `What voltage do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs {canonical(socket:nema_5_20:voltage)}* is shown if `socket:nema_5_20:voltage` is set - - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 V + - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1183,7 +1225,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:current)}* is shown if `socket:nema_5_20:current` is set - - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 A + - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1194,7 +1236,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:output)}* is shown if `socket:nema_5_20:output` is set - - *NEMA 5-20 (Type B) outputs at most 2.4 kW A* is shown if with socket:nema_5_20:output=2.4 kW + - *NEMA 5-20 (Type B) outputs at most 2.4 kW* is shown if with socket:nema_5_20:output=2.4 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels diff --git a/Docs/Layers/charging_station_ebikes.md b/Docs/Layers/charging_station_ebikes.md index 7290ff733b..d8f8b621d8 100644 --- a/Docs/Layers/charging_station_ebikes.md +++ b/Docs/Layers/charging_station_ebikes.md @@ -151,60 +151,60 @@ Elements must match **all** of the following expressions: | [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [key](https://wiki.openstreetmap.org/wiki/Tag:access%3Dkey) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [permissive](https://wiki.openstreetmap.org/wiki/Tag:access%3Dpermissive) | | [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230 V) | -| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16 A) | +| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230) | +| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16) | | [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:output%3D3.6 kW) | | [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230 V) | -| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16 A) | +| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230) | +| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16) | | [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D3 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D22 kW) | | [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500 V) | -| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120 A](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120 A) | +| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500) | +| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120) | | [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:output%3D50 kW) | | [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240 V) | -| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32 A) | +| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240) | +| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32) | | [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D3.7 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D7 kW) | | [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240 V) | -| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32 A) | +| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240) | +| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32) | | [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D3.7 kW) [6.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D6.6 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7 kW) [7.2 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7.2 kW) | | [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400 V) [1000 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000 V) | -| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50 A) [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125 A) | +| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400) [1000](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000) | +| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50) [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125) | | [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D50 kW) [62.5 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D62.5 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D150 kW) [350 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D350 kW) | | [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480 V) | -| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350 A) | +| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480) | +| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350) | | [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D250 kW) | | [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400 V) | -| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32 A) | +| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400) | +| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32) | | [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D22 kW) | | [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920 V) | -| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350 A) | +| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920) | +| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350) | | [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:output%3D50 kW) | | [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400 V) | -| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32 A) | +| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400) | +| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32) | | [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D22 kW) | | [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920 V) | -| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350 A) | +| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920) | +| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350) | | [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:output%3D50 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D250 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D22 kW) | | [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5 V](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5 V) | -| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1 A) [2 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2 A) | +| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5) | +| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2) | | [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) | [pfloat](../SpecialInputElements.md#pfloat) | [5W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D5W) [10W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D10W) | | [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | | @@ -215,24 +215,24 @@ Elements must match **all** of the following expressions: | [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bs1363](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230 V) | -| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13 A](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13 A) | +| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230) | +| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13) | | [socket:bs1363:output](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3kW](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:output%3D3kW) | | [socket:nema5_15](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120 V) | -| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15 A) | +| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120) | +| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15) | | [socket:nema5_15:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:output) | [pfloat](../SpecialInputElements.md#pfloat) | [1.8 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:output%3D1.8 kW) | | [socket:sev1011_t23](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230 V) | -| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16 A) | +| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230) | +| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16) | | [socket:sev1011_t23:output](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:output%3D3.7 kW) | | [socket:as3112](https://wiki.openstreetmap.org/wiki/Key:socket:as3112) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230 V) | -| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10 A](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10 A) | +| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230) | +| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10) | | [socket:as3112:output](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:output%3D2.3 kW) | | [socket:nema_5_20](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120 V) | -| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20 A) | +| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120) | +| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20) | | [socket:nema_5_20:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.4 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:output%3D2.4 kW) | | [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) | | [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) | @@ -334,13 +334,15 @@ The question is `How much plugs of type Schuko wall plug without ground p *There are {socket:schuko} plugs of type Schuko wall plug without ground pin (CEE7/4 type F) available here* is shown if `socket:schuko` is set This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:schuko The question is `What voltage do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs {canonical(socket:schuko:voltage)}* is shown if `socket:schuko:voltage` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 V + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -351,7 +353,7 @@ This tagrendering has labels The question is `What current do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:current)}* is shown if `socket:schuko:current` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 A + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -362,7 +364,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:output)}* is shown if `socket:schuko:output` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW A* is shown if with socket:schuko:output=3.6 kW + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW* is shown if with socket:schuko:output=3.6 kW This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -374,13 +376,15 @@ The question is `How much plugs of type European wall plug with ground pi *There are {socket:typee} plugs of type European wall plug with ground pin (CEE7/4 type E) available here* is shown if `socket:typee` is set This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:typee The question is `What voltage do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs {canonical(socket:typee:voltage)}* is shown if `socket:typee:voltage` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 V + - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -391,7 +395,7 @@ This tagrendering has labels The question is `What current do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:current)}* is shown if `socket:typee:current` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 A + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -402,8 +406,8 @@ This tagrendering has labels The question is `What power output does a single plug of type European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:output)}* is shown if `socket:typee:output` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW A* is shown if with socket:typee:output=3 kW - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW A* is shown if with socket:typee:output=22 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW* is shown if with socket:typee:output=3 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW* is shown if with socket:typee:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -415,13 +419,15 @@ The question is `How much plugs of type Chademo are available here?` *There are {socket:chademo} plugs of type Chademo available here* is shown if `socket:chademo` is set This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:chademo The question is `What voltage do the plugs with Chademo offer?` *Chademo outputs {canonical(socket:chademo:voltage)}* is shown if `socket:chademo:voltage` is set - - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 V + - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -432,7 +438,7 @@ This tagrendering has labels The question is `What current do the plugs with Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:current)}* is shown if `socket:chademo:current` is set - - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 A + - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -443,7 +449,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:output)}* is shown if `socket:chademo:output` is set - - *Chademo outputs at most 50 kW A* is shown if with socket:chademo:output=50 kW + - *Chademo outputs at most 50 kW* is shown if with socket:chademo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -455,14 +461,16 @@ The question is `How much plugs of type Type 1 with cable (J1772) are ava *There are {socket:type1_cable} plugs of type Type 1 with cable (J1772) available here* is shown if `socket:type1_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_cable The question is `What voltage do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs {canonical(socket:type1_cable:voltage)}* is shown if `socket:type1_cable:voltage` is set - - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 V - - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 V + - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 + - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -473,7 +481,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:current)}* is shown if `socket:type1_cable:current` is set - - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 A + - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -484,8 +492,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:output)}* is shown if `socket:type1_cable:output` is set - - *Type 1 with cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1_cable:output=3.7 kW - - *Type 1 with cable (J1772) outputs at most 7 kW A* is shown if with socket:type1_cable:output=7 kW + - *Type 1 with cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1_cable:output=3.7 kW + - *Type 1 with cable (J1772) outputs at most 7 kW* is shown if with socket:type1_cable:output=7 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -497,14 +505,16 @@ The question is `How much plugs of type Type 1 without cable (J177 *There are {socket:type1} plugs of type Type 1 without cable (J1772) available here* is shown if `socket:type1` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1 The question is `What voltage do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs {canonical(socket:type1:voltage)}* is shown if `socket:type1:voltage` is set - - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 V - - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 V + - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 + - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -515,7 +525,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:current)}* is shown if `socket:type1:current` is set - - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 A + - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -526,10 +536,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:output)}* is shown if `socket:type1:output` is set - - *Type 1 without cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1:output=3.7 kW - - *Type 1 without cable (J1772) outputs at most 6.6 kW A* is shown if with socket:type1:output=6.6 kW - - *Type 1 without cable (J1772) outputs at most 7 kW A* is shown if with socket:type1:output=7 kW - - *Type 1 without cable (J1772) outputs at most 7.2 kW A* is shown if with socket:type1:output=7.2 kW + - *Type 1 without cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1:output=3.7 kW + - *Type 1 without cable (J1772) outputs at most 6.6 kW* is shown if with socket:type1:output=6.6 kW + - *Type 1 without cable (J1772) outputs at most 7 kW* is shown if with socket:type1:output=7 kW + - *Type 1 without cable (J1772) outputs at most 7.2 kW* is shown if with socket:type1:output=7.2 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -541,14 +551,16 @@ The question is `How much plugs of type Type 1 CCS (aka Type 1 Combo) are *There are {socket:type1_combo} plugs of type Type 1 CCS (aka Type 1 Combo) available here* is shown if `socket:type1_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_combo The question is `What voltage do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs {canonical(socket:type1_combo:voltage)}* is shown if `socket:type1_combo:voltage` is set - - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 V - - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 V + - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 + - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -559,8 +571,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:current)}* is shown if `socket:type1_combo:current` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 A - - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 A + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 + - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -571,10 +583,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:output)}* is shown if `socket:type1_combo:output` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW A* is shown if with socket:type1_combo:output=50 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW A* is shown if with socket:type1_combo:output=62.5 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW A* is shown if with socket:type1_combo:output=150 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW A* is shown if with socket:type1_combo:output=350 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW* is shown if with socket:type1_combo:output=50 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW* is shown if with socket:type1_combo:output=62.5 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW* is shown if with socket:type1_combo:output=150 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW* is shown if with socket:type1_combo:output=350 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -586,13 +598,15 @@ The question is `How much plugs of type Tesla Supercharger are available *There are {socket:tesla_supercharger} plugs of type Tesla Supercharger available here* is shown if `socket:tesla_supercharger` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger The question is `What voltage do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs {canonical(socket:tesla_supercharger:voltage)}* is shown if `socket:tesla_supercharger:voltage` is set - - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 V + - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -603,8 +617,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:current)}* is shown if `socket:tesla_supercharger:current` is set - - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 A - - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 A + - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 + - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -615,9 +629,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:output)}* is shown if `socket:tesla_supercharger:output` is set - - *Tesla Supercharger outputs at most 120 kW A* is shown if with socket:tesla_supercharger:output=120 kW - - *Tesla Supercharger outputs at most 150 kW A* is shown if with socket:tesla_supercharger:output=150 kW - - *Tesla Supercharger outputs at most 250 kW A* is shown if with socket:tesla_supercharger:output=250 kW + - *Tesla Supercharger outputs at most 120 kW* is shown if with socket:tesla_supercharger:output=120 kW + - *Tesla Supercharger outputs at most 150 kW* is shown if with socket:tesla_supercharger:output=150 kW + - *Tesla Supercharger outputs at most 250 kW* is shown if with socket:tesla_supercharger:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -629,14 +643,16 @@ The question is `How much plugs of type Type 2 (mennekes) are available h *There are {socket:type2} plugs of type Type 2 (mennekes) available here* is shown if `socket:type2` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2 The question is `What voltage do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs {canonical(socket:type2:voltage)}* is shown if `socket:type2:voltage` is set - - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 V - - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 V + - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 + - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -647,8 +663,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:current)}* is shown if `socket:type2:current` is set - - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 A - - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 A + - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 + - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -659,8 +675,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:output)}* is shown if `socket:type2:output` is set - - *Type 2 (mennekes) outputs at most 11 kW A* is shown if with socket:type2:output=11 kW - - *Type 2 (mennekes) outputs at most 22 kW A* is shown if with socket:type2:output=22 kW + - *Type 2 (mennekes) outputs at most 11 kW* is shown if with socket:type2:output=11 kW + - *Type 2 (mennekes) outputs at most 22 kW* is shown if with socket:type2:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -672,14 +688,16 @@ The question is `How much plugs of type Type 2 CCS (mennekes) are availab *There are {socket:type2_combo} plugs of type Type 2 CCS (mennekes) available here* is shown if `socket:type2_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_combo The question is `What voltage do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs {canonical(socket:type2_combo:voltage)}* is shown if `socket:type2_combo:voltage` is set - - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 V - - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 V + - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 + - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -690,8 +708,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:current)}* is shown if `socket:type2_combo:current` is set - - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 A - - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 A + - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 + - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -702,7 +720,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:output)}* is shown if `socket:type2_combo:output` is set - - *Type 2 CCS (mennekes) outputs at most 50 kW A* is shown if with socket:type2_combo:output=50 kW + - *Type 2 CCS (mennekes) outputs at most 50 kW* is shown if with socket:type2_combo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -714,14 +732,16 @@ The question is `How much plugs of type Type 2 with cable (mennekes) are *There are {socket:type2_cable} plugs of type Type 2 with cable (mennekes) available here* is shown if `socket:type2_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_cable The question is `What voltage do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs {canonical(socket:type2_cable:voltage)}* is shown if `socket:type2_cable:voltage` is set - - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 V - - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 V + - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 + - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -732,8 +752,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:current)}* is shown if `socket:type2_cable:current` is set - - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 A - - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 A + - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 + - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -744,8 +764,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:output)}* is shown if `socket:type2_cable:output` is set - - *Type 2 with cable (mennekes) outputs at most 11 kW A* is shown if with socket:type2_cable:output=11 kW - - *Type 2 with cable (mennekes) outputs at most 22 kW A* is shown if with socket:type2_cable:output=22 kW + - *Type 2 with cable (mennekes) outputs at most 11 kW* is shown if with socket:type2_cable:output=11 kW + - *Type 2 with cable (mennekes) outputs at most 22 kW* is shown if with socket:type2_cable:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -757,14 +777,16 @@ The question is `How much plugs of type Tesla Supercharger CCS (a branded *There are {socket:tesla_supercharger_ccs} plugs of type Tesla Supercharger CCS (a branded type2_css) available here* is shown if `socket:tesla_supercharger_ccs` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger_ccs The question is `What voltage do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs {canonical(socket:tesla_supercharger_ccs:voltage)}* is shown if `socket:tesla_supercharger_ccs:voltage` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 V - - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 V + - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 + - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -775,8 +797,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:current)}* is shown if `socket:tesla_supercharger_ccs:current` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 A - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 A + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -787,7 +809,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:output)}* is shown if `socket:tesla_supercharger_ccs:output` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW A* is shown if with socket:tesla_supercharger_ccs:output=50 kW + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW* is shown if with socket:tesla_supercharger_ccs:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -799,13 +821,15 @@ The question is `How much plugs of type Tesla Supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla Supercharger (destination) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination_us The question is `What voltage do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 V + - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -816,8 +840,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 A - - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 A + - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 + - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -828,9 +852,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla Supercharger (destination) outputs at most 120 kW A* is shown if with socket:tesla_destination:output=120 kW - - *Tesla Supercharger (destination) outputs at most 150 kW A* is shown if with socket:tesla_destination:output=150 kW - - *Tesla Supercharger (destination) outputs at most 250 kW A* is shown if with socket:tesla_destination:output=250 kW + - *Tesla Supercharger (destination) outputs at most 120 kW* is shown if with socket:tesla_destination:output=120 kW + - *Tesla Supercharger (destination) outputs at most 150 kW* is shown if with socket:tesla_destination:output=150 kW + - *Tesla Supercharger (destination) outputs at most 250 kW* is shown if with socket:tesla_destination:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -842,14 +866,16 @@ The question is `How much plugs of type Tesla supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination The question is `What voltage do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 V - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 V + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -860,8 +886,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 A - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 A + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -872,8 +898,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW A* is shown if with socket:tesla_destination:output=11 kW - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW A* is shown if with socket:tesla_destination:output=22 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW* is shown if with socket:tesla_destination:output=11 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW* is shown if with socket:tesla_destination:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -885,13 +911,15 @@ The question is `How much plugs of type USB to charge phones and small el *There are {socket:USB-A} plugs of type USB to charge phones and small electronics available here* is shown if `socket:USB-A` is set This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:USB-A The question is `What voltage do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs {canonical(socket:USB-A:voltage)}* is shown if `socket:USB-A:voltage` is set - - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 V + - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -902,8 +930,8 @@ This tagrendering has labels The question is `What current do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:current)}* is shown if `socket:USB-A:current` is set - - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 A - - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 A + - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 + - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -914,8 +942,8 @@ This tagrendering has labels The question is `What power output does a single plug of type USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:output)}* is shown if `socket:USB-A:output` is set - - *USB to charge phones and small electronics outputs at most 5W A* is shown if with socket:USB-A:output=5W - - *USB to charge phones and small electronics outputs at most 10W A* is shown if with socket:USB-A:output=10W + - *USB to charge phones and small electronics outputs at most 5W* is shown if with socket:USB-A:output=5W + - *USB to charge phones and small electronics outputs at most 10W* is shown if with socket:USB-A:output=10W This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -927,6 +955,8 @@ The question is `How much plugs of type Bosch Active Connect with 3 pins *There are {socket:bosch_3pin} plugs of type Bosch Active Connect with 3 pins and cable available here* is shown if `socket:bosch_3pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_3pin @@ -961,6 +991,8 @@ The question is `How much plugs of type Bosch Active Connect with 5 pins *There are {socket:bosch_5pin} plugs of type Bosch Active Connect with 5 pins and cable available here* is shown if `socket:bosch_5pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_5pin @@ -995,13 +1027,15 @@ The question is `How much plugs of type BS1363 (Type G) are available her *There are {socket:bs1363} plugs of type BS1363 (Type G) available here* is shown if `socket:bs1363` is set This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bs1363 The question is `What voltage do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs {canonical(socket:bs1363:voltage)}* is shown if `socket:bs1363:voltage` is set - - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 V + - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1012,7 +1046,7 @@ This tagrendering has labels The question is `What current do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:current)}* is shown if `socket:bs1363:current` is set - - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 A + - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1023,7 +1057,7 @@ This tagrendering has labels The question is `What power output does a single plug of type BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:output)}* is shown if `socket:bs1363:output` is set - - *BS1363 (Type G) outputs at most 3kW A* is shown if with socket:bs1363:output=3kW + - *BS1363 (Type G) outputs at most 3kW* is shown if with socket:bs1363:output=3kW This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1035,13 +1069,15 @@ The question is `How much plugs of type NEMA 5-15 (Type B) are available *There are {socket:nema5_15} plugs of type NEMA 5-15 (Type B) available here* is shown if `socket:nema5_15` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema5_15 The question is `What voltage do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs {canonical(socket:nema5_15:voltage)}* is shown if `socket:nema5_15:voltage` is set - - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 V + - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1052,7 +1088,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:current)}* is shown if `socket:nema5_15:current` is set - - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 A + - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1063,7 +1099,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:output)}* is shown if `socket:nema5_15:output` is set - - *NEMA 5-15 (Type B) outputs at most 1.8 kW A* is shown if with socket:nema5_15:output=1.8 kW + - *NEMA 5-15 (Type B) outputs at most 1.8 kW* is shown if with socket:nema5_15:output=1.8 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1075,13 +1111,15 @@ The question is `How much plugs of type SEV 1011 T23 (Type J) are availab *There are {socket:sev1011_t23} plugs of type SEV 1011 T23 (Type J) available here* is shown if `socket:sev1011_t23` is set This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:sev1011_t23 The question is `What voltage do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs {canonical(socket:sev1011_t23:voltage)}* is shown if `socket:sev1011_t23:voltage` is set - - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 V + - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1092,7 +1130,7 @@ This tagrendering has labels The question is `What current do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:current)}* is shown if `socket:sev1011_t23:current` is set - - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 A + - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1103,7 +1141,7 @@ This tagrendering has labels The question is `What power output does a single plug of type SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:output)}* is shown if `socket:sev1011_t23:output` is set - - *SEV 1011 T23 (Type J) outputs at most 3.7 kW A* is shown if with socket:sev1011_t23:output=3.7 kW + - *SEV 1011 T23 (Type J) outputs at most 3.7 kW* is shown if with socket:sev1011_t23:output=3.7 kW This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1115,13 +1153,15 @@ The question is `How much plugs of type AS3112 (Type I) are available her *There are {socket:as3112} plugs of type AS3112 (Type I) available here* is shown if `socket:as3112` is set This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:as3112 The question is `What voltage do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs {canonical(socket:as3112:voltage)}* is shown if `socket:as3112:voltage` is set - - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 V + - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1132,7 +1172,7 @@ This tagrendering has labels The question is `What current do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:current)}* is shown if `socket:as3112:current` is set - - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 A + - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1143,7 +1183,7 @@ This tagrendering has labels The question is `What power output does a single plug of type AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:output)}* is shown if `socket:as3112:output` is set - - *AS3112 (Type I) outputs at most 2.3 kW A* is shown if with socket:as3112:output=2.3 kW + - *AS3112 (Type I) outputs at most 2.3 kW* is shown if with socket:as3112:output=2.3 kW This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1155,13 +1195,15 @@ The question is `How much plugs of type NEMA 5-20 (Type B) are available *There are {socket:nema_5_20} plugs of type NEMA 5-20 (Type B) available here* is shown if `socket:nema_5_20` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema_5_20 The question is `What voltage do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs {canonical(socket:nema_5_20:voltage)}* is shown if `socket:nema_5_20:voltage` is set - - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 V + - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1172,7 +1214,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:current)}* is shown if `socket:nema_5_20:current` is set - - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 A + - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1183,7 +1225,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:output)}* is shown if `socket:nema_5_20:output` is set - - *NEMA 5-20 (Type B) outputs at most 2.4 kW A* is shown if with socket:nema_5_20:output=2.4 kW + - *NEMA 5-20 (Type B) outputs at most 2.4 kW* is shown if with socket:nema_5_20:output=2.4 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels diff --git a/Docs/Layers/dogshop.md b/Docs/Layers/dogshop.md index 5d8664910c..675aa86b15 100644 --- a/Docs/Layers/dogshop.md +++ b/Docs/Layers/dogshop.md @@ -300,6 +300,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -882,6 +883,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/drinking_water.md b/Docs/Layers/drinking_water.md index 22fa15b8e7..3455ef7c0e 100644 --- a/Docs/Layers/drinking_water.md +++ b/Docs/Layers/drinking_water.md @@ -16,9 +16,10 @@ A layer showing drinking water fountains 4. [Supported attributes](#supported-attributes) - [images](#images) - [Still in use?](#still-in-use) + - [fee](#fee) - [type](#type) - [Bottle refill](#bottle-refill) - - [fee](#fee) + - [temperature-cold](#temperature-cold) - [seasonal](#seasonal) - [opening_hours_24_7](#opening_hours_24_7) - [Opening hours](#opening-hours) @@ -69,8 +70,8 @@ Elements must match **all** of the following expressions: | attribute | type | values which are supported by this layer | -----|-----|----- | | [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3D) [broken](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dbroken) [closed](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dclosed) | -| [bottle](https://wiki.openstreetmap.org/wiki/Key:bottle) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:bottle%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:bottle%3Dno) | | [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) | +| [bottle](https://wiki.openstreetmap.org/wiki/Key:bottle) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:bottle%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:bottle%3Dno) | | [seasonal](https://wiki.openstreetmap.org/wiki/Key:seasonal) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dno) [summer](https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dsummer) [spring;summer;autumn](https://wiki.openstreetmap.org/wiki/Tag:seasonal%3Dspring;summer;autumn) | | [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) | | [artwork_type](https://wiki.openstreetmap.org/wiki/Key:artwork_type) | [string](../SpecialInputElements.md#string) | [architecture](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Darchitecture) [mural](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dmural) [painting](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dpainting) [sculpture](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dsculpture) [statue](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstatue) [bust](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dbust) [stone](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstone) [installation](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dinstallation) [graffiti](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dgraffiti) [relief](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Drelief) [azulejo](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dazulejo) [tilework](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dtilework) [woodcarving](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dwoodcarving) | @@ -94,6 +95,13 @@ The question is `Is this drinking water spot still operational?` - *This drinking water is closed* is shown if with operational_status=closed - *This drinking water is permanently closed* is shown if with disused:amenity=drinking_water +### fee + +The question is `Is this drinking water point free to use?` + + - *Free to use* is shown if with fee=no + - *One needs to pay to use this drinking water point* is shown if with fee=yes + ### type The question is `What type of drinking water point is this?` @@ -109,12 +117,15 @@ The question is `How easy is it to fill water bottles?` - *It is easy to refill water bottles* is shown if with bottle=yes - *Water bottles may not fit* is shown if with bottle=no -### fee +### temperature-cold -The question is `Is this drinking water point free to use?` +The question is `Is cold water available here?` - - *Free to use* is shown if with fee=no - - *One needs to pay to use this drinking water point* is shown if with fee=yes + - *Ice-cold water is provided here* is shown if with iced_water=yes. Unselecting this answer will add iced_water=no + - *Actively cooled water is available here* is shown if with cold_water=yes. Unselecting this answer will add cold_water=no + - *Ambient temperature water (without active cooling or heating) is available here* is shown if with room_temperature_water=yes. Unselecting this answer will add room_temperature_water=no + - *Warmed water is provided here; the water is not dangerously hot* is shown if with warm_water=yes. Unselecting this answer will add warm_water=no + - *Hot water is provided here* is shown if with hot_water=yes. Unselecting this answer will add hot_water=no ### seasonal diff --git a/Docs/Layers/medical_shops.md b/Docs/Layers/medical_shops.md index e7634985fe..88ccb7f30b 100644 --- a/Docs/Layers/medical_shops.md +++ b/Docs/Layers/medical_shops.md @@ -309,6 +309,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -895,6 +896,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/recycling.md b/Docs/Layers/recycling.md index faf05d059d..aec480cfc1 100644 --- a/Docs/Layers/recycling.md +++ b/Docs/Layers/recycling.md @@ -225,11 +225,11 @@ This tagrendering has labels | id | question | osmTags | -----|-----|----- | -| centres_only.0 | All recycling types | recycling_type=centre | +| centres_only.0 | Only recycling centres | recycling_type=centre | | id | question | osmTags | -----|-----|----- | -| recyclingType.0 | *Only public access* (default) | | +| recyclingType.0 | *All recycling types* (default) | | | recyclingType.1 | Recycling of batteries | recycling:batteries=yes | | recyclingType.2 | Recycling of beverage cartons | recycling:beverage_cartons=yes | | recyclingType.3 | Recycling of cans | recycling:cans=yes | diff --git a/Docs/Layers/scouting_group.md b/Docs/Layers/scouting_group.md new file mode 100644 index 0000000000..3b55b6ec44 --- /dev/null +++ b/Docs/Layers/scouting_group.md @@ -0,0 +1,141 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + +# scouting_group + +A map showing scouting groups. + + - This layer is shown at zoomlevel **4** and higher + +## Table of contents + +1. [Themes using this layer](#themes-using-this-layer) +2. [Presets](#presets) +3. [Basic tags for this layer](#basic-tags-for-this-layer) +4. [Supported attributes](#supported-attributes) + - [name](#name) + - [association](#association) + - [phone](#phone) + - [email](#email) + - [website](#website) + - [questions](#questions) + - [mastodon](#mastodon) + - [move-button](#move-button) + - [lod](#lod) +5. [Filters](#filters) + +## Themes using this layer + + - [personal](https://mapcomplete.org/personal) + - [scouting](https://mapcomplete.org/scouting) + +## Presets + +The following options to create new points are included: + + - **scouting group** which has the following tags:club=scout + +## Basic tags for this layer + +Elements must match the expression **club=scout** + +[Execute on overpass](http://overpass-turbo.eu/?Q=%5Bout%3Ajson%5D%5Btimeout%3A90%5D%3B%28%20%20%20%20nwr%5B%22club%22%3D%22scout%22%5D%28%7B%7Bbbox%7D%7D%29%3B%0A%29%3Bout%20body%3B%3E%3Bout%20skel%20qt%3B) + +## Supported attributes + +**Warning:**,this quick overview is incomplete, + +| attribute | type | values which are supported by this layer | +-----|-----|----- | +| [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) | | +| [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | | +| [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) | | +| [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) | | +| [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) | | +| [contact:mastodon](https://wiki.openstreetmap.org/wiki/Key:contact:mastodon) | [fediverse](../SpecialInputElements.md#fediverse) | | + +### name + +The question is `What is the name of this group?` +*The name of this group is {name}* is shown if `name` is set + +### association + +The question is `To which scout association does {name} belong?` +*The scout association of this group is {brand}* is shown if `brand` is set + +### phone + +The question is `What is the phone number of {title()}?` +*{link(&LBRACEphone&RBRACE,tel:&LBRACEphone&RBRACE,,,,)}* is shown if `phone` is set + + - *{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}* is shown if with contact:phone~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### email + +The question is `What is the email address of {title()}?` +*{email}* is shown if `email` is set + + - *{contact:email}* is shown if with contact:email~.+. _This option cannot be chosen as answer_ + - *{operator:email}* is shown if with operator:email~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### website + +The question is `What is the website of {title()}?` +*{website}* is shown if `website` is set + + - *{contact:website}* is shown if with contact:website~.+. _This option cannot be chosen as answer_ + +This tagrendering has labels +`contact` + +### questions +Show the questions block at this location +_This tagrendering has no question and is thus read-only_ +*{questions()}* + +### mastodon +Shows and asks for the mastodon handle +The question is `What is the Mastodon-handle of {title()}?` +*{fediverse_link(contact:mastodon)}* is shown if `contact:mastodon` is set + +### move-button + +_This tagrendering has no question and is thus read-only_ +*{move_button()}* + +### lod + +_This tagrendering has no question and is thus read-only_ +*{linked_data_from_website()}* + +This tagrendering has labels +`added_by_default` + +## Filters + +| id | question | osmTags | +-----|-----|----- | +| brand.0 | *brand* (default) | | +| brand.1 | Associação de Escuteiros de Angola | brand=Associação de Escuteiros de Angola | brand:wikidata=Q4810279 | +| brand.2 | Bund der Pfadfinderinnen und Pfadfinder | brand=Bund der Pfadfinderinnen und Pfadfinder | brand:wikidata=Q1005225 | +| brand.3 | Deutsche Pfadfinderschaft Sankt Georg | brand=Deutsche Pfadfinderschaft Sankt Georg | brand:wikidata=Q1203670 | +| brand.4 | Girl Scouts | brand=Girl Scouts | brand:wikidata=Q2576280 | name=Girl Scouts | +| brand.5 | Norges KFUK-KFUM-speidere | brand=Norges KFUK-KFUM-speidere | brand:wikidata=Q8046067 | +| brand.6 | Norges speiderforbund | brand=Norges speiderforbund | brand:wikidata=Q1769346 | +| brand.7 | Scoutisme Béninois | brand=Scoutisme Béninois | brand:wikidata=Q13534588 | +| brand.8 | Scouts South Africa | brand=Scouts South Africa | brand:wikidata=Q7565791 | +| brand.9 | The Botswana Scouts Association | brand=The Botswana Scouts Association | brand:wikidata=Q7719478 | +| brand.10 | The Scout Association | brand=The Scout Association | brand:wikidata=Q849740 | name=The Scout Association | +| brand.11 | Verband Christlicher Pfadfinder*innen | brand=Verband Christlicher Pfadfinder*innen | brand:wikidata=Q1316309 | +| brand.12 | 香港女童軍總會 Hong Kong Girl Guides Association | brand=香港女童軍總會 | brand:en=Hong Kong Girl Guides Association | brand:wikidata=Q5894627 | brand:zh=香港女童軍總會 | brand:zh-Hans=香港女童军总会 | brand:zh-Hant=香港女童軍總會 | +| brand.13 | 香港童軍總會 Scout Association of Hong Kong | brand=香港童軍總會 Scout Association of Hong Kong | brand:en=Scout Association of Hong Kong | brand:wikidata=Q1883585 | brand:zh=香港童軍總會 | brand:zh-Hans=香港童军总会 | brand:zh-Hant=香港童軍總會 | + + + +This document is autogenerated from [assets/layers/scouting_group/scouting_group.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/layers/scouting_group/scouting_group.json) diff --git a/Docs/Layers/shops.md b/Docs/Layers/shops.md index ec75f485d1..85ec79f052 100644 --- a/Docs/Layers/shops.md +++ b/Docs/Layers/shops.md @@ -317,6 +317,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -899,6 +900,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/shops_glutenfree.md b/Docs/Layers/shops_glutenfree.md index dab4a08e61..3650ae9dbd 100644 --- a/Docs/Layers/shops_glutenfree.md +++ b/Docs/Layers/shops_glutenfree.md @@ -314,6 +314,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -883,6 +884,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/shops_lactosefree.md b/Docs/Layers/shops_lactosefree.md index 5afdeb9e71..d9a2b0c37a 100644 --- a/Docs/Layers/shops_lactosefree.md +++ b/Docs/Layers/shops_lactosefree.md @@ -314,6 +314,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -883,6 +884,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/shops_second_hand.md b/Docs/Layers/shops_second_hand.md index 238460a962..4fba56c966 100644 --- a/Docs/Layers/shops_second_hand.md +++ b/Docs/Layers/shops_second_hand.md @@ -300,6 +300,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -874,6 +875,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/shops_with_climbing_shoe_repair.md b/Docs/Layers/shops_with_climbing_shoe_repair.md index e03c301843..25baf7c8f3 100644 --- a/Docs/Layers/shops_with_climbing_shoe_repair.md +++ b/Docs/Layers/shops_with_climbing_shoe_repair.md @@ -309,6 +309,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -891,6 +892,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/sport_pitch.md b/Docs/Layers/sport_pitch.md index 52d2dc67d7..afb79ad22e 100644 --- a/Docs/Layers/sport_pitch.md +++ b/Docs/Layers/sport_pitch.md @@ -40,6 +40,8 @@ The following options to create new points are included: - **a tabletennis table** which has the following tags:leisure=pitch & sport=table_tennis - **a sport pitch** which has the following tags:leisure=pitch & fixme=Geometry to be drawn, added by MapComplete + - **a skatepark** which has the following tags:leisure=pitch & sport=skateboard + - **a horse riding arena** which has the following tags:leisure=pitch & sport=equestrian ## Basic tags for this layer @@ -53,7 +55,7 @@ Elements must match the expression ** [sport](https://wiki.openstreetmap.org/wiki/Key:sport) | [string](../SpecialInputElements.md#string) | [basketball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dbasketball) [soccer](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dsoccer) [table_tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtable_tennis) [tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtennis) [korfball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dkorfball) [skateboard](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dskateboard) | +| [sport](https://wiki.openstreetmap.org/wiki/Key:sport) | [string](../SpecialInputElements.md#string) | [basketball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dbasketball) [soccer](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dsoccer) [table_tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtable_tennis) [tennis](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dtennis) [korfball](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dkorfball) [skateboard](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dskateboard) [equestrian](https://wiki.openstreetmap.org/wiki/Tag:sport%3Dequestrian) | | [hoops](https://wiki.openstreetmap.org/wiki/Key:hoops) | Multiple choice | [1](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D2) [4](https://wiki.openstreetmap.org/wiki/Tag:hoops%3D4) | | [surface](https://wiki.openstreetmap.org/wiki/Key:surface) | [string](../SpecialInputElements.md#string) | [grass](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dgrass) [sand](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dsand) [paving_stones](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dpaving_stones) [asphalt](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dasphalt) [concrete](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dconcrete) [fine_gravel](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dfine_gravel) [tartan](https://wiki.openstreetmap.org/wiki/Tag:surface%3Dtartan) | | [access](https://wiki.openstreetmap.org/wiki/Key:access) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:access%3Dlimited) [members](https://wiki.openstreetmap.org/wiki/Tag:access%3Dmembers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) | @@ -79,6 +81,7 @@ The question is `Which sport can be played here?` - *Korfball is played here* is shown if with sport=korfball - *Basketball is played here* is shown if with sport=basket. _This option cannot be chosen as answer_ - *This is a skatepark* is shown if with sport=skateboard + - *This is a horse riding arena* is shown if with sport=equestrian ### basketball-hoops @@ -185,7 +188,8 @@ This tagrendering has labels | sport_pitch-sport.4 | Tennis is played here | sport=tennis | | sport_pitch-sport.5 | Korfball is played here | sport=korfball | | sport_pitch-sport.6 | Basketball is played here | sport=basket | -| sport_pitch-sport.7 | This is a skatepark | sport~^(.+;)?skateboard(;.+)$ | +| sport_pitch-sport.7 | This is a skatepark | sport=skateboard | +| sport_pitch-sport.8 | This is a horse riding arena | sport=equestrian | diff --git a/Docs/Layers/sport_shops.md b/Docs/Layers/sport_shops.md index 5e2c342561..30804ff41f 100644 --- a/Docs/Layers/sport_shops.md +++ b/Docs/Layers/sport_shops.md @@ -304,6 +304,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -886,6 +887,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Layers/toilet.md b/Docs/Layers/toilet.md index 05b4f58465..6d5cf25229 100644 --- a/Docs/Layers/toilet.md +++ b/Docs/Layers/toilet.md @@ -13,6 +13,7 @@ A layer showing (public) toilets 3. [Basic tags for this layer](#basic-tags-for-this-layer) 4. [Supported attributes](#supported-attributes) - [images](#images) + - [toilet-reviews](#toilet-reviews) - [repeated](#repeated) - [single_level](#single_level) - [toilet-access](#toilet-access) @@ -92,6 +93,11 @@ This block shows the known images which are linked with the `image`-keys, but al _This tagrendering has no question and is thus read-only_ *{image_carousel()}{image_upload()}* +### toilet-reviews + +_This tagrendering has no question and is thus read-only_ +*{reviews(,toilet,How would you rate this toilet?)}* + ### repeated _This tagrendering has no question and is thus read-only_ diff --git a/Docs/Layers/vending_machine.md b/Docs/Layers/vending_machine.md index 543e291475..086fd8805d 100644 --- a/Docs/Layers/vending_machine.md +++ b/Docs/Layers/vending_machine.md @@ -4,7 +4,7 @@ Layer showing vending machines - - This layer is shown at zoomlevel **0** and higher + - This layer is shown at zoomlevel **13** and higher ## Table of contents diff --git a/Docs/Schemas/FilterConfigJson.schema.json b/Docs/Schemas/FilterConfigJson.schema.json index 208c4ecb48..74d9c1dd47 100644 --- a/Docs/Schemas/FilterConfigJson.schema.json +++ b/Docs/Schemas/FilterConfigJson.schema.json @@ -5,6 +5,10 @@ "description": "An id/name for this filter, used to set the URL parameters", "type": "string" }, + "strict": { + "description": "If set, the options will be pruned. Only items for which the filter match the layer source will be kept.\n\nFor example, we import types of brands from the nsi. This contains a ton of items, e.g.\n[{question: \"Brand X\", osmTags: {\"and\": [\"shop=clothes\", \"brand=Brand X]}, {osmTags: {\"and\": \"shop=convenience\", ...} ...} ]\nOf course, when making a layer about `shop=clothes`, we'll only want to keep the clothes shops.\nIf set to strict and the source is `shop=clothes`, only those options which have shop=clothes will be returned", + "type": "boolean" + }, "options": { "description": "The options for a filter\nIf there are multiple options these will be a list of radio buttons\nIf there is only one option this will be a checkbox\nFiltering is done based on the given osmTags that are compared to the objects in that layer.\n\nAn example which searches by name:\n\n```\n{\n \"id\": \"shop-name\",\n \"options\": [\n {\n \"fields\": [\n {\n \"name\": \"search\",\n \"type\": \"string\"\n }\n ],\n \"osmTags\": \"name~i~.*{search}.*\",\n \"question\": {\n \"en\": \"Only show shops with name {search}\",\n }\n }\n ]\n }\n ```", "type": "array", diff --git a/Docs/Schemas/FilterConfigJsonJSC.ts b/Docs/Schemas/FilterConfigJsonJSC.ts index 2ae822cd3a..4a4d5c9f42 100644 --- a/Docs/Schemas/FilterConfigJsonJSC.ts +++ b/Docs/Schemas/FilterConfigJsonJSC.ts @@ -5,6 +5,10 @@ export default { "description": "An id/name for this filter, used to set the URL parameters", "type": "string" }, + "strict": { + "description": "If set, the options will be pruned. Only items for which the filter match the layer source will be kept.\n\nFor example, we import types of brands from the nsi. This contains a ton of items, e.g.\n[{question: \"Brand X\", osmTags: {\"and\": [\"shop=clothes\", \"brand=Brand X]}, {osmTags: {\"and\": \"shop=convenience\", ...} ...} ]\nOf course, when making a layer about `shop=clothes`, we'll only want to keep the clothes shops.\nIf set to strict and the source is `shop=clothes`, only those options which have shop=clothes will be returned", + "type": "boolean" + }, "options": { "description": "The options for a filter\nIf there are multiple options these will be a list of radio buttons\nIf there is only one option this will be a checkbox\nFiltering is done based on the given osmTags that are compared to the objects in that layer.\n\nAn example which searches by name:\n\n```\n{\n \"id\": \"shop-name\",\n \"options\": [\n {\n \"fields\": [\n {\n \"name\": \"search\",\n \"type\": \"string\"\n }\n ],\n \"osmTags\": \"name~i~.*{search}.*\",\n \"question\": {\n \"en\": \"Only show shops with name {search}\",\n }\n }\n ]\n }\n ```", "type": "array", diff --git a/Docs/Schemas/IconConfigJson.schema.json b/Docs/Schemas/IconConfigJson.schema.json index 144998e53f..24953a630c 100644 --- a/Docs/Schemas/IconConfigJson.schema.json +++ b/Docs/Schemas/IconConfigJson.schema.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/IconConfigJsonJSC.ts b/Docs/Schemas/IconConfigJsonJSC.ts index 58e5b45416..6ece3c0de3 100644 --- a/Docs/Schemas/IconConfigJsonJSC.ts +++ b/Docs/Schemas/IconConfigJsonJSC.ts @@ -2,7 +2,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index 3be4820276..00cae969c5 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -435,6 +435,13 @@ "type": "string" } ] + }, + "#dont-translate": { + "description": "group: hidden", + "enum": [ + "*" + ], + "type": "string" } }, "required": [ @@ -676,7 +683,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -1927,6 +1934,10 @@ "description": "An id/name for this filter, used to set the URL parameters", "type": "string" }, + "strict": { + "description": "If set, the options will be pruned. Only items for which the filter match the layer source will be kept.\n\nFor example, we import types of brands from the nsi. This contains a ton of items, e.g.\n[{question: \"Brand X\", osmTags: {\"and\": [\"shop=clothes\", \"brand=Brand X]}, {osmTags: {\"and\": \"shop=convenience\", ...} ...} ]\nOf course, when making a layer about `shop=clothes`, we'll only want to keep the clothes shops.\nIf set to strict and the source is `shop=clothes`, only those options which have shop=clothes will be returned", + "type": "boolean" + }, "options": { "description": "The options for a filter\nIf there are multiple options these will be a list of radio buttons\nIf there is only one option this will be a checkbox\nFiltering is done based on the given osmTags that are compared to the objects in that layer.\n\nAn example which searches by name:\n\n```\n{\n \"id\": \"shop-name\",\n \"options\": [\n {\n \"fields\": [\n {\n \"name\": \"search\",\n \"type\": \"string\"\n }\n ],\n \"osmTags\": \"name~i~.*{search}.*\",\n \"question\": {\n \"en\": \"Only show shops with name {search}\",\n }\n }\n ]\n }\n ```", "type": "array", diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index 8255d3934b..ac04a5891d 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -435,6 +435,13 @@ export default { "type": "string" } ] + }, + "#dont-translate": { + "description": "group: hidden", + "enum": [ + "*" + ], + "type": "string" } }, "required": [ @@ -668,7 +675,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -1910,6 +1917,10 @@ export default { "description": "An id/name for this filter, used to set the URL parameters", "type": "string" }, + "strict": { + "description": "If set, the options will be pruned. Only items for which the filter match the layer source will be kept.\n\nFor example, we import types of brands from the nsi. This contains a ton of items, e.g.\n[{question: \"Brand X\", osmTags: {\"and\": [\"shop=clothes\", \"brand=Brand X]}, {osmTags: {\"and\": \"shop=convenience\", ...} ...} ]\nOf course, when making a layer about `shop=clothes`, we'll only want to keep the clothes shops.\nIf set to strict and the source is `shop=clothes`, only those options which have shop=clothes will be returned", + "type": "boolean" + }, "options": { "description": "The options for a filter\nIf there are multiple options these will be a list of radio buttons\nIf there is only one option this will be a checkbox\nFiltering is done based on the given osmTags that are compared to the objects in that layer.\n\nAn example which searches by name:\n\n```\n{\n \"id\": \"shop-name\",\n \"options\": [\n {\n \"fields\": [\n {\n \"name\": \"search\",\n \"type\": \"string\"\n }\n ],\n \"osmTags\": \"name~i~.*{search}.*\",\n \"question\": {\n \"en\": \"Only show shops with name {search}\",\n }\n }\n ]\n }\n ```", "type": "array", diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index 6356b7d708..309d5da239 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -327,7 +327,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index 538d32d37c..65a2ed2a1e 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -319,7 +319,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/MappingConfigJson.schema.json b/Docs/Schemas/MappingConfigJson.schema.json index 0df8a69e9b..e9947702b6 100644 --- a/Docs/Schemas/MappingConfigJson.schema.json +++ b/Docs/Schemas/MappingConfigJson.schema.json @@ -354,7 +354,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/MappingConfigJsonJSC.ts b/Docs/Schemas/MappingConfigJsonJSC.ts index 038d93acf2..8ef62eac1a 100644 --- a/Docs/Schemas/MappingConfigJsonJSC.ts +++ b/Docs/Schemas/MappingConfigJsonJSC.ts @@ -346,7 +346,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index be4250b046..d112952749 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -401,7 +401,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index eaee1ea00f..184704299b 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -393,7 +393,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json index 32a198103f..8dab5d9387 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json +++ b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json @@ -487,7 +487,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts index 1e77be2534..649892ff4d 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts @@ -479,7 +479,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/RewritableConfigJson.schema.json b/Docs/Schemas/RewritableConfigJson.schema.json index bf0b5a8f94..8a7d26ffc7 100644 --- a/Docs/Schemas/RewritableConfigJson.schema.json +++ b/Docs/Schemas/RewritableConfigJson.schema.json @@ -281,7 +281,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/RewritableConfigJsonJSC.ts b/Docs/Schemas/RewritableConfigJsonJSC.ts index 8aeff2d24a..a39d314c6b 100644 --- a/Docs/Schemas/RewritableConfigJsonJSC.ts +++ b/Docs/Schemas/RewritableConfigJsonJSC.ts @@ -273,7 +273,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/ThemeConfigJson.schema.json b/Docs/Schemas/ThemeConfigJson.schema.json index 0c2b7d27ef..eb850a9f09 100644 --- a/Docs/Schemas/ThemeConfigJson.schema.json +++ b/Docs/Schemas/ThemeConfigJson.schema.json @@ -556,7 +556,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -1807,6 +1807,10 @@ "description": "An id/name for this filter, used to set the URL parameters", "type": "string" }, + "strict": { + "description": "If set, the options will be pruned. Only items for which the filter match the layer source will be kept.\n\nFor example, we import types of brands from the nsi. This contains a ton of items, e.g.\n[{question: \"Brand X\", osmTags: {\"and\": [\"shop=clothes\", \"brand=Brand X]}, {osmTags: {\"and\": \"shop=convenience\", ...} ...} ]\nOf course, when making a layer about `shop=clothes`, we'll only want to keep the clothes shops.\nIf set to strict and the source is `shop=clothes`, only those options which have shop=clothes will be returned", + "type": "boolean" + }, "options": { "description": "The options for a filter\nIf there are multiple options these will be a list of radio buttons\nIf there is only one option this will be a checkbox\nFiltering is done based on the given osmTags that are compared to the objects in that layer.\n\nAn example which searches by name:\n\n```\n{\n \"id\": \"shop-name\",\n \"options\": [\n {\n \"fields\": [\n {\n \"name\": \"search\",\n \"type\": \"string\"\n }\n ],\n \"osmTags\": \"name~i~.*{search}.*\",\n \"question\": {\n \"en\": \"Only show shops with name {search}\",\n }\n }\n ]\n }\n ```", "type": "array", @@ -2447,6 +2451,13 @@ "type": "string" } ] + }, + "#dont-translate": { + "description": "group: hidden", + "enum": [ + "*" + ], + "type": "string" } }, "required": [ @@ -2891,6 +2902,13 @@ "type": "string" } ] + }, + "#dont-translate": { + "description": "group: hidden", + "enum": [ + "*" + ], + "type": "string" } }, "additionalProperties": false diff --git a/Docs/Schemas/ThemeConfigJsonJSC.ts b/Docs/Schemas/ThemeConfigJsonJSC.ts index dc558a0679..a5e51b7e5e 100644 --- a/Docs/Schemas/ThemeConfigJsonJSC.ts +++ b/Docs/Schemas/ThemeConfigJsonJSC.ts @@ -548,7 +548,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -1790,6 +1790,10 @@ export default { "description": "An id/name for this filter, used to set the URL parameters", "type": "string" }, + "strict": { + "description": "If set, the options will be pruned. Only items for which the filter match the layer source will be kept.\n\nFor example, we import types of brands from the nsi. This contains a ton of items, e.g.\n[{question: \"Brand X\", osmTags: {\"and\": [\"shop=clothes\", \"brand=Brand X]}, {osmTags: {\"and\": \"shop=convenience\", ...} ...} ]\nOf course, when making a layer about `shop=clothes`, we'll only want to keep the clothes shops.\nIf set to strict and the source is `shop=clothes`, only those options which have shop=clothes will be returned", + "type": "boolean" + }, "options": { "description": "The options for a filter\nIf there are multiple options these will be a list of radio buttons\nIf there is only one option this will be a checkbox\nFiltering is done based on the given osmTags that are compared to the objects in that layer.\n\nAn example which searches by name:\n\n```\n{\n \"id\": \"shop-name\",\n \"options\": [\n {\n \"fields\": [\n {\n \"name\": \"search\",\n \"type\": \"string\"\n }\n ],\n \"osmTags\": \"name~i~.*{search}.*\",\n \"question\": {\n \"en\": \"Only show shops with name {search}\",\n }\n }\n ]\n }\n ```", "type": "array", @@ -2424,6 +2428,13 @@ export default { "type": "string" } ] + }, + "#dont-translate": { + "description": "group: hidden", + "enum": [ + "*" + ], + "type": "string" } }, "required": [ @@ -2867,6 +2878,13 @@ export default { "type": "string" } ] + }, + "#dont-translate": { + "description": "group: hidden", + "enum": [ + "*" + ], + "type": "string" } } }, diff --git a/Docs/SpecialRenderings.md b/Docs/SpecialRenderings.md index d067f931d0..c3fc6627bd 100644 --- a/Docs/SpecialRenderings.md +++ b/Docs/SpecialRenderings.md @@ -674,10 +674,11 @@ Invites the contributor to leave a review. Somewhat small UI-element until inter -----|-----|----- | | subjectKey | name | The key to use to determine the subject. If specified, the subject will be tags[subjectKey] | | fallback | _undefined_ | The identifier to use, if tags[subjectKey] as specified above is not available. This is effectively a fallback value | +| question | _undefined_ | The question to ask during the review | #### Example usage of create_review -`{create_review(name,)}` +`{create_review(name,,)}` ### list_reviews @@ -700,6 +701,7 @@ A pragmatic combination of `create_review` and `list_reviews` -----|-----|----- | | subjectKey | name | The key to use to determine the subject. If specified, the subject will be tags[subjectKey] | | fallback | _undefined_ | The identifier to use, if tags[subjectKey] as specified above is not available. This is effectively a fallback value | +| question | _undefined_ | The question to ask in the review form. Optional | #### Example usage of reviews diff --git a/Docs/TagInfo/mapcomplete_charging_stations.json b/Docs/TagInfo/mapcomplete_charging_stations.json index fd38a749db..95e8d33d40 100644 --- a/Docs/TagInfo/mapcomplete_charging_stations.json +++ b/Docs/TagInfo/mapcomplete_charging_stations.json @@ -316,8 +316,8 @@ }, { "key": "socket:schuko:voltage", - "description": "Layer 'Charging stations' shows socket:schuko:voltage=230 V with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:schuko:voltage=230 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "230" }, { "key": "socket:schuko:current", @@ -325,8 +325,8 @@ }, { "key": "socket:schuko:current", - "description": "Layer 'Charging stations' shows socket:schuko:current=16 A with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:schuko:current=16 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "16" }, { "key": "socket:schuko:output", @@ -334,7 +334,7 @@ }, { "key": "socket:schuko:output", - "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", "value": "3.6 kW" }, { @@ -347,8 +347,8 @@ }, { "key": "socket:typee:voltage", - "description": "Layer 'Charging stations' shows socket:typee:voltage=230 V with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:typee:voltage=230 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "230" }, { "key": "socket:typee:current", @@ -356,8 +356,8 @@ }, { "key": "socket:typee:current", - "description": "Layer 'Charging stations' shows socket:typee:current=16 A with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:typee:current=16 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "16" }, { "key": "socket:typee:output", @@ -365,12 +365,12 @@ }, { "key": "socket:typee:output", - "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", "value": "3 kW" }, { "key": "socket:typee:output", - "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", "value": "22 kW" }, { @@ -383,8 +383,8 @@ }, { "key": "socket:chademo:voltage", - "description": "Layer 'Charging stations' shows socket:chademo:voltage=500 V with a fixed text, namely 'Chademo outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:chademo:voltage=500 with a fixed text, namely 'Chademo outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "500" }, { "key": "socket:chademo:current", @@ -392,8 +392,8 @@ }, { "key": "socket:chademo:current", - "description": "Layer 'Charging stations' shows socket:chademo:current=120 A with a fixed text, namely 'Chademo outputs at most 120 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", - "value": "120 A" + "description": "Layer 'Charging stations' shows socket:chademo:current=120 with a fixed text, namely 'Chademo outputs at most 120 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "120" }, { "key": "socket:chademo:output", @@ -401,7 +401,7 @@ }, { "key": "socket:chademo:output", - "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely 'Chademo outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely 'Chademo outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", "value": "50 kW" }, { @@ -414,13 +414,13 @@ }, { "key": "socket:type1_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=200 V with a fixed text, namely 'Type 1 with cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "200 V" + "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=200 with a fixed text, namely 'Type 1 with cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "200" }, { "key": "socket:type1_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=240 V with a fixed text, namely 'Type 1 with cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "240 V" + "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=240 with a fixed text, namely 'Type 1 with cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "240" }, { "key": "socket:type1_cable:current", @@ -428,8 +428,8 @@ }, { "key": "socket:type1_cable:current", - "description": "Layer 'Charging stations' shows socket:type1_cable:current=32 A with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type1_cable:current=32 with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "32" }, { "key": "socket:type1_cable:output", @@ -437,12 +437,12 @@ }, { "key": "socket:type1_cable:output", - "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", "value": "3.7 kW" }, { "key": "socket:type1_cable:output", - "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", "value": "7 kW" }, { @@ -455,13 +455,13 @@ }, { "key": "socket:type1:voltage", - "description": "Layer 'Charging stations' shows socket:type1:voltage=200 V with a fixed text, namely 'Type 1 without cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "200 V" + "description": "Layer 'Charging stations' shows socket:type1:voltage=200 with a fixed text, namely 'Type 1 without cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "200" }, { "key": "socket:type1:voltage", - "description": "Layer 'Charging stations' shows socket:type1:voltage=240 V with a fixed text, namely 'Type 1 without cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "240 V" + "description": "Layer 'Charging stations' shows socket:type1:voltage=240 with a fixed text, namely 'Type 1 without cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "240" }, { "key": "socket:type1:current", @@ -469,8 +469,8 @@ }, { "key": "socket:type1:current", - "description": "Layer 'Charging stations' shows socket:type1:current=32 A with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type1:current=32 with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "32" }, { "key": "socket:type1:output", @@ -478,22 +478,22 @@ }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "3.7 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 6.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 6.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "6.6 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "7 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7.2 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7.2 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "7.2 kW" }, { @@ -506,13 +506,13 @@ }, { "key": "socket:type1_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=400 V with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=400 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "400" }, { "key": "socket:type1_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=1000 V with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 1000 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "1000 V" + "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=1000 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 1000 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "1000" }, { "key": "socket:type1_combo:current", @@ -520,13 +520,13 @@ }, { "key": "socket:type1_combo:current", - "description": "Layer 'Charging stations' shows socket:type1_combo:current=50 A with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "50 A" + "description": "Layer 'Charging stations' shows socket:type1_combo:current=50 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "50" }, { "key": "socket:type1_combo:current", - "description": "Layer 'Charging stations' shows socket:type1_combo:current=125 A with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:type1_combo:current=125 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "125" }, { "key": "socket:type1_combo:output", @@ -534,22 +534,22 @@ }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "50 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "62.5 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "150 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "350 kW" }, { @@ -562,8 +562,8 @@ }, { "key": "socket:tesla_supercharger:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:voltage=480 V with a fixed text, namely 'Tesla Supercharger outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "480 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:voltage=480 with a fixed text, namely 'Tesla Supercharger outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "480" }, { "key": "socket:tesla_supercharger:current", @@ -571,13 +571,13 @@ }, { "key": "socket:tesla_supercharger:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=125 A with a fixed text, namely 'Tesla Supercharger outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=125 with a fixed text, namely 'Tesla Supercharger outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "125" }, { "key": "socket:tesla_supercharger:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=350 A with a fixed text, namely 'Tesla Supercharger outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=350 with a fixed text, namely 'Tesla Supercharger outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "350" }, { "key": "socket:tesla_supercharger:output", @@ -585,17 +585,17 @@ }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely 'Tesla Supercharger outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely 'Tesla Supercharger outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "120 kW" }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely 'Tesla Supercharger outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely 'Tesla Supercharger outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "150 kW" }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely 'Tesla Supercharger outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely 'Tesla Supercharger outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "250 kW" }, { @@ -608,13 +608,13 @@ }, { "key": "socket:type2:voltage", - "description": "Layer 'Charging stations' shows socket:type2:voltage=230 V with a fixed text, namely 'Type 2 (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:type2:voltage=230 with a fixed text, namely 'Type 2 (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "230" }, { "key": "socket:type2:voltage", - "description": "Layer 'Charging stations' shows socket:type2:voltage=400 V with a fixed text, namely 'Type 2 (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type2:voltage=400 with a fixed text, namely 'Type 2 (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "400" }, { "key": "socket:type2:current", @@ -622,13 +622,13 @@ }, { "key": "socket:type2:current", - "description": "Layer 'Charging stations' shows socket:type2:current=16 A with a fixed text, namely 'Type 2 (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:type2:current=16 with a fixed text, namely 'Type 2 (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "16" }, { "key": "socket:type2:current", - "description": "Layer 'Charging stations' shows socket:type2:current=32 A with a fixed text, namely 'Type 2 (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type2:current=32 with a fixed text, namely 'Type 2 (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "32" }, { "key": "socket:type2:output", @@ -636,12 +636,12 @@ }, { "key": "socket:type2:output", - "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", "value": "11 kW" }, { "key": "socket:type2:output", - "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", "value": "22 kW" }, { @@ -654,13 +654,13 @@ }, { "key": "socket:type2_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=500 V with a fixed text, namely 'Type 2 CCS (mennekes) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=500 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "500" }, { "key": "socket:type2_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=920 V with a fixed text, namely 'Type 2 CCS (mennekes) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "920 V" + "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=920 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "920" }, { "key": "socket:type2_combo:current", @@ -668,13 +668,13 @@ }, { "key": "socket:type2_combo:current", - "description": "Layer 'Charging stations' shows socket:type2_combo:current=125 A with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:type2_combo:current=125 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "125" }, { "key": "socket:type2_combo:current", - "description": "Layer 'Charging stations' shows socket:type2_combo:current=350 A with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:type2_combo:current=350 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "350" }, { "key": "socket:type2_combo:output", @@ -682,7 +682,7 @@ }, { "key": "socket:type2_combo:output", - "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", "value": "50 kW" }, { @@ -695,13 +695,13 @@ }, { "key": "socket:type2_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=230 V with a fixed text, namely 'Type 2 with cable (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=230 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "230" }, { "key": "socket:type2_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=400 V with a fixed text, namely 'Type 2 with cable (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=400 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "400" }, { "key": "socket:type2_cable:current", @@ -709,13 +709,13 @@ }, { "key": "socket:type2_cable:current", - "description": "Layer 'Charging stations' shows socket:type2_cable:current=16 A with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:type2_cable:current=16 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "16" }, { "key": "socket:type2_cable:current", - "description": "Layer 'Charging stations' shows socket:type2_cable:current=32 A with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type2_cable:current=32 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "32" }, { "key": "socket:type2_cable:output", @@ -723,12 +723,12 @@ }, { "key": "socket:type2_cable:output", - "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", "value": "11 kW" }, { "key": "socket:type2_cable:output", - "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", "value": "22 kW" }, { @@ -741,13 +741,13 @@ }, { "key": "socket:tesla_supercharger_ccs:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "500" }, { "key": "socket:tesla_supercharger_ccs:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "920 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "920" }, { "key": "socket:tesla_supercharger_ccs:current", @@ -755,13 +755,13 @@ }, { "key": "socket:tesla_supercharger_ccs:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=125 A with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=125 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "125" }, { "key": "socket:tesla_supercharger_ccs:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=350 A with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=350 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "350" }, { "key": "socket:tesla_supercharger_ccs:output", @@ -769,7 +769,7 @@ }, { "key": "socket:tesla_supercharger_ccs:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", "value": "50 kW" }, { @@ -782,8 +782,8 @@ }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely 'Tesla Supercharger (destination) outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "480 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 with a fixed text, namely 'Tesla Supercharger (destination) outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "480" }, { "key": "socket:tesla_destination:current", @@ -791,13 +791,13 @@ }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "125" }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "350" }, { "key": "socket:tesla_destination:output", @@ -805,17 +805,17 @@ }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "120 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "150 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "250 kW" }, { @@ -828,13 +828,13 @@ }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "230" }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "400" }, { "key": "socket:tesla_destination:current", @@ -842,13 +842,13 @@ }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "16" }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "32" }, { "key": "socket:tesla_destination:output", @@ -856,12 +856,12 @@ }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "11 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "22 kW" }, { @@ -874,8 +874,8 @@ }, { "key": "socket:USB-A:voltage", - "description": "Layer 'Charging stations' shows socket:USB-A:voltage=5 V with a fixed text, namely 'USB to charge phones and small electronics outputs 5 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "5 V" + "description": "Layer 'Charging stations' shows socket:USB-A:voltage=5 with a fixed text, namely 'USB to charge phones and small electronics outputs 5 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "5" }, { "key": "socket:USB-A:current", @@ -883,13 +883,13 @@ }, { "key": "socket:USB-A:current", - "description": "Layer 'Charging stations' shows socket:USB-A:current=1 A with a fixed text, namely 'USB to charge phones and small electronics outputs at most 1 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "1 A" + "description": "Layer 'Charging stations' shows socket:USB-A:current=1 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 1 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "1" }, { "key": "socket:USB-A:current", - "description": "Layer 'Charging stations' shows socket:USB-A:current=2 A with a fixed text, namely 'USB to charge phones and small electronics outputs at most 2 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "2 A" + "description": "Layer 'Charging stations' shows socket:USB-A:current=2 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 2 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "2" }, { "key": "socket:USB-A:output", @@ -897,12 +897,12 @@ }, { "key": "socket:USB-A:output", - "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 5W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 5W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", "value": "5W" }, { "key": "socket:USB-A:output", - "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 10W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 10W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", "value": "10W" }, { @@ -947,8 +947,8 @@ }, { "key": "socket:bs1363:voltage", - "description": "Layer 'Charging stations' shows socket:bs1363:voltage=230 V with a fixed text, namely 'BS1363 (Type G) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:bs1363:voltage=230 with a fixed text, namely 'BS1363 (Type G) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "230" }, { "key": "socket:bs1363:current", @@ -956,8 +956,8 @@ }, { "key": "socket:bs1363:current", - "description": "Layer 'Charging stations' shows socket:bs1363:current=13 A with a fixed text, namely 'BS1363 (Type G) outputs at most 13 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", - "value": "13 A" + "description": "Layer 'Charging stations' shows socket:bs1363:current=13 with a fixed text, namely 'BS1363 (Type G) outputs at most 13 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "13" }, { "key": "socket:bs1363:output", @@ -965,7 +965,7 @@ }, { "key": "socket:bs1363:output", - "description": "Layer 'Charging stations' shows socket:bs1363:output=3kW with a fixed text, namely 'BS1363 (Type G) outputs at most 3kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "description": "Layer 'Charging stations' shows socket:bs1363:output=3kW with a fixed text, namely 'BS1363 (Type G) outputs at most 3kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", "value": "3kW" }, { @@ -978,8 +978,8 @@ }, { "key": "socket:nema5_15:voltage", - "description": "Layer 'Charging stations' shows socket:nema5_15:voltage=120 V with a fixed text, namely 'NEMA 5-15 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", - "value": "120 V" + "description": "Layer 'Charging stations' shows socket:nema5_15:voltage=120 with a fixed text, namely 'NEMA 5-15 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "120" }, { "key": "socket:nema5_15:current", @@ -987,8 +987,8 @@ }, { "key": "socket:nema5_15:current", - "description": "Layer 'Charging stations' shows socket:nema5_15:current=15 A with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 15 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", - "value": "15 A" + "description": "Layer 'Charging stations' shows socket:nema5_15:current=15 with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 15 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "15" }, { "key": "socket:nema5_15:output", @@ -996,7 +996,7 @@ }, { "key": "socket:nema5_15:output", - "description": "Layer 'Charging stations' shows socket:nema5_15:output=1.8 kW with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 1.8 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "description": "Layer 'Charging stations' shows socket:nema5_15:output=1.8 kW with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 1.8 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", "value": "1.8 kW" }, { @@ -1009,8 +1009,8 @@ }, { "key": "socket:sev1011_t23:voltage", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:voltage=230 V with a fixed text, namely 'SEV 1011 T23 (Type J) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:sev1011_t23:voltage=230 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "230" }, { "key": "socket:sev1011_t23:current", @@ -1018,8 +1018,8 @@ }, { "key": "socket:sev1011_t23:current", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:current=16 A with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:sev1011_t23:current=16 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "16" }, { "key": "socket:sev1011_t23:output", @@ -1027,7 +1027,7 @@ }, { "key": "socket:sev1011_t23:output", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:output=3.7 kW with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "description": "Layer 'Charging stations' shows socket:sev1011_t23:output=3.7 kW with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", "value": "3.7 kW" }, { @@ -1040,8 +1040,8 @@ }, { "key": "socket:as3112:voltage", - "description": "Layer 'Charging stations' shows socket:as3112:voltage=230 V with a fixed text, namely 'AS3112 (Type I) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:as3112:voltage=230 with a fixed text, namely 'AS3112 (Type I) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "230" }, { "key": "socket:as3112:current", @@ -1049,8 +1049,8 @@ }, { "key": "socket:as3112:current", - "description": "Layer 'Charging stations' shows socket:as3112:current=10 A with a fixed text, namely 'AS3112 (Type I) outputs at most 10 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", - "value": "10 A" + "description": "Layer 'Charging stations' shows socket:as3112:current=10 with a fixed text, namely 'AS3112 (Type I) outputs at most 10 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "10" }, { "key": "socket:as3112:output", @@ -1058,7 +1058,7 @@ }, { "key": "socket:as3112:output", - "description": "Layer 'Charging stations' shows socket:as3112:output=2.3 kW with a fixed text, namely 'AS3112 (Type I) outputs at most 2.3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "description": "Layer 'Charging stations' shows socket:as3112:output=2.3 kW with a fixed text, namely 'AS3112 (Type I) outputs at most 2.3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", "value": "2.3 kW" }, { @@ -1071,8 +1071,8 @@ }, { "key": "socket:nema_5_20:voltage", - "description": "Layer 'Charging stations' shows socket:nema_5_20:voltage=120 V with a fixed text, namely 'NEMA 5-20 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", - "value": "120 V" + "description": "Layer 'Charging stations' shows socket:nema_5_20:voltage=120 with a fixed text, namely 'NEMA 5-20 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "120" }, { "key": "socket:nema_5_20:current", @@ -1080,8 +1080,8 @@ }, { "key": "socket:nema_5_20:current", - "description": "Layer 'Charging stations' shows socket:nema_5_20:current=20 A with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 20 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", - "value": "20 A" + "description": "Layer 'Charging stations' shows socket:nema_5_20:current=20 with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 20 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "20" }, { "key": "socket:nema_5_20:output", @@ -1089,7 +1089,7 @@ }, { "key": "socket:nema_5_20:output", - "description": "Layer 'Charging stations' shows socket:nema_5_20:output=2.4 kW with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 2.4 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "description": "Layer 'Charging stations' shows socket:nema_5_20:output=2.4 kW with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 2.4 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", "value": "2.4 kW" }, { @@ -1485,6 +1485,1018 @@ "key": "parking:fee", "description": "Layer 'Charging stations' shows parking:fee=yes with a fixed text, namely 'An additional parking fee should be paid while charging' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if motor_vehicle=yes | hgv=yes | bus=yes | bicycle=no | bicycle=)", "value": "yes" + }, + { + "key": "man_made", + "description": "The MapComplete theme Charging stations has a layer Charge points showing features with this tag", + "value": "charge_point" + }, + { + "key": "id", + "description": "Layer 'Charge points' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Charging stations') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "image", + "description": "The layer 'Charge points allows to upload images and adds them under the 'panoramax'-tag (and panoramax:0, panoramax:1, ... for multiple images). Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "panoramax", + "description": "The layer 'Charge points allows to upload images and adds them under the 'panoramax'-tag (and panoramax:0, panoramax:1, ... for multiple images). Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "mapillary", + "description": "The layer 'Charge points allows to upload images and adds them under the 'panoramax'-tag (and panoramax:0, panoramax:1, ... for multiple images). Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikidata", + "description": "The layer 'Charge points allows to upload images and adds them under the 'panoramax'-tag (and panoramax:0, panoramax:1, ... for multiple images). Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "wikipedia", + "description": "The layer 'Charge points allows to upload images and adds them under the 'panoramax'-tag (and panoramax:0, panoramax:1, ... for multiple images). Furthermore, this layer shows images based on the keys panoramax, image, wikidata, wikipedia, wikimedia_commons and mapillary" + }, + { + "key": "ref", + "description": "Layer 'Charge points' shows and asks freeform values for key 'ref' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "capacity", + "description": "Layer 'Charge points' shows and asks freeform values for key 'capacity' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:schuko", + "description": "Layer 'Charge points' shows socket:schuko=1 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:schuko", + "description": "Layer 'Charge points' shows socket:schuko~.+ & socket:schuko!=1 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:typee", + "description": "Layer 'Charge points' shows socket:typee=1 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:typee", + "description": "Layer 'Charge points' shows socket:typee~.+ & socket:typee!=1 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:chademo", + "description": "Layer 'Charge points' shows socket:chademo=1 with a fixed text, namely 'Chademo' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:chademo", + "description": "Layer 'Charge points' shows socket:chademo~.+ & socket:chademo!=1 with a fixed text, namely 'Chademo' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:type1_cable", + "description": "Layer 'Charge points' shows socket:type1_cable=1 with a fixed text, namely 'Type 1 with cable (J1772)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:type1_cable", + "description": "Layer 'Charge points' shows socket:type1_cable~.+ & socket:type1_cable!=1 with a fixed text, namely 'Type 1 with cable (J1772)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:type1", + "description": "Layer 'Charge points' shows socket:type1=1 with a fixed text, namely 'Type 1 without cable (J1772)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:type1", + "description": "Layer 'Charge points' shows socket:type1~.+ & socket:type1!=1 with a fixed text, namely 'Type 1 without cable (J1772)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:type1_combo", + "description": "Layer 'Charge points' shows socket:type1_combo=1 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:type1_combo", + "description": "Layer 'Charge points' shows socket:type1_combo~.+ & socket:type1_combo!=1 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:tesla_supercharger", + "description": "Layer 'Charge points' shows socket:tesla_supercharger=1 with a fixed text, namely 'Tesla Supercharger' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:tesla_supercharger", + "description": "Layer 'Charge points' shows socket:tesla_supercharger~.+ & socket:tesla_supercharger!=1 with a fixed text, namely 'Tesla Supercharger' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:type2", + "description": "Layer 'Charge points' shows socket:type2=1 with a fixed text, namely 'Type 2 (mennekes)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:type2", + "description": "Layer 'Charge points' shows socket:type2~.+ & socket:type2!=1 with a fixed text, namely 'Type 2 (mennekes)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:type2_combo", + "description": "Layer 'Charge points' shows socket:type2_combo=1 with a fixed text, namely 'Type 2 CCS (mennekes)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:type2_combo", + "description": "Layer 'Charge points' shows socket:type2_combo~.+ & socket:type2_combo!=1 with a fixed text, namely 'Type 2 CCS (mennekes)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:type2_cable", + "description": "Layer 'Charge points' shows socket:type2_cable=1 with a fixed text, namely 'Type 2 with cable (mennekes)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:type2_cable", + "description": "Layer 'Charge points' shows socket:type2_cable~.+ & socket:type2_cable!=1 with a fixed text, namely 'Type 2 with cable (mennekes)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:tesla_supercharger_ccs", + "description": "Layer 'Charge points' shows socket:tesla_supercharger_ccs=1 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:tesla_supercharger_ccs", + "description": "Layer 'Charge points' shows socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=1 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:tesla_destination", + "description": "Layer 'Charge points' shows socket:tesla_destination=1 with a fixed text, namely 'Tesla Supercharger (destination)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:tesla_destination", + "description": "Layer 'Charge points' shows socket:tesla_destination~.+ & socket:tesla_destination!=1 & _country=us with a fixed text, namely 'Tesla Supercharger (destination)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:tesla_destination", + "description": "Layer 'Charge points' shows socket:tesla_destination=1 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:tesla_destination", + "description": "Layer 'Charge points' shows socket:tesla_destination~.+ & socket:tesla_destination!=1 & _country!=us with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:USB-A", + "description": "Layer 'Charge points' shows socket:USB-A=1 with a fixed text, namely 'USB to charge phones and small electronics' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:USB-A", + "description": "Layer 'Charge points' shows socket:USB-A~.+ & socket:USB-A!=1 with a fixed text, namely 'USB to charge phones and small electronics' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:bosch_3pin", + "description": "Layer 'Charge points' shows socket:bosch_3pin=1 with a fixed text, namely 'Bosch Active Connect with 3 pins and cable' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:bosch_3pin", + "description": "Layer 'Charge points' shows socket:bosch_3pin~.+ & socket:bosch_3pin!=1 with a fixed text, namely 'Bosch Active Connect with 3 pins and cable' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:bosch_5pin", + "description": "Layer 'Charge points' shows socket:bosch_5pin=1 with a fixed text, namely 'Bosch Active Connect with 5 pins and cable' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:bosch_5pin", + "description": "Layer 'Charge points' shows socket:bosch_5pin~.+ & socket:bosch_5pin!=1 with a fixed text, namely 'Bosch Active Connect with 5 pins and cable' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:bs1363", + "description": "Layer 'Charge points' shows socket:bs1363=1 with a fixed text, namely 'BS1363 (Type G)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:bs1363", + "description": "Layer 'Charge points' shows socket:bs1363~.+ & socket:bs1363!=1 with a fixed text, namely 'BS1363 (Type G)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:nema5_15", + "description": "Layer 'Charge points' shows socket:nema5_15=1 with a fixed text, namely 'NEMA 5-15 (Type B)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:nema5_15", + "description": "Layer 'Charge points' shows socket:nema5_15~.+ & socket:nema5_15!=1 with a fixed text, namely 'NEMA 5-15 (Type B)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:sev1011_t23", + "description": "Layer 'Charge points' shows socket:sev1011_t23=1 with a fixed text, namely 'SEV 1011 T23 (Type J)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:sev1011_t23", + "description": "Layer 'Charge points' shows socket:sev1011_t23~.+ & socket:sev1011_t23!=1 with a fixed text, namely 'SEV 1011 T23 (Type J)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:as3112", + "description": "Layer 'Charge points' shows socket:as3112=1 with a fixed text, namely 'AS3112 (Type I)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:as3112", + "description": "Layer 'Charge points' shows socket:as3112~.+ & socket:as3112!=1 with a fixed text, namely 'AS3112 (Type I)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:nema_5_20", + "description": "Layer 'Charge points' shows socket:nema_5_20=1 with a fixed text, namely 'NEMA 5-20 (Type B)' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations')", + "value": "1" + }, + { + "key": "socket:nema_5_20", + "description": "Layer 'Charge points' shows socket:nema_5_20~.+ & socket:nema_5_20!=1 with a fixed text, namely 'NEMA 5-20 (Type B)' (in the mapcomplete.org theme 'Charging stations')" + }, + { + "key": "socket:schuko", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:schuko' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)" + }, + { + "key": "socket:typee", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:typee' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)" + }, + { + "key": "socket:chademo", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:chademo' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)" + }, + { + "key": "socket:type1_cable", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_cable' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)" + }, + { + "key": "socket:type1", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)" + }, + { + "key": "socket:type1_combo", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_combo' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)" + }, + { + "key": "socket:tesla_supercharger", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)" + }, + { + "key": "socket:type2", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)" + }, + { + "key": "socket:type2_combo", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_combo' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)" + }, + { + "key": "socket:type2_cable", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_cable' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)" + }, + { + "key": "socket:tesla_supercharger_ccs", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger_ccs' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)" + }, + { + "key": "socket:tesla_destination", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:tesla_destination", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:USB-A", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:USB-A' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)" + }, + { + "key": "socket:bosch_3pin", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_3pin' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_3pin~.+ & socket:bosch_3pin!=0)" + }, + { + "key": "socket:bosch_5pin", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_5pin' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_5pin~.+ & socket:bosch_5pin!=0)" + }, + { + "key": "socket:bs1363", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bs1363' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)" + }, + { + "key": "socket:nema5_15", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema5_15' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)" + }, + { + "key": "socket:sev1011_t23", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:sev1011_t23' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)" + }, + { + "key": "socket:as3112", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:as3112' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)" + }, + { + "key": "socket:nema_5_20", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema_5_20' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)" + }, + { + "key": "socket:schuko:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:schuko:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)" + }, + { + "key": "socket:schuko:voltage", + "description": "Layer 'Charge points' shows socket:schuko:voltage=230 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "230" + }, + { + "key": "socket:schuko:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:schuko:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)" + }, + { + "key": "socket:schuko:current", + "description": "Layer 'Charge points' shows socket:schuko:current=16 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "16" + }, + { + "key": "socket:schuko:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:schuko:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)" + }, + { + "key": "socket:schuko:output", + "description": "Layer 'Charge points' shows socket:schuko:output=3.6 kW with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "3.6 kW" + }, + { + "key": "socket:typee:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:typee:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)" + }, + { + "key": "socket:typee:voltage", + "description": "Layer 'Charge points' shows socket:typee:voltage=230 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "230" + }, + { + "key": "socket:typee:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:typee:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)" + }, + { + "key": "socket:typee:current", + "description": "Layer 'Charge points' shows socket:typee:current=16 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "16" + }, + { + "key": "socket:typee:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:typee:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)" + }, + { + "key": "socket:typee:output", + "description": "Layer 'Charge points' shows socket:typee:output=3 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "3 kW" + }, + { + "key": "socket:typee:output", + "description": "Layer 'Charge points' shows socket:typee:output=22 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "22 kW" + }, + { + "key": "socket:chademo:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:chademo:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)" + }, + { + "key": "socket:chademo:voltage", + "description": "Layer 'Charge points' shows socket:chademo:voltage=500 with a fixed text, namely 'Chademo outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "500" + }, + { + "key": "socket:chademo:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:chademo:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)" + }, + { + "key": "socket:chademo:current", + "description": "Layer 'Charge points' shows socket:chademo:current=120 with a fixed text, namely 'Chademo outputs at most 120 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "120" + }, + { + "key": "socket:chademo:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:chademo:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)" + }, + { + "key": "socket:chademo:output", + "description": "Layer 'Charge points' shows socket:chademo:output=50 kW with a fixed text, namely 'Chademo outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "50 kW" + }, + { + "key": "socket:type1_cable:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_cable:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)" + }, + { + "key": "socket:type1_cable:voltage", + "description": "Layer 'Charge points' shows socket:type1_cable:voltage=200 with a fixed text, namely 'Type 1 with cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "200" + }, + { + "key": "socket:type1_cable:voltage", + "description": "Layer 'Charge points' shows socket:type1_cable:voltage=240 with a fixed text, namely 'Type 1 with cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "240" + }, + { + "key": "socket:type1_cable:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_cable:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)" + }, + { + "key": "socket:type1_cable:current", + "description": "Layer 'Charge points' shows socket:type1_cable:current=32 with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "32" + }, + { + "key": "socket:type1_cable:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_cable:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)" + }, + { + "key": "socket:type1_cable:output", + "description": "Layer 'Charge points' shows socket:type1_cable:output=3.7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "3.7 kW" + }, + { + "key": "socket:type1_cable:output", + "description": "Layer 'Charge points' shows socket:type1_cable:output=7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "7 kW" + }, + { + "key": "socket:type1:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)" + }, + { + "key": "socket:type1:voltage", + "description": "Layer 'Charge points' shows socket:type1:voltage=200 with a fixed text, namely 'Type 1 without cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "200" + }, + { + "key": "socket:type1:voltage", + "description": "Layer 'Charge points' shows socket:type1:voltage=240 with a fixed text, namely 'Type 1 without cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "240" + }, + { + "key": "socket:type1:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)" + }, + { + "key": "socket:type1:current", + "description": "Layer 'Charge points' shows socket:type1:current=32 with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "32" + }, + { + "key": "socket:type1:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)" + }, + { + "key": "socket:type1:output", + "description": "Layer 'Charge points' shows socket:type1:output=3.7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "3.7 kW" + }, + { + "key": "socket:type1:output", + "description": "Layer 'Charge points' shows socket:type1:output=6.6 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 6.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "6.6 kW" + }, + { + "key": "socket:type1:output", + "description": "Layer 'Charge points' shows socket:type1:output=7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "7 kW" + }, + { + "key": "socket:type1:output", + "description": "Layer 'Charge points' shows socket:type1:output=7.2 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7.2 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "7.2 kW" + }, + { + "key": "socket:type1_combo:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_combo:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)" + }, + { + "key": "socket:type1_combo:voltage", + "description": "Layer 'Charge points' shows socket:type1_combo:voltage=400 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "400" + }, + { + "key": "socket:type1_combo:voltage", + "description": "Layer 'Charge points' shows socket:type1_combo:voltage=1000 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 1000 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "1000" + }, + { + "key": "socket:type1_combo:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_combo:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)" + }, + { + "key": "socket:type1_combo:current", + "description": "Layer 'Charge points' shows socket:type1_combo:current=50 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "50" + }, + { + "key": "socket:type1_combo:current", + "description": "Layer 'Charge points' shows socket:type1_combo:current=125 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "125" + }, + { + "key": "socket:type1_combo:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type1_combo:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)" + }, + { + "key": "socket:type1_combo:output", + "description": "Layer 'Charge points' shows socket:type1_combo:output=50 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "50 kW" + }, + { + "key": "socket:type1_combo:output", + "description": "Layer 'Charge points' shows socket:type1_combo:output=62.5 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "62.5 kW" + }, + { + "key": "socket:type1_combo:output", + "description": "Layer 'Charge points' shows socket:type1_combo:output=150 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "150 kW" + }, + { + "key": "socket:type1_combo:output", + "description": "Layer 'Charge points' shows socket:type1_combo:output=350 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "350 kW" + }, + { + "key": "socket:tesla_supercharger:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)" + }, + { + "key": "socket:tesla_supercharger:voltage", + "description": "Layer 'Charge points' shows socket:tesla_supercharger:voltage=480 with a fixed text, namely 'Tesla Supercharger outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "480" + }, + { + "key": "socket:tesla_supercharger:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)" + }, + { + "key": "socket:tesla_supercharger:current", + "description": "Layer 'Charge points' shows socket:tesla_supercharger:current=125 with a fixed text, namely 'Tesla Supercharger outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "125" + }, + { + "key": "socket:tesla_supercharger:current", + "description": "Layer 'Charge points' shows socket:tesla_supercharger:current=350 with a fixed text, namely 'Tesla Supercharger outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "350" + }, + { + "key": "socket:tesla_supercharger:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)" + }, + { + "key": "socket:tesla_supercharger:output", + "description": "Layer 'Charge points' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely 'Tesla Supercharger outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "120 kW" + }, + { + "key": "socket:tesla_supercharger:output", + "description": "Layer 'Charge points' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely 'Tesla Supercharger outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "150 kW" + }, + { + "key": "socket:tesla_supercharger:output", + "description": "Layer 'Charge points' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely 'Tesla Supercharger outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "250 kW" + }, + { + "key": "socket:type2:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)" + }, + { + "key": "socket:type2:voltage", + "description": "Layer 'Charge points' shows socket:type2:voltage=230 with a fixed text, namely 'Type 2 (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "230" + }, + { + "key": "socket:type2:voltage", + "description": "Layer 'Charge points' shows socket:type2:voltage=400 with a fixed text, namely 'Type 2 (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "400" + }, + { + "key": "socket:type2:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)" + }, + { + "key": "socket:type2:current", + "description": "Layer 'Charge points' shows socket:type2:current=16 with a fixed text, namely 'Type 2 (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "16" + }, + { + "key": "socket:type2:current", + "description": "Layer 'Charge points' shows socket:type2:current=32 with a fixed text, namely 'Type 2 (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "32" + }, + { + "key": "socket:type2:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)" + }, + { + "key": "socket:type2:output", + "description": "Layer 'Charge points' shows socket:type2:output=11 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "11 kW" + }, + { + "key": "socket:type2:output", + "description": "Layer 'Charge points' shows socket:type2:output=22 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "22 kW" + }, + { + "key": "socket:type2_combo:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_combo:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)" + }, + { + "key": "socket:type2_combo:voltage", + "description": "Layer 'Charge points' shows socket:type2_combo:voltage=500 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "500" + }, + { + "key": "socket:type2_combo:voltage", + "description": "Layer 'Charge points' shows socket:type2_combo:voltage=920 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "920" + }, + { + "key": "socket:type2_combo:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_combo:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)" + }, + { + "key": "socket:type2_combo:current", + "description": "Layer 'Charge points' shows socket:type2_combo:current=125 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "125" + }, + { + "key": "socket:type2_combo:current", + "description": "Layer 'Charge points' shows socket:type2_combo:current=350 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "350" + }, + { + "key": "socket:type2_combo:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_combo:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)" + }, + { + "key": "socket:type2_combo:output", + "description": "Layer 'Charge points' shows socket:type2_combo:output=50 kW with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "50 kW" + }, + { + "key": "socket:type2_cable:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_cable:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)" + }, + { + "key": "socket:type2_cable:voltage", + "description": "Layer 'Charge points' shows socket:type2_cable:voltage=230 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "230" + }, + { + "key": "socket:type2_cable:voltage", + "description": "Layer 'Charge points' shows socket:type2_cable:voltage=400 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "400" + }, + { + "key": "socket:type2_cable:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_cable:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)" + }, + { + "key": "socket:type2_cable:current", + "description": "Layer 'Charge points' shows socket:type2_cable:current=16 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "16" + }, + { + "key": "socket:type2_cable:current", + "description": "Layer 'Charge points' shows socket:type2_cable:current=32 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "32" + }, + { + "key": "socket:type2_cable:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:type2_cable:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)" + }, + { + "key": "socket:type2_cable:output", + "description": "Layer 'Charge points' shows socket:type2_cable:output=11 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "11 kW" + }, + { + "key": "socket:type2_cable:output", + "description": "Layer 'Charge points' shows socket:type2_cable:output=22 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "22 kW" + }, + { + "key": "socket:tesla_supercharger_ccs:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger_ccs:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)" + }, + { + "key": "socket:tesla_supercharger_ccs:voltage", + "description": "Layer 'Charge points' shows socket:tesla_supercharger_ccs:voltage=500 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "500" + }, + { + "key": "socket:tesla_supercharger_ccs:voltage", + "description": "Layer 'Charge points' shows socket:tesla_supercharger_ccs:voltage=920 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "920" + }, + { + "key": "socket:tesla_supercharger_ccs:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger_ccs:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)" + }, + { + "key": "socket:tesla_supercharger_ccs:current", + "description": "Layer 'Charge points' shows socket:tesla_supercharger_ccs:current=125 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "125" + }, + { + "key": "socket:tesla_supercharger_ccs:current", + "description": "Layer 'Charge points' shows socket:tesla_supercharger_ccs:current=350 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "350" + }, + { + "key": "socket:tesla_supercharger_ccs:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_supercharger_ccs:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)" + }, + { + "key": "socket:tesla_supercharger_ccs:output", + "description": "Layer 'Charge points' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "50 kW" + }, + { + "key": "socket:tesla_destination:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:tesla_destination:voltage", + "description": "Layer 'Charge points' shows socket:tesla_destination:voltage=480 with a fixed text, namely 'Tesla Supercharger (destination) outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "480" + }, + { + "key": "socket:tesla_destination:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:tesla_destination:current", + "description": "Layer 'Charge points' shows socket:tesla_destination:current=125 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "125" + }, + { + "key": "socket:tesla_destination:current", + "description": "Layer 'Charge points' shows socket:tesla_destination:current=350 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "350" + }, + { + "key": "socket:tesla_destination:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:tesla_destination:output", + "description": "Layer 'Charge points' shows socket:tesla_destination:output=120 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "120 kW" + }, + { + "key": "socket:tesla_destination:output", + "description": "Layer 'Charge points' shows socket:tesla_destination:output=150 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "150 kW" + }, + { + "key": "socket:tesla_destination:output", + "description": "Layer 'Charge points' shows socket:tesla_destination:output=250 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "250 kW" + }, + { + "key": "socket:tesla_destination:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:tesla_destination:voltage", + "description": "Layer 'Charge points' shows socket:tesla_destination:voltage=230 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "230" + }, + { + "key": "socket:tesla_destination:voltage", + "description": "Layer 'Charge points' shows socket:tesla_destination:voltage=400 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "400" + }, + { + "key": "socket:tesla_destination:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:tesla_destination:current", + "description": "Layer 'Charge points' shows socket:tesla_destination:current=16 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "16" + }, + { + "key": "socket:tesla_destination:current", + "description": "Layer 'Charge points' shows socket:tesla_destination:current=32 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "32" + }, + { + "key": "socket:tesla_destination:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:tesla_destination:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)" + }, + { + "key": "socket:tesla_destination:output", + "description": "Layer 'Charge points' shows socket:tesla_destination:output=11 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "11 kW" + }, + { + "key": "socket:tesla_destination:output", + "description": "Layer 'Charge points' shows socket:tesla_destination:output=22 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "22 kW" + }, + { + "key": "socket:USB-A:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:USB-A:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)" + }, + { + "key": "socket:USB-A:voltage", + "description": "Layer 'Charge points' shows socket:USB-A:voltage=5 with a fixed text, namely 'USB to charge phones and small electronics outputs 5 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "5" + }, + { + "key": "socket:USB-A:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:USB-A:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)" + }, + { + "key": "socket:USB-A:current", + "description": "Layer 'Charge points' shows socket:USB-A:current=1 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 1 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "1" + }, + { + "key": "socket:USB-A:current", + "description": "Layer 'Charge points' shows socket:USB-A:current=2 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 2 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "2" + }, + { + "key": "socket:USB-A:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:USB-A:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)" + }, + { + "key": "socket:USB-A:output", + "description": "Layer 'Charge points' shows socket:USB-A:output=5W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 5W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "5W" + }, + { + "key": "socket:USB-A:output", + "description": "Layer 'Charge points' shows socket:USB-A:output=10W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 10W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "10W" + }, + { + "key": "socket:bosch_3pin:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_3pin:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_3pin~.+ & socket:bosch_3pin!=0)" + }, + { + "key": "socket:bosch_3pin:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_3pin:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_3pin~.+ & socket:bosch_3pin!=0)" + }, + { + "key": "socket:bosch_3pin:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_3pin:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_3pin~.+ & socket:bosch_3pin!=0)" + }, + { + "key": "socket:bosch_5pin:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_5pin:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_5pin~.+ & socket:bosch_5pin!=0)" + }, + { + "key": "socket:bosch_5pin:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_5pin:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_5pin~.+ & socket:bosch_5pin!=0)" + }, + { + "key": "socket:bosch_5pin:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bosch_5pin:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bosch_5pin~.+ & socket:bosch_5pin!=0)" + }, + { + "key": "socket:bs1363:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bs1363:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)" + }, + { + "key": "socket:bs1363:voltage", + "description": "Layer 'Charge points' shows socket:bs1363:voltage=230 with a fixed text, namely 'BS1363 (Type G) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "230" + }, + { + "key": "socket:bs1363:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bs1363:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)" + }, + { + "key": "socket:bs1363:current", + "description": "Layer 'Charge points' shows socket:bs1363:current=13 with a fixed text, namely 'BS1363 (Type G) outputs at most 13 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "13" + }, + { + "key": "socket:bs1363:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:bs1363:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)" + }, + { + "key": "socket:bs1363:output", + "description": "Layer 'Charge points' shows socket:bs1363:output=3kW with a fixed text, namely 'BS1363 (Type G) outputs at most 3kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "3kW" + }, + { + "key": "socket:nema5_15:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema5_15:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)" + }, + { + "key": "socket:nema5_15:voltage", + "description": "Layer 'Charge points' shows socket:nema5_15:voltage=120 with a fixed text, namely 'NEMA 5-15 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "120" + }, + { + "key": "socket:nema5_15:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema5_15:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)" + }, + { + "key": "socket:nema5_15:current", + "description": "Layer 'Charge points' shows socket:nema5_15:current=15 with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 15 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "15" + }, + { + "key": "socket:nema5_15:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema5_15:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)" + }, + { + "key": "socket:nema5_15:output", + "description": "Layer 'Charge points' shows socket:nema5_15:output=1.8 kW with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 1.8 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "1.8 kW" + }, + { + "key": "socket:sev1011_t23:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:sev1011_t23:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)" + }, + { + "key": "socket:sev1011_t23:voltage", + "description": "Layer 'Charge points' shows socket:sev1011_t23:voltage=230 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "230" + }, + { + "key": "socket:sev1011_t23:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:sev1011_t23:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)" + }, + { + "key": "socket:sev1011_t23:current", + "description": "Layer 'Charge points' shows socket:sev1011_t23:current=16 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "16" + }, + { + "key": "socket:sev1011_t23:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:sev1011_t23:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)" + }, + { + "key": "socket:sev1011_t23:output", + "description": "Layer 'Charge points' shows socket:sev1011_t23:output=3.7 kW with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "3.7 kW" + }, + { + "key": "socket:as3112:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:as3112:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)" + }, + { + "key": "socket:as3112:voltage", + "description": "Layer 'Charge points' shows socket:as3112:voltage=230 with a fixed text, namely 'AS3112 (Type I) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "230" + }, + { + "key": "socket:as3112:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:as3112:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)" + }, + { + "key": "socket:as3112:current", + "description": "Layer 'Charge points' shows socket:as3112:current=10 with a fixed text, namely 'AS3112 (Type I) outputs at most 10 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "10" + }, + { + "key": "socket:as3112:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:as3112:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)" + }, + { + "key": "socket:as3112:output", + "description": "Layer 'Charge points' shows socket:as3112:output=2.3 kW with a fixed text, namely 'AS3112 (Type I) outputs at most 2.3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "2.3 kW" + }, + { + "key": "socket:nema_5_20:voltage", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema_5_20:voltage' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)" + }, + { + "key": "socket:nema_5_20:voltage", + "description": "Layer 'Charge points' shows socket:nema_5_20:voltage=120 with a fixed text, namely 'NEMA 5-20 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "120" + }, + { + "key": "socket:nema_5_20:current", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema_5_20:current' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)" + }, + { + "key": "socket:nema_5_20:current", + "description": "Layer 'Charge points' shows socket:nema_5_20:current=20 with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 20 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "20" + }, + { + "key": "socket:nema_5_20:output", + "description": "Layer 'Charge points' shows and asks freeform values for key 'socket:nema_5_20:output' (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)" + }, + { + "key": "socket:nema_5_20:output", + "description": "Layer 'Charge points' shows socket:nema_5_20:output=2.4 kW with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 2.4 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Charging stations') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "2.4 kW" } ] } \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_circular_economy.json b/Docs/TagInfo/mapcomplete_circular_economy.json index b6a5d938b7..6c2ea2a0bd 100644 --- a/Docs/TagInfo/mapcomplete_circular_economy.json +++ b/Docs/TagInfo/mapcomplete_circular_economy.json @@ -1578,6 +1578,11 @@ "description": "Layer 'Second hand shops' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Circular economy') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Second hand shops' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Circular economy') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Second hand shops' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Circular economy')" diff --git a/Docs/TagInfo/mapcomplete_climbing.json b/Docs/TagInfo/mapcomplete_climbing.json index 3fa8190ff6..fb9a2a6ca1 100644 --- a/Docs/TagInfo/mapcomplete_climbing.json +++ b/Docs/TagInfo/mapcomplete_climbing.json @@ -1635,6 +1635,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')" @@ -2493,6 +2498,16 @@ "description": "Layer 'Drinking water' shows disused:amenity=drinking_water with a fixed text, namely 'This drinking water is permanently closed' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", "value": "drinking_water" }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "no" + }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "yes" + }, { "key": "fountain", "description": "Layer 'Drinking water' shows fountain=bubbler with a fixed text, namely 'This is a bubbler fountain. A water jet to drink from is sent upwards, typically controlled by a push button.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", @@ -2519,13 +2534,28 @@ "value": "no" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", - "value": "no" + "key": "iced_water", + "description": "Layer 'Drinking water' shows iced_water=yes with a fixed text, namely 'Ice-cold water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "yes" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "key": "cold_water", + "description": "Layer 'Drinking water' shows cold_water=yes with a fixed text, namely 'Actively cooled water is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "yes" + }, + { + "key": "room_temperature_water", + "description": "Layer 'Drinking water' shows room_temperature_water=yes with a fixed text, namely 'Ambient temperature water (without active cooling or heating) is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "yes" + }, + { + "key": "warm_water", + "description": "Layer 'Drinking water' shows warm_water=yes with a fixed text, namely 'Warmed water is provided here; the water is not dangerously hot' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", + "value": "yes" + }, + { + "key": "hot_water", + "description": "Layer 'Drinking water' shows hot_water=yes with a fixed text, namely 'Hot water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Climbing gyms, clubs and spots')", "value": "yes" }, { diff --git a/Docs/TagInfo/mapcomplete_cyclofix.json b/Docs/TagInfo/mapcomplete_cyclofix.json index 2280a26f7c..b166ff9743 100644 --- a/Docs/TagInfo/mapcomplete_cyclofix.json +++ b/Docs/TagInfo/mapcomplete_cyclofix.json @@ -1164,6 +1164,11 @@ "description": "Layer 'Bike repair/shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Bike repair/shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Bike repair/shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')" @@ -1944,6 +1949,16 @@ "description": "Layer 'Drinking water' shows disused:amenity=drinking_water with a fixed text, namely 'This drinking water is permanently closed' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "drinking_water" }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "no" + }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, { "key": "fountain", "description": "Layer 'Drinking water' shows fountain=bubbler with a fixed text, namely 'This is a bubbler fountain. A water jet to drink from is sent upwards, typically controlled by a push button.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", @@ -1970,13 +1985,28 @@ "value": "no" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", - "value": "no" + "key": "iced_water", + "description": "Layer 'Drinking water' shows iced_water=yes with a fixed text, namely 'Ice-cold water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "key": "cold_water", + "description": "Layer 'Drinking water' shows cold_water=yes with a fixed text, namely 'Actively cooled water is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "room_temperature_water", + "description": "Layer 'Drinking water' shows room_temperature_water=yes with a fixed text, namely 'Ambient temperature water (without active cooling or heating) is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "warm_water", + "description": "Layer 'Drinking water' shows warm_water=yes with a fixed text, namely 'Warmed water is provided here; the water is not dangerously hot' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", + "value": "yes" + }, + { + "key": "hot_water", + "description": "Layer 'Drinking water' shows hot_water=yes with a fixed text, namely 'Hot water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists')", "value": "yes" }, { @@ -3233,8 +3263,8 @@ }, { "key": "socket:schuko:voltage", - "description": "Layer 'Charging stations' shows socket:schuko:voltage=230 V with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:schuko:voltage=230 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "230" }, { "key": "socket:schuko:current", @@ -3242,8 +3272,8 @@ }, { "key": "socket:schuko:current", - "description": "Layer 'Charging stations' shows socket:schuko:current=16 A with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:schuko:current=16 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "16" }, { "key": "socket:schuko:output", @@ -3251,7 +3281,7 @@ }, { "key": "socket:schuko:output", - "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", "value": "3.6 kW" }, { @@ -3264,8 +3294,8 @@ }, { "key": "socket:typee:voltage", - "description": "Layer 'Charging stations' shows socket:typee:voltage=230 V with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:typee:voltage=230 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "230" }, { "key": "socket:typee:current", @@ -3273,8 +3303,8 @@ }, { "key": "socket:typee:current", - "description": "Layer 'Charging stations' shows socket:typee:current=16 A with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:typee:current=16 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "16" }, { "key": "socket:typee:output", @@ -3282,12 +3312,12 @@ }, { "key": "socket:typee:output", - "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", "value": "3 kW" }, { "key": "socket:typee:output", - "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:typee~.+ & socket:typee!=0)", "value": "22 kW" }, { @@ -3300,8 +3330,8 @@ }, { "key": "socket:chademo:voltage", - "description": "Layer 'Charging stations' shows socket:chademo:voltage=500 V with a fixed text, namely 'Chademo outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:chademo:voltage=500 with a fixed text, namely 'Chademo outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "500" }, { "key": "socket:chademo:current", @@ -3309,8 +3339,8 @@ }, { "key": "socket:chademo:current", - "description": "Layer 'Charging stations' shows socket:chademo:current=120 A with a fixed text, namely 'Chademo outputs at most 120 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", - "value": "120 A" + "description": "Layer 'Charging stations' shows socket:chademo:current=120 with a fixed text, namely 'Chademo outputs at most 120 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "120" }, { "key": "socket:chademo:output", @@ -3318,7 +3348,7 @@ }, { "key": "socket:chademo:output", - "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely 'Chademo outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely 'Chademo outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", "value": "50 kW" }, { @@ -3331,13 +3361,13 @@ }, { "key": "socket:type1_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=200 V with a fixed text, namely 'Type 1 with cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "200 V" + "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=200 with a fixed text, namely 'Type 1 with cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "200" }, { "key": "socket:type1_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=240 V with a fixed text, namely 'Type 1 with cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "240 V" + "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=240 with a fixed text, namely 'Type 1 with cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "240" }, { "key": "socket:type1_cable:current", @@ -3345,8 +3375,8 @@ }, { "key": "socket:type1_cable:current", - "description": "Layer 'Charging stations' shows socket:type1_cable:current=32 A with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type1_cable:current=32 with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "32" }, { "key": "socket:type1_cable:output", @@ -3354,12 +3384,12 @@ }, { "key": "socket:type1_cable:output", - "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", "value": "3.7 kW" }, { "key": "socket:type1_cable:output", - "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", "value": "7 kW" }, { @@ -3372,13 +3402,13 @@ }, { "key": "socket:type1:voltage", - "description": "Layer 'Charging stations' shows socket:type1:voltage=200 V with a fixed text, namely 'Type 1 without cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "200 V" + "description": "Layer 'Charging stations' shows socket:type1:voltage=200 with a fixed text, namely 'Type 1 without cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "200" }, { "key": "socket:type1:voltage", - "description": "Layer 'Charging stations' shows socket:type1:voltage=240 V with a fixed text, namely 'Type 1 without cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "240 V" + "description": "Layer 'Charging stations' shows socket:type1:voltage=240 with a fixed text, namely 'Type 1 without cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "240" }, { "key": "socket:type1:current", @@ -3386,8 +3416,8 @@ }, { "key": "socket:type1:current", - "description": "Layer 'Charging stations' shows socket:type1:current=32 A with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type1:current=32 with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "32" }, { "key": "socket:type1:output", @@ -3395,22 +3425,22 @@ }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "3.7 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 6.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 6.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "6.6 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "7 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7.2 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7.2 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "7.2 kW" }, { @@ -3423,13 +3453,13 @@ }, { "key": "socket:type1_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=400 V with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=400 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "400" }, { "key": "socket:type1_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=1000 V with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 1000 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "1000 V" + "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=1000 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 1000 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "1000" }, { "key": "socket:type1_combo:current", @@ -3437,13 +3467,13 @@ }, { "key": "socket:type1_combo:current", - "description": "Layer 'Charging stations' shows socket:type1_combo:current=50 A with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "50 A" + "description": "Layer 'Charging stations' shows socket:type1_combo:current=50 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "50" }, { "key": "socket:type1_combo:current", - "description": "Layer 'Charging stations' shows socket:type1_combo:current=125 A with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:type1_combo:current=125 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "125" }, { "key": "socket:type1_combo:output", @@ -3451,22 +3481,22 @@ }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "50 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "62.5 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "150 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "350 kW" }, { @@ -3479,8 +3509,8 @@ }, { "key": "socket:tesla_supercharger:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:voltage=480 V with a fixed text, namely 'Tesla Supercharger outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "480 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:voltage=480 with a fixed text, namely 'Tesla Supercharger outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "480" }, { "key": "socket:tesla_supercharger:current", @@ -3488,13 +3518,13 @@ }, { "key": "socket:tesla_supercharger:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=125 A with a fixed text, namely 'Tesla Supercharger outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=125 with a fixed text, namely 'Tesla Supercharger outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "125" }, { "key": "socket:tesla_supercharger:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=350 A with a fixed text, namely 'Tesla Supercharger outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=350 with a fixed text, namely 'Tesla Supercharger outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "350" }, { "key": "socket:tesla_supercharger:output", @@ -3502,17 +3532,17 @@ }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely 'Tesla Supercharger outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely 'Tesla Supercharger outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "120 kW" }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely 'Tesla Supercharger outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely 'Tesla Supercharger outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "150 kW" }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely 'Tesla Supercharger outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely 'Tesla Supercharger outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "250 kW" }, { @@ -3525,13 +3555,13 @@ }, { "key": "socket:type2:voltage", - "description": "Layer 'Charging stations' shows socket:type2:voltage=230 V with a fixed text, namely 'Type 2 (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:type2:voltage=230 with a fixed text, namely 'Type 2 (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "230" }, { "key": "socket:type2:voltage", - "description": "Layer 'Charging stations' shows socket:type2:voltage=400 V with a fixed text, namely 'Type 2 (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type2:voltage=400 with a fixed text, namely 'Type 2 (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "400" }, { "key": "socket:type2:current", @@ -3539,13 +3569,13 @@ }, { "key": "socket:type2:current", - "description": "Layer 'Charging stations' shows socket:type2:current=16 A with a fixed text, namely 'Type 2 (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:type2:current=16 with a fixed text, namely 'Type 2 (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "16" }, { "key": "socket:type2:current", - "description": "Layer 'Charging stations' shows socket:type2:current=32 A with a fixed text, namely 'Type 2 (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type2:current=32 with a fixed text, namely 'Type 2 (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "32" }, { "key": "socket:type2:output", @@ -3553,12 +3583,12 @@ }, { "key": "socket:type2:output", - "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", "value": "11 kW" }, { "key": "socket:type2:output", - "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2~.+ & socket:type2!=0)", "value": "22 kW" }, { @@ -3571,13 +3601,13 @@ }, { "key": "socket:type2_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=500 V with a fixed text, namely 'Type 2 CCS (mennekes) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=500 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "500" }, { "key": "socket:type2_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=920 V with a fixed text, namely 'Type 2 CCS (mennekes) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "920 V" + "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=920 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "920" }, { "key": "socket:type2_combo:current", @@ -3585,13 +3615,13 @@ }, { "key": "socket:type2_combo:current", - "description": "Layer 'Charging stations' shows socket:type2_combo:current=125 A with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:type2_combo:current=125 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "125" }, { "key": "socket:type2_combo:current", - "description": "Layer 'Charging stations' shows socket:type2_combo:current=350 A with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:type2_combo:current=350 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "350" }, { "key": "socket:type2_combo:output", @@ -3599,7 +3629,7 @@ }, { "key": "socket:type2_combo:output", - "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", "value": "50 kW" }, { @@ -3612,13 +3642,13 @@ }, { "key": "socket:type2_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=230 V with a fixed text, namely 'Type 2 with cable (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=230 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "230" }, { "key": "socket:type2_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=400 V with a fixed text, namely 'Type 2 with cable (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=400 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "400" }, { "key": "socket:type2_cable:current", @@ -3626,13 +3656,13 @@ }, { "key": "socket:type2_cable:current", - "description": "Layer 'Charging stations' shows socket:type2_cable:current=16 A with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:type2_cable:current=16 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "16" }, { "key": "socket:type2_cable:current", - "description": "Layer 'Charging stations' shows socket:type2_cable:current=32 A with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type2_cable:current=32 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "32" }, { "key": "socket:type2_cable:output", @@ -3640,12 +3670,12 @@ }, { "key": "socket:type2_cable:output", - "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", "value": "11 kW" }, { "key": "socket:type2_cable:output", - "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", "value": "22 kW" }, { @@ -3658,13 +3688,13 @@ }, { "key": "socket:tesla_supercharger_ccs:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "500" }, { "key": "socket:tesla_supercharger_ccs:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "920 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "920" }, { "key": "socket:tesla_supercharger_ccs:current", @@ -3672,13 +3702,13 @@ }, { "key": "socket:tesla_supercharger_ccs:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=125 A with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=125 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "125" }, { "key": "socket:tesla_supercharger_ccs:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=350 A with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=350 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "350" }, { "key": "socket:tesla_supercharger_ccs:output", @@ -3686,7 +3716,7 @@ }, { "key": "socket:tesla_supercharger_ccs:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", "value": "50 kW" }, { @@ -3699,8 +3729,8 @@ }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely 'Tesla Supercharger (destination) outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "480 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 with a fixed text, namely 'Tesla Supercharger (destination) outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "480" }, { "key": "socket:tesla_destination:current", @@ -3708,13 +3738,13 @@ }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "125" }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "350" }, { "key": "socket:tesla_destination:output", @@ -3722,17 +3752,17 @@ }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "120 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "150 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "250 kW" }, { @@ -3745,13 +3775,13 @@ }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "230" }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "400" }, { "key": "socket:tesla_destination:current", @@ -3759,13 +3789,13 @@ }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "16" }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "32" }, { "key": "socket:tesla_destination:output", @@ -3773,12 +3803,12 @@ }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "11 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "22 kW" }, { @@ -3791,8 +3821,8 @@ }, { "key": "socket:USB-A:voltage", - "description": "Layer 'Charging stations' shows socket:USB-A:voltage=5 V with a fixed text, namely 'USB to charge phones and small electronics outputs 5 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "5 V" + "description": "Layer 'Charging stations' shows socket:USB-A:voltage=5 with a fixed text, namely 'USB to charge phones and small electronics outputs 5 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "5" }, { "key": "socket:USB-A:current", @@ -3800,13 +3830,13 @@ }, { "key": "socket:USB-A:current", - "description": "Layer 'Charging stations' shows socket:USB-A:current=1 A with a fixed text, namely 'USB to charge phones and small electronics outputs at most 1 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "1 A" + "description": "Layer 'Charging stations' shows socket:USB-A:current=1 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 1 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "1" }, { "key": "socket:USB-A:current", - "description": "Layer 'Charging stations' shows socket:USB-A:current=2 A with a fixed text, namely 'USB to charge phones and small electronics outputs at most 2 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "2 A" + "description": "Layer 'Charging stations' shows socket:USB-A:current=2 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 2 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "2" }, { "key": "socket:USB-A:output", @@ -3814,12 +3844,12 @@ }, { "key": "socket:USB-A:output", - "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 5W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 5W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", "value": "5W" }, { "key": "socket:USB-A:output", - "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 10W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 10W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", "value": "10W" }, { @@ -3864,8 +3894,8 @@ }, { "key": "socket:bs1363:voltage", - "description": "Layer 'Charging stations' shows socket:bs1363:voltage=230 V with a fixed text, namely 'BS1363 (Type G) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:bs1363:voltage=230 with a fixed text, namely 'BS1363 (Type G) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "230" }, { "key": "socket:bs1363:current", @@ -3873,8 +3903,8 @@ }, { "key": "socket:bs1363:current", - "description": "Layer 'Charging stations' shows socket:bs1363:current=13 A with a fixed text, namely 'BS1363 (Type G) outputs at most 13 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", - "value": "13 A" + "description": "Layer 'Charging stations' shows socket:bs1363:current=13 with a fixed text, namely 'BS1363 (Type G) outputs at most 13 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "13" }, { "key": "socket:bs1363:output", @@ -3882,7 +3912,7 @@ }, { "key": "socket:bs1363:output", - "description": "Layer 'Charging stations' shows socket:bs1363:output=3kW with a fixed text, namely 'BS1363 (Type G) outputs at most 3kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "description": "Layer 'Charging stations' shows socket:bs1363:output=3kW with a fixed text, namely 'BS1363 (Type G) outputs at most 3kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", "value": "3kW" }, { @@ -3895,8 +3925,8 @@ }, { "key": "socket:nema5_15:voltage", - "description": "Layer 'Charging stations' shows socket:nema5_15:voltage=120 V with a fixed text, namely 'NEMA 5-15 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", - "value": "120 V" + "description": "Layer 'Charging stations' shows socket:nema5_15:voltage=120 with a fixed text, namely 'NEMA 5-15 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "120" }, { "key": "socket:nema5_15:current", @@ -3904,8 +3934,8 @@ }, { "key": "socket:nema5_15:current", - "description": "Layer 'Charging stations' shows socket:nema5_15:current=15 A with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 15 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", - "value": "15 A" + "description": "Layer 'Charging stations' shows socket:nema5_15:current=15 with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 15 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "15" }, { "key": "socket:nema5_15:output", @@ -3913,7 +3943,7 @@ }, { "key": "socket:nema5_15:output", - "description": "Layer 'Charging stations' shows socket:nema5_15:output=1.8 kW with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 1.8 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "description": "Layer 'Charging stations' shows socket:nema5_15:output=1.8 kW with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 1.8 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", "value": "1.8 kW" }, { @@ -3926,8 +3956,8 @@ }, { "key": "socket:sev1011_t23:voltage", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:voltage=230 V with a fixed text, namely 'SEV 1011 T23 (Type J) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:sev1011_t23:voltage=230 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "230" }, { "key": "socket:sev1011_t23:current", @@ -3935,8 +3965,8 @@ }, { "key": "socket:sev1011_t23:current", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:current=16 A with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:sev1011_t23:current=16 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "16" }, { "key": "socket:sev1011_t23:output", @@ -3944,7 +3974,7 @@ }, { "key": "socket:sev1011_t23:output", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:output=3.7 kW with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "description": "Layer 'Charging stations' shows socket:sev1011_t23:output=3.7 kW with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", "value": "3.7 kW" }, { @@ -3957,8 +3987,8 @@ }, { "key": "socket:as3112:voltage", - "description": "Layer 'Charging stations' shows socket:as3112:voltage=230 V with a fixed text, namely 'AS3112 (Type I) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:as3112:voltage=230 with a fixed text, namely 'AS3112 (Type I) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "230" }, { "key": "socket:as3112:current", @@ -3966,8 +3996,8 @@ }, { "key": "socket:as3112:current", - "description": "Layer 'Charging stations' shows socket:as3112:current=10 A with a fixed text, namely 'AS3112 (Type I) outputs at most 10 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", - "value": "10 A" + "description": "Layer 'Charging stations' shows socket:as3112:current=10 with a fixed text, namely 'AS3112 (Type I) outputs at most 10 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "10" }, { "key": "socket:as3112:output", @@ -3975,7 +4005,7 @@ }, { "key": "socket:as3112:output", - "description": "Layer 'Charging stations' shows socket:as3112:output=2.3 kW with a fixed text, namely 'AS3112 (Type I) outputs at most 2.3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "description": "Layer 'Charging stations' shows socket:as3112:output=2.3 kW with a fixed text, namely 'AS3112 (Type I) outputs at most 2.3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", "value": "2.3 kW" }, { @@ -3988,8 +4018,8 @@ }, { "key": "socket:nema_5_20:voltage", - "description": "Layer 'Charging stations' shows socket:nema_5_20:voltage=120 V with a fixed text, namely 'NEMA 5-20 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", - "value": "120 V" + "description": "Layer 'Charging stations' shows socket:nema_5_20:voltage=120 with a fixed text, namely 'NEMA 5-20 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "120" }, { "key": "socket:nema_5_20:current", @@ -3997,8 +4027,8 @@ }, { "key": "socket:nema_5_20:current", - "description": "Layer 'Charging stations' shows socket:nema_5_20:current=20 A with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 20 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", - "value": "20 A" + "description": "Layer 'Charging stations' shows socket:nema_5_20:current=20 with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 20 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "20" }, { "key": "socket:nema_5_20:output", @@ -4006,7 +4036,7 @@ }, { "key": "socket:nema_5_20:output", - "description": "Layer 'Charging stations' shows socket:nema_5_20:output=2.4 kW with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 2.4 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "description": "Layer 'Charging stations' shows socket:nema_5_20:output=2.4 kW with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 2.4 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Cyclofix - a map for cyclists') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", "value": "2.4 kW" }, { diff --git a/Docs/TagInfo/mapcomplete_drinking_water.json b/Docs/TagInfo/mapcomplete_drinking_water.json index df79890e24..4a364151c5 100644 --- a/Docs/TagInfo/mapcomplete_drinking_water.json +++ b/Docs/TagInfo/mapcomplete_drinking_water.json @@ -78,6 +78,16 @@ "description": "Layer 'Drinking water' shows disused:amenity=drinking_water with a fixed text, namely 'This drinking water is permanently closed' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", "value": "drinking_water" }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", + "value": "no" + }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", + "value": "yes" + }, { "key": "fountain", "description": "Layer 'Drinking water' shows fountain=bubbler with a fixed text, namely 'This is a bubbler fountain. A water jet to drink from is sent upwards, typically controlled by a push button.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", @@ -104,13 +114,28 @@ "value": "no" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", - "value": "no" + "key": "iced_water", + "description": "Layer 'Drinking water' shows iced_water=yes with a fixed text, namely 'Ice-cold water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", + "value": "yes" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", + "key": "cold_water", + "description": "Layer 'Drinking water' shows cold_water=yes with a fixed text, namely 'Actively cooled water is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", + "value": "yes" + }, + { + "key": "room_temperature_water", + "description": "Layer 'Drinking water' shows room_temperature_water=yes with a fixed text, namely 'Ambient temperature water (without active cooling or heating) is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", + "value": "yes" + }, + { + "key": "warm_water", + "description": "Layer 'Drinking water' shows warm_water=yes with a fixed text, namely 'Warmed water is provided here; the water is not dangerously hot' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", + "value": "yes" + }, + { + "key": "hot_water", + "description": "Layer 'Drinking water' shows hot_water=yes with a fixed text, namely 'Hot water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Drinking Water')", "value": "yes" }, { diff --git a/Docs/TagInfo/mapcomplete_glutenfree.json b/Docs/TagInfo/mapcomplete_glutenfree.json index 74429e6335..a5d98d47a0 100644 --- a/Docs/TagInfo/mapcomplete_glutenfree.json +++ b/Docs/TagInfo/mapcomplete_glutenfree.json @@ -1798,6 +1798,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Glutenfree') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Glutenfree') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Glutenfree')" diff --git a/Docs/TagInfo/mapcomplete_healthcare.json b/Docs/TagInfo/mapcomplete_healthcare.json index b4cb5784b0..dddc86f607 100644 --- a/Docs/TagInfo/mapcomplete_healthcare.json +++ b/Docs/TagInfo/mapcomplete_healthcare.json @@ -1288,6 +1288,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Healthcare') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Healthcare')" diff --git a/Docs/TagInfo/mapcomplete_lactosefree.json b/Docs/TagInfo/mapcomplete_lactosefree.json index fa292c0526..53deb87c28 100644 --- a/Docs/TagInfo/mapcomplete_lactosefree.json +++ b/Docs/TagInfo/mapcomplete_lactosefree.json @@ -1798,6 +1798,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Lactose free shops and restaurants') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Lactose free shops and restaurants') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Lactose free shops and restaurants')" diff --git a/Docs/TagInfo/mapcomplete_nature.json b/Docs/TagInfo/mapcomplete_nature.json index cf12d4fd46..8d70f7be47 100644 --- a/Docs/TagInfo/mapcomplete_nature.json +++ b/Docs/TagInfo/mapcomplete_nature.json @@ -78,6 +78,16 @@ "description": "Layer 'Drinking water' shows disused:amenity=drinking_water with a fixed text, namely 'This drinking water is permanently closed' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", "value": "drinking_water" }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "value": "no" + }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "value": "yes" + }, { "key": "fountain", "description": "Layer 'Drinking water' shows fountain=bubbler with a fixed text, namely 'This is a bubbler fountain. A water jet to drink from is sent upwards, typically controlled by a push button.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", @@ -104,13 +114,28 @@ "value": "no" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", - "value": "no" + "key": "iced_water", + "description": "Layer 'Drinking water' shows iced_water=yes with a fixed text, namely 'Ice-cold water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "value": "yes" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "key": "cold_water", + "description": "Layer 'Drinking water' shows cold_water=yes with a fixed text, namely 'Actively cooled water is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "value": "yes" + }, + { + "key": "room_temperature_water", + "description": "Layer 'Drinking water' shows room_temperature_water=yes with a fixed text, namely 'Ambient temperature water (without active cooling or heating) is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "value": "yes" + }, + { + "key": "warm_water", + "description": "Layer 'Drinking water' shows warm_water=yes with a fixed text, namely 'Warmed water is provided here; the water is not dangerously hot' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", + "value": "yes" + }, + { + "key": "hot_water", + "description": "Layer 'Drinking water' shows hot_water=yes with a fixed text, namely 'Hot water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Into nature')", "value": "yes" }, { diff --git a/Docs/TagInfo/mapcomplete_onwheels.json b/Docs/TagInfo/mapcomplete_onwheels.json index 52794161e9..ecc5590b82 100644 --- a/Docs/TagInfo/mapcomplete_onwheels.json +++ b/Docs/TagInfo/mapcomplete_onwheels.json @@ -2375,6 +2375,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'OnWheels') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'OnWheels')" diff --git a/Docs/TagInfo/mapcomplete_parkings.json b/Docs/TagInfo/mapcomplete_parkings.json index e12882565a..85897f3a3e 100644 --- a/Docs/TagInfo/mapcomplete_parkings.json +++ b/Docs/TagInfo/mapcomplete_parkings.json @@ -778,8 +778,8 @@ }, { "key": "socket:schuko:voltage", - "description": "Layer 'Charging stations' shows socket:schuko:voltage=230 V with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:schuko:voltage=230 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "230" }, { "key": "socket:schuko:current", @@ -787,8 +787,8 @@ }, { "key": "socket:schuko:current", - "description": "Layer 'Charging stations' shows socket:schuko:current=16 A with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:schuko:current=16 with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "value": "16" }, { "key": "socket:schuko:output", @@ -796,7 +796,7 @@ }, { "key": "socket:schuko:output", - "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", + "description": "Layer 'Charging stations' shows socket:schuko:output=3.6 kW with a fixed text, namely 'Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:schuko~.+ & socket:schuko!=0)", "value": "3.6 kW" }, { @@ -809,8 +809,8 @@ }, { "key": "socket:typee:voltage", - "description": "Layer 'Charging stations' shows socket:typee:voltage=230 V with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:typee:voltage=230 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "230" }, { "key": "socket:typee:current", @@ -818,8 +818,8 @@ }, { "key": "socket:typee:current", - "description": "Layer 'Charging stations' shows socket:typee:current=16 A with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:typee:current=16 with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "value": "16" }, { "key": "socket:typee:output", @@ -827,12 +827,12 @@ }, { "key": "socket:typee:output", - "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "description": "Layer 'Charging stations' shows socket:typee:output=3 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", "value": "3 kW" }, { "key": "socket:typee:output", - "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", + "description": "Layer 'Charging stations' shows socket:typee:output=22 kW with a fixed text, namely 'European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:typee~.+ & socket:typee!=0)", "value": "22 kW" }, { @@ -845,8 +845,8 @@ }, { "key": "socket:chademo:voltage", - "description": "Layer 'Charging stations' shows socket:chademo:voltage=500 V with a fixed text, namely 'Chademo outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:chademo:voltage=500 with a fixed text, namely 'Chademo outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "500" }, { "key": "socket:chademo:current", @@ -854,8 +854,8 @@ }, { "key": "socket:chademo:current", - "description": "Layer 'Charging stations' shows socket:chademo:current=120 A with a fixed text, namely 'Chademo outputs at most 120 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", - "value": "120 A" + "description": "Layer 'Charging stations' shows socket:chademo:current=120 with a fixed text, namely 'Chademo outputs at most 120 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "value": "120" }, { "key": "socket:chademo:output", @@ -863,7 +863,7 @@ }, { "key": "socket:chademo:output", - "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely 'Chademo outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", + "description": "Layer 'Charging stations' shows socket:chademo:output=50 kW with a fixed text, namely 'Chademo outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:chademo~.+ & socket:chademo!=0)", "value": "50 kW" }, { @@ -876,13 +876,13 @@ }, { "key": "socket:type1_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=200 V with a fixed text, namely 'Type 1 with cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "200 V" + "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=200 with a fixed text, namely 'Type 1 with cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "200" }, { "key": "socket:type1_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=240 V with a fixed text, namely 'Type 1 with cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "240 V" + "description": "Layer 'Charging stations' shows socket:type1_cable:voltage=240 with a fixed text, namely 'Type 1 with cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "240" }, { "key": "socket:type1_cable:current", @@ -890,8 +890,8 @@ }, { "key": "socket:type1_cable:current", - "description": "Layer 'Charging stations' shows socket:type1_cable:current=32 A with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type1_cable:current=32 with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "value": "32" }, { "key": "socket:type1_cable:output", @@ -899,12 +899,12 @@ }, { "key": "socket:type1_cable:output", - "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type1_cable:output=3.7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", "value": "3.7 kW" }, { "key": "socket:type1_cable:output", - "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type1_cable:output=7 kW with a fixed text, namely 'Type 1 with cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_cable~.+ & socket:type1_cable!=0)", "value": "7 kW" }, { @@ -917,13 +917,13 @@ }, { "key": "socket:type1:voltage", - "description": "Layer 'Charging stations' shows socket:type1:voltage=200 V with a fixed text, namely 'Type 1 without cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "200 V" + "description": "Layer 'Charging stations' shows socket:type1:voltage=200 with a fixed text, namely 'Type 1 without cable (J1772) outputs 200 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "200" }, { "key": "socket:type1:voltage", - "description": "Layer 'Charging stations' shows socket:type1:voltage=240 V with a fixed text, namely 'Type 1 without cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "240 V" + "description": "Layer 'Charging stations' shows socket:type1:voltage=240 with a fixed text, namely 'Type 1 without cable (J1772) outputs 240 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "240" }, { "key": "socket:type1:current", @@ -931,8 +931,8 @@ }, { "key": "socket:type1:current", - "description": "Layer 'Charging stations' shows socket:type1:current=32 A with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type1:current=32 with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "value": "32" }, { "key": "socket:type1:output", @@ -940,22 +940,22 @@ }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=3.7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "3.7 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 6.6 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=6.6 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 6.6 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "6.6 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=7 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "7 kW" }, { "key": "socket:type1:output", - "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7.2 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", + "description": "Layer 'Charging stations' shows socket:type1:output=7.2 kW with a fixed text, namely 'Type 1 without cable (J1772) outputs at most 7.2 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1~.+ & socket:type1!=0)", "value": "7.2 kW" }, { @@ -968,13 +968,13 @@ }, { "key": "socket:type1_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=400 V with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=400 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "400" }, { "key": "socket:type1_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=1000 V with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 1000 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "1000 V" + "description": "Layer 'Charging stations' shows socket:type1_combo:voltage=1000 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs 1000 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "1000" }, { "key": "socket:type1_combo:current", @@ -982,13 +982,13 @@ }, { "key": "socket:type1_combo:current", - "description": "Layer 'Charging stations' shows socket:type1_combo:current=50 A with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "50 A" + "description": "Layer 'Charging stations' shows socket:type1_combo:current=50 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "50" }, { "key": "socket:type1_combo:current", - "description": "Layer 'Charging stations' shows socket:type1_combo:current=125 A with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:type1_combo:current=125 with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "value": "125" }, { "key": "socket:type1_combo:output", @@ -996,22 +996,22 @@ }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=50 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "50 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=62.5 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "62.5 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=150 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "150 kW" }, { "key": "socket:type1_combo:output", - "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type1_combo:output=350 kW with a fixed text, namely 'Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type1_combo~.+ & socket:type1_combo!=0)", "value": "350 kW" }, { @@ -1024,8 +1024,8 @@ }, { "key": "socket:tesla_supercharger:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:voltage=480 V with a fixed text, namely 'Tesla Supercharger outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "480 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:voltage=480 with a fixed text, namely 'Tesla Supercharger outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "480" }, { "key": "socket:tesla_supercharger:current", @@ -1033,13 +1033,13 @@ }, { "key": "socket:tesla_supercharger:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=125 A with a fixed text, namely 'Tesla Supercharger outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=125 with a fixed text, namely 'Tesla Supercharger outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "125" }, { "key": "socket:tesla_supercharger:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=350 A with a fixed text, namely 'Tesla Supercharger outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:current=350 with a fixed text, namely 'Tesla Supercharger outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "value": "350" }, { "key": "socket:tesla_supercharger:output", @@ -1047,17 +1047,17 @@ }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely 'Tesla Supercharger outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=120 kW with a fixed text, namely 'Tesla Supercharger outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "120 kW" }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely 'Tesla Supercharger outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=150 kW with a fixed text, namely 'Tesla Supercharger outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "150 kW" }, { "key": "socket:tesla_supercharger:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely 'Tesla Supercharger outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger:output=250 kW with a fixed text, namely 'Tesla Supercharger outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0)", "value": "250 kW" }, { @@ -1070,13 +1070,13 @@ }, { "key": "socket:type2:voltage", - "description": "Layer 'Charging stations' shows socket:type2:voltage=230 V with a fixed text, namely 'Type 2 (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:type2:voltage=230 with a fixed text, namely 'Type 2 (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "230" }, { "key": "socket:type2:voltage", - "description": "Layer 'Charging stations' shows socket:type2:voltage=400 V with a fixed text, namely 'Type 2 (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type2:voltage=400 with a fixed text, namely 'Type 2 (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "400" }, { "key": "socket:type2:current", @@ -1084,13 +1084,13 @@ }, { "key": "socket:type2:current", - "description": "Layer 'Charging stations' shows socket:type2:current=16 A with a fixed text, namely 'Type 2 (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:type2:current=16 with a fixed text, namely 'Type 2 (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "16" }, { "key": "socket:type2:current", - "description": "Layer 'Charging stations' shows socket:type2:current=32 A with a fixed text, namely 'Type 2 (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type2:current=32 with a fixed text, namely 'Type 2 (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "value": "32" }, { "key": "socket:type2:output", @@ -1098,12 +1098,12 @@ }, { "key": "socket:type2:output", - "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "description": "Layer 'Charging stations' shows socket:type2:output=11 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", "value": "11 kW" }, { "key": "socket:type2:output", - "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", + "description": "Layer 'Charging stations' shows socket:type2:output=22 kW with a fixed text, namely 'Type 2 (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2~.+ & socket:type2!=0)", "value": "22 kW" }, { @@ -1116,13 +1116,13 @@ }, { "key": "socket:type2_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=500 V with a fixed text, namely 'Type 2 CCS (mennekes) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=500 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "500" }, { "key": "socket:type2_combo:voltage", - "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=920 V with a fixed text, namely 'Type 2 CCS (mennekes) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "920 V" + "description": "Layer 'Charging stations' shows socket:type2_combo:voltage=920 with a fixed text, namely 'Type 2 CCS (mennekes) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "920" }, { "key": "socket:type2_combo:current", @@ -1130,13 +1130,13 @@ }, { "key": "socket:type2_combo:current", - "description": "Layer 'Charging stations' shows socket:type2_combo:current=125 A with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:type2_combo:current=125 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "125" }, { "key": "socket:type2_combo:current", - "description": "Layer 'Charging stations' shows socket:type2_combo:current=350 A with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:type2_combo:current=350 with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "value": "350" }, { "key": "socket:type2_combo:output", @@ -1144,7 +1144,7 @@ }, { "key": "socket:type2_combo:output", - "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", + "description": "Layer 'Charging stations' shows socket:type2_combo:output=50 kW with a fixed text, namely 'Type 2 CCS (mennekes) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_combo~.+ & socket:type2_combo!=0)", "value": "50 kW" }, { @@ -1157,13 +1157,13 @@ }, { "key": "socket:type2_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=230 V with a fixed text, namely 'Type 2 with cable (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=230 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "230" }, { "key": "socket:type2_cable:voltage", - "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=400 V with a fixed text, namely 'Type 2 with cable (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:type2_cable:voltage=400 with a fixed text, namely 'Type 2 with cable (mennekes) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "400" }, { "key": "socket:type2_cable:current", @@ -1171,13 +1171,13 @@ }, { "key": "socket:type2_cable:current", - "description": "Layer 'Charging stations' shows socket:type2_cable:current=16 A with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:type2_cable:current=16 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "16" }, { "key": "socket:type2_cable:current", - "description": "Layer 'Charging stations' shows socket:type2_cable:current=32 A with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:type2_cable:current=32 with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "value": "32" }, { "key": "socket:type2_cable:output", @@ -1185,12 +1185,12 @@ }, { "key": "socket:type2_cable:output", - "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type2_cable:output=11 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", "value": "11 kW" }, { "key": "socket:type2_cable:output", - "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", + "description": "Layer 'Charging stations' shows socket:type2_cable:output=22 kW with a fixed text, namely 'Type 2 with cable (mennekes) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:type2_cable~.+ & socket:type2_cable!=0)", "value": "22 kW" }, { @@ -1203,13 +1203,13 @@ }, { "key": "socket:tesla_supercharger_ccs:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 V with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "500 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=500 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 500 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "500" }, { "key": "socket:tesla_supercharger_ccs:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 V with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "920 V" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:voltage=920 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs 920 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "920" }, { "key": "socket:tesla_supercharger_ccs:current", @@ -1217,13 +1217,13 @@ }, { "key": "socket:tesla_supercharger_ccs:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=125 A with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=125 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "125" }, { "key": "socket:tesla_supercharger_ccs:current", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=350 A with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:current=350 with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "value": "350" }, { "key": "socket:tesla_supercharger_ccs:output", @@ -1231,7 +1231,7 @@ }, { "key": "socket:tesla_supercharger_ccs:output", - "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_supercharger_ccs:output=50 kW with a fixed text, namely 'Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0)", "value": "50 kW" }, { @@ -1244,8 +1244,8 @@ }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 V with a fixed text, namely 'Tesla Supercharger (destination) outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "480 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=480 with a fixed text, namely 'Tesla Supercharger (destination) outputs 480 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "480" }, { "key": "socket:tesla_destination:current", @@ -1253,13 +1253,13 @@ }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 A with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "125 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=125 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 125 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "125" }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 A with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "350 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=350 with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 350 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "350" }, { "key": "socket:tesla_destination:output", @@ -1267,17 +1267,17 @@ }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 120 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=120 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 120 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "120 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 150 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=150 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 150 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "150 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 250 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=250 kW with a fixed text, namely 'Tesla Supercharger (destination) outputs at most 250 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "250 kW" }, { @@ -1290,13 +1290,13 @@ }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 V with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=230 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "230" }, { "key": "socket:tesla_destination:voltage", - "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 V with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "400 V" + "description": "Layer 'Charging stations' shows socket:tesla_destination:voltage=400 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "400" }, { "key": "socket:tesla_destination:current", @@ -1304,13 +1304,13 @@ }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 A with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=16 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "16" }, { "key": "socket:tesla_destination:current", - "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 A with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", - "value": "32 A" + "description": "Layer 'Charging stations' shows socket:tesla_destination:current=32 with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "value": "32" }, { "key": "socket:tesla_destination:output", @@ -1318,12 +1318,12 @@ }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=11 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "11 kW" }, { "key": "socket:tesla_destination:output", - "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", + "description": "Layer 'Charging stations' shows socket:tesla_destination:output=22 kW with a fixed text, namely 'Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:tesla_destination~.+ & socket:tesla_destination!=0)", "value": "22 kW" }, { @@ -1336,8 +1336,8 @@ }, { "key": "socket:USB-A:voltage", - "description": "Layer 'Charging stations' shows socket:USB-A:voltage=5 V with a fixed text, namely 'USB to charge phones and small electronics outputs 5 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "5 V" + "description": "Layer 'Charging stations' shows socket:USB-A:voltage=5 with a fixed text, namely 'USB to charge phones and small electronics outputs 5 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "5" }, { "key": "socket:USB-A:current", @@ -1345,13 +1345,13 @@ }, { "key": "socket:USB-A:current", - "description": "Layer 'Charging stations' shows socket:USB-A:current=1 A with a fixed text, namely 'USB to charge phones and small electronics outputs at most 1 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "1 A" + "description": "Layer 'Charging stations' shows socket:USB-A:current=1 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 1 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "1" }, { "key": "socket:USB-A:current", - "description": "Layer 'Charging stations' shows socket:USB-A:current=2 A with a fixed text, namely 'USB to charge phones and small electronics outputs at most 2 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", - "value": "2 A" + "description": "Layer 'Charging stations' shows socket:USB-A:current=2 with a fixed text, namely 'USB to charge phones and small electronics outputs at most 2 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "value": "2" }, { "key": "socket:USB-A:output", @@ -1359,12 +1359,12 @@ }, { "key": "socket:USB-A:output", - "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 5W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "description": "Layer 'Charging stations' shows socket:USB-A:output=5W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 5W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", "value": "5W" }, { "key": "socket:USB-A:output", - "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 10W A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", + "description": "Layer 'Charging stations' shows socket:USB-A:output=10W with a fixed text, namely 'USB to charge phones and small electronics outputs at most 10W' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:USB-A~.+ & socket:USB-A!=0)", "value": "10W" }, { @@ -1409,8 +1409,8 @@ }, { "key": "socket:bs1363:voltage", - "description": "Layer 'Charging stations' shows socket:bs1363:voltage=230 V with a fixed text, namely 'BS1363 (Type G) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:bs1363:voltage=230 with a fixed text, namely 'BS1363 (Type G) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "230" }, { "key": "socket:bs1363:current", @@ -1418,8 +1418,8 @@ }, { "key": "socket:bs1363:current", - "description": "Layer 'Charging stations' shows socket:bs1363:current=13 A with a fixed text, namely 'BS1363 (Type G) outputs at most 13 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", - "value": "13 A" + "description": "Layer 'Charging stations' shows socket:bs1363:current=13 with a fixed text, namely 'BS1363 (Type G) outputs at most 13 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "value": "13" }, { "key": "socket:bs1363:output", @@ -1427,7 +1427,7 @@ }, { "key": "socket:bs1363:output", - "description": "Layer 'Charging stations' shows socket:bs1363:output=3kW with a fixed text, namely 'BS1363 (Type G) outputs at most 3kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", + "description": "Layer 'Charging stations' shows socket:bs1363:output=3kW with a fixed text, namely 'BS1363 (Type G) outputs at most 3kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:bs1363~.+ & socket:bs1363!=0)", "value": "3kW" }, { @@ -1440,8 +1440,8 @@ }, { "key": "socket:nema5_15:voltage", - "description": "Layer 'Charging stations' shows socket:nema5_15:voltage=120 V with a fixed text, namely 'NEMA 5-15 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", - "value": "120 V" + "description": "Layer 'Charging stations' shows socket:nema5_15:voltage=120 with a fixed text, namely 'NEMA 5-15 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "120" }, { "key": "socket:nema5_15:current", @@ -1449,8 +1449,8 @@ }, { "key": "socket:nema5_15:current", - "description": "Layer 'Charging stations' shows socket:nema5_15:current=15 A with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 15 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", - "value": "15 A" + "description": "Layer 'Charging stations' shows socket:nema5_15:current=15 with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 15 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "value": "15" }, { "key": "socket:nema5_15:output", @@ -1458,7 +1458,7 @@ }, { "key": "socket:nema5_15:output", - "description": "Layer 'Charging stations' shows socket:nema5_15:output=1.8 kW with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 1.8 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", + "description": "Layer 'Charging stations' shows socket:nema5_15:output=1.8 kW with a fixed text, namely 'NEMA 5-15 (Type B) outputs at most 1.8 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema5_15~.+ & socket:nema5_15!=0)", "value": "1.8 kW" }, { @@ -1471,8 +1471,8 @@ }, { "key": "socket:sev1011_t23:voltage", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:voltage=230 V with a fixed text, namely 'SEV 1011 T23 (Type J) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:sev1011_t23:voltage=230 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "230" }, { "key": "socket:sev1011_t23:current", @@ -1480,8 +1480,8 @@ }, { "key": "socket:sev1011_t23:current", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:current=16 A with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", - "value": "16 A" + "description": "Layer 'Charging stations' shows socket:sev1011_t23:current=16 with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 16 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "value": "16" }, { "key": "socket:sev1011_t23:output", @@ -1489,7 +1489,7 @@ }, { "key": "socket:sev1011_t23:output", - "description": "Layer 'Charging stations' shows socket:sev1011_t23:output=3.7 kW with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 3.7 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", + "description": "Layer 'Charging stations' shows socket:sev1011_t23:output=3.7 kW with a fixed text, namely 'SEV 1011 T23 (Type J) outputs at most 3.7 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:sev1011_t23~.+ & socket:sev1011_t23!=0)", "value": "3.7 kW" }, { @@ -1502,8 +1502,8 @@ }, { "key": "socket:as3112:voltage", - "description": "Layer 'Charging stations' shows socket:as3112:voltage=230 V with a fixed text, namely 'AS3112 (Type I) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", - "value": "230 V" + "description": "Layer 'Charging stations' shows socket:as3112:voltage=230 with a fixed text, namely 'AS3112 (Type I) outputs 230 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "230" }, { "key": "socket:as3112:current", @@ -1511,8 +1511,8 @@ }, { "key": "socket:as3112:current", - "description": "Layer 'Charging stations' shows socket:as3112:current=10 A with a fixed text, namely 'AS3112 (Type I) outputs at most 10 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", - "value": "10 A" + "description": "Layer 'Charging stations' shows socket:as3112:current=10 with a fixed text, namely 'AS3112 (Type I) outputs at most 10 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "value": "10" }, { "key": "socket:as3112:output", @@ -1520,7 +1520,7 @@ }, { "key": "socket:as3112:output", - "description": "Layer 'Charging stations' shows socket:as3112:output=2.3 kW with a fixed text, namely 'AS3112 (Type I) outputs at most 2.3 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", + "description": "Layer 'Charging stations' shows socket:as3112:output=2.3 kW with a fixed text, namely 'AS3112 (Type I) outputs at most 2.3 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:as3112~.+ & socket:as3112!=0)", "value": "2.3 kW" }, { @@ -1533,8 +1533,8 @@ }, { "key": "socket:nema_5_20:voltage", - "description": "Layer 'Charging stations' shows socket:nema_5_20:voltage=120 V with a fixed text, namely 'NEMA 5-20 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", - "value": "120 V" + "description": "Layer 'Charging stations' shows socket:nema_5_20:voltage=120 with a fixed text, namely 'NEMA 5-20 (Type B) outputs 120 volt' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "120" }, { "key": "socket:nema_5_20:current", @@ -1542,8 +1542,8 @@ }, { "key": "socket:nema_5_20:current", - "description": "Layer 'Charging stations' shows socket:nema_5_20:current=20 A with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 20 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", - "value": "20 A" + "description": "Layer 'Charging stations' shows socket:nema_5_20:current=20 with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 20 A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "value": "20" }, { "key": "socket:nema_5_20:output", @@ -1551,7 +1551,7 @@ }, { "key": "socket:nema_5_20:output", - "description": "Layer 'Charging stations' shows socket:nema_5_20:output=2.4 kW with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 2.4 kW A' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", + "description": "Layer 'Charging stations' shows socket:nema_5_20:output=2.4 kW with a fixed text, namely 'NEMA 5-20 (Type B) outputs at most 2.4 kW' and allows to pick this as a default answer (in the mapcomplete.org theme 'Parking') (This is only shown if socket:nema_5_20~.+ & socket:nema_5_20!=0)", "value": "2.4 kW" }, { diff --git a/Docs/TagInfo/mapcomplete_pets.json b/Docs/TagInfo/mapcomplete_pets.json index b048cf93f4..cec6935051 100644 --- a/Docs/TagInfo/mapcomplete_pets.json +++ b/Docs/TagInfo/mapcomplete_pets.json @@ -1686,6 +1686,11 @@ "description": "Layer 'Dog-friendly shops' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Dog-friendly shops' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Dog-friendly shops' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Veterinarians, dog parks and other pet-amenities')" diff --git a/Docs/TagInfo/mapcomplete_postboxes.json b/Docs/TagInfo/mapcomplete_postboxes.json index c05d7585eb..2877858ad9 100644 --- a/Docs/TagInfo/mapcomplete_postboxes.json +++ b/Docs/TagInfo/mapcomplete_postboxes.json @@ -1218,6 +1218,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Postbox and Post Office Map') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Postbox and Post Office Map')" diff --git a/Docs/TagInfo/mapcomplete_scouting.json b/Docs/TagInfo/mapcomplete_scouting.json new file mode 100644 index 0000000000..6c6349c4d3 --- /dev/null +++ b/Docs/TagInfo/mapcomplete_scouting.json @@ -0,0 +1,63 @@ +{ + "data_format": 1, + "project": { + "name": "MapComplete Scouting groups", + "description": "A scouting group is a social youth movement with a heavy emphasis on the outdoors", + "project_url": "https://mapcomplete.org/scouting", + "doc_url": "https://github.com/pietervdvn/MapComplete/tree/master/assets/themes/", + "icon_url": "https://mapcomplete.org/assets/layers/scouting_group/scouting.svg", + "contact_name": "Pieter Vander Vennet", + "contact_email": "pietervdvn@posteo.net" + }, + "tags": [ + { + "key": "club", + "description": "The MapComplete theme Scouting groups has a layer Scouting groups showing features with this tag", + "value": "scout" + }, + { + "key": "id", + "description": "Layer 'Scouting groups' shows id~.+ with a fixed text, namely 'You just created this element! Thanks for sharing this info with the world and helping people worldwide.' (in the mapcomplete.org theme 'Scouting groups') (This is only shown if _backend~.+ & _last_edit:passed_time<300 & (_version_number= | _version_number=1))" + }, + { + "key": "name", + "description": "Layer 'Scouting groups' shows and asks freeform values for key 'name' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "brand", + "description": "Layer 'Scouting groups' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "phone", + "description": "Layer 'Scouting groups' shows and asks freeform values for key 'phone' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "contact:phone", + "description": "Layer 'Scouting groups' shows contact:phone~.+ with a fixed text, namely '{link(&LBRACEcontact:phone&RBRACE,tel:&LBRACEcontact:phone&RBRACE,,,,)}' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "email", + "description": "Layer 'Scouting groups' shows and asks freeform values for key 'email' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "contact:email", + "description": "Layer 'Scouting groups' shows contact:email~.+ with a fixed text, namely '{contact:email}' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "operator:email", + "description": "Layer 'Scouting groups' shows operator:email~.+ with a fixed text, namely '{operator:email}' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "website", + "description": "Layer 'Scouting groups' shows and asks freeform values for key 'website' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "contact:website", + "description": "Layer 'Scouting groups' shows contact:website~.+ with a fixed text, namely '{contact:website}' (in the mapcomplete.org theme 'Scouting groups')" + }, + { + "key": "contact:mastodon", + "description": "Layer 'Scouting groups' shows and asks freeform values for key 'contact:mastodon' (in the mapcomplete.org theme 'Scouting groups')" + } + ] +} \ No newline at end of file diff --git a/Docs/TagInfo/mapcomplete_shops.json b/Docs/TagInfo/mapcomplete_shops.json index 5d59f7818f..b64ffc63b5 100644 --- a/Docs/TagInfo/mapcomplete_shops.json +++ b/Docs/TagInfo/mapcomplete_shops.json @@ -876,6 +876,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Shops') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Shops')" diff --git a/Docs/TagInfo/mapcomplete_ski.json b/Docs/TagInfo/mapcomplete_ski.json index 5055d6f47a..e131702cdd 100644 --- a/Docs/TagInfo/mapcomplete_ski.json +++ b/Docs/TagInfo/mapcomplete_ski.json @@ -773,6 +773,16 @@ "description": "Layer 'Drinking water' shows disused:amenity=drinking_water with a fixed text, namely 'This drinking water is permanently closed' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", "value": "drinking_water" }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "no" + }, + { + "key": "fee", + "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "yes" + }, { "key": "fountain", "description": "Layer 'Drinking water' shows fountain=bubbler with a fixed text, namely 'This is a bubbler fountain. A water jet to drink from is sent upwards, typically controlled by a push button.' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", @@ -799,13 +809,28 @@ "value": "no" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=no with a fixed text, namely 'Free to use' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", - "value": "no" + "key": "iced_water", + "description": "Layer 'Drinking water' shows iced_water=yes with a fixed text, namely 'Ice-cold water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "yes" }, { - "key": "fee", - "description": "Layer 'Drinking water' shows fee=yes with a fixed text, namely 'One needs to pay to use this drinking water point' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "key": "cold_water", + "description": "Layer 'Drinking water' shows cold_water=yes with a fixed text, namely 'Actively cooled water is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "yes" + }, + { + "key": "room_temperature_water", + "description": "Layer 'Drinking water' shows room_temperature_water=yes with a fixed text, namely 'Ambient temperature water (without active cooling or heating) is available here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "yes" + }, + { + "key": "warm_water", + "description": "Layer 'Drinking water' shows warm_water=yes with a fixed text, namely 'Warmed water is provided here; the water is not dangerously hot' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", + "value": "yes" + }, + { + "key": "hot_water", + "description": "Layer 'Drinking water' shows hot_water=yes with a fixed text, namely 'Hot water is provided here' and allows to pick this as a default answer (in the mapcomplete.org theme 'Ski pistes and aerialways')", "value": "yes" }, { diff --git a/Docs/TagInfo/mapcomplete_sport_pitches.json b/Docs/TagInfo/mapcomplete_sport_pitches.json index 8edf44f5a8..78ac1cdd69 100644 --- a/Docs/TagInfo/mapcomplete_sport_pitches.json +++ b/Docs/TagInfo/mapcomplete_sport_pitches.json @@ -78,6 +78,11 @@ "description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", "value": "skateboard" }, + { + "key": "sport", + "description": "Layer 'Sport pitches' shows sport=equestrian with a fixed text, namely 'This is a horse riding arena' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches')", + "value": "equestrian" + }, { "key": "hoops", "description": "Layer 'Sport pitches' shows hoops=1 with a fixed text, namely 'This basketball pitch has a single hoop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sport pitches') (This is only shown if sport~^((^|.*;)basketball(;.*|$))$)", diff --git a/Docs/TagInfo/mapcomplete_sports.json b/Docs/TagInfo/mapcomplete_sports.json index e1222af010..3f70cccddb 100644 --- a/Docs/TagInfo/mapcomplete_sports.json +++ b/Docs/TagInfo/mapcomplete_sports.json @@ -78,6 +78,11 @@ "description": "Layer 'Sport pitches' shows sport=skateboard with a fixed text, namely 'This is a skatepark' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", "value": "skateboard" }, + { + "key": "sport", + "description": "Layer 'Sport pitches' shows sport=equestrian with a fixed text, namely 'This is a horse riding arena' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports')", + "value": "equestrian" + }, { "key": "hoops", "description": "Layer 'Sport pitches' shows hoops=1 with a fixed text, namely 'This basketball pitch has a single hoop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') (This is only shown if sport~^((^|.*;)basketball(;.*|$))$)", @@ -2095,6 +2100,11 @@ "description": "Layer 'Shop' shows shop=wine with a fixed text, namely 'Wine Shop' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') (This is only shown if craft=)", "value": "wine" }, + { + "key": "disused:shop", + "description": "Layer 'Shop' shows disused:shop= with a fixed text, namely 'This shop is no longer used. It is vacant' and allows to pick this as a default answer (in the mapcomplete.org theme 'Sports') Picking this answer will delete the key disused:shop. (This is only shown if craft=)", + "value": "" + }, { "key": "brand", "description": "Layer 'Shop' shows and asks freeform values for key 'brand' (in the mapcomplete.org theme 'Sports')" diff --git a/Docs/Themes/charging_stations.md b/Docs/Themes/charging_stations.md index e264d2420d..0ac3032af4 100644 --- a/Docs/Themes/charging_stations.md +++ b/Docs/Themes/charging_stations.md @@ -9,6 +9,7 @@ The theme introduction reads: This theme contains the following layers: - [charging_station](../Layers/charging_station.md) + - [charge_point](../Layers/charge_point.md) Available languages: diff --git a/Docs/Themes/circular_economy.md b/Docs/Themes/circular_economy.md index 192f8a9498..7d4c58bae6 100644 --- a/Docs/Themes/circular_economy.md +++ b/Docs/Themes/circular_economy.md @@ -333,6 +333,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -907,6 +908,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/climbing.md b/Docs/Themes/climbing.md index 158d8cd48c..1fa0533c17 100644 --- a/Docs/Themes/climbing.md +++ b/Docs/Themes/climbing.md @@ -350,6 +350,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -932,6 +933,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/cyclofix.md b/Docs/Themes/cyclofix.md index 7e8ad5f6a6..018df62fc3 100644 --- a/Docs/Themes/cyclofix.md +++ b/Docs/Themes/cyclofix.md @@ -641,60 +641,60 @@ Elements must match **all** of the following expressions: | [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [key](https://wiki.openstreetmap.org/wiki/Tag:access%3Dkey) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [permissive](https://wiki.openstreetmap.org/wiki/Tag:access%3Dpermissive) | | [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230 V) | -| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16 A) | +| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230) | +| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16) | | [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:output%3D3.6 kW) | | [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230 V) | -| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16 A) | +| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230) | +| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16) | | [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D3 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D22 kW) | | [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500 V) | -| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120 A](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120 A) | +| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500) | +| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120) | | [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:output%3D50 kW) | | [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240 V) | -| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32 A) | +| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240) | +| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32) | | [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D3.7 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D7 kW) | | [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240 V) | -| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32 A) | +| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240) | +| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32) | | [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D3.7 kW) [6.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D6.6 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7 kW) [7.2 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7.2 kW) | | [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400 V) [1000 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000 V) | -| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50 A) [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125 A) | +| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400) [1000](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000) | +| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50) [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125) | | [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D50 kW) [62.5 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D62.5 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D150 kW) [350 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D350 kW) | | [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480 V) | -| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350 A) | +| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480) | +| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350) | | [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D250 kW) | | [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400 V) | -| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32 A) | +| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400) | +| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32) | | [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D22 kW) | | [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920 V) | -| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350 A) | +| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920) | +| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350) | | [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:output%3D50 kW) | | [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400 V) | -| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32 A) | +| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400) | +| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32) | | [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D22 kW) | | [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920 V) | -| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350 A) | +| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920) | +| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350) | | [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:output%3D50 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D250 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D22 kW) | | [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5 V](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5 V) | -| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1 A) [2 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2 A) | +| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5) | +| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2) | | [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) | [pfloat](../SpecialInputElements.md#pfloat) | [5W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D5W) [10W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D10W) | | [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | | @@ -705,24 +705,24 @@ Elements must match **all** of the following expressions: | [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bs1363](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230 V) | -| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13 A](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13 A) | +| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230) | +| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13) | | [socket:bs1363:output](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3kW](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:output%3D3kW) | | [socket:nema5_15](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120 V) | -| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15 A) | +| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120) | +| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15) | | [socket:nema5_15:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:output) | [pfloat](../SpecialInputElements.md#pfloat) | [1.8 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:output%3D1.8 kW) | | [socket:sev1011_t23](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230 V) | -| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16 A) | +| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230) | +| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16) | | [socket:sev1011_t23:output](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:output%3D3.7 kW) | | [socket:as3112](https://wiki.openstreetmap.org/wiki/Key:socket:as3112) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230 V) | -| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10 A](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10 A) | +| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230) | +| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10) | | [socket:as3112:output](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:output%3D2.3 kW) | | [socket:nema_5_20](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120 V) | -| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20 A) | +| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120) | +| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20) | | [socket:nema_5_20:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.4 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:output%3D2.4 kW) | | [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) | | [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) | @@ -824,13 +824,15 @@ The question is `How much plugs of type Schuko wall plug without ground p *There are {socket:schuko} plugs of type Schuko wall plug without ground pin (CEE7/4 type F) available here* is shown if `socket:schuko` is set This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:schuko The question is `What voltage do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs {canonical(socket:schuko:voltage)}* is shown if `socket:schuko:voltage` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 V + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -841,7 +843,7 @@ This tagrendering has labels The question is `What current do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:current)}* is shown if `socket:schuko:current` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 A + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -852,7 +854,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:output)}* is shown if `socket:schuko:output` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW A* is shown if with socket:schuko:output=3.6 kW + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW* is shown if with socket:schuko:output=3.6 kW This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -864,13 +866,15 @@ The question is `How much plugs of type European wall plug with ground pi *There are {socket:typee} plugs of type European wall plug with ground pin (CEE7/4 type E) available here* is shown if `socket:typee` is set This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:typee The question is `What voltage do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs {canonical(socket:typee:voltage)}* is shown if `socket:typee:voltage` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 V + - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -881,7 +885,7 @@ This tagrendering has labels The question is `What current do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:current)}* is shown if `socket:typee:current` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 A + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -892,8 +896,8 @@ This tagrendering has labels The question is `What power output does a single plug of type European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:output)}* is shown if `socket:typee:output` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW A* is shown if with socket:typee:output=3 kW - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW A* is shown if with socket:typee:output=22 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW* is shown if with socket:typee:output=3 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW* is shown if with socket:typee:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -905,13 +909,15 @@ The question is `How much plugs of type Chademo are available here?` *There are {socket:chademo} plugs of type Chademo available here* is shown if `socket:chademo` is set This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:chademo The question is `What voltage do the plugs with Chademo offer?` *Chademo outputs {canonical(socket:chademo:voltage)}* is shown if `socket:chademo:voltage` is set - - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 V + - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -922,7 +928,7 @@ This tagrendering has labels The question is `What current do the plugs with Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:current)}* is shown if `socket:chademo:current` is set - - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 A + - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -933,7 +939,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:output)}* is shown if `socket:chademo:output` is set - - *Chademo outputs at most 50 kW A* is shown if with socket:chademo:output=50 kW + - *Chademo outputs at most 50 kW* is shown if with socket:chademo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -945,14 +951,16 @@ The question is `How much plugs of type Type 1 with cable (J1772) are ava *There are {socket:type1_cable} plugs of type Type 1 with cable (J1772) available here* is shown if `socket:type1_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_cable The question is `What voltage do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs {canonical(socket:type1_cable:voltage)}* is shown if `socket:type1_cable:voltage` is set - - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 V - - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 V + - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 + - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -963,7 +971,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:current)}* is shown if `socket:type1_cable:current` is set - - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 A + - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -974,8 +982,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:output)}* is shown if `socket:type1_cable:output` is set - - *Type 1 with cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1_cable:output=3.7 kW - - *Type 1 with cable (J1772) outputs at most 7 kW A* is shown if with socket:type1_cable:output=7 kW + - *Type 1 with cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1_cable:output=3.7 kW + - *Type 1 with cable (J1772) outputs at most 7 kW* is shown if with socket:type1_cable:output=7 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -987,14 +995,16 @@ The question is `How much plugs of type Type 1 without cable (J177 *There are {socket:type1} plugs of type Type 1 without cable (J1772) available here* is shown if `socket:type1` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1 The question is `What voltage do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs {canonical(socket:type1:voltage)}* is shown if `socket:type1:voltage` is set - - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 V - - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 V + - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 + - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -1005,7 +1015,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:current)}* is shown if `socket:type1:current` is set - - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 A + - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -1016,10 +1026,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:output)}* is shown if `socket:type1:output` is set - - *Type 1 without cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1:output=3.7 kW - - *Type 1 without cable (J1772) outputs at most 6.6 kW A* is shown if with socket:type1:output=6.6 kW - - *Type 1 without cable (J1772) outputs at most 7 kW A* is shown if with socket:type1:output=7 kW - - *Type 1 without cable (J1772) outputs at most 7.2 kW A* is shown if with socket:type1:output=7.2 kW + - *Type 1 without cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1:output=3.7 kW + - *Type 1 without cable (J1772) outputs at most 6.6 kW* is shown if with socket:type1:output=6.6 kW + - *Type 1 without cable (J1772) outputs at most 7 kW* is shown if with socket:type1:output=7 kW + - *Type 1 without cable (J1772) outputs at most 7.2 kW* is shown if with socket:type1:output=7.2 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -1031,14 +1041,16 @@ The question is `How much plugs of type Type 1 CCS (aka Type 1 Combo) are *There are {socket:type1_combo} plugs of type Type 1 CCS (aka Type 1 Combo) available here* is shown if `socket:type1_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_combo The question is `What voltage do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs {canonical(socket:type1_combo:voltage)}* is shown if `socket:type1_combo:voltage` is set - - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 V - - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 V + - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 + - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -1049,8 +1061,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:current)}* is shown if `socket:type1_combo:current` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 A - - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 A + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 + - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -1061,10 +1073,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:output)}* is shown if `socket:type1_combo:output` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW A* is shown if with socket:type1_combo:output=50 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW A* is shown if with socket:type1_combo:output=62.5 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW A* is shown if with socket:type1_combo:output=150 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW A* is shown if with socket:type1_combo:output=350 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW* is shown if with socket:type1_combo:output=50 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW* is shown if with socket:type1_combo:output=62.5 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW* is shown if with socket:type1_combo:output=150 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW* is shown if with socket:type1_combo:output=350 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -1076,13 +1088,15 @@ The question is `How much plugs of type Tesla Supercharger are available *There are {socket:tesla_supercharger} plugs of type Tesla Supercharger available here* is shown if `socket:tesla_supercharger` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger The question is `What voltage do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs {canonical(socket:tesla_supercharger:voltage)}* is shown if `socket:tesla_supercharger:voltage` is set - - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 V + - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -1093,8 +1107,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:current)}* is shown if `socket:tesla_supercharger:current` is set - - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 A - - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 A + - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 + - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -1105,9 +1119,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:output)}* is shown if `socket:tesla_supercharger:output` is set - - *Tesla Supercharger outputs at most 120 kW A* is shown if with socket:tesla_supercharger:output=120 kW - - *Tesla Supercharger outputs at most 150 kW A* is shown if with socket:tesla_supercharger:output=150 kW - - *Tesla Supercharger outputs at most 250 kW A* is shown if with socket:tesla_supercharger:output=250 kW + - *Tesla Supercharger outputs at most 120 kW* is shown if with socket:tesla_supercharger:output=120 kW + - *Tesla Supercharger outputs at most 150 kW* is shown if with socket:tesla_supercharger:output=150 kW + - *Tesla Supercharger outputs at most 250 kW* is shown if with socket:tesla_supercharger:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -1119,14 +1133,16 @@ The question is `How much plugs of type Type 2 (mennekes) are available h *There are {socket:type2} plugs of type Type 2 (mennekes) available here* is shown if `socket:type2` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2 The question is `What voltage do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs {canonical(socket:type2:voltage)}* is shown if `socket:type2:voltage` is set - - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 V - - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 V + - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 + - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -1137,8 +1153,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:current)}* is shown if `socket:type2:current` is set - - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 A - - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 A + - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 + - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -1149,8 +1165,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:output)}* is shown if `socket:type2:output` is set - - *Type 2 (mennekes) outputs at most 11 kW A* is shown if with socket:type2:output=11 kW - - *Type 2 (mennekes) outputs at most 22 kW A* is shown if with socket:type2:output=22 kW + - *Type 2 (mennekes) outputs at most 11 kW* is shown if with socket:type2:output=11 kW + - *Type 2 (mennekes) outputs at most 22 kW* is shown if with socket:type2:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -1162,14 +1178,16 @@ The question is `How much plugs of type Type 2 CCS (mennekes) are availab *There are {socket:type2_combo} plugs of type Type 2 CCS (mennekes) available here* is shown if `socket:type2_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_combo The question is `What voltage do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs {canonical(socket:type2_combo:voltage)}* is shown if `socket:type2_combo:voltage` is set - - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 V - - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 V + - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 + - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -1180,8 +1198,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:current)}* is shown if `socket:type2_combo:current` is set - - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 A - - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 A + - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 + - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -1192,7 +1210,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:output)}* is shown if `socket:type2_combo:output` is set - - *Type 2 CCS (mennekes) outputs at most 50 kW A* is shown if with socket:type2_combo:output=50 kW + - *Type 2 CCS (mennekes) outputs at most 50 kW* is shown if with socket:type2_combo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -1204,14 +1222,16 @@ The question is `How much plugs of type Type 2 with cable (mennekes) are *There are {socket:type2_cable} plugs of type Type 2 with cable (mennekes) available here* is shown if `socket:type2_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_cable The question is `What voltage do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs {canonical(socket:type2_cable:voltage)}* is shown if `socket:type2_cable:voltage` is set - - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 V - - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 V + - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 + - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -1222,8 +1242,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:current)}* is shown if `socket:type2_cable:current` is set - - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 A - - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 A + - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 + - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -1234,8 +1254,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:output)}* is shown if `socket:type2_cable:output` is set - - *Type 2 with cable (mennekes) outputs at most 11 kW A* is shown if with socket:type2_cable:output=11 kW - - *Type 2 with cable (mennekes) outputs at most 22 kW A* is shown if with socket:type2_cable:output=22 kW + - *Type 2 with cable (mennekes) outputs at most 11 kW* is shown if with socket:type2_cable:output=11 kW + - *Type 2 with cable (mennekes) outputs at most 22 kW* is shown if with socket:type2_cable:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -1247,14 +1267,16 @@ The question is `How much plugs of type Tesla Supercharger CCS (a branded *There are {socket:tesla_supercharger_ccs} plugs of type Tesla Supercharger CCS (a branded type2_css) available here* is shown if `socket:tesla_supercharger_ccs` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger_ccs The question is `What voltage do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs {canonical(socket:tesla_supercharger_ccs:voltage)}* is shown if `socket:tesla_supercharger_ccs:voltage` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 V - - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 V + - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 + - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -1265,8 +1287,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:current)}* is shown if `socket:tesla_supercharger_ccs:current` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 A - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 A + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -1277,7 +1299,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:output)}* is shown if `socket:tesla_supercharger_ccs:output` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW A* is shown if with socket:tesla_supercharger_ccs:output=50 kW + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW* is shown if with socket:tesla_supercharger_ccs:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -1289,13 +1311,15 @@ The question is `How much plugs of type Tesla Supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla Supercharger (destination) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination_us The question is `What voltage do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 V + - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -1306,8 +1330,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 A - - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 A + - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 + - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -1318,9 +1342,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla Supercharger (destination) outputs at most 120 kW A* is shown if with socket:tesla_destination:output=120 kW - - *Tesla Supercharger (destination) outputs at most 150 kW A* is shown if with socket:tesla_destination:output=150 kW - - *Tesla Supercharger (destination) outputs at most 250 kW A* is shown if with socket:tesla_destination:output=250 kW + - *Tesla Supercharger (destination) outputs at most 120 kW* is shown if with socket:tesla_destination:output=120 kW + - *Tesla Supercharger (destination) outputs at most 150 kW* is shown if with socket:tesla_destination:output=150 kW + - *Tesla Supercharger (destination) outputs at most 250 kW* is shown if with socket:tesla_destination:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -1332,14 +1356,16 @@ The question is `How much plugs of type Tesla supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination The question is `What voltage do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 V - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 V + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -1350,8 +1376,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 A - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 A + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -1362,8 +1388,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW A* is shown if with socket:tesla_destination:output=11 kW - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW A* is shown if with socket:tesla_destination:output=22 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW* is shown if with socket:tesla_destination:output=11 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW* is shown if with socket:tesla_destination:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -1375,13 +1401,15 @@ The question is `How much plugs of type USB to charge phones and small el *There are {socket:USB-A} plugs of type USB to charge phones and small electronics available here* is shown if `socket:USB-A` is set This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:USB-A The question is `What voltage do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs {canonical(socket:USB-A:voltage)}* is shown if `socket:USB-A:voltage` is set - - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 V + - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -1392,8 +1420,8 @@ This tagrendering has labels The question is `What current do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:current)}* is shown if `socket:USB-A:current` is set - - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 A - - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 A + - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 + - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -1404,8 +1432,8 @@ This tagrendering has labels The question is `What power output does a single plug of type USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:output)}* is shown if `socket:USB-A:output` is set - - *USB to charge phones and small electronics outputs at most 5W A* is shown if with socket:USB-A:output=5W - - *USB to charge phones and small electronics outputs at most 10W A* is shown if with socket:USB-A:output=10W + - *USB to charge phones and small electronics outputs at most 5W* is shown if with socket:USB-A:output=5W + - *USB to charge phones and small electronics outputs at most 10W* is shown if with socket:USB-A:output=10W This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -1417,6 +1445,8 @@ The question is `How much plugs of type Bosch Active Connect with 3 pins *There are {socket:bosch_3pin} plugs of type Bosch Active Connect with 3 pins and cable available here* is shown if `socket:bosch_3pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_3pin @@ -1451,6 +1481,8 @@ The question is `How much plugs of type Bosch Active Connect with 5 pins *There are {socket:bosch_5pin} plugs of type Bosch Active Connect with 5 pins and cable available here* is shown if `socket:bosch_5pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_5pin @@ -1485,13 +1517,15 @@ The question is `How much plugs of type BS1363 (Type G) are available her *There are {socket:bs1363} plugs of type BS1363 (Type G) available here* is shown if `socket:bs1363` is set This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bs1363 The question is `What voltage do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs {canonical(socket:bs1363:voltage)}* is shown if `socket:bs1363:voltage` is set - - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 V + - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1502,7 +1536,7 @@ This tagrendering has labels The question is `What current do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:current)}* is shown if `socket:bs1363:current` is set - - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 A + - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1513,7 +1547,7 @@ This tagrendering has labels The question is `What power output does a single plug of type BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:output)}* is shown if `socket:bs1363:output` is set - - *BS1363 (Type G) outputs at most 3kW A* is shown if with socket:bs1363:output=3kW + - *BS1363 (Type G) outputs at most 3kW* is shown if with socket:bs1363:output=3kW This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1525,13 +1559,15 @@ The question is `How much plugs of type NEMA 5-15 (Type B) are available *There are {socket:nema5_15} plugs of type NEMA 5-15 (Type B) available here* is shown if `socket:nema5_15` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema5_15 The question is `What voltage do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs {canonical(socket:nema5_15:voltage)}* is shown if `socket:nema5_15:voltage` is set - - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 V + - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1542,7 +1578,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:current)}* is shown if `socket:nema5_15:current` is set - - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 A + - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1553,7 +1589,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:output)}* is shown if `socket:nema5_15:output` is set - - *NEMA 5-15 (Type B) outputs at most 1.8 kW A* is shown if with socket:nema5_15:output=1.8 kW + - *NEMA 5-15 (Type B) outputs at most 1.8 kW* is shown if with socket:nema5_15:output=1.8 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1565,13 +1601,15 @@ The question is `How much plugs of type SEV 1011 T23 (Type J) are availab *There are {socket:sev1011_t23} plugs of type SEV 1011 T23 (Type J) available here* is shown if `socket:sev1011_t23` is set This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:sev1011_t23 The question is `What voltage do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs {canonical(socket:sev1011_t23:voltage)}* is shown if `socket:sev1011_t23:voltage` is set - - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 V + - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1582,7 +1620,7 @@ This tagrendering has labels The question is `What current do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:current)}* is shown if `socket:sev1011_t23:current` is set - - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 A + - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1593,7 +1631,7 @@ This tagrendering has labels The question is `What power output does a single plug of type SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:output)}* is shown if `socket:sev1011_t23:output` is set - - *SEV 1011 T23 (Type J) outputs at most 3.7 kW A* is shown if with socket:sev1011_t23:output=3.7 kW + - *SEV 1011 T23 (Type J) outputs at most 3.7 kW* is shown if with socket:sev1011_t23:output=3.7 kW This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1605,13 +1643,15 @@ The question is `How much plugs of type AS3112 (Type I) are available her *There are {socket:as3112} plugs of type AS3112 (Type I) available here* is shown if `socket:as3112` is set This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:as3112 The question is `What voltage do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs {canonical(socket:as3112:voltage)}* is shown if `socket:as3112:voltage` is set - - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 V + - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1622,7 +1662,7 @@ This tagrendering has labels The question is `What current do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:current)}* is shown if `socket:as3112:current` is set - - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 A + - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1633,7 +1673,7 @@ This tagrendering has labels The question is `What power output does a single plug of type AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:output)}* is shown if `socket:as3112:output` is set - - *AS3112 (Type I) outputs at most 2.3 kW A* is shown if with socket:as3112:output=2.3 kW + - *AS3112 (Type I) outputs at most 2.3 kW* is shown if with socket:as3112:output=2.3 kW This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1645,13 +1685,15 @@ The question is `How much plugs of type NEMA 5-20 (Type B) are available *There are {socket:nema_5_20} plugs of type NEMA 5-20 (Type B) available here* is shown if `socket:nema_5_20` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema_5_20 The question is `What voltage do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs {canonical(socket:nema_5_20:voltage)}* is shown if `socket:nema_5_20:voltage` is set - - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 V + - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1662,7 +1704,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:current)}* is shown if `socket:nema_5_20:current` is set - - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 A + - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1673,7 +1715,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:output)}* is shown if `socket:nema_5_20:output` is set - - *NEMA 5-20 (Type B) outputs at most 2.4 kW A* is shown if with socket:nema_5_20:output=2.4 kW + - *NEMA 5-20 (Type B) outputs at most 2.4 kW* is shown if with socket:nema_5_20:output=2.4 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels diff --git a/Docs/Themes/glutenfree.md b/Docs/Themes/glutenfree.md index 2b49eba47d..0a54534778 100644 --- a/Docs/Themes/glutenfree.md +++ b/Docs/Themes/glutenfree.md @@ -1169,6 +1169,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -1738,6 +1739,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/healthcare.md b/Docs/Themes/healthcare.md index ff74a0d13f..7735ea65b0 100644 --- a/Docs/Themes/healthcare.md +++ b/Docs/Themes/healthcare.md @@ -348,6 +348,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -934,6 +935,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/lactosefree.md b/Docs/Themes/lactosefree.md index 2ad0b20be2..4b9041bcae 100644 --- a/Docs/Themes/lactosefree.md +++ b/Docs/Themes/lactosefree.md @@ -1166,6 +1166,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -1735,6 +1736,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/mapcomplete-changes.md b/Docs/Themes/mapcomplete-changes.md index d357d7282a..b87957affa 100644 --- a/Docs/Themes/mapcomplete-changes.md +++ b/Docs/Themes/mapcomplete-changes.md @@ -19,6 +19,7 @@ Available languages: - es - fr - nl + - ko # Table of contents diff --git a/Docs/Themes/openlovemap.md b/Docs/Themes/openlovemap.md index 5107a41d21..32290504bc 100644 --- a/Docs/Themes/openlovemap.md +++ b/Docs/Themes/openlovemap.md @@ -384,6 +384,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -996,6 +997,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/personal.md b/Docs/Themes/personal.md index 53d6702924..020a1c9fc5 100644 --- a/Docs/Themes/personal.md +++ b/Docs/Themes/personal.md @@ -35,6 +35,7 @@ This theme contains the following layers: - [birdhide](../Layers/birdhide.md) - [cafe_pub](../Layers/cafe_pub.md) - [caravansites](../Layers/caravansites.md) + - [charge_point](../Layers/charge_point.md) - [charging_station](../Layers/charging_station.md) - [climbing_area](../Layers/climbing_area.md) - [climbing_club](../Layers/climbing_club.md) @@ -109,6 +110,7 @@ This theme contains the following layers: - [reception_desk](../Layers/reception_desk.md) - [recycling](../Layers/recycling.md) - [school](../Layers/school.md) + - [scouting_group](../Layers/scouting_group.md) - [shelter](../Layers/shelter.md) - [shops](../Layers/shops.md) - [shower](../Layers/shower.md) diff --git a/Docs/Themes/pets.md b/Docs/Themes/pets.md index 94337c4b1c..af7d961217 100644 --- a/Docs/Themes/pets.md +++ b/Docs/Themes/pets.md @@ -939,6 +939,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -1521,6 +1522,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/scouting.md b/Docs/Themes/scouting.md new file mode 100644 index 0000000000..4f286f03d6 --- /dev/null +++ b/Docs/Themes/scouting.md @@ -0,0 +1,21 @@ +[//]: # (WARNING: this file is automatically generated. Please find the sources at the bottom and edit those sources) + +## Scouting groups ( [scouting](https://mapcomplete.org/scouting) ) +_This document details some technical information about this MapComplete theme, mostly about the attributes used in the theme. Various links point toward more information about the attributes, e.g. to the OpenStreetMap-wiki, to TagInfo or tools creating statistics_ +The theme introduction reads: + +> A scouting group is a social youth movement with a heavy emphasis on the outdoors. Activities range from camping, hiking, aquatics, backpacking, exploring nature, ... + +This theme contains the following layers: + + - [scouting_group](../Layers/scouting_group.md) + +Available languages: + + - en + +# Layers defined in this theme configuration file +These layers can not be reused in different themes. + + +This document is autogenerated from [assets/themes/scouting/scouting.json](https://github.com/pietervdvn/MapComplete/blob/develop/assets/themes/scouting/scouting.json) diff --git a/Docs/Themes/sports.md b/Docs/Themes/sports.md index 7163f3268e..f5d5029a77 100644 --- a/Docs/Themes/sports.md +++ b/Docs/Themes/sports.md @@ -339,6 +339,7 @@ The question is `What kind of shop is this?` - *Wig Shop* is shown if with shop=wigs - *Window Blind Store* is shown if with shop=window_blind - *Wine Shop* is shown if with shop=wine + - *This shop is no longer used. It is vacant* is shown if with disused:shop= This tagrendering has labels `description` @@ -921,6 +922,7 @@ This tagrendering has labels | shop_types.162 | Wig Shop | shop=wigs | | shop_types.163 | Window Blind Store | shop=window_blind | | shop_types.164 | Wine Shop | shop=wine | +| shop_types.165 | This shop is no longer used. It is vacant | disused:shop= | (shop=disused | shop=vacant | disused:shop~^(.+)$ | abandoned:shop~^(.+)$) | | id | question | osmTags | -----|-----|----- | diff --git a/Docs/Themes/toerisme_vlaanderen.md b/Docs/Themes/toerisme_vlaanderen.md index 1dacdfe13d..f2041860ad 100644 --- a/Docs/Themes/toerisme_vlaanderen.md +++ b/Docs/Themes/toerisme_vlaanderen.md @@ -208,60 +208,60 @@ Elements must match **all** of the following expressions: | [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [key](https://wiki.openstreetmap.org/wiki/Tag:access%3Dkey) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate) [permissive](https://wiki.openstreetmap.org/wiki/Tag:access%3Dpermissive) | | [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:schuko](https://wiki.openstreetmap.org/wiki/Key:socket:schuko) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230 V) | -| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16 A) | +| [socket:schuko:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:voltage%3D230) | +| [socket:schuko:current](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:current%3D16) | | [socket:schuko:output](https://wiki.openstreetmap.org/wiki/Key:socket:schuko:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:schuko:output%3D3.6 kW) | | [socket:typee](https://wiki.openstreetmap.org/wiki/Key:socket:typee) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230 V) | -| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16 A) | +| [socket:typee:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:typee:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:voltage%3D230) | +| [socket:typee:current](https://wiki.openstreetmap.org/wiki/Key:socket:typee:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:current%3D16) | | [socket:typee:output](https://wiki.openstreetmap.org/wiki/Key:socket:typee:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D3 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:typee:output%3D22 kW) | | [socket:chademo](https://wiki.openstreetmap.org/wiki/Key:socket:chademo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500 V) | -| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120 A](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120 A) | +| [socket:chademo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:voltage%3D500) | +| [socket:chademo:current](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:current%3D120) | | [socket:chademo:output](https://wiki.openstreetmap.org/wiki/Key:socket:chademo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:chademo:output%3D50 kW) | | [socket:type1_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240 V) | -| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32 A) | +| [socket:type1_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:voltage%3D240) | +| [socket:type1_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:current%3D32) | | [socket:type1_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D3.7 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_cable:output%3D7 kW) | | [socket:type1](https://wiki.openstreetmap.org/wiki/Key:socket:type1) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200 V) [240 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240 V) | -| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32 A) | +| [socket:type1:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [200](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D200) [240](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:voltage%3D240) | +| [socket:type1:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1:current) | [pfloat](../SpecialInputElements.md#pfloat) | [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:current%3D32) | | [socket:type1:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D3.7 kW) [6.6 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D6.6 kW) [7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7 kW) [7.2 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1:output%3D7.2 kW) | | [socket:type1_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400 V) [1000 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000 V) | -| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50 A) [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125 A) | +| [socket:type1_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D400) [1000](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:voltage%3D1000) | +| [socket:type1_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [50](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D50) [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:current%3D125) | | [socket:type1_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type1_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D50 kW) [62.5 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D62.5 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D150 kW) [350 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type1_combo:output%3D350 kW) | | [socket:tesla_supercharger](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480 V) | -| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350 A) | +| [socket:tesla_supercharger:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:voltage%3D480) | +| [socket:tesla_supercharger:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:current%3D350) | | [socket:tesla_supercharger:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger:output%3D250 kW) | | [socket:type2](https://wiki.openstreetmap.org/wiki/Key:socket:type2) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400 V) | -| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32 A) | +| [socket:type2:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:voltage%3D400) | +| [socket:type2:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:current%3D32) | | [socket:type2:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2:output%3D22 kW) | | [socket:type2_combo](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920 V) | -| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350 A) | +| [socket:type2_combo:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:voltage%3D920) | +| [socket:type2_combo:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:current%3D350) | | [socket:type2_combo:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_combo:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_combo:output%3D50 kW) | | [socket:type2_cable](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400 V) | -| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32 A) | +| [socket:type2_cable:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:voltage%3D400) | +| [socket:type2_cable:current](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:current%3D32) | | [socket:type2_cable:output](https://wiki.openstreetmap.org/wiki/Key:socket:type2_cable:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:type2_cable:output%3D22 kW) | | [socket:tesla_supercharger_ccs](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500 V) [920 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920 V) | -| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350 A) | +| [socket:tesla_supercharger_ccs:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [500](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D500) [920](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:voltage%3D920) | +| [socket:tesla_supercharger_ccs:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:current%3D350) | | [socket:tesla_supercharger_ccs:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_supercharger_ccs:output) | [pfloat](../SpecialInputElements.md#pfloat) | [50 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_supercharger_ccs:output%3D50 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125 A) [350 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [480](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D480) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [125](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D125) [350](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D350) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [120 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D120 kW) [150 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D150 kW) [250 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D250 kW) | | [socket:tesla_destination](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230 V) [400 V](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400 V) | -| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16 A) [32 A](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32 A) | +| [socket:tesla_destination:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D230) [400](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:voltage%3D400) | +| [socket:tesla_destination:current](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D16) [32](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:current%3D32) | | [socket:tesla_destination:output](https://wiki.openstreetmap.org/wiki/Key:socket:tesla_destination:output) | [pfloat](../SpecialInputElements.md#pfloat) | [11 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D11 kW) [22 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:tesla_destination:output%3D22 kW) | | [socket:USB-A](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5 V](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5 V) | -| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1 A) [2 A](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2 A) | +| [socket:USB-A:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [5](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:voltage%3D5) | +| [socket:USB-A:current](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:current) | [pfloat](../SpecialInputElements.md#pfloat) | [1](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D1) [2](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:current%3D2) | | [socket:USB-A:output](https://wiki.openstreetmap.org/wiki/Key:socket:USB-A:output) | [pfloat](../SpecialInputElements.md#pfloat) | [5W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D5W) [10W](https://wiki.openstreetmap.org/wiki/Tag:socket:USB-A:output%3D10W) | | [socket:bosch_3pin](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin) | [pnat](../SpecialInputElements.md#pnat) | | | [socket:bosch_3pin:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_3pin:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | | @@ -272,24 +272,24 @@ Elements must match **all** of the following expressions: | [socket:bosch_5pin:current](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:current) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bosch_5pin:output](https://wiki.openstreetmap.org/wiki/Key:socket:bosch_5pin:output) | [pfloat](../SpecialInputElements.md#pfloat) | | | [socket:bs1363](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230 V) | -| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13 A](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13 A) | +| [socket:bs1363:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:voltage%3D230) | +| [socket:bs1363:current](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:current) | [pfloat](../SpecialInputElements.md#pfloat) | [13](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:current%3D13) | | [socket:bs1363:output](https://wiki.openstreetmap.org/wiki/Key:socket:bs1363:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3kW](https://wiki.openstreetmap.org/wiki/Tag:socket:bs1363:output%3D3kW) | | [socket:nema5_15](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120 V) | -| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15 A) | +| [socket:nema5_15:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:voltage%3D120) | +| [socket:nema5_15:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:current) | [pfloat](../SpecialInputElements.md#pfloat) | [15](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:current%3D15) | | [socket:nema5_15:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema5_15:output) | [pfloat](../SpecialInputElements.md#pfloat) | [1.8 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema5_15:output%3D1.8 kW) | | [socket:sev1011_t23](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230 V) | -| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16 A](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16 A) | +| [socket:sev1011_t23:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:voltage%3D230) | +| [socket:sev1011_t23:current](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:current) | [pfloat](../SpecialInputElements.md#pfloat) | [16](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:current%3D16) | | [socket:sev1011_t23:output](https://wiki.openstreetmap.org/wiki/Key:socket:sev1011_t23:output) | [pfloat](../SpecialInputElements.md#pfloat) | [3.7 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:sev1011_t23:output%3D3.7 kW) | | [socket:as3112](https://wiki.openstreetmap.org/wiki/Key:socket:as3112) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230 V](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230 V) | -| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10 A](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10 A) | +| [socket:as3112:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [230](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:voltage%3D230) | +| [socket:as3112:current](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:current) | [pfloat](../SpecialInputElements.md#pfloat) | [10](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:current%3D10) | | [socket:as3112:output](https://wiki.openstreetmap.org/wiki/Key:socket:as3112:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.3 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:as3112:output%3D2.3 kW) | | [socket:nema_5_20](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20) | [pnat](../SpecialInputElements.md#pnat) | | -| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120 V](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120 V) | -| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20 A](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20 A) | +| [socket:nema_5_20:voltage](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:voltage) | [pfloat](../SpecialInputElements.md#pfloat) | [120](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:voltage%3D120) | +| [socket:nema_5_20:current](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:current) | [pfloat](../SpecialInputElements.md#pfloat) | [20](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:current%3D20) | | [socket:nema_5_20:output](https://wiki.openstreetmap.org/wiki/Key:socket:nema_5_20:output) | [pfloat](../SpecialInputElements.md#pfloat) | [2.4 kW](https://wiki.openstreetmap.org/wiki/Tag:socket:nema_5_20:output%3D2.4 kW) | | [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7) | | [fee](https://wiki.openstreetmap.org/wiki/Key:fee) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [no](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes) | @@ -391,13 +391,15 @@ The question is `How much plugs of type Schuko wall plug without ground p *There are {socket:schuko} plugs of type Schuko wall plug without ground pin (CEE7/4 type F) available here* is shown if `socket:schuko` is set This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:schuko The question is `What voltage do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs {canonical(socket:schuko:voltage)}* is shown if `socket:schuko:voltage` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 V + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs 230 volt* is shown if with socket:schuko:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -408,7 +410,7 @@ This tagrendering has labels The question is `What current do the plugs with Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:current)}* is shown if `socket:schuko:current` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 A + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 16 A* is shown if with socket:schuko:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -419,7 +421,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Schuko wall plug without ground pin (CEE7/4 type F) offer?` *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most {canonical(socket:schuko:output)}* is shown if `socket:schuko:output` is set - - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW A* is shown if with socket:schuko:output=3.6 kW + - *Schuko wall plug without ground pin (CEE7/4 type F) outputs at most 3.6 kW* is shown if with socket:schuko:output=3.6 kW This tagrendering is only visible in the popup if the following condition is met: socket:schuko~.+ & socket:schuko!=0 This tagrendering has labels @@ -431,13 +433,15 @@ The question is `How much plugs of type European wall plug with ground pi *There are {socket:typee} plugs of type European wall plug with ground pin (CEE7/4 type E) available here* is shown if `socket:typee` is set This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:typee The question is `What voltage do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs {canonical(socket:typee:voltage)}* is shown if `socket:typee:voltage` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 V + - *European wall plug with ground pin (CEE7/4 type E) outputs 230 volt* is shown if with socket:typee:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -448,7 +452,7 @@ This tagrendering has labels The question is `What current do the plugs with European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:current)}* is shown if `socket:typee:current` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 A + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 16 A* is shown if with socket:typee:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -459,8 +463,8 @@ This tagrendering has labels The question is `What power output does a single plug of type European wall plug with ground pin (CEE7/4 type E) offer?` *European wall plug with ground pin (CEE7/4 type E) outputs at most {canonical(socket:typee:output)}* is shown if `socket:typee:output` is set - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW A* is shown if with socket:typee:output=3 kW - - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW A* is shown if with socket:typee:output=22 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 3 kW* is shown if with socket:typee:output=3 kW + - *European wall plug with ground pin (CEE7/4 type E) outputs at most 22 kW* is shown if with socket:typee:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:typee~.+ & socket:typee!=0 This tagrendering has labels @@ -472,13 +476,15 @@ The question is `How much plugs of type Chademo are available here?` *There are {socket:chademo} plugs of type Chademo available here* is shown if `socket:chademo` is set This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:chademo The question is `What voltage do the plugs with Chademo offer?` *Chademo outputs {canonical(socket:chademo:voltage)}* is shown if `socket:chademo:voltage` is set - - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 V + - *Chademo outputs 500 volt* is shown if with socket:chademo:voltage=500 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -489,7 +495,7 @@ This tagrendering has labels The question is `What current do the plugs with Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:current)}* is shown if `socket:chademo:current` is set - - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 A + - *Chademo outputs at most 120 A* is shown if with socket:chademo:current=120 This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -500,7 +506,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Chademo offer?` *Chademo outputs at most {canonical(socket:chademo:output)}* is shown if `socket:chademo:output` is set - - *Chademo outputs at most 50 kW A* is shown if with socket:chademo:output=50 kW + - *Chademo outputs at most 50 kW* is shown if with socket:chademo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:chademo~.+ & socket:chademo!=0 This tagrendering has labels @@ -512,14 +518,16 @@ The question is `How much plugs of type Type 1 with cable (J1772) are ava *There are {socket:type1_cable} plugs of type Type 1 with cable (J1772) available here* is shown if `socket:type1_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_cable The question is `What voltage do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs {canonical(socket:type1_cable:voltage)}* is shown if `socket:type1_cable:voltage` is set - - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 V - - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 V + - *Type 1 with cable (J1772) outputs 200 volt* is shown if with socket:type1_cable:voltage=200 + - *Type 1 with cable (J1772) outputs 240 volt* is shown if with socket:type1_cable:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -530,7 +538,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:current)}* is shown if `socket:type1_cable:current` is set - - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 A + - *Type 1 with cable (J1772) outputs at most 32 A* is shown if with socket:type1_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -541,8 +549,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 with cable (J1772) offer?` *Type 1 with cable (J1772) outputs at most {canonical(socket:type1_cable:output)}* is shown if `socket:type1_cable:output` is set - - *Type 1 with cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1_cable:output=3.7 kW - - *Type 1 with cable (J1772) outputs at most 7 kW A* is shown if with socket:type1_cable:output=7 kW + - *Type 1 with cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1_cable:output=3.7 kW + - *Type 1 with cable (J1772) outputs at most 7 kW* is shown if with socket:type1_cable:output=7 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_cable~.+ & socket:type1_cable!=0 This tagrendering has labels @@ -554,14 +562,16 @@ The question is `How much plugs of type Type 1 without cable (J177 *There are {socket:type1} plugs of type Type 1 without cable (J1772) available here* is shown if `socket:type1` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1 The question is `What voltage do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs {canonical(socket:type1:voltage)}* is shown if `socket:type1:voltage` is set - - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 V - - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 V + - *Type 1 without cable (J1772) outputs 200 volt* is shown if with socket:type1:voltage=200 + - *Type 1 without cable (J1772) outputs 240 volt* is shown if with socket:type1:voltage=240 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -572,7 +582,7 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:current)}* is shown if `socket:type1:current` is set - - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 A + - *Type 1 without cable (J1772) outputs at most 32 A* is shown if with socket:type1:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -583,10 +593,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 without cable (J1772) offer?` *Type 1 without cable (J1772) outputs at most {canonical(socket:type1:output)}* is shown if `socket:type1:output` is set - - *Type 1 without cable (J1772) outputs at most 3.7 kW A* is shown if with socket:type1:output=3.7 kW - - *Type 1 without cable (J1772) outputs at most 6.6 kW A* is shown if with socket:type1:output=6.6 kW - - *Type 1 without cable (J1772) outputs at most 7 kW A* is shown if with socket:type1:output=7 kW - - *Type 1 without cable (J1772) outputs at most 7.2 kW A* is shown if with socket:type1:output=7.2 kW + - *Type 1 without cable (J1772) outputs at most 3.7 kW* is shown if with socket:type1:output=3.7 kW + - *Type 1 without cable (J1772) outputs at most 6.6 kW* is shown if with socket:type1:output=6.6 kW + - *Type 1 without cable (J1772) outputs at most 7 kW* is shown if with socket:type1:output=7 kW + - *Type 1 without cable (J1772) outputs at most 7.2 kW* is shown if with socket:type1:output=7.2 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1~.+ & socket:type1!=0 This tagrendering has labels @@ -598,14 +608,16 @@ The question is `How much plugs of type Type 1 CCS (aka Type 1 Combo) are *There are {socket:type1_combo} plugs of type Type 1 CCS (aka Type 1 Combo) available here* is shown if `socket:type1_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type1_combo The question is `What voltage do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs {canonical(socket:type1_combo:voltage)}* is shown if `socket:type1_combo:voltage` is set - - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 V - - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 V + - *Type 1 CCS (aka Type 1 Combo) outputs 400 volt* is shown if with socket:type1_combo:voltage=400 + - *Type 1 CCS (aka Type 1 Combo) outputs 1000 volt* is shown if with socket:type1_combo:voltage=1000 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -616,8 +628,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:current)}* is shown if `socket:type1_combo:current` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 A - - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 A + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 A* is shown if with socket:type1_combo:current=50 + - *Type 1 CCS (aka Type 1 Combo) outputs at most 125 A* is shown if with socket:type1_combo:current=125 This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -628,10 +640,10 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 1 CCS (aka Type 1 Combo) offer?` *Type 1 CCS (aka Type 1 Combo) outputs at most {canonical(socket:type1_combo:output)}* is shown if `socket:type1_combo:output` is set - - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW A* is shown if with socket:type1_combo:output=50 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW A* is shown if with socket:type1_combo:output=62.5 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW A* is shown if with socket:type1_combo:output=150 kW - - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW A* is shown if with socket:type1_combo:output=350 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 50 kW* is shown if with socket:type1_combo:output=50 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 62.5 kW* is shown if with socket:type1_combo:output=62.5 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 150 kW* is shown if with socket:type1_combo:output=150 kW + - *Type 1 CCS (aka Type 1 Combo) outputs at most 350 kW* is shown if with socket:type1_combo:output=350 kW This tagrendering is only visible in the popup if the following condition is met: socket:type1_combo~.+ & socket:type1_combo!=0 This tagrendering has labels @@ -643,13 +655,15 @@ The question is `How much plugs of type Tesla Supercharger are available *There are {socket:tesla_supercharger} plugs of type Tesla Supercharger available here* is shown if `socket:tesla_supercharger` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger The question is `What voltage do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs {canonical(socket:tesla_supercharger:voltage)}* is shown if `socket:tesla_supercharger:voltage` is set - - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 V + - *Tesla Supercharger outputs 480 volt* is shown if with socket:tesla_supercharger:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -660,8 +674,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:current)}* is shown if `socket:tesla_supercharger:current` is set - - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 A - - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 A + - *Tesla Supercharger outputs at most 125 A* is shown if with socket:tesla_supercharger:current=125 + - *Tesla Supercharger outputs at most 350 A* is shown if with socket:tesla_supercharger:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -672,9 +686,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger offer?` *Tesla Supercharger outputs at most {canonical(socket:tesla_supercharger:output)}* is shown if `socket:tesla_supercharger:output` is set - - *Tesla Supercharger outputs at most 120 kW A* is shown if with socket:tesla_supercharger:output=120 kW - - *Tesla Supercharger outputs at most 150 kW A* is shown if with socket:tesla_supercharger:output=150 kW - - *Tesla Supercharger outputs at most 250 kW A* is shown if with socket:tesla_supercharger:output=250 kW + - *Tesla Supercharger outputs at most 120 kW* is shown if with socket:tesla_supercharger:output=120 kW + - *Tesla Supercharger outputs at most 150 kW* is shown if with socket:tesla_supercharger:output=150 kW + - *Tesla Supercharger outputs at most 250 kW* is shown if with socket:tesla_supercharger:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger~.+ & socket:tesla_supercharger!=0 This tagrendering has labels @@ -686,14 +700,16 @@ The question is `How much plugs of type Type 2 (mennekes) are available h *There are {socket:type2} plugs of type Type 2 (mennekes) available here* is shown if `socket:type2` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2 The question is `What voltage do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs {canonical(socket:type2:voltage)}* is shown if `socket:type2:voltage` is set - - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 V - - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 V + - *Type 2 (mennekes) outputs 230 volt* is shown if with socket:type2:voltage=230 + - *Type 2 (mennekes) outputs 400 volt* is shown if with socket:type2:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -704,8 +720,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:current)}* is shown if `socket:type2:current` is set - - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 A - - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 A + - *Type 2 (mennekes) outputs at most 16 A* is shown if with socket:type2:current=16 + - *Type 2 (mennekes) outputs at most 32 A* is shown if with socket:type2:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -716,8 +732,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 (mennekes) offer?` *Type 2 (mennekes) outputs at most {canonical(socket:type2:output)}* is shown if `socket:type2:output` is set - - *Type 2 (mennekes) outputs at most 11 kW A* is shown if with socket:type2:output=11 kW - - *Type 2 (mennekes) outputs at most 22 kW A* is shown if with socket:type2:output=22 kW + - *Type 2 (mennekes) outputs at most 11 kW* is shown if with socket:type2:output=11 kW + - *Type 2 (mennekes) outputs at most 22 kW* is shown if with socket:type2:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2~.+ & socket:type2!=0 This tagrendering has labels @@ -729,14 +745,16 @@ The question is `How much plugs of type Type 2 CCS (mennekes) are availab *There are {socket:type2_combo} plugs of type Type 2 CCS (mennekes) available here* is shown if `socket:type2_combo` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_combo The question is `What voltage do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs {canonical(socket:type2_combo:voltage)}* is shown if `socket:type2_combo:voltage` is set - - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 V - - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 V + - *Type 2 CCS (mennekes) outputs 500 volt* is shown if with socket:type2_combo:voltage=500 + - *Type 2 CCS (mennekes) outputs 920 volt* is shown if with socket:type2_combo:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -747,8 +765,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:current)}* is shown if `socket:type2_combo:current` is set - - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 A - - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 A + - *Type 2 CCS (mennekes) outputs at most 125 A* is shown if with socket:type2_combo:current=125 + - *Type 2 CCS (mennekes) outputs at most 350 A* is shown if with socket:type2_combo:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -759,7 +777,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 CCS (mennekes) offer?` *Type 2 CCS (mennekes) outputs at most {canonical(socket:type2_combo:output)}* is shown if `socket:type2_combo:output` is set - - *Type 2 CCS (mennekes) outputs at most 50 kW A* is shown if with socket:type2_combo:output=50 kW + - *Type 2 CCS (mennekes) outputs at most 50 kW* is shown if with socket:type2_combo:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_combo~.+ & socket:type2_combo!=0 This tagrendering has labels @@ -771,14 +789,16 @@ The question is `How much plugs of type Type 2 with cable (mennekes) are *There are {socket:type2_cable} plugs of type Type 2 with cable (mennekes) available here* is shown if `socket:type2_cable` is set This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:type2_cable The question is `What voltage do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs {canonical(socket:type2_cable:voltage)}* is shown if `socket:type2_cable:voltage` is set - - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 V - - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 V + - *Type 2 with cable (mennekes) outputs 230 volt* is shown if with socket:type2_cable:voltage=230 + - *Type 2 with cable (mennekes) outputs 400 volt* is shown if with socket:type2_cable:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -789,8 +809,8 @@ This tagrendering has labels The question is `What current do the plugs with Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:current)}* is shown if `socket:type2_cable:current` is set - - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 A - - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 A + - *Type 2 with cable (mennekes) outputs at most 16 A* is shown if with socket:type2_cable:current=16 + - *Type 2 with cable (mennekes) outputs at most 32 A* is shown if with socket:type2_cable:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -801,8 +821,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Type 2 with cable (mennekes) offer?` *Type 2 with cable (mennekes) outputs at most {canonical(socket:type2_cable:output)}* is shown if `socket:type2_cable:output` is set - - *Type 2 with cable (mennekes) outputs at most 11 kW A* is shown if with socket:type2_cable:output=11 kW - - *Type 2 with cable (mennekes) outputs at most 22 kW A* is shown if with socket:type2_cable:output=22 kW + - *Type 2 with cable (mennekes) outputs at most 11 kW* is shown if with socket:type2_cable:output=11 kW + - *Type 2 with cable (mennekes) outputs at most 22 kW* is shown if with socket:type2_cable:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:type2_cable~.+ & socket:type2_cable!=0 This tagrendering has labels @@ -814,14 +834,16 @@ The question is `How much plugs of type Tesla Supercharger CCS (a branded *There are {socket:tesla_supercharger_ccs} plugs of type Tesla Supercharger CCS (a branded type2_css) available here* is shown if `socket:tesla_supercharger_ccs` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_supercharger_ccs The question is `What voltage do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs {canonical(socket:tesla_supercharger_ccs:voltage)}* is shown if `socket:tesla_supercharger_ccs:voltage` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 V - - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 V + - *Tesla Supercharger CCS (a branded type2_css) outputs 500 volt* is shown if with socket:tesla_supercharger_ccs:voltage=500 + - *Tesla Supercharger CCS (a branded type2_css) outputs 920 volt* is shown if with socket:tesla_supercharger_ccs:voltage=920 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -832,8 +854,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:current)}* is shown if `socket:tesla_supercharger_ccs:current` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 A - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 A + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 125 A* is shown if with socket:tesla_supercharger_ccs:current=125 + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 350 A* is shown if with socket:tesla_supercharger_ccs:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -844,7 +866,7 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger CCS (a branded type2_css) offer?` *Tesla Supercharger CCS (a branded type2_css) outputs at most {canonical(socket:tesla_supercharger_ccs:output)}* is shown if `socket:tesla_supercharger_ccs:output` is set - - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW A* is shown if with socket:tesla_supercharger_ccs:output=50 kW + - *Tesla Supercharger CCS (a branded type2_css) outputs at most 50 kW* is shown if with socket:tesla_supercharger_ccs:output=50 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_supercharger_ccs~.+ & socket:tesla_supercharger_ccs!=0 This tagrendering has labels @@ -856,13 +878,15 @@ The question is `How much plugs of type Tesla Supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla Supercharger (destination) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination_us The question is `What voltage do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 V + - *Tesla Supercharger (destination) outputs 480 volt* is shown if with socket:tesla_destination:voltage=480 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -873,8 +897,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 A - - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 A + - *Tesla Supercharger (destination) outputs at most 125 A* is shown if with socket:tesla_destination:current=125 + - *Tesla Supercharger (destination) outputs at most 350 A* is shown if with socket:tesla_destination:current=350 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -885,9 +909,9 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla Supercharger (destination) offer?` *Tesla Supercharger (destination) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla Supercharger (destination) outputs at most 120 kW A* is shown if with socket:tesla_destination:output=120 kW - - *Tesla Supercharger (destination) outputs at most 150 kW A* is shown if with socket:tesla_destination:output=150 kW - - *Tesla Supercharger (destination) outputs at most 250 kW A* is shown if with socket:tesla_destination:output=250 kW + - *Tesla Supercharger (destination) outputs at most 120 kW* is shown if with socket:tesla_destination:output=120 kW + - *Tesla Supercharger (destination) outputs at most 150 kW* is shown if with socket:tesla_destination:output=150 kW + - *Tesla Supercharger (destination) outputs at most 250 kW* is shown if with socket:tesla_destination:output=250 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -899,14 +923,16 @@ The question is `How much plugs of type Tesla supercharger (destination) *There are {socket:tesla_destination} plugs of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) available here* is shown if `socket:tesla_destination` is set This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:tesla_destination The question is `What voltage do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs {canonical(socket:tesla_destination:voltage)}* is shown if `socket:tesla_destination:voltage` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 V - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 V + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 230 volt* is shown if with socket:tesla_destination:voltage=230 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs 400 volt* is shown if with socket:tesla_destination:voltage=400 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -917,8 +943,8 @@ This tagrendering has labels The question is `What current do the plugs with Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:current)}* is shown if `socket:tesla_destination:current` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 A - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 A + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 16 A* is shown if with socket:tesla_destination:current=16 + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 32 A* is shown if with socket:tesla_destination:current=32 This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -929,8 +955,8 @@ This tagrendering has labels The question is `What power output does a single plug of type Tesla supercharger (destination) (A Type 2 with cable branded as tesla) offer?` *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most {canonical(socket:tesla_destination:output)}* is shown if `socket:tesla_destination:output` is set - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW A* is shown if with socket:tesla_destination:output=11 kW - - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW A* is shown if with socket:tesla_destination:output=22 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 11 kW* is shown if with socket:tesla_destination:output=11 kW + - *Tesla supercharger (destination) (A Type 2 with cable branded as tesla) outputs at most 22 kW* is shown if with socket:tesla_destination:output=22 kW This tagrendering is only visible in the popup if the following condition is met: socket:tesla_destination~.+ & socket:tesla_destination!=0 This tagrendering has labels @@ -942,13 +968,15 @@ The question is `How much plugs of type USB to charge phones and small el *There are {socket:USB-A} plugs of type USB to charge phones and small electronics available here* is shown if `socket:USB-A` is set This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:USB-A The question is `What voltage do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs {canonical(socket:USB-A:voltage)}* is shown if `socket:USB-A:voltage` is set - - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 V + - *USB to charge phones and small electronics outputs 5 volt* is shown if with socket:USB-A:voltage=5 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -959,8 +987,8 @@ This tagrendering has labels The question is `What current do the plugs with USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:current)}* is shown if `socket:USB-A:current` is set - - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 A - - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 A + - *USB to charge phones and small electronics outputs at most 1 A* is shown if with socket:USB-A:current=1 + - *USB to charge phones and small electronics outputs at most 2 A* is shown if with socket:USB-A:current=2 This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -971,8 +999,8 @@ This tagrendering has labels The question is `What power output does a single plug of type USB to charge phones and small electronics offer?` *USB to charge phones and small electronics outputs at most {canonical(socket:USB-A:output)}* is shown if `socket:USB-A:output` is set - - *USB to charge phones and small electronics outputs at most 5W A* is shown if with socket:USB-A:output=5W - - *USB to charge phones and small electronics outputs at most 10W A* is shown if with socket:USB-A:output=10W + - *USB to charge phones and small electronics outputs at most 5W* is shown if with socket:USB-A:output=5W + - *USB to charge phones and small electronics outputs at most 10W* is shown if with socket:USB-A:output=10W This tagrendering is only visible in the popup if the following condition is met: socket:USB-A~.+ & socket:USB-A!=0 This tagrendering has labels @@ -984,6 +1012,8 @@ The question is `How much plugs of type Bosch Active Connect with 3 pins *There are {socket:bosch_3pin} plugs of type Bosch Active Connect with 3 pins and cable available here* is shown if `socket:bosch_3pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_3pin~.+ & socket:bosch_3pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_3pin @@ -1018,6 +1048,8 @@ The question is `How much plugs of type Bosch Active Connect with 5 pins *There are {socket:bosch_5pin} plugs of type Bosch Active Connect with 5 pins and cable available here* is shown if `socket:bosch_5pin` is set This tagrendering is only visible in the popup if the following condition is met: socket:bosch_5pin~.+ & socket:bosch_5pin!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bosch_5pin @@ -1052,13 +1084,15 @@ The question is `How much plugs of type BS1363 (Type G) are available her *There are {socket:bs1363} plugs of type BS1363 (Type G) available here* is shown if `socket:bs1363` is set This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:bs1363 The question is `What voltage do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs {canonical(socket:bs1363:voltage)}* is shown if `socket:bs1363:voltage` is set - - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 V + - *BS1363 (Type G) outputs 230 volt* is shown if with socket:bs1363:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1069,7 +1103,7 @@ This tagrendering has labels The question is `What current do the plugs with BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:current)}* is shown if `socket:bs1363:current` is set - - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 A + - *BS1363 (Type G) outputs at most 13 A* is shown if with socket:bs1363:current=13 This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1080,7 +1114,7 @@ This tagrendering has labels The question is `What power output does a single plug of type BS1363 (Type G) offer?` *BS1363 (Type G) outputs at most {canonical(socket:bs1363:output)}* is shown if `socket:bs1363:output` is set - - *BS1363 (Type G) outputs at most 3kW A* is shown if with socket:bs1363:output=3kW + - *BS1363 (Type G) outputs at most 3kW* is shown if with socket:bs1363:output=3kW This tagrendering is only visible in the popup if the following condition is met: socket:bs1363~.+ & socket:bs1363!=0 This tagrendering has labels @@ -1092,13 +1126,15 @@ The question is `How much plugs of type NEMA 5-15 (Type B) are available *There are {socket:nema5_15} plugs of type NEMA 5-15 (Type B) available here* is shown if `socket:nema5_15` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema5_15 The question is `What voltage do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs {canonical(socket:nema5_15:voltage)}* is shown if `socket:nema5_15:voltage` is set - - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 V + - *NEMA 5-15 (Type B) outputs 120 volt* is shown if with socket:nema5_15:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1109,7 +1145,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:current)}* is shown if `socket:nema5_15:current` is set - - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 A + - *NEMA 5-15 (Type B) outputs at most 15 A* is shown if with socket:nema5_15:current=15 This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1120,7 +1156,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-15 (Type B) offer?` *NEMA 5-15 (Type B) outputs at most {canonical(socket:nema5_15:output)}* is shown if `socket:nema5_15:output` is set - - *NEMA 5-15 (Type B) outputs at most 1.8 kW A* is shown if with socket:nema5_15:output=1.8 kW + - *NEMA 5-15 (Type B) outputs at most 1.8 kW* is shown if with socket:nema5_15:output=1.8 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema5_15~.+ & socket:nema5_15!=0 This tagrendering has labels @@ -1132,13 +1168,15 @@ The question is `How much plugs of type SEV 1011 T23 (Type J) are availab *There are {socket:sev1011_t23} plugs of type SEV 1011 T23 (Type J) available here* is shown if `socket:sev1011_t23` is set This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:sev1011_t23 The question is `What voltage do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs {canonical(socket:sev1011_t23:voltage)}* is shown if `socket:sev1011_t23:voltage` is set - - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 V + - *SEV 1011 T23 (Type J) outputs 230 volt* is shown if with socket:sev1011_t23:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1149,7 +1187,7 @@ This tagrendering has labels The question is `What current do the plugs with SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:current)}* is shown if `socket:sev1011_t23:current` is set - - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 A + - *SEV 1011 T23 (Type J) outputs at most 16 A* is shown if with socket:sev1011_t23:current=16 This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1160,7 +1198,7 @@ This tagrendering has labels The question is `What power output does a single plug of type SEV 1011 T23 (Type J) offer?` *SEV 1011 T23 (Type J) outputs at most {canonical(socket:sev1011_t23:output)}* is shown if `socket:sev1011_t23:output` is set - - *SEV 1011 T23 (Type J) outputs at most 3.7 kW A* is shown if with socket:sev1011_t23:output=3.7 kW + - *SEV 1011 T23 (Type J) outputs at most 3.7 kW* is shown if with socket:sev1011_t23:output=3.7 kW This tagrendering is only visible in the popup if the following condition is met: socket:sev1011_t23~.+ & socket:sev1011_t23!=0 This tagrendering has labels @@ -1172,13 +1210,15 @@ The question is `How much plugs of type AS3112 (Type I) are available her *There are {socket:as3112} plugs of type AS3112 (Type I) available here* is shown if `socket:as3112` is set This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:as3112 The question is `What voltage do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs {canonical(socket:as3112:voltage)}* is shown if `socket:as3112:voltage` is set - - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 V + - *AS3112 (Type I) outputs 230 volt* is shown if with socket:as3112:voltage=230 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1189,7 +1229,7 @@ This tagrendering has labels The question is `What current do the plugs with AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:current)}* is shown if `socket:as3112:current` is set - - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 A + - *AS3112 (Type I) outputs at most 10 A* is shown if with socket:as3112:current=10 This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1200,7 +1240,7 @@ This tagrendering has labels The question is `What power output does a single plug of type AS3112 (Type I) offer?` *AS3112 (Type I) outputs at most {canonical(socket:as3112:output)}* is shown if `socket:as3112:output` is set - - *AS3112 (Type I) outputs at most 2.3 kW A* is shown if with socket:as3112:output=2.3 kW + - *AS3112 (Type I) outputs at most 2.3 kW* is shown if with socket:as3112:output=2.3 kW This tagrendering is only visible in the popup if the following condition is met: socket:as3112~.+ & socket:as3112!=0 This tagrendering has labels @@ -1212,13 +1252,15 @@ The question is `How much plugs of type NEMA 5-20 (Type B) are available *There are {socket:nema_5_20} plugs of type NEMA 5-20 (Type B) available here* is shown if `socket:nema_5_20` is set This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 +This tagrendering has labels +`plugs-amount` ### voltage-socket:nema_5_20 The question is `What voltage do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs {canonical(socket:nema_5_20:voltage)}* is shown if `socket:nema_5_20:voltage` is set - - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 V + - *NEMA 5-20 (Type B) outputs 120 volt* is shown if with socket:nema_5_20:voltage=120 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1229,7 +1271,7 @@ This tagrendering has labels The question is `What current do the plugs with NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:current)}* is shown if `socket:nema_5_20:current` is set - - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 A + - *NEMA 5-20 (Type B) outputs at most 20 A* is shown if with socket:nema_5_20:current=20 This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels @@ -1240,7 +1282,7 @@ This tagrendering has labels The question is `What power output does a single plug of type NEMA 5-20 (Type B) offer?` *NEMA 5-20 (Type B) outputs at most {canonical(socket:nema_5_20:output)}* is shown if `socket:nema_5_20:output` is set - - *NEMA 5-20 (Type B) outputs at most 2.4 kW A* is shown if with socket:nema_5_20:output=2.4 kW + - *NEMA 5-20 (Type B) outputs at most 2.4 kW* is shown if with socket:nema_5_20:output=2.4 kW This tagrendering is only visible in the popup if the following condition is met: socket:nema_5_20~.+ & socket:nema_5_20!=0 This tagrendering has labels diff --git a/Docs/URL_Parameters.md b/Docs/URL_Parameters.md index a33b8e80d6..968e14b090 100644 --- a/Docs/URL_Parameters.md +++ b/Docs/URL_Parameters.md @@ -410,7 +410,7 @@ The default value is _0_ The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics' -This documentation is defined in the source code at [generateDocs.ts](ervdvn/git/MapComplete/scripts/generateDocs.ts#L436) +This documentation is defined in the source code at [generateDocs.ts](ervdvn/git2/MapComplete/scripts/generateDocs.ts#L436) The default value is _map_ diff --git a/Docs/wikiIndex.txt b/Docs/wikiIndex.txt index f35a607af7..c5e79033e1 100644 --- a/Docs/wikiIndex.txt +++ b/Docs/wikiIndex.txt @@ -580,6 +580,15 @@ The position of a signpost can be used by a hiker/biker/rider/s… |genre= POI, editor, rainbow_crossings }} {{service_item +|name= [https://mapcomplete.org/scouting scouting] +|region= Worldwide +|lang= {{#language:en|en}} +|descr= A MapComplete theme: A scouting group is a social youth movement with a heavy emphasis on the outdoors +|material= {{yes|[https://mapcomplete.org/ Yes]}} +|image= MapComplete_Screenshot.png +|genre= POI, editor, scouting +}} +{{service_item |name= [https://mapcomplete.org/ski ski] |region= Worldwide |lang= {{#language:en|en}}, {{#language:de|en}}, {{#language:es|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:fr|en}}, {{#language:nl|en}}, {{#language:ko|en}} @@ -618,7 +627,7 @@ The position of a signpost can be used by a hiker/biker/rider/s… {{service_item |name= [https://mapcomplete.org/trees trees] |region= Worldwide -|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:ru|en}}, {{#language:pl|en}}, {{#language:de|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:ko|en}} +|lang= {{#language:en|en}}, {{#language:nl|en}}, {{#language:fr|en}}, {{#language:it|en}}, {{#language:ja|en}}, {{#language:zh_Hant|en}}, {{#language:ru|en}}, {{#language:pl|en}}, {{#language:de|en}}, {{#language:nb_NO|en}}, {{#language:hu|en}}, {{#language:ca|en}}, {{#language:es|en}}, {{#language:da|en}}, {{#language:cs|en}}, {{#language:uk|en}}, {{#language:ko|en}}, {{#language:pt|en}} |descr= A MapComplete theme: Map all the trees |material= {{yes|[https://mapcomplete.org/ Yes]}} |image= MapComplete_Screenshot.png diff --git a/assets/layers/charging_station/charging_station.json b/assets/layers/charging_station/charging_station.json index 07bb77f5b7..f308cf6ba6 100644 --- a/assets/layers/charging_station/charging_station.json +++ b/assets/layers/charging_station/charging_station.json @@ -8,15 +8,7 @@ "de": "Ladestationen", "es": "Puntos de carga" }, - "description": { - "en": "A charging station", - "nl": "Oplaadpunten", - "ca": "Una estació de càrrega", - "cs": "Nabíjecí stanice", - "de": "Eine Ladestation", - "es": "Un punto de carga", - "fr": "Une station de recharge" - }, + "minzoom": 10, "source": { "osmTags": { "and": [ @@ -31,7 +23,6 @@ ] } }, - "minzoom": 10, "title": { "render": { "en": "Charging station", @@ -80,114 +71,16 @@ } ] }, - "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": [ - { - "color": "black", - "width": 2, - "fillColor": "#80808080" - } - ], - "presets": [ - { - "tags": [ - "amenity=charging_station", - "motorcar=no", - "bicycle=yes" - ], - "title": { - "en": "charging station for electrical bikes", - "nl": "oplaadpunt voor elektrische fietsen", - "cs": "nabíjecí stanice pro elektrokola", - "de": "Ladestation für Elektrofahrräder", - "es": "punto de carga para bicicletas eléctricas" - } - }, - { - "tags": [ - "amenity=charging_station", - "motorcar=yes", - "bicycle=no" - ], - "title": { - "en": "charging station for cars", - "nl": "oplaadstation voor elektrische auto's", - "ca": "estació de càrrega per a cotxes", - "cs": "nabíjecí stanice pro auta", - "de": "Ladestation für Autos", - "es": "punto de carga para coches" - } - } - ], + "description": { + "en": "A charging station", + "nl": "Oplaadpunten", + "ca": "Una estació de càrrega", + "cs": "Nabíjecí stanice", + "de": "Eine Ladestation", + "es": "Un punto de carga", + "fr": "Une station de recharge" + }, + "#": "no-question-hint-check", "tagRenderings": [ "images", { @@ -3097,6 +2990,114 @@ } } ], + "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", + "cs": "nabíjecí stanice pro elektrokola", + "de": "Ladestation für Elektrofahrräder", + "es": "punto de carga para bicicletas eléctricas" + } + }, + { + "tags": [ + "amenity=charging_station", + "motorcar=yes", + "bicycle=no" + ], + "title": { + "en": "charging station for cars", + "nl": "oplaadstation voor elektrische auto's", + "ca": "estació de càrrega per a cotxes", + "cs": "nabíjecí stanice pro auta", + "de": "Ladestation für Autos", + "es": "punto de carga para coches" + } + } + ], "filter": [ { "id": "vehicle-type", @@ -3384,19 +3385,6 @@ ] } ], - "deletion": { - "softDeletionTags": { - "and": [ - "amenity=", - "disused:amenity=charging_station" - ] - }, - "neededChangesets": 10 - }, - "allowMove": { - "enableRelocation": false, - "enableImproveAccuracy": true - }, "units": [ { "maxstay": { @@ -3591,5 +3579,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/themes/cyclestreets/cyclestreets.json b/assets/themes/cyclestreets/cyclestreets.json index c42529f7be..f1218d671c 100644 --- a/assets/themes/cyclestreets/cyclestreets.json +++ b/assets/themes/cyclestreets/cyclestreets.json @@ -108,7 +108,8 @@ "cs": "Cyklostezka je ulice, kde motorová doprava nesmí předjíždět cyklisty", "ca": "Un ciclocarrer és un carrer on el trànsit motoritzat no pot sobrepassar a un ciclista", "pl": "Ulica rowerowa to ulica, na której pojazdy zmotoryzowane nie mogą wyprzedzać rowerzystów", - "ko": "자전거 전용 도로는 차량이 자전거를 추월할 수 없는 도로 입니다" + "ko": "자전거 전용 도로는 차량이 자전거를 추월할 수 없는 도로 입니다", + "zh_Hant": "單車街道是機動車輛不被允許超車單車" }, "title": "{name}", "tagRenderings": [ @@ -220,7 +221,8 @@ "cs": "Tato ulice se brzy stane cyklostezkou", "ca": "Aquest carrer es convertirà en un ciclocarrer pròximament", "pl": "Ta ulica wkrótce stanie się ulicą rowerową", - "ko": "이 도로는 곧 자전거 전용 도로로 전환될 예정입니다" + "ko": "이 도로는 곧 자전거 전용 도로로 전환될 예정입니다", + "zh_Hant": "這條道路即將成為單車街道" }, "minzoom": 9, "source": { @@ -267,7 +269,8 @@ "ca": "{name} es convertirà en un ciclocarrer pròximament", "eu": "{name} laster bidegorri bihurtuko da", "pl": "{name} wkrótce stanie się ulicą rowerową", - "ko": "{name} 는 곧 자전거 전용 도로로 전환될 예정입니다" + "ko": "{name} 는 곧 자전거 전용 도로로 전환될 예정입니다", + "zh_Hant": "{name} 不久會變成單車街道" }, "if": "name~*" } @@ -345,7 +348,8 @@ "cs": "Vrstva pro označení jakékoli ulice jako cyklostezky", "ca": "Capa per a marcar qualsevol carrer com a ciclocarrer", "pl": "Warstwa oznaczająca dowolną ulicę jako ulicę rowerową", - "ko": "자전거 전용 도로로 표시할 도로를 지정하는 레이어" + "ko": "자전거 전용 도로로 표시할 도로를 지정하는 레이어", + "zh_Hant": "標記任何道路都是單車街道的圖層" }, "source": { "osmTags": { @@ -450,7 +454,8 @@ "cs": "Je ulice {name} cyklo ulicí?", "ca": "El carrer {name} és un ciclocarrer?", "pl": "Czy ulica {name} jest ulicą rowerową?", - "ko": "이 도로는 {name} 자전거 전용 도로인가요?" + "ko": "이 도로는 {name} 자전거 전용 도로인가요?", + "zh_Hant": "這條道路{name}是單車街道嗎?" }, "mappings": [ { @@ -476,7 +481,8 @@ "cs": "Tato ulice je cyklostezkou (s omezením rychlosti na 30 km/h)", "ca": "Aquest carrer és un ciclocarrer (i té un límit de velocitat de 30km/h)", "pl": "Ta ulica jest ulicą rowerową (na której obowiązuje ograniczenie prędkości do 30 km/h)", - "ko": "이 도로는 자전거 전용 도로입니다 (제한 속도는 시속 30km입니다)" + "ko": "이 도로는 자전거 전용 도로입니다 (제한 속도는 시속 30km입니다)", + "zh_Hant": "這條道路是單車街道 (而且有速限30km/h)" }, "hideInAnswer": "_country!=be" }, @@ -492,7 +498,8 @@ "es": "Esta calle tiene ciclovías", "pl": "To jest droga dla rowerów", "it": "Questa strada è una strada per biciclette", - "ko": "이 도로는 자전거 도로 입니다" + "ko": "이 도로는 자전거 도로 입니다", + "zh_Hant": "這條道路是單車街道" }, "hideInAnswer": true }, @@ -572,7 +579,8 @@ "da": "Denne gade bliver snart en cykelgade", "cs": "Tato ulice se brzy stane cyklostezkou", "pl": "Ta ulica wkrótce stanie się ulicą rowerową", - "ko": "이 도로는 곧 자전거 도로로 전환될 예정입니다" + "ko": "이 도로는 곧 자전거 도로로 전환될 예정입니다", + "zh_Hant": "這條道路即將成為單車街道" }, "hideInAnswer": "_country=de" }, @@ -592,7 +600,8 @@ "es": "Esta calle se convertirá pronto en una vía ciclista", "ca": "Aquest carrer es convertirà aviat en una senda ciclable", "pl": "Już niedługo ta ulica stanie się drogą rowerową", - "ko": "이 도로는 곧 자전거 도로로 전환될 예정입니다" + "ko": "이 도로는 곧 자전거 도로로 전환될 예정입니다", + "zh_Hant": "這條道路即將成為單車道路" }, "hideInAnswer": "_country!=de" }, @@ -620,7 +629,8 @@ "cs": "Tato ulice není cyklo ulicí", "ca": "Aquest carrer no és un ciclocarrer", "pl": "Ta ulica nie jest ulicą rowerową", - "ko": "이 도로는 자전거 전용 도로가 아닙니다" + "ko": "이 도로는 자전거 전용 도로가 아닙니다", + "zh_Hant": "這條道路並非單車街道" } } ] @@ -658,7 +668,8 @@ "pl": "Mieszkańcy dopuszczeni", "da": "Beboere tilladt", "it": "Permesso l'accesso ai residenti", - "ko": "거주자 허용" + "ko": "거주자 허용", + "zh_Hant": "允許居民通行" }, "icon": { "path": "./assets/themes/cyclestreets/Zeichen_244_1020-30.svg", @@ -684,7 +695,8 @@ "pl": "Pojazdy silnikowe dozwolone", "da": "Motorkøretøjer tilladt", "it": "Permesso l'accesso ai veicoli a motore", - "ko": "차량 허용" + "ko": "차량 허용", + "zh_Hant": "允許機動車輛通行" }, "icon": { "path": "./assets/themes/cyclestreets/Zeichen_244_KFZ_frei.svg", @@ -711,7 +723,8 @@ "pl": "Motocykle dozwolone", "da": "Motorcykler tilladt", "it": "Permesso l'accesso ai motocicli", - "ko": "오토바이 허용" + "ko": "오토바이 허용", + "zh_Hant": "允許機車通行" }, "icon": { "path": "./assets/themes/cyclestreets/Zeichen_244_1022-12.svg", @@ -739,7 +752,8 @@ "pl": "Samochody dozwolone", "da": "Biler tilladt", "it": "Permesso l'accesso alle auto", - "ko": "자동차 허용" + "ko": "자동차 허용", + "zh_Hant": "允許汽車通行" }, "icon": { "path": "./assets/themes/cyclestreets/Zeichen_244_1024-10.svg", diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index 30302be825..e3ffb4d2e2 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -9,6 +9,15 @@ "nl": "Wijzigingen gemaakt met MapComplete", "ko": "MapComplete로 이루어진 변경 사항" }, + "shortDescription": { + "en": "Shows changes made by MapComplete", + "de": "Zeigt die von MapComplete vorgenommenen Änderungen an", + "cs": "Zobrazuje změny provedené nástrojem MapComplete", + "es": "Muestra los cambios realizados por MapComplete", + "fr": "Afficher les modifications faites avec MapComplete", + "nl": "Toont wijzigingen gemaakt met MapComplete", + "ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다" + }, "description": { "en": "This maps shows all the changes made with MapComplete", "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", @@ -19,17 +28,11 @@ "nl": "Deze kaarten tonen alle wijzigingen die zijn gemaakt met MapComplete", "ko": "이 지도는 MapComplete를 사용하여 이루어진 모든 변경 사항을 표시합니다" }, - "shortDescription": { - "en": "Shows changes made by MapComplete", - "de": "Zeigt die von MapComplete vorgenommenen Änderungen an", - "cs": "Zobrazuje změny provedené nástrojem MapComplete", - "es": "Muestra los cambios realizados por MapComplete", - "fr": "Afficher les modifications faites avec MapComplete", - "nl": "Toont wijzigingen gemaakt met MapComplete", - "ko": "MapComplete를 통해 이루어진 변경 사항을 표시합니다" - }, "icon": "./assets/svg/logo.svg", "hideFromOverview": true, + "startLat": 0, + "startLon": 0, + "startZoom": 1, "layers": [ { "id": "mapcomplete-changes", diff --git a/assets/themes/maps/maps.json b/assets/themes/maps/maps.json index e74b07bcd6..07eb7c9bf0 100644 --- a/assets/themes/maps/maps.json +++ b/assets/themes/maps/maps.json @@ -32,7 +32,8 @@ "cs": "Na této mapě najdete všechny mapy, které OpenStreetMap zná - typicky je zde velká mapa na informační tabuli zobrazující oblast, město nebo region, (např. turistická mapa na zadní straně billboardu, mapa přírodní rezervace, mapa cyklistických sítí v regionu, ...).

Pokud mapa chybí, můžete ji snadno zmapovat na OpenStreetMap.", "ca": "En aquest mapa podeu trobar tots els mapes que OpenStreetMap coneix, normalment un mapa gran en un tauler informatiu que mostra la zona, la ciutat o la regió, p. un mapa turístic al dors d'una tanca publicitària, un mapa d'una reserva natural, un mapa de les xarxes ciclistes de la regió, ...)

Si falta un mapa, podeu mapejar aquest mapa fàcilment a OpenStreetMap.", "pl": "Na tej mapie możesz znaleźć wszystkie mapy, jakie zna OpenStreetMap - zazwyczaj duże mapy na tablicy informacyjnej pokazująca obszar, miasto lub region, np. mapy turystyczne na odwrocie billboardu, mapy rezerwatu przyrody, mapy sieci rowerowych w regionie, ...)

Jeśli brakuje mapy, możesz łatwo zmapować ją na OpenStreetMap.", - "ko": "이 지도에서는 OpenStreetMap에서 확인 가능한 모든 지도를 찾을수 있습니다. 일반적으로 장소, 도시 또는 지역을 보여주는 정보 게시판의 대형 지도(예: 관광지의 안내판 뒷면에 있는 지도, 자연 보호구역 지도, 지역 자전거 네트워크 지도 등)가 포함됩니다.

만약 누락된 지도가 있다면 OpenStreetMap에서 손쉽게 추가할 수 있습니다." + "ko": "이 지도에서는 OpenStreetMap에서 확인 가능한 모든 지도를 찾을수 있습니다. 일반적으로 장소, 도시 또는 지역을 보여주는 정보 게시판의 대형 지도(예: 관광지의 안내판 뒷면에 있는 지도, 자연 보호구역 지도, 지역 자전거 네트워크 지도 등)가 포함됩니다.

만약 누락된 지도가 있다면 OpenStreetMap에서 손쉽게 추가할 수 있습니다.", + "uk": "На цій карті ви можете знайти всі карти, які знає OpenStreetMap - зазвичай це велика карта на інформаційному щиті, на якій показано місцевість, місто чи регіон, напр. туристична карта на зворотному боці рекламного щита, карта природного заповідника, карта велосипедних мереж регіону, ...)

Якщо карта відсутня, ви можете легко нанести на неї карту на OpenStreetMap." }, "shortDescription": { "en": "This theme shows all (touristic) maps that OpenStreetMap knows of", diff --git a/assets/themes/trees/trees.json b/assets/themes/trees/trees.json index cf60be8be2..e43bd33304 100644 --- a/assets/themes/trees/trees.json +++ b/assets/themes/trees/trees.json @@ -61,7 +61,8 @@ "da": "Kortlæg alle træer", "cs": "Zmapujte všechny stromy", "uk": "Додайте на мапу всі дерева", - "ko": "모든 나무 관련 지도" + "ko": "모든 나무 관련 지도", + "pt": "Mapeie todas as árvores" }, "icon": "./assets/themes/trees/logo.svg", "socialImage": "./assets/themes/trees/logo.svg", diff --git a/langs/de.json b/langs/de.json index 7c96658335..02bb5e74fa 100644 --- a/langs/de.json +++ b/langs/de.json @@ -616,28 +616,28 @@ "title": "MapComplete" }, "inspector": { - "menu": "Überprüfe einen Beitragenden", + "aggregateView": "Zusammenfassen", + "answeredCountTimes": "{count} mal beantwortet", "backToIndex": "Zurück zur Kartenübersicht", "createdBy": "Erstellt von {contributor}", + "earlierInspected": "Sieh dir Mitwirkende an, die du bereits überprüft hast", "images": "Erstellte Bilder", "load": "Änderungen für Kartenbereich prüfen", "mapView": "Karte", + "menu": "Überprüfe einen Beitragenden", "onlyGeometry": "Nur geometrische Veränderungen", "previouslySpied": { + "addLabel": "Ein Label hinzufügen", + "allChanges": "Lade alle Änderungen für Benutzer mit diesem Label", + "label": "Label", + "noLabels": "Keine Labels", "remove": "Entfernen", "time": "Zeitpunkt der letzten Überprüfung", "title": "Zuvor geprüfte Beitragende", - "username": "Benutzername", - "allChanges": "Lade alle Änderungen für Benutzer mit diesem Label", - "addLabel": "Ein Label hinzufügen", - "label": "Label", - "noLabels": "Keine Labels" + "username": "Benutzername" }, "tableView": "Übersicht", - "answeredCountTimes": "{count} mal beantwortet", - "earlierInspected": "Sieh dir Mitwirkende an, die du bereits überprüft hast", - "title": "Überprüfe einen Mitwirkenden", - "aggregateView": "Zusammenfassen" + "title": "Überprüfe einen Mitwirkenden" }, "move": { "cancel": "Einen anderen Grund auswählen", @@ -873,4 +873,4 @@ "startsWithQ": "Ein Wikidata-Identifikator beginnt mit Q und wird von einer Zahl gefolgt" } } -} +} \ No newline at end of file diff --git a/langs/layers/de.json b/langs/layers/de.json index 675cba1239..9922c69749 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -9440,6 +9440,24 @@ "render": "Schule {name}" } }, + "scouting_group": { + "name": "Pfadfinder:innenstämme", + "presets": { + "0": { + "title": "Pfadfinder:innenstamm" + } + }, + "tagRenderings": { + "association": { + "question": "Zu welchem Verband/Bund gehört {name}", + "render": "Dieser Stamm ist im Verband {brand}" + }, + "name": { + "question": "Was ist der Stammesname?", + "render": "Dieser Stamm heißt {name}" + } + } + }, "search": { "description": "Priorisierte Ebene, die Suchergebnissen anzeigt", "tagRenderings": { @@ -10091,6 +10109,12 @@ }, "1": { "title": "einen Sportplatz" + }, + "2": { + "title": "einen Skatepark" + }, + "3": { + "title": "einen Reitplatz" } }, "tagRenderings": { @@ -12792,4 +12816,4 @@ "render": "Windrad" } } -} +} \ No newline at end of file diff --git a/langs/layers/en.json b/langs/layers/en.json index 74f998ae4e..2c498d77b0 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -4486,6 +4486,26 @@ "question": "Is this drinking water point available all year round?" } }, + "temperature-cold": { + "mappings": { + "0": { + "then": "Ice-cold water is provided here" + }, + "1": { + "then": "Actively cooled water is available here" + }, + "2": { + "then": "Ambient temperature water (without active cooling or heating) is available here" + }, + "3": { + "then": "Warmed water is provided here; the water is not dangerously hot" + }, + "4": { + "then": "Hot water is provided here" + } + }, + "question": "Is cold water available here?" + }, "type": { "mappings": { "0": { @@ -9572,6 +9592,28 @@ "render": "School {name}" } }, + "scouting_group": { + "description": "A map showing scouting groups.", + "name": "Scouting groups", + "presets": { + "0": { + "title": "scouting group" + } + }, + "tagRenderings": { + "association": { + "question": "To which scout association does {name} belong?", + "render": "The scout association of this group is {brand}" + }, + "name": { + "question": "What is the name of this group?", + "render": "The name of this group is {name}" + } + }, + "title": { + "render": "{name}" + } + }, "search": { "description": "Priviliged layer showing the search results", "tagRenderings": { @@ -9759,6 +9801,11 @@ "then": "Bicycle rental shop" } }, + "mappings+": { + "0": { + "then": "This shop is no longer used. It is vacant" + } + }, "question": "What kind of shop is this?", "render": "This is a {shop}" } @@ -10234,6 +10281,12 @@ }, "1": { "title": "a sport pitch" + }, + "2": { + "title": "a skatepark" + }, + "3": { + "title": "a horse riding arena" } }, "tagRenderings": { @@ -13342,4 +13395,4 @@ "render": "wind turbine" } } -} +} \ No newline at end of file diff --git a/langs/layers/es.json b/langs/layers/es.json index 31a4c9dce2..db6281c6a8 100644 --- a/langs/layers/es.json +++ b/langs/layers/es.json @@ -10056,6 +10056,12 @@ }, "1": { "title": "una cancha deportiva" + }, + "2": { + "title": "un skatepark" + }, + "3": { + "title": "una pista ecuestre" } }, "tagRenderings": { diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 574cd26ee0..8a770fc049 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -2049,6 +2049,9 @@ }, "title": { "mappings": { + "0": { + "then": "{name}" + }, "1": { "then": "Vogelkijkhut {name}" }, @@ -4344,6 +4347,26 @@ "question": "Is dit drinkwaterpunt heel het jaar door beschikbaar?" } }, + "temperature-cold": { + "mappings": { + "0": { + "then": "Ijskoud water is hier beschikbaar" + }, + "1": { + "then": "Afgekoeld water is hier beschikbaar" + }, + "2": { + "then": "Water aan omgevingstemperatuur (zonder actieve koeling of opwarming) is hier beschikbaar" + }, + "3": { + "then": "Warm water is hier beschikbaar; het water is niet gevaarlijk heet" + }, + "4": { + "then": "Heet water is hier beschikbaar" + } + }, + "question": "Is gekoeld water hier beschikbaar?" + }, "type": { "mappings": { "0": { @@ -6353,6 +6376,11 @@ } }, "title": { + "mappings": { + "0": { + "then": "{name}" + } + }, "render": "Natuurgebied" } }, @@ -6884,6 +6912,21 @@ "render": "Picknicktafel" } }, + "play_forest": { + "description": "Een speelbos is een vrij toegankelijke zone in een bos", + "name": "Speelbossen", + "title": { + "mappings": { + "0": { + "then": "{name}" + }, + "1": { + "then": "Speelbos {name}" + } + }, + "render": "Speelbos" + } + }, "playground": { "deletion": { "nonDeleteMappings": { @@ -8297,6 +8340,11 @@ "then": "Fietsverhuurzaak" } }, + "mappings+": { + "0": { + "then": "Deze winkel staat leeg" + } + }, "question": "Wat voor soort winkel is dit?", "render": "Dit is een {shop}" } @@ -8445,6 +8493,9 @@ }, "title": { "mappings": { + "0": { + "then": "{name}" + }, "1": { "then": "Voetpad" }, @@ -10604,13 +10655,25 @@ } }, "village_green": { - "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)" + "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)", + "name": "Speelweide", + "title": { + "mappings": { + "0": { + "then": "{name}" + } + }, + "render": "Speelweide" + } }, "visitor_information_centre": { "description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.", "name": "Bezoekerscentrum", "title": { "mappings": { + "0": { + "then": "{name:nl}" + }, "1": { "then": "{name}" } @@ -10840,4 +10903,4 @@ "render": "windturbine" } } -} +} \ No newline at end of file diff --git a/langs/themes/en.json b/langs/themes/en.json index e5f5d16908..2977f19146 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -1177,6 +1177,10 @@ "description": "On this map, rainbow-painted pedestrian crossings are shown and can be easily added", "title": "Rainbow pedestrian crossings" }, + "scouting": { + "description": "A scouting group is a social youth movement with a heavy emphasis on the outdoors. Activities range from camping, hiking, aquatics, backpacking, exploring nature, ...", + "title": "Scouting groups" + }, "shops": { "description": "On this map, one can mark basic information about shops, add opening hours and phone numbers", "shortDescription": "An editable map with basic shop information", diff --git a/langs/themes/nl.json b/langs/themes/nl.json index 47a5f89688..3f55d0345c 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -653,8 +653,37 @@ "building type": { "question": "Wat voor soort gebouw is dit?" }, + "grb-fixme": { + "mappings": { + "0": { + "then": "Geen fixme" + } + }, + "question": "Wat zegt de fixme?", + "render": "De fixme is {fixme}" + }, + "grb-housenumber": { + "mappings": { + "0": { + "then": "Geen huisnummer" + } + }, + "question": "Wat is het huisnummer?", + "render": "Het huisnummer is {addr:housenumber}" + }, + "grb-min-level": { + "question": "Hoeveel verdiepingen ontbreken?", + "render": "Dit gebouw begint maar op de {building:min_level} verdieping" + }, "grb-reference": { "render": "Werd geïmporteerd vanuit GRB, het referentienummer is {source:geometry:ref}" + }, + "grb-street": { + "question": "Wat is de straat?", + "render": "De straat is {addr:street}" + }, + "grb-unit": { + "render": "De wooneenheid-aanduiding is {addr:unit} " } } }, @@ -671,8 +700,35 @@ } } } + }, + "5": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "Geen omliggend OSM-gebouw gevonden" + } + } + }, + "3": { + "mappings": { + "0": { + "then": "Geen omliggend OSM-gebouw gevonden. Een omliggend gebouw is nodig om dit punt als adres punt toe te voegen.
Importeer eerst de gebouwen. Vernieuw dan de pagina om losse adressen toe te voegen
" + } + }, + "render": { + "special": { + "text": "Voeg dit adres als een nieuw adrespunt toe" + } + } + } + } + } } - } + }, + "shortDescription": "Grb import helper tool", + "title": "GRB import helper" }, "guideposts": { "description": "Wegwijzers (ook wel handwijzer genoemd) zijn vaak te vinden langs officiële wandel-, fiets-, ski- of paardrijroutes om de richtingen naar verschillende bestemmingen aan te geven. Vaak zijn ze vernoemd naar een regio of plaats en geven ze de hoogte aan.\n\nDe positie van een wegwijzer kan door een wandelaar/fietser/renner/skiër worden gebruikt als bevestiging van de huidige positie, vooral als ze een gedrukte kaart zonder GPS-ontvanger gebruiken. ", @@ -1108,6 +1164,11 @@ }, "title": "Dierenartsen, hondenloopzones en andere huisdiervriendelijke plaatsen" }, + "play_forests": { + "description": "Een speelbos is een zone in een bos die vrij toegankelijk is voor spelende kinderen. Deze wordt in bossen van het Agentschap Natuur en bos altijd aangeduid met het overeenkomstige bord.", + "shortDescription": "Deze kaart toont speelbossen", + "title": "Speelbossen" + }, "playgrounds": { "description": "Op deze kaart vind je speeltuinen en kan je zelf meer informatie en foto's toevoegen", "shortDescription": "Een kaart met speeltuinen", @@ -1181,6 +1242,47 @@ "description": "Alles om te skiën", "title": "Skipistes en kabelbanen" }, + "speelplekken": { + "description": "

Welkom bij de Groendoener!

De Zuidrand dat is spelen, ravotten, chillen, wandelen,… in het groen. Meer dan 200 grote en kleine speelplekken liggen er in parken, in bossen en op pleintjes te wachten om ontdekt te worden. De verschillende speelplekken werden getest én goedgekeurd door kinder- en jongerenreporters uit de Zuidrand. Met leuke challenges dagen de reporters jou uit om ook op ontdekking te gaan. Klik op een speelplek op de kaart, bekijk het filmpje en ga op verkenning!

Het project groendoener kadert binnen het strategisch project Beleefbare Open Ruimte in de Antwerpse Zuidrand en is een samenwerking tussen het departement Leefmilieu van provincie Antwerpen, Sportpret vzw, een OpenStreetMap-België Consultent en Createlli vzw. Het project kwam tot stand met steun van Departement Omgeving van de Vlaamse Overheid.
", + "layers": { + "6": { + "name": "Wandelroutes van provincie Antwerpen", + "tagRenderings": { + "walk-description": { + "render": "

Korte beschrijving:

{description}" + }, + "walk-length": { + "render": "Deze wandeling is {_length:km}km lang" + }, + "walk-operator": { + "question": "Wie beheert deze wandeling en plaatst dus de signalisatiebordjes?" + }, + "walk-operator-email": { + "question": "Naar wie kan men emailen bij problemen rond signalisatie?", + "render": "Bij problemen met signalisatie kan men emailen naar {operator:email}" + }, + "walk-type": { + "mappings": { + "0": { + "then": "Dit is een internationale wandelroute" + }, + "1": { + "then": "Dit is een nationale wandelroute" + }, + "2": { + "then": "Dit is een regionale wandelroute" + }, + "3": { + "then": "Dit is een lokale wandelroute" + } + } + } + } + } + }, + "shortDescription": "Speelplekken in de Antwerpse Zuidrand", + "title": "Welkom bij de groendoener!" + }, "sport_pitches": { "description": "Een sportveld is een ingerichte plaats met infrastructuur om een sport te beoefenen", "shortDescription": "Deze kaart toont sportvelden", @@ -1301,6 +1403,10 @@ }, "title": "Straatverlichting" }, + "street_lighting_assen": { + "description": "Op deze kaart vind je alles over straatlantaarns + een dataset van Assen", + "title": "Straatverlichting - Assen" + }, "surveillance": { "description": "Op deze open kaart kan je bewakingscamera's vinden.", "shortDescription": "Bewakingscameras en dergelijke", @@ -1414,9 +1520,13 @@ "description": "Kaart met afvalbakken en recyclingfaciliteiten.", "title": "Afval" }, + "waste_assen": { + "description": "Kaart met afvalbakken en recyclingfaciliteiten + een dataset voor Assen.", + "title": "Afval - Assen" + }, "waste_basket": { "description": "Op deze kaart vind je afvalbakken bij jou in de buurt. Als er een afvalbak ontbreekt op deze kaart, kun je deze zelf toevoegen", "shortDescription": "Een kaart met vuilnisbakken", "title": "Vuilnisbakken" } -} +} \ No newline at end of file diff --git a/langs/themes/pt.json b/langs/themes/pt.json index aa8c3000df..bbadc40b87 100644 --- a/langs/themes/pt.json +++ b/langs/themes/pt.json @@ -34,7 +34,7 @@ }, "trees": { "description": "Mapeie todas as árvores!", - "title": "Árvores", - "shortDescription": "Mapeie todas as árvores" + "shortDescription": "Mapeie todas as árvores", + "title": "Árvores" } -} +} \ No newline at end of file diff --git a/langs/themes/uk.json b/langs/themes/uk.json index 2238266c3f..00a76a0575 100644 --- a/langs/themes/uk.json +++ b/langs/themes/uk.json @@ -462,9 +462,9 @@ "title": "Маяки" }, "maps": { + "description": "На цій карті ви можете знайти всі карти, які знає OpenStreetMap - зазвичай це велика карта на інформаційному щиті, на якій показано місцевість, місто чи регіон, напр. туристична карта на зворотному боці рекламного щита, карта природного заповідника, карта велосипедних мереж регіону, ...)

Якщо карта відсутня, ви можете легко нанести на неї карту на OpenStreetMap.", "shortDescription": "Ця тема показує всі (туристичні) мапи, які відомі OpenStreetMap", - "title": "Мапа мап", - "description": "На цій карті ви можете знайти всі карти, які знає OpenStreetMap - зазвичай це велика карта на інформаційному щиті, на якій показано місцевість, місто чи регіон, напр. туристична карта на зворотному боці рекламного щита, карта природного заповідника, карта велосипедних мереж регіону, ...)

Якщо карта відсутня, ви можете легко нанести на неї карту на OpenStreetMap." + "title": "Мапа мап" }, "maxspeed": { "shortDescription": "Ця мапа показує дозволену законом максимальну швидкість на кожній дорозі.", @@ -574,4 +574,4 @@ "shortDescription": "Мапа з урнами для сміття", "title": "Урни для сміття" } -} +} \ No newline at end of file diff --git a/langs/themes/zh_Hant.json b/langs/themes/zh_Hant.json index 9e456f032a..72acbfeccb 100644 --- a/langs/themes/zh_Hant.json +++ b/langs/themes/zh_Hant.json @@ -351,44 +351,42 @@ "description": "單車街道是機動車輛受限制,只允許單車通行的道路。通常會有路標顯示特別的交通指標。單車街道通常在荷蘭、比利時看到,但德國與法國也有。 ", "layers": { "0": { - "name": "單車街道", - "description": "單車街道是機動車輛不被允許超車單車" + "description": "單車街道是機動車輛不被允許超車單車", + "name": "單車街道" }, "1": { + "description": "這條道路即將成為單車街道", "name": "將來的單車街道", "title": { - "render": "將來的單車街道", "mappings": { "0": { "then": "{name} 不久會變成單車街道" } - } - }, - "description": "這條道路即將成為單車街道" + }, + "render": "將來的單車街道" + } }, "2": { + "description": "標記任何道路都是單車街道的圖層", "name": "所有道路", "title": { "render": "街道" - }, - "description": "標記任何道路都是單車街道的圖層" + } } }, - "shortDescription": "單車街道的地圖", - "title": "單車街道", "overrideAll": { "+tagRenderings": { "0": { "mappings": { - "4": { - "then": "這條道路即將成為單車街道" - }, "0": { "then": "這條道路是單車街道 (而且有速限30km/h)" }, "1": { "then": "這條道路是單車街道" }, + "4": { + "then": "這條道路即將成為單車街道" + }, "5": { "then": "這條道路即將成為單車道路" }, @@ -400,12 +398,12 @@ }, "1": { "mappings": { - "1": { - "then": "允許機動車輛通行" - }, "0": { "then": "允許居民通行" }, + "1": { + "then": "允許機動車輛通行" + }, "2": { "then": "允許機車通行" }, @@ -415,7 +413,9 @@ } } } - } + }, + "shortDescription": "單車街道的地圖", + "title": "單車街道" }, "cyclofix": { "description": "這份地圖的目的是為單車騎士能夠輕易顯示滿足他們需求的相關設施。

你可以追蹤你確切位置 (只有行動版),以及在左下角選擇相關的圖層。你可以使用這工具在地圖新增或編輯釘子,以及透過回答問題來提供更多資訊。

所有你的變動都會自動存在開放街圖這全球資料圖,並且能被任何人自由取用。

你可以到 cyclofix.osm.be 閱讀更多資訊。", @@ -837,4 +837,4 @@ "shortDescription": "垃圾筒的地圖", "title": "垃圾筒" } -} +} \ No newline at end of file diff --git a/langs/uk.json b/langs/uk.json index f77a5a17e3..d76ca3473a 100644 --- a/langs/uk.json +++ b/langs/uk.json @@ -668,29 +668,29 @@ "addCommentAndClose": "Додати коментар і закрити", "addCommentPlaceholder": "Додати коментар…", "anonymous": "Анонімний користувач", - "isClosed": "Це зауваження вирішено", - "reopenNote": "Повторно відкрити нотатку", - "reopenNoteAndComment": "Повторно відкрити нотатку та коментар", + "createNote": "Створити нову нотатку", + "createNoteIntro": "Щось не так або чогось не вистачає на карті? Створіть нотатку тут. Вони будуть перевірені волонтерами.", "createNoteTitle": "Створіть нову нотатку тут", "creating": "Створення нотатки…", "disableAllNoteFilters": "Вимкнути всі фільтри", + "isClosed": "Це зауваження вирішено", "isCreated": "Ваша нотатка створена!", "loginToAddComment": "Увійдіть, щоб додати коментар", "loginToClose": "Увійдіть, щоб закрити цю нотатку", + "noteLayerDoEnable": "Увімкнення шару з нотатками", "noteLayerHasFilters": "Деякі нотатки можуть бути приховані фільтром", + "noteLayerNotEnabled": "Шар з нотатками не увімкнено. Щоб додати нову нотатку, цей шар потрібно увімкнути", + "reopenNote": "Повторно відкрити нотатку", + "reopenNoteAndComment": "Повторно відкрити нотатку та коментар", "textNeeded": "Введіть описовий текст, щоб створити нотатку", "typeText": "Введіть текст, щоб додати коментар", - "createNote": "Створити нову нотатку", - "noteLayerNotEnabled": "Шар з нотатками не увімкнено. Щоб додати нову нотатку, цей шар потрібно увімкнути", - "noteLayerDoEnable": "Увімкнення шару з нотатками", - "createNoteIntro": "Щось не так або чогось не вистачає на карті? Створіть нотатку тут. Вони будуть перевірені волонтерами.", "warnAnonymous": "Ви не ввійшли в систему. Ми не зможемо зв'язатися з вами, щоб вирішити вашу проблему." }, "plantDetection": { - "loadingWikidata": "Завантаження інформації про {species}…", "back": "Повернутися до огляду видів", "button": "Автоматично визначайте види рослин за допомогою штучного інтелекту Plantnet.org", - "confirm": "Вибрати види" + "confirm": "Вибрати види", + "loadingWikidata": "Завантаження інформації про {species}…" }, "privacy": { "editingIntro": "Коли ви вносите зміни до мапи, ці зміни записуються на OpenStreetMap і стають загальнодоступними для всіх. Набір змін, зроблених за допомогою MapComplete, містить наступні дані:", @@ -736,4 +736,4 @@ "spamSite": "{host} вважається неякісним веб-сайтом. Використання цього веб-сайту заборонено." } } -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a7f6f4a648..227c26f670 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8019,9 +8019,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001690", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "version": "1.0.30001692", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", + "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", "dev": true, "funding": [ { @@ -26961,9 +26961,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001690", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", - "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "version": "1.0.30001692", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", + "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", "dev": true }, "canonicalize": { diff --git a/package.json b/package.json index e6ec3b9528..965a599c63 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,7 @@ "optimize-images-scaledown-jpg": "cd assets/ && find . -regextype sed -regex \".*/.*.\\(jpg\\|JPG\\|JPEG\\|jpeg\\)\" -exec mogrify -resize 640x640\\> '{}' \\; && echo 'JPGs are optimized'", "generate:schemas": "export NODE_OPTIONS=\"--max-old-space-size=8192\" && ts2json-schema -p src/Models/ThemeConfig/Json/ -o Docs/Schemas/ -t tsconfig.json -R . -m \".*ConfigJson\" && echo 'tsjson is done' && vite-node scripts/fixSchemas.ts ", "reuse-compliance": "reuse lint", - "housekeeping": "export NODE_OPTIONS=\"--max-old-space-size=1200\" && git pull && npx update-browserslist-db@latest && npm run generate && npm run generate:docs && npm run generate:schemas && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && download:nsi && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'", + "housekeeping": "export NODE_OPTIONS=\"--max-old-space-size=1200\" && git pull && npx update-browserslist-db@latest && npm run generate && npm run generate:docs && npm run generate:schemas && npm run generate:contributor-list && vite-node scripts/fetchLanguages.ts && vite-node scripts/generateSunnyUnlabeled.ts && npm run format && git add assets/ langs/ Docs/ **/*.ts Docs/* src/* && git commit -m 'chore: automated housekeeping...'", "###": "MICROSERVICES AND SERVER MAINTAINENCE", "release": "standard-version && git push --follow-tags", "release:minor": "standard-version --release-as minor", diff --git a/scripts/downloadNsiLogos.ts b/scripts/downloadNsiLogos.ts index 06e73ca9be..f817b6f098 100644 --- a/scripts/downloadNsiLogos.ts +++ b/scripts/downloadNsiLogos.ts @@ -47,7 +47,7 @@ class DownloadNsiLogos extends Script { await ScriptUtils.DownloadFileTo(logos.facebook, path) // Validate const content = readFileSync(path, "utf8") - if (content.startsWith("{\"error\"")) { + if (content.startsWith('{"error"')) { unlinkSync(path) console.error("Attempted to fetch", logos.facebook, " but this gave an error") } else { @@ -90,7 +90,6 @@ class DownloadNsiLogos extends Script { return false } - async downloadFor(type: string): Promise { const nsi = await NameSuggestionIndex.getNsiIndex() const items = nsi.allPossible(type) @@ -109,7 +108,7 @@ class DownloadNsiLogos extends Script { downloadCount++ } return downloaded - }), + }) ) for (let j = 0; j < results.length; j++) { let didDownload = results[j] @@ -128,14 +127,14 @@ class DownloadNsiLogos extends Script { private async generateRendering(type: string) { const nsi = await NameSuggestionIndex.getNsiIndex() const items = nsi.allPossible(type) - const filterOptions: FilterConfigOptionJson[] = items.map(item => { - return ({ + const filterOptions: FilterConfigOptionJson[] = items.map((item) => { + return { question: item.displayName, icon: nsi.getIconUrl(item, type), osmTags: NameSuggestionIndex.asFilterTags(item), - }) + } }) - const mappings = items.map(item => ({ + const mappings = items.map((item) => ({ if: NameSuggestionIndex.asFilterTags(item), then: nsi.getIconUrl(item, type), })) @@ -145,7 +144,6 @@ class DownloadNsiLogos extends Script { const condition = TagUtils.Tag(mappings[i].if) if (i % 100 === 0) { console.log("Checking for shadow-mappings...", i, "/", mappings.length) - } const shadowsSomething = mappings.some((m, j) => { if (i === j) { @@ -173,9 +171,7 @@ class DownloadNsiLogos extends Script { }, source: "special:library", pointRendering: null, - tagRenderings: [ - iconsTr, - ], + tagRenderings: [iconsTr], filter: [ { "#": "ignore-possible-duplicate", @@ -203,8 +199,6 @@ class DownloadNsiLogos extends Script { await this.generateRendering(type) } } - - } new DownloadNsiLogos().run() diff --git a/scripts/generateLayerOverview.ts b/scripts/generateLayerOverview.ts index f515ae22cf..33322b1574 100644 --- a/scripts/generateLayerOverview.ts +++ b/scripts/generateLayerOverview.ts @@ -497,8 +497,6 @@ class LayerOverviewUtils extends Script { priviliged.delete(key) }) - - // These two get a free pass priviliged.delete("summary") priviliged.delete("last_click") @@ -529,7 +527,9 @@ class LayerOverviewUtils extends Script { writeFileSync( "./src/assets/generated/known_layers.json", JSON.stringify({ - layers: Array.from(sharedLayers.values()).filter((l) => !(l["#no-index"] === "yes")), + layers: Array.from(sharedLayers.values()).filter( + (l) => !(l["#no-index"] === "yes") + ), }) ) } @@ -839,8 +839,8 @@ class LayerOverviewUtils extends Script { const themeInfo = themeFiles[i] const themePath = themeInfo.path let themeFile = themeInfo.parsed - if(!themeFile){ - throw "Got an empty file for"+themeInfo.path + if (!themeFile) { + throw "Got an empty file for" + themeInfo.path } if (whitelist.size > 0 && !whitelist.has(themeFile.id)) { continue diff --git a/scripts/generateLayouts.ts b/scripts/generateLayouts.ts index 483e20f8de..7080b9c91c 100644 --- a/scripts/generateLayouts.ts +++ b/scripts/generateLayouts.ts @@ -9,10 +9,7 @@ import ScriptUtils from "./ScriptUtils" import { Utils } from "../src/Utils" import SpecialVisualizations from "../src/UI/SpecialVisualizations" import Constants from "../src/Models/Constants" -import { - AvailableRasterLayers, - RasterLayerPolygon, -} from "../src/Models/RasterLayers" +import { AvailableRasterLayers, RasterLayerPolygon } from "../src/Models/RasterLayers" import { ImmutableStore } from "../src/Logic/UIEventSource" import * as eli from "../public/assets/data/editor-layer-index.json" import * as layers_global from "../src/assets/global-raster-layers.json" @@ -640,9 +637,9 @@ class GenerateLayouts extends Script { if (theme !== undefined) { console.warn("Only generating layout " + theme) } - const paths = ScriptUtils.readDirRecSync("./public/assets/generated/themes/",1) + const paths = ScriptUtils.readDirRecSync("./public/assets/generated/themes/", 1) for (const i in paths) { - const layoutConfigJson = JSON.parse(readFileSync(paths[i], "utf8")) + const layoutConfigJson = JSON.parse(readFileSync(paths[i], "utf8")) if (theme !== undefined && layoutConfigJson.id !== theme) { continue } diff --git a/scripts/generateStats.ts b/scripts/generateStats.ts index 106346a65b..dfb44b0d01 100644 --- a/scripts/generateStats.ts +++ b/scripts/generateStats.ts @@ -13,7 +13,7 @@ import TagInfo from "../src/Logic/Web/TagInfo" class Utilities { static mapValues( record: Record, - f: (t: T) => TOut, + f: (t: T) => TOut ): Record { const newR = >{} for (const x in record) { @@ -77,10 +77,10 @@ class GenerateStats extends Script { const count = tagData.data.find((item) => item.type === "all").count tagTotal.get(key).set(value, count) console.log(key + "=" + value, "-->", count) - }), + }) ) } - }), + }) ) writeFileSync( "./src/assets/key_totals.json", @@ -92,8 +92,8 @@ class GenerateStats extends Script { tags: Utils.MapToObj(tagTotal, (v) => Utils.MapToObj(v, (t) => t)), }, null, - " ", - ), + " " + ) ) } @@ -147,21 +147,16 @@ class GenerateStats extends Script { Object.keys(allBrands).length, " previously loaded " + type, "from", - path, + path ) } const nsi = await NameSuggestionIndex.getNsiIndex() const allBrandNames: string[] = Utils.Dedup( - nsi.allPossible(type).map((item) => item.tags[type]), + nsi.allPossible(type).map((item) => item.tags[type]) ) const batchSize = 50 for (let i = 0; i < allBrandNames.length; i += batchSize) { - console.warn( - "Downloading", - batchSize, - "items: ", - i + "/" + allBrandNames.length, - ) + console.warn("Downloading", batchSize, "items: ", i + "/" + allBrandNames.length) let downloaded = 0 await Promise.all( Utils.TimesT(batchSize, async (j) => { @@ -171,10 +166,14 @@ class GenerateStats extends Script { } const writeInto = allBrands[brand] const dloaded = await TagInfo.getGlobalDistributionsFor( - writeInto, (stats) => stats.data.find((t) => t.type === "all").count, - type, brand) + writeInto, + (stats) => stats.data.find((t) => t.type === "all").count, + type, + brand + ) downloaded += dloaded - })) + }) + ) console.log("Downloaded ", downloaded, " values this batch") writeFileSync(path, JSON.stringify(allBrands), "utf8") console.log("Checkpointed", path) @@ -185,7 +184,7 @@ class GenerateStats extends Script { constructor() { super( - "Downloads stats on osmSource-tags and keys from tagInfo. There are two usecases with separate outputs:\n 1. To optimize the query before sending it to overpass (generates ./src/assets/key_totals.json) \n 2. To amend the Name Suggestion Index ", + "Downloads stats on osmSource-tags and keys from tagInfo. There are two usecases with separate outputs:\n 1. To optimize the query before sending it to overpass (generates ./src/assets/key_totals.json) \n 2. To amend the Name Suggestion Index " ) } diff --git a/src/Customizations/AllKnownLayouts.ts b/src/Customizations/AllKnownLayouts.ts index 01dea27f7c..3734c13980 100644 --- a/src/Customizations/AllKnownLayouts.ts +++ b/src/Customizations/AllKnownLayouts.ts @@ -15,14 +15,14 @@ export class AllKnownLayoutsLazy { private readonly dict: Map = new Map() constructor(includeFavouriteLayer = true) { - const paths = ScriptUtils.readDirRecSync("./public/assets/generated/themes/",1) + const paths = ScriptUtils.readDirRecSync("./public/assets/generated/themes/", 1) for (const path of paths) { - const themeConfigJson = JSON.parse(readFileSync(path, "utf8")) + const themeConfigJson = JSON.parse(readFileSync(path, "utf8")) for (const layerId of Constants.added_by_default) { if (layerId === "favourite" && favourite.id) { if (includeFavouriteLayer) { - themeConfigJson.layers.push( favourite) + themeConfigJson.layers.push(favourite) } continue } diff --git a/src/Customizations/AllSharedLayers.ts b/src/Customizations/AllSharedLayers.ts index d970e69a10..b0de3480f2 100644 --- a/src/Customizations/AllSharedLayers.ts +++ b/src/Customizations/AllSharedLayers.ts @@ -8,10 +8,10 @@ export class AllSharedLayers { public static getSharedLayersConfigs(): Map { const sharedLayers = new Map() for (const layer of known_layers["layers"]) { - if(layer.id === undefined){ + if (layer.id === undefined) { continue } - sharedLayers.set(layer.id, layer) + sharedLayers.set(layer.id, layer) } return sharedLayers diff --git a/src/Logic/Actors/InitialMapPositioning.ts b/src/Logic/Actors/InitialMapPositioning.ts index 5e3d820372..8d62baf601 100644 --- a/src/Logic/Actors/InitialMapPositioning.ts +++ b/src/Logic/Actors/InitialMapPositioning.ts @@ -88,7 +88,7 @@ export default class InitialMapPositioning { return } const targetLayer = layoutToUse.getMatchingLayer(osmObject.tags) - if(targetLayer){ + if (targetLayer) { this.zoom.setData(Math.max(this.zoom.data, targetLayer.minzoom)) } const [lat, lon] = osmObject.centerpoint() diff --git a/src/Logic/DetermineTheme.ts b/src/Logic/DetermineTheme.ts index 4eab97a39d..f155b9b51c 100644 --- a/src/Logic/DetermineTheme.ts +++ b/src/Logic/DetermineTheme.ts @@ -89,11 +89,11 @@ export default class DetermineTheme { if (themes.length == 0) { throw "Build failed or running, no layouts are known at all" } - const themeInfo = themes.find(th => th.id === id) + const themeInfo = themes.find((th) => th.id === id) if (themeInfo === undefined) { const alternatives = Utils.sortedByLevenshteinDistance( id, - themes.map(th => th.id), + themes.map((th) => th.id), (i) => i ).slice(0, 3) const msg = `No builtin map theme with name ${layoutId} exists. Perhaps you meant one of ${alternatives.join( @@ -103,7 +103,10 @@ export default class DetermineTheme { } // Actually fetch the theme - const config = await Utils.downloadJsonCached("./assets/generated/themes/"+id+".json", 1000*60*60*60) + const config = await Utils.downloadJsonCached( + "./assets/generated/themes/" + id + ".json", + 1000 * 60 * 60 * 60 + ) return new ThemeConfig(config, true) } diff --git a/src/Logic/State/UserSettingsMetaTagging.ts b/src/Logic/State/UserSettingsMetaTagging.ts index 33a5ae85b5..6e568c5c32 100644 --- a/src/Logic/State/UserSettingsMetaTagging.ts +++ b/src/Logic/State/UserSettingsMetaTagging.ts @@ -1,14 +1,42 @@ import { Utils } from "../../Utils" /** This code is autogenerated - do not edit. Edit ./assets/layers/usersettings/usersettings.json instead */ export class ThemeMetaTagging { - public static readonly themeName = "usersettings" + public static readonly themeName = "usersettings" - public metaTaggging_for_usersettings(feat: {properties: Record}) { - Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_md', () => feat.properties._description.match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/)?.at(1) ) - Utils.AddLazyProperty(feat.properties, '_d', () => feat.properties._description?.replace(/</g,'<')?.replace(/>/g,'>') ?? '' ) - Utils.AddLazyProperty(feat.properties, '_mastodon_candidate_a', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.href.match(/mastodon|en.osm.town/) !== null)[0]?.href }) (feat) ) - Utils.AddLazyProperty(feat.properties, '_mastodon_link', () => (feat => {const e = document.createElement('div');e.innerHTML = feat.properties._d;return Array.from(e.getElementsByTagName("a")).filter(a => a.getAttribute("rel")?.indexOf('me') >= 0)[0]?.href})(feat) ) - Utils.AddLazyProperty(feat.properties, '_mastodon_candidate', () => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a ) - feat.properties['__current_backgroun'] = 'initial_value' - } -} \ No newline at end of file + public metaTaggging_for_usersettings(feat: { properties: Record }) { + Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_md", () => + feat.properties._description + .match(/\[[^\]]*\]\((.*(mastodon|en.osm.town).*)\).*/) + ?.at(1) + ) + Utils.AddLazyProperty( + feat.properties, + "_d", + () => feat.properties._description?.replace(/</g, "<")?.replace(/>/g, ">") ?? "" + ) + Utils.AddLazyProperty(feat.properties, "_mastodon_candidate_a", () => + ((feat) => { + const e = document.createElement("div") + e.innerHTML = feat.properties._d + return Array.from(e.getElementsByTagName("a")).filter( + (a) => a.href.match(/mastodon|en.osm.town/) !== null + )[0]?.href + })(feat) + ) + Utils.AddLazyProperty(feat.properties, "_mastodon_link", () => + ((feat) => { + const e = document.createElement("div") + e.innerHTML = feat.properties._d + return Array.from(e.getElementsByTagName("a")).filter( + (a) => a.getAttribute("rel")?.indexOf("me") >= 0 + )[0]?.href + })(feat) + ) + Utils.AddLazyProperty( + feat.properties, + "_mastodon_candidate", + () => feat.properties._mastodon_candidate_md ?? feat.properties._mastodon_candidate_a + ) + feat.properties["__current_backgroun"] = "initial_value" + } +} diff --git a/src/Logic/Tags/And.ts b/src/Logic/Tags/And.ts index 6057ba4785..c2525dee3b 100644 --- a/src/Logic/Tags/And.ts +++ b/src/Logic/Tags/And.ts @@ -137,31 +137,31 @@ export class And extends TagsFilter { * t1.shadows(t2) // => true */ shadows(other: TagsFilter): boolean { - const phrases: TagsFilter[] = other instanceof And ? other.and : [other]; + const phrases: TagsFilter[] = other instanceof And ? other.and : [other] // A phrase might be shadowed by a certain subsection. We keep track of this here const shadowedOthers = phrases.map(() => false) for (const selfTag of this.and) { - let shadowsSome = false; - let shadowsAll = true; - for (let i = 0; i < phrases.length; i++){ + let shadowsSome = false + let shadowsAll = true + for (let i = 0; i < phrases.length; i++) { const otherTag = phrases[i] const doesShadow = selfTag.shadows(otherTag) - if(doesShadow){ - shadowedOthers[i] = true; + if (doesShadow) { + shadowedOthers[i] = true } - shadowsSome ||= doesShadow; - shadowsAll &&= doesShadow; + shadowsSome ||= doesShadow + shadowsAll &&= doesShadow } // If A => X and A => Y, then // A&B implies X&Y. We discovered an A that implies all needed values if (shadowsAll) { - return true; + return true } if (!shadowsSome) { - return false; + return false } } - return !shadowedOthers.some(v => !v); + return !shadowedOthers.some((v) => !v) } usedKeys(): string[] { diff --git a/src/Logic/Tags/Or.ts b/src/Logic/Tags/Or.ts index dbcaed0652..1d967b8cdf 100644 --- a/src/Logic/Tags/Or.ts +++ b/src/Logic/Tags/Or.ts @@ -83,7 +83,6 @@ export class Or extends TagsFilter { return false } - shadows(other: TagsFilter): boolean { if (other instanceof Or) { for (const selfTag of this.or) { diff --git a/src/Logic/Tags/Tag.ts b/src/Logic/Tags/Tag.ts index 51953da072..581ad58159 100644 --- a/src/Logic/Tags/Tag.ts +++ b/src/Logic/Tags/Tag.ts @@ -150,11 +150,11 @@ export class Tag extends TagsFilter { return other.matchesProperties({ [this.key]: this.value }) } } - if(other instanceof Or){ - return other.or.some(other => this.shadows(other)) + if (other instanceof Or) { + return other.or.some((other) => this.shadows(other)) } - if(other instanceof And){ - return !other.and.some(other => !this.shadows(other)) + if (other instanceof And) { + return !other.and.some((other) => !this.shadows(other)) } return false } diff --git a/src/Logic/Tags/TagUtils.ts b/src/Logic/Tags/TagUtils.ts index 4e2dd0c3cc..7e495ed706 100644 --- a/src/Logic/Tags/TagUtils.ts +++ b/src/Logic/Tags/TagUtils.ts @@ -133,11 +133,11 @@ export class TagUtils { "\n" + "```json\n" + "{\n" + - " \"mappings\": [\n" + + ' "mappings": [\n' + " {\n" + - " \"if\":\"key:={some_other_key}\",\n" + - " \"then\": \"...\",\n" + - " \"hideInAnswer\": \"some_other_key=\"\n" + + ' "if":"key:={some_other_key}",\n' + + ' "then": "...",\n' + + ' "hideInAnswer": "some_other_key="\n' + " }\n" + " ]\n" + "}\n" + @@ -175,10 +175,10 @@ export class TagUtils { "\n" + "```json\n" + "{\n" + - " \"osmTags\": {\n" + - " \"or\": [\n" + - " \"amenity=school\",\n" + - " \"amenity=kindergarten\"\n" + + ' "osmTags": {\n' + + ' "or": [\n' + + ' "amenity=school",\n' + + ' "amenity=kindergarten"\n' + " ]\n" + " }\n" + "}\n" + @@ -194,7 +194,7 @@ export class TagUtils { "If the schema-files note a type [`TagConfigJson`](https://github.com/pietervdvn/MapComplete/blob/develop/src/Models/ThemeConfig/Json/TagConfigJson.ts), you can use one of these values.\n" + "\n" + "In some cases, not every type of tags-filter can be used. For example, _rendering_ an option with a regex is\n" + - "fine (`\"if\": \"brand~[Bb]randname\", \"then\":\" The brand is Brandname\"`); but this regex can not be used to write a value\n" + + 'fine (`"if": "brand~[Bb]randname", "then":" The brand is Brandname"`); but this regex can not be used to write a value\n' + "into the database. The theme loader will however refuse to work with such inconsistencies and notify you of this while\n" + "you are building your theme.\n" + "\n" + @@ -205,18 +205,18 @@ export class TagUtils { "\n" + "```json\n" + "{\n" + - " \"and\": [\n" + - " \"key=value\",\n" + + ' "and": [\n' + + ' "key=value",\n' + " {\n" + - " \"or\": [\n" + - " \"other_key=value\",\n" + - " \"other_key=some_other_value\"\n" + + ' "or": [\n' + + ' "other_key=value",\n' + + ' "other_key=some_other_value"\n' + " ]\n" + " },\n" + - " \"key_which_should_be_missing=\",\n" + - " \"key_which_should_have_a_value~*\",\n" + - " \"key~.*some_regex_a*_b+_[a-z]?\",\n" + - " \"height<1\"\n" + + ' "key_which_should_be_missing=",\n' + + ' "key_which_should_have_a_value~*",\n' + + ' "key~.*some_regex_a*_b+_[a-z]?",\n' + + ' "height<1"\n' + " ]\n" + "}\n" + "```\n" + @@ -246,7 +246,7 @@ export class TagUtils { static asProperties( tags: TagsFilter | TagsFilter[], - baseproperties: Record = {}, + baseproperties: Record = {} ) { if (Array.isArray(tags)) { tags = new And(tags) @@ -274,11 +274,11 @@ export class TagUtils { static SplitKeysRegex(tagsFilters: UploadableTag[], allowRegex: false): Record static SplitKeysRegex( tagsFilters: UploadableTag[], - allowRegex: boolean, + allowRegex: boolean ): Record static SplitKeysRegex( tagsFilters: UploadableTag[], - allowRegex: boolean, + allowRegex: boolean ): Record { const keyValues: Record = {} tagsFilters = [...tagsFilters] // copy all, use as queue @@ -307,7 +307,7 @@ export class TagUtils { if (typeof key !== "string") { console.error( "Invalid type to flatten the multiAnswer: key is a regex too", - tagsFilter, + tagsFilter ) throw "Invalid type to FlattenMultiAnswer: key is a regex too" } @@ -508,7 +508,7 @@ export class TagUtils { public static Tag(json: TagConfigJson, context?: string | ConversionContext): TagsFilterClosed public static Tag( json: TagConfigJson, - context: string | ConversionContext = "", + context: string | ConversionContext = "" ): TagsFilterClosed { try { const ctx = typeof context === "string" ? context : context.path.join(".") @@ -540,7 +540,7 @@ export class TagUtils { throw `Error at ${context}: detected a non-uploadable tag at a location where this is not supported: ${t.asHumanString( false, false, - {}, + {} )}` }) @@ -661,7 +661,7 @@ export class TagUtils { */ public static removeShadowedElementsFrom( blacklist: TagsFilter[], - listToFilter: TagsFilter[], + listToFilter: TagsFilter[] ): TagsFilter[] { return listToFilter.filter((tf) => !blacklist.some((guard) => guard.shadows(tf))) } @@ -690,12 +690,16 @@ export class TagUtils { return result } - public static removeKnownParts(tag: TagsFilter, known: TagsFilter, valueOfKnown = true): TagsFilter | boolean{ + public static removeKnownParts( + tag: TagsFilter, + known: TagsFilter, + valueOfKnown = true + ): TagsFilter | boolean { const tagOrBool = And.construct([tag]).optimize() - if(tagOrBool === true || tagOrBool === false){ + if (tagOrBool === true || tagOrBool === false) { return tagOrBool } - if(tagOrBool instanceof And){ + if (tagOrBool instanceof And) { return tagOrBool.removePhraseConsideredKnown(known, valueOfKnown) } return tagOrBool @@ -710,7 +714,7 @@ export class TagUtils { */ public static containsEquivalents( guards: ReadonlyArray, - listToFilter: ReadonlyArray, + listToFilter: ReadonlyArray ): boolean { return listToFilter.some((tf) => guards.some((guard) => guard.shadows(tf))) } @@ -754,7 +758,7 @@ export class TagUtils { values.push(i + "") } return values - }), + }) ) return Utils.NoNull(spec) } @@ -762,13 +766,13 @@ export class TagUtils { private static ParseTagUnsafe(json: TagConfigJson, context: string = ""): TagsFilterClosed { if (json === undefined) { throw new Error( - `Error while parsing a tag: 'json' is undefined in ${context}. Make sure all the tags are defined and at least one tag is present in a complex expression`, + `Error while parsing a tag: 'json' is undefined in ${context}. Make sure all the tags are defined and at least one tag is present in a complex expression` ) } if (typeof json != "string") { if (json["and"] !== undefined && json["or"] !== undefined) { throw `${context}: Error while parsing a TagConfig: got an object where both 'and' and 'or' are defined. Did you override a value? Perhaps use \`"=parent": { ... }\` instead of "parent": {...}\` to trigger a replacement and not a fuse of values. The value is ${JSON.stringify( - json, + json )}` } if (json["and"] !== undefined) { @@ -850,13 +854,13 @@ export class TagUtils { return new RegexTag( withRegex.key, new RegExp(".+", "si" + withRegex.modifier), - withRegex.invert, + withRegex.invert ) } return new RegexTag( withRegex.key, new RegExp("^(" + value + ")$", "s" + withRegex.modifier), - withRegex.invert, + withRegex.invert ) } @@ -978,16 +982,15 @@ export class TagUtils { return ["", "## `" + mode + "` " + doc.name, "", doc.docs, "", ""].join("\n") }), "## " + - TagUtils.comparators.map((comparator) => "`" + comparator[0] + "`").join(" ") + - " Logical comparators", + TagUtils.comparators.map((comparator) => "`" + comparator[0] + "`").join(" ") + + " Logical comparators", TagUtils.numberAndDateComparisonDocs, TagUtils.logicalOperator, ].join("\n") } static fromProperties(tags: Record): TagConfigJson | boolean { - - const opt = new And(Object.keys(tags).map(k => new Tag(k, tags[k]))).optimize() + const opt = new And(Object.keys(tags).map((k) => new Tag(k, tags[k]))).optimize() if (opt === true || opt === false) { return opt } diff --git a/src/Logic/Web/NameSuggestionIndex.ts b/src/Logic/Web/NameSuggestionIndex.ts index 773b2db1e9..a22a36791f 100644 --- a/src/Logic/Web/NameSuggestionIndex.ts +++ b/src/Logic/Web/NameSuggestionIndex.ts @@ -49,12 +49,11 @@ export interface NSIItem { include: string[] exclude: string[] } - readonly tags: Readonly> - readonly fromTemplate?: boolean + readonly tags: Readonly> + readonly fromTemplate?: boolean } export default class NameSuggestionIndex { - public static readonly supportedTypes = ["brand", "flag", "operator", "transit"] as const private readonly nsiFile: Readonly private readonly nsiWdFile: Readonly< @@ -80,7 +79,7 @@ export default class NameSuggestionIndex { } > >, - features: Readonly, + features: Readonly ) { this.nsiFile = nsiFile this.nsiWdFile = nsiWdFile @@ -94,11 +93,17 @@ export default class NameSuggestionIndex { return NameSuggestionIndex.inited } const [nsi, nsiWd, features] = await Promise.all( - ["./assets/data/nsi/nsi.min.json", "./assets/data/nsi/wikidata.min.json", "./assets/data/nsi/featureCollection.min.json"].map((url) => - Utils.downloadJsonCached(url, 1000 * 60 * 60 * 24 * 30), - ), + [ + "./assets/data/nsi/nsi.min.json", + "./assets/data/nsi/wikidata.min.json", + "./assets/data/nsi/featureCollection.min.json", + ].map((url) => Utils.downloadJsonCached(url, 1000 * 60 * 60 * 24 * 30)) + ) + NameSuggestionIndex.inited = new NameSuggestionIndex( + nsi, + nsiWd["wikidata"], + features ) - NameSuggestionIndex.inited = new NameSuggestionIndex(nsi, nsiWd["wikidata"], features) return NameSuggestionIndex.inited } @@ -129,13 +134,13 @@ export default class NameSuggestionIndex { try { return Utils.downloadJsonCached>( `./assets/data/nsi/stats/${type}.${c.toUpperCase()}.json`, - 24 * 60 * 60 * 1000, + 24 * 60 * 60 * 1000 ) } catch (e) { console.error("Could not fetch " + type + " statistics due to", e) return undefined } - }), + }) ) stats = Utils.NoNull(stats) if (stats.length === 1) { @@ -183,10 +188,13 @@ export default class NameSuggestionIndex { * If set, sort by frequency instead of alphabetically */ sortByFrequency: boolean - }, + } ): Promise { const mappings: (Mapping & { frequency: number })[] = [] - const frequencies = country !== undefined ? await NameSuggestionIndex.fetchFrequenciesFor(type, country) : {} + const frequencies = + country !== undefined + ? await NameSuggestionIndex.fetchFrequenciesFor(type, country) + : {} for (const key in tags) { if (key.startsWith("_")) { continue @@ -197,7 +205,7 @@ export default class NameSuggestionIndex { key, value, country.join(";"), - location, + location ) if (!actualBrands) { continue @@ -242,7 +250,7 @@ export default class NameSuggestionIndex { } public supportedTags( - type: "operator" | "brand" | "flag" | "transit" | string, + type: "operator" | "brand" | "flag" | "transit" | string ): Record { const tags: Record = {} const keys = Object.keys(this.nsiFile.nsi) @@ -287,10 +295,10 @@ export default class NameSuggestionIndex { type: string, tags: { key: string; value: string }[], country: string = undefined, - location: [number, number] = undefined, + location: [number, number] = undefined ): NSIItem[] { return tags.flatMap((tag) => - this.getSuggestionsForKV(type, tag.key, tag.value, country, location), + this.getSuggestionsForKV(type, tag.key, tag.value, country, location) ) } @@ -313,7 +321,7 @@ export default class NameSuggestionIndex { key: string, value: string, country: string = undefined, - location: [number, number] = undefined, + location: [number, number] = undefined ): NSIItem[] { const path = `${type}s/${key}/${value}` const entry = this.nsiFile.nsi[path] @@ -353,8 +361,7 @@ export default class NameSuggestionIndex { } const key = i.locationSet.include?.join(";") + "-" + i.locationSet.exclude?.join(";") const fromCache = NameSuggestionIndex.resolvedSets[key] - const resolvedSet = - fromCache ?? this.loco.resolveLocationSet(i.locationSet) + const resolvedSet = fromCache ?? this.loco.resolveLocationSet(i.locationSet) if (!fromCache) { NameSuggestionIndex.resolvedSets[key] = resolvedSet } @@ -377,13 +384,12 @@ export default class NameSuggestionIndex { center: [number, number], options: { sortByFrequency: boolean - }, + } ): Promise { const nsi = await NameSuggestionIndex.getNsiIndex() return nsi.generateMappings(key, tags, country, center, options) } - /** * Where can we find the URL on the world wide web? * Probably facebook! Don't use in the website, might expose people @@ -402,7 +408,7 @@ export default class NameSuggestionIndex { } return icon } - private static readonly brandPrefix = ["name", "alt_name", "operator","brand"] as const + private static readonly brandPrefix = ["name", "alt_name", "operator", "brand"] as const /** * An NSI-item might have tags such as `name=X`, `alt_name=brand X`, `brand=X`, `brand:wikidata`, `shop=Y`, `service:abc=yes` @@ -412,12 +418,14 @@ export default class NameSuggestionIndex { * * (More of an extension method on NSIItem) */ - static asFilterTags(item: NSIItem): string | { and: TagConfigJson[] } | { or: TagConfigJson[] } { + static asFilterTags( + item: NSIItem + ): string | { and: TagConfigJson[] } | { or: TagConfigJson[] } { let brandDetection: string[] = [] let required: string[] = [] const tags: Record = item.tags for (const k in tags) { - if (NameSuggestionIndex.brandPrefix.some(br => k === br || k.startsWith(br + ":"))) { + if (NameSuggestionIndex.brandPrefix.some((br) => k === br || k.startsWith(br + ":"))) { brandDetection.push(k + "=" + tags[k]) } else { required.push(k + "=" + tags[k]) diff --git a/src/Logic/Web/TagInfo.ts b/src/Logic/Web/TagInfo.ts index 288a0970bc..2587ed1dcb 100644 --- a/src/Logic/Web/TagInfo.ts +++ b/src/Logic/Web/TagInfo.ts @@ -40,7 +40,7 @@ export default class TagInfo { let url: string if (value) { url = `${this._backend}api/4/tag/stats?key=${encodeURIComponent( - key, + key )}&value=${encodeURIComponent(value)}` } else { url = `${this._backend}api/4/key/stats?key=${encodeURIComponent(key)}` @@ -70,10 +70,10 @@ export default class TagInfo { } const countriesFC: FeatureCollection = await Utils.downloadJsonCached( "https://download.geofabrik.de/index-v1-nogeom.json", - 24 * 1000 * 60 * 60, + 24 * 1000 * 60 * 60 ) TagInfo._geofabrikCountries = countriesFC.features.map( - (f) => f.properties, + (f) => f.properties ) return TagInfo._geofabrikCountries } @@ -99,7 +99,7 @@ export default class TagInfo { private static async getDistributionsFor( countryCode: string, key: string, - value?: string, + value?: string ): Promise { if (!countryCode) { return undefined @@ -111,7 +111,16 @@ export default class TagInfo { try { return await ti.getStats(key, value) } catch (e) { - console.warn("Could not fetch info from taginfo for", countryCode, key, value, "due to", e, "Taginfo country specific instance is ", ti._backend) + console.warn( + "Could not fetch info from taginfo for", + countryCode, + key, + value, + "due to", + e, + "Taginfo country specific instance is ", + ti._backend + ) return undefined } } @@ -127,9 +136,9 @@ export default class TagInfo { */ public static async getGlobalDistributionsFor( writeInto: Record, - f: ((stats: TagInfoStats) => T), + f: (stats: TagInfoStats) => T, key: string, - value?: string, + value?: string ): Promise { const countriesAll = await this.geofabrikCountries() const countries = countriesAll @@ -138,14 +147,14 @@ export default class TagInfo { let downloaded = 0 for (const country of countries) { - if(writeInto[country] !== undefined){ + if (writeInto[country] !== undefined) { continue } const r = await TagInfo.getDistributionsFor(country, key, value) - if(r === undefined){ + if (r === undefined) { continue } - downloaded ++ + downloaded++ writeInto[country] = f(r) } return downloaded diff --git a/src/Models/ThemeConfig/Conversion/ExpandFilter.ts b/src/Models/ThemeConfig/Conversion/ExpandFilter.ts index 68952e11fc..877ba20f3c 100644 --- a/src/Models/ThemeConfig/Conversion/ExpandFilter.ts +++ b/src/Models/ThemeConfig/Conversion/ExpandFilter.ts @@ -15,47 +15,73 @@ import { FlatTag, OptimizedTag, TagsFilterClosed } from "../../../Logic/Tags/Tag import { TagsFilter } from "../../../Logic/Tags/TagsFilter" import { And } from "../../../Logic/Tags/And" -export class PruneFilters extends DesugaringStep{ +export class PruneFilters extends DesugaringStep { constructor() { - super("Removes all filters which are impossible, e.g. because they conflict with the base tags", ["filter"],"PruneFilters") + super( + "Removes all filters which are impossible, e.g. because they conflict with the base tags", + ["filter"], + "PruneFilters" + ) } - private prune(sourceTags:FlatTag, filter: FilterConfigJson, context: ConversionContext): FilterConfigJson{ - if(!filter.strict){ + private prune( + sourceTags: FlatTag, + filter: FilterConfigJson, + context: ConversionContext + ): FilterConfigJson { + if (!filter.strict) { return filter } const countBefore = filter.options.length - const newOptions: FilterConfigOptionJson[] = filter.options.filter(option => { - if(!option.osmTags){ - return true - } - const condition = TagUtils.Tag(option.osmTags).optimize() - return condition.shadows(sourceTags); - - }).map(option => { - if(!option.osmTags){ - return option - } - let basetags = TagUtils.Tag(option.osmTags) - return {...option, osmTags: (TagUtils.removeKnownParts(basetags ,sourceTags)).asJson()} - }) + const newOptions: FilterConfigOptionJson[] = filter.options + .filter((option) => { + if (!option.osmTags) { + return true + } + const condition = ( + TagUtils.Tag(option.osmTags).optimize() + ) + return condition.shadows(sourceTags) + }) + .map((option) => { + if (!option.osmTags) { + return option + } + let basetags = TagUtils.Tag(option.osmTags) + return { + ...option, + osmTags: (TagUtils.removeKnownParts(basetags, sourceTags)).asJson(), + } + }) const countAfter = newOptions.length - if(countAfter !== countBefore){ - context.enters("filter", filter.id ).info("Pruned "+(countBefore-countAfter)+" options away from filter (out of "+countBefore+")") + if (countAfter !== countBefore) { + context + .enters("filter", filter.id) + .info( + "Pruned " + + (countBefore - countAfter) + + " options away from filter (out of " + + countBefore + + ")" + ) } - return {...filter, options: newOptions, strict: undefined} - + return { ...filter, options: newOptions, strict: undefined } } public convert(json: LayerConfigJson, context: ConversionContext): LayerConfigJson { - if(!Array.isArray(json.filter) || typeof json.source === "string"){ + if (!Array.isArray(json.filter) || typeof json.source === "string") { return json } - if(!json.source["osmTags"]){ + if (!json.source["osmTags"]) { return json } const sourceTags = TagUtils.Tag(json.source["osmTags"]) - return {...json, filter: json.filter?.map(obj => this.prune(sourceTags, obj, context))} + return { + ...json, + filter: json.filter?.map((obj) => + this.prune(sourceTags, obj, context) + ), + } } } export class ExpandFilter extends DesugaringStep { @@ -69,7 +95,7 @@ export class ExpandFilter extends DesugaringStep { "If the string is formatted 'layername.filtername, it will be looked up into that layer instead. Note that pruning should still be done", ].join(" "), ["filter"], - "ExpandFilter", + "ExpandFilter" ) this._state = state } @@ -84,11 +110,11 @@ export class ExpandFilter extends DesugaringStep { public static buildFilterFromTagRendering( tr: TagRenderingConfigJson, - context: ConversionContext, + context: ConversionContext ): FilterConfigJson { if (!(tr.mappings?.length >= 1)) { context.err( - "Found a matching tagRendering to base a filter on, but this tagRendering does not contain any mappings", + "Found a matching tagRendering to base a filter on, but this tagRendering does not contain any mappings" ) } const qtr = tr @@ -103,7 +129,7 @@ export class ExpandFilter extends DesugaringStep { if (qtr.multiAnswer && osmTags instanceof Tag) { osmTags = new RegexTag( osmTags.key, - new RegExp("^(.+;)?" + osmTags.value + "(;.+)$", "is"), + new RegExp("^(.+;)?" + osmTags.value + "(;.+)$", "is") ) } if (mapping.alsoShowIf) { @@ -161,7 +187,7 @@ export class ExpandFilter extends DesugaringStep { if (matchingTr) { const filter = ExpandFilter.buildFilterFromTagRendering( matchingTr, - context.enters("filter", i), + context.enters("filter", i) ) newFilters.push(filter) continue @@ -175,7 +201,7 @@ export class ExpandFilter extends DesugaringStep { const split = filter.split(".") if (split.length > 2) { context.err( - "invalid filter name: " + filter + ", expected `layername.filterid`", + "invalid filter name: " + filter + ", expected `layername.filterid`" ) } const layer = this._state.sharedLayers.get(split[0]) @@ -184,7 +210,7 @@ export class ExpandFilter extends DesugaringStep { } const expectedId = split[1] const expandedFilter = (<(FilterConfigJson | string)[]>layer.filter).find( - (f) => typeof f !== "string" && f.id === expectedId, + (f) => typeof f !== "string" && f.id === expectedId ) if (expandedFilter === undefined) { context.err("Did not find filter with name " + filter) @@ -199,15 +225,15 @@ export class ExpandFilter extends DesugaringStep { const suggestions = Utils.sortedByLevenshteinDistance( filter, Array.from(ExpandFilter.predefinedFilters.keys()), - (t) => t, + (t) => t ) context .enter(filter) .err( "While searching for predefined filter " + - filter + - ": this filter is not found. Perhaps you meant one of: " + - suggestions, + filter + + ": this filter is not found. Perhaps you meant one of: " + + suggestions ) } newFilters.push(found) diff --git a/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts b/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts index 879d3cf1d1..e77abf7114 100644 --- a/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts +++ b/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts @@ -11,9 +11,9 @@ export class ExpandTagRendering extends Conversion< | string | TagRenderingConfigJson | { - builtin: string | string[] - override: any -}, + builtin: string | string[] + override: any + }, TagRenderingConfigJson[] > { private readonly _state: DesugaringContext @@ -35,12 +35,12 @@ export class ExpandTagRendering extends Conversion< noHardcodedStrings?: false | boolean // If set, a question will be added to the 'sharedTagRenderings'. Should only be used for 'questions.json' addToContext?: false | boolean - }, + } ) { super( "Converts a tagRenderingSpec into the full tagRendering, e.g. by substituting the tagRendering by the shared-question and reusing the builtins", [], - "ExpandTagRendering", + "ExpandTagRendering" ) this._state = state this._self = self @@ -60,10 +60,11 @@ export class ExpandTagRendering extends Conversion< public convert( spec: string | any, - ctx: ConversionContext, + ctx: ConversionContext ): QuestionableTagRenderingConfigJson[] { - const trs = this.convertOnce(spec, ctx) - ?.map(tr => this.pruneMappings(tr, ctx)) + const trs = this.convertOnce(spec, ctx)?.map((tr) => + this.pruneMappings(tr, ctx) + ) if (!Array.isArray(trs)) { ctx.err("Result of lookup for " + spec + " is not iterable; got " + trs) return undefined @@ -71,8 +72,9 @@ export class ExpandTagRendering extends Conversion< const result = [] for (const tr of trs) { if (typeof tr === "string" || tr["builtin"] !== undefined) { - const stable = this.convert(tr, ctx.inOperation("recursive_resolve")) - .map(tr => this.pruneMappings(tr, ctx)) + const stable = this.convert(tr, ctx.inOperation("recursive_resolve")).map((tr) => + this.pruneMappings(tr, ctx) + ) result.push(...stable) if (this._options?.addToContext) { for (const tr of stable) { @@ -90,39 +92,47 @@ export class ExpandTagRendering extends Conversion< return result } - private pruneMappings(tagRendering: T, ctx: ConversionContext): T { + private pruneMappings< + T extends TagRenderingConfigJson & { + id: string + } + >(tagRendering: T, ctx: ConversionContext): T { if (!tagRendering["strict"]) { return tagRendering } - if(!this._self.source["osmTags"]){ + if (!this._self.source["osmTags"]) { return tagRendering } - ctx.inOperation("expandTagRendering:pruning").enters(tagRendering.id) - .info(`PRUNING! Tagrendering to prune: ${tagRendering.id} in the context of layer ${this._self.id} Sourcetags: ${this._self.source["osmTags"]}`) + ctx.inOperation("expandTagRendering:pruning") + .enters(tagRendering.id) + .info( + `PRUNING! Tagrendering to prune: ${tagRendering.id} in the context of layer ${this._self.id} Sourcetags: ${this._self.source["osmTags"]}` + ) const before = tagRendering.mappings?.length ?? 0 const alwaysTags = TagUtils.Tag(this._self.source["osmTags"]) - const newMappings = tagRendering.mappings?.filter(mapping => { - const condition = TagUtils.Tag(mapping.if) - return condition.shadows(alwaysTags); - - - }).map(mapping => { - const newIf = TagUtils.removeKnownParts( - TagUtils.Tag(mapping.if), alwaysTags) - if (typeof newIf === "boolean") { - throw "Invalid removeKnownParts" - } - return { - ...mapping, - if: newIf.asJson(), - } - }) + const newMappings = tagRendering.mappings + ?.filter((mapping) => { + const condition = TagUtils.Tag(mapping.if) + return condition.shadows(alwaysTags) + }) + .map((mapping) => { + const newIf = TagUtils.removeKnownParts(TagUtils.Tag(mapping.if), alwaysTags) + if (typeof newIf === "boolean") { + throw "Invalid removeKnownParts" + } + return { + ...mapping, + if: newIf.asJson(), + } + }) const after = newMappings?.length ?? 0 if (before - after > 0) { - ctx.info(`Pruned mappings for ${tagRendering.id}, from ${before} to ${after} (removed ${before - after})`) + ctx.info( + `Pruned mappings for ${tagRendering.id}, from ${before} to ${after} (removed ${ + before - after + })` + ) } const tr = { ...tagRendering, @@ -132,7 +142,10 @@ export class ExpandTagRendering extends Conversion< return tr } - private lookup(name: string, ctx: ConversionContext): (TagRenderingConfigJson & { id: string })[] | undefined { + private lookup( + name: string, + ctx: ConversionContext + ): (TagRenderingConfigJson & { id: string })[] | undefined { const direct = this.directLookup(name) if (direct === undefined) { @@ -202,9 +215,11 @@ export class ExpandTagRendering extends Conversion< matchingTrs = layerTrs.filter((tr) => tr["id"] === id || tr["labels"]?.indexOf(id) >= 0) } - const contextWriter = new AddContextToTranslations("layers:") + const contextWriter = new AddContextToTranslations( + "layers:" + ) for (let i = 0; i < matchingTrs.length; i++) { - let found: (TagRenderingConfigJson & { id: string }) = Utils.Clone(matchingTrs[i]) + let found: TagRenderingConfigJson & { id: string } = Utils.Clone(matchingTrs[i]) if (this._options?.applyCondition) { // The matched tagRenderings are 'stolen' from another layer. This means that they must match the layer condition before being shown if (typeof layer.source !== "string") { @@ -220,8 +235,8 @@ export class ExpandTagRendering extends Conversion< found, ConversionContext.construct( [layer.id, "tagRenderings", found["id"]], - ["AddContextToTranslations"], - ), + ["AddContextToTranslations"] + ) ) matchingTrs[i] = found } @@ -232,7 +247,10 @@ export class ExpandTagRendering extends Conversion< return undefined } - private convertOnce(tr: string | any, ctx: ConversionContext): (TagRenderingConfigJson & { id: string })[] { + private convertOnce( + tr: string | any, + ctx: ConversionContext + ): (TagRenderingConfigJson & { id: string })[] { const state = this._state if (typeof tr === "string") { @@ -250,17 +268,17 @@ export class ExpandTagRendering extends Conversion< ctx.warn( `A literal rendering was detected: ${tr} Did you perhaps forgot to add a layer name as 'layername.${tr}'? ` + - Array.from(state.sharedLayers.keys()).join(", "), + Array.from(state.sharedLayers.keys()).join(", ") ) } if (this._options?.noHardcodedStrings && this._state?.sharedLayers?.size > 0) { ctx.err( "Detected an invocation to a builtin tagRendering, but this tagrendering was not found: " + - tr + - " \n Did you perhaps forget to add the layer as prefix, such as `icons." + - tr + - "`? ", + tr + + " \n Did you perhaps forget to add the layer as prefix, such as `icons." + + tr + + "`? " ) } @@ -293,9 +311,9 @@ export class ExpandTagRendering extends Conversion< } ctx.err( "An object calling a builtin can only have keys `builtin` or `override`, but a key with name `" + - key + - "` was found. This won't be picked up! The full object is: " + - JSON.stringify(tr), + key + + "` was found. This won't be picked up! The full object is: " + + JSON.stringify(tr) ) } @@ -317,39 +335,39 @@ export class ExpandTagRendering extends Conversion< const candidates = Utils.sortedByLevenshteinDistance( layerName, Utils.NoNull(Array.from(state.sharedLayers.keys())), - (s) => s, + (s) => s ) if (state.sharedLayers.size === 0) { ctx.warn( "BOOTSTRAPPING. Rerun generate layeroverview. While reusing tagrendering: " + - name + - ": layer " + - layerName + - " not found for now, but ignoring as this is a bootstrapping run. ", + name + + ": layer " + + layerName + + " not found for now, but ignoring as this is a bootstrapping run. " ) } else { ctx.err( ": While reusing tagrendering: " + - name + - ": layer " + - layerName + - " not found. Maybe you meant one of " + - candidates.slice(0, 3).join(", "), + name + + ": layer " + + layerName + + " not found. Maybe you meant one of " + + candidates.slice(0, 3).join(", ") ) } continue } candidates = Utils.NoNull(layer.tagRenderings.map((tr) => tr["id"])).map( - (id) => layerName + "." + id, + (id) => layerName + "." + id ) } candidates = Utils.sortedByLevenshteinDistance(name, candidates, (i) => i) ctx.err( "The tagRendering with identifier " + - name + - " was not found.\n\tDid you mean one of " + - candidates.join(", ") + - "?\n(Hint: did you add a new label and are you trying to use this label at the same time? Run 'reset:layeroverview' first", + name + + " was not found.\n\tDid you mean one of " + + candidates.join(", ") + + "?\n(Hint: did you add a new label and are you trying to use this label at the same time? Run 'reset:layeroverview' first" ) continue } diff --git a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts index 513ba803c1..bf3028d65c 100644 --- a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts +++ b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts @@ -1,6 +1,18 @@ -import { Concat, DesugaringContext, DesugaringStep, Each, FirstOf, Fuse, On, SetDefault } from "./Conversion" +import { + Concat, + DesugaringContext, + DesugaringStep, + Each, + FirstOf, + Fuse, + On, + SetDefault, +} from "./Conversion" import { LayerConfigJson } from "../Json/LayerConfigJson" -import { MinimalTagRenderingConfigJson, TagRenderingConfigJson } from "../Json/TagRenderingConfigJson" +import { + MinimalTagRenderingConfigJson, + TagRenderingConfigJson, +} from "../Json/TagRenderingConfigJson" import { Utils } from "../../../Utils" import RewritableConfigJson from "../Json/RewritableConfigJson" import SpecialVisualizations from "../../../UI/SpecialVisualizations" @@ -695,7 +707,7 @@ class PreparePointRendering extends Fuse { constructor(state: DesugaringContext, layer: LayerConfigJson) { super( "Prepares point renderings by expanding 'icon' and 'iconBadges'." + - " A tagRendering from the host tagRenderings will be substituted in", + " A tagRendering from the host tagRenderings will be substituted in", new On( "marker", new Each( @@ -751,19 +763,21 @@ class ExpandMarkerRenderings extends DesugaringStep { } convert(json: IconConfigJson, context: ConversionContext): IconConfigJson { - const expander = new ExpandTagRendering(this._state, this._layer, {applyCondition: false}) + const expander = new ExpandTagRendering(this._state, this._layer, { applyCondition: false }) const result: IconConfigJson = { icon: undefined, color: undefined } if (json.icon && json.icon["builtin"]) { - result.icon = ( - expander.convert(json.icon, context.enter("icon"))[0] - ) ?? json.icon + result.icon = + ( + expander.convert(json.icon, context.enter("icon"))[0] + ) ?? json.icon } else { result.icon = json.icon } if (json.color && json.color["builtin"]) { - result.color = ( - expander.convert(json.color, context.enter("color"))[0] - ) ?? json.color + result.color = + ( + expander.convert(json.color, context.enter("color"))[0] + ) ?? json.color } else { result.color = json.color } @@ -1002,7 +1016,7 @@ export class PrepareLayer extends Fuse { } convert(json: LayerConfigJson, context: ConversionContext): LayerConfigJson { - if(json === undefined || json === null){ + if (json === undefined || json === null) { throw "Error: prepareLayer got null" } return super.convert(json, context) diff --git a/src/Models/ThemeConfig/Conversion/Validation.ts b/src/Models/ThemeConfig/Conversion/Validation.ts index 90d925c972..7b48158fdc 100644 --- a/src/Models/ThemeConfig/Conversion/Validation.ts +++ b/src/Models/ThemeConfig/Conversion/Validation.ts @@ -112,7 +112,7 @@ export class DoesImageExist extends DesugaringStep { if (!this._knownImagePaths.has(image)) { if (this.doesPathExist === undefined || image.indexOf("nsi/logos/") >= 0) { // pass - } else if (!this.doesPathExist(image) ) { + } else if (!this.doesPathExist(image)) { context.err( `Image with path ${image} does not exist.\n Check for typo's and missing directories in the path. ` ) diff --git a/src/Models/ThemeConfig/LayerConfig.ts b/src/Models/ThemeConfig/LayerConfig.ts index d989f82268..072611a31f 100644 --- a/src/Models/ThemeConfig/LayerConfig.ts +++ b/src/Models/ThemeConfig/LayerConfig.ts @@ -78,10 +78,11 @@ export default class LayerConfig extends WithContextLoader { */ private readonly _basedOn: string | undefined - constructor(json: LayerConfigJson, - context?: string, - official: boolean = true, - allLayers?: LayerConfigJson[], + constructor( + json: LayerConfigJson, + context?: string, + official: boolean = true, + allLayers?: LayerConfigJson[] ) { context = context + "." + json?.id const translationContext = "layers:" + json.id @@ -113,7 +114,7 @@ export default class LayerConfig extends WithContextLoader { mercatorCrs: json.source["mercatorCrs"], idKey: json.source["idKey"], }, - json.id, + json.id ) } @@ -133,7 +134,7 @@ export default class LayerConfig extends WithContextLoader { if (json.calculatedTags !== undefined) { if (!official) { console.warn( - `Unofficial theme ${this.id} with custom javascript! This is a security risk`, + `Unofficial theme ${this.id} with custom javascript! This is a security risk` ) } this.calculatedTags = [] @@ -203,7 +204,7 @@ export default class LayerConfig extends WithContextLoader { tags: pr.tags.map((t) => TagUtils.SimpleTag(t)), description: Translations.T( pr.description, - `${translationContext}.presets.${i}.description`, + `${translationContext}.presets.${i}.description` ), preciseInput: preciseInput, exampleImages: pr.exampleImages, @@ -217,7 +218,7 @@ export default class LayerConfig extends WithContextLoader { if (json.lineRendering) { this.lineRendering = Utils.NoNull(json.lineRendering).map( - (r, i) => new LineRenderingConfig(r, `${context}[${i}]`), + (r, i) => new LineRenderingConfig(r, `${context}[${i}]`) ) } else { this.lineRendering = [] @@ -225,7 +226,7 @@ export default class LayerConfig extends WithContextLoader { if (json.pointRendering) { this.mapRendering = Utils.NoNull(json.pointRendering).map( - (r, i) => new PointRenderingConfig(r, `${context}[${i}](${this.id})`), + (r, i) => new PointRenderingConfig(r, `${context}[${i}](${this.id})`) ) } else { this.mapRendering = [] @@ -237,7 +238,7 @@ export default class LayerConfig extends WithContextLoader { r.location.has("centroid") || r.location.has("projected_centerpoint") || r.location.has("start") || - r.location.has("end"), + r.location.has("end") ) if ( @@ -259,7 +260,7 @@ export default class LayerConfig extends WithContextLoader { Constants.priviliged_layers.indexOf(this.id) < 0 && this.source !== null /*library layer*/ && !this.source?.geojsonSource?.startsWith( - "https://api.openstreetmap.org/api/0.6/notes.json", + "https://api.openstreetmap.org/api/0.6/notes.json" ) ) { throw ( @@ -278,7 +279,7 @@ export default class LayerConfig extends WithContextLoader { typeof tr !== "string" && tr["builtin"] === undefined && tr["id"] === undefined && - tr["rewrite"] === undefined, + tr["rewrite"] === undefined ) ?? [] if (missingIds?.length > 0 && official) { console.error("Some tagRenderings of", this.id, "are missing an id:", missingIds) @@ -289,8 +290,8 @@ export default class LayerConfig extends WithContextLoader { (tr, i) => new TagRenderingConfig( tr, - this.id + ".tagRenderings[" + i + "]", - ), + this.id + ".tagRenderings[" + i + "]" + ) ) if (json.units !== undefined && !Array.isArray(json.units)) { throw ( @@ -300,19 +301,15 @@ export default class LayerConfig extends WithContextLoader { ) } this.units = (json.units ?? []).flatMap((unitJson, i) => - Unit.fromJson(unitJson, this.tagRenderings, `${context}.unit[${i}]`), + Unit.fromJson(unitJson, this.tagRenderings, `${context}.unit[${i}]`) ) { let filter = json.filter - while ( - filter !== undefined && - filter !== null && - filter["sameAs"] !== undefined - ) { + while (filter !== undefined && filter !== null && filter["sameAs"] !== undefined) { const targetLayerName = filter["sameAs"] this.filterIsSameAs = targetLayerName - const targetLayer = allLayers?.find(l => l.id === targetLayerName) + const targetLayer = allLayers?.find((l) => l.id === targetLayerName) if (allLayers && !targetLayer) { throw "Target layer " + targetLayerName + " not found in this theme" } @@ -373,7 +370,7 @@ export default class LayerConfig extends WithContextLoader { } this.popupInFloatover = json.popupInFloatover ?? false this.baseTags = TagUtils.changeAsProperties( - this.source?.osmTags?.asChange({ id: "node/-1" }) ?? [{ k: "id", v: "node/-1" }], + this.source?.osmTags?.asChange({ id: "node/-1" }) ?? [{ k: "id", v: "node/-1" }] ) } @@ -393,7 +390,7 @@ export default class LayerConfig extends WithContextLoader { neededLayer: string }[] = [], addedByDefault = false, - canBeIncluded = true, + canBeIncluded = true ): string { const extraProps: string[] = [] extraProps.push("This layer is shown at zoomlevel **" + this.minzoom + "** and higher") @@ -401,32 +398,32 @@ export default class LayerConfig extends WithContextLoader { if (canBeIncluded) { if (addedByDefault) { extraProps.push( - "**This layer is included automatically in every theme. This layer might contain no points**", + "**This layer is included automatically in every theme. This layer might contain no points**" ) } if (this.shownByDefault === false) { extraProps.push( - "This layer is not visible by default and must be enabled in the filter by the user. ", + "This layer is not visible by default and must be enabled in the filter by the user. " ) } if (this.title === undefined) { extraProps.push( - "Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable.", + "Elements don't have a title set and cannot be toggled nor will they show up in the dashboard. If you import this layer in your theme, override `title` to make this toggleable." ) } if (this.name === undefined && this.shownByDefault === false) { extraProps.push( - "This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-=true", + "This layer is not visible by default and the visibility cannot be toggled, effectively resulting in a fully hidden layer. This can be useful, e.g. to calculate some metatags. If you want to render this layer (e.g. for debugging), enable it by setting the URL-parameter layer-=true" ) } if (this.name === undefined) { extraProps.push( - "Not visible in the layer selection by default. If you want to make this layer toggable, override `name`", + "Not visible in the layer selection by default. If you want to make this layer toggable, override `name`" ) } if (this.mapRendering.length === 0) { extraProps.push( - "Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`", + "Not rendered on the map by default. If you want to rendering this on the map, override `mapRenderings`" ) } @@ -436,12 +433,12 @@ export default class LayerConfig extends WithContextLoader { "", "This layer is loaded from an external source, namely ", "`" + this.source.geojsonSource + "`", - ].join("\n\n"), + ].join("\n\n") ) } } else { extraProps.push( - "This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data.", + "This layer can **not** be included in a theme. It is solely used by [special renderings](SpecialRenderings.md) showing a minimap with custom data." ) } @@ -451,7 +448,7 @@ export default class LayerConfig extends WithContextLoader { usingLayer = [ "## Themes using this layer", MarkdownUtils.list( - (usedInThemes ?? []).map((id) => `[${id}](https://mapcomplete.org/${id})`), + (usedInThemes ?? []).map((id) => `[${id}](https://mapcomplete.org/${id})`) ), ] } else if (this.source !== null) { @@ -467,7 +464,7 @@ export default class LayerConfig extends WithContextLoader { " into the layout as it depends on it: ", dep.reason, "(" + dep.context + ")", - ].join(" "), + ].join(" ") ) } @@ -494,7 +491,7 @@ export default class LayerConfig extends WithContextLoader { new And(preset.tags).asHumanString(true) + snaps ) - }), + }) ), ] } @@ -502,8 +499,8 @@ export default class LayerConfig extends WithContextLoader { for (const revDep of Utils.Dedup(layerIsNeededBy?.get(this.id) ?? [])) { extraProps.push( ["This layer is needed as dependency for layer", `[${revDep}](#${revDep})`].join( - " ", - ), + " " + ) ) } @@ -514,10 +511,10 @@ export default class LayerConfig extends WithContextLoader { .filter((values) => values.key !== "id") .map((values) => { const embedded: string[] = values.values?.map((v) => - Link.OsmWiki(values.key, v, true).SetClass("mr-2").AsMarkdown(), + Link.OsmWiki(values.key, v, true).SetClass("mr-2").AsMarkdown() ) ?? ["_no preset options defined, or no values in them_"] const statistics = `https://taghistory.raifer.tech/?#***/${encodeURIComponent( - values.key, + values.key )}/` const tagInfo = `https://taginfo.openstreetmap.org/keys/${values.key}#values` return [ @@ -532,7 +529,7 @@ export default class LayerConfig extends WithContextLoader { : `[${values.type}](../SpecialInputElements.md#${values.type})`, embedded.join(" "), ] - }), + }) ) let quickOverview: string[] = [] @@ -542,7 +539,7 @@ export default class LayerConfig extends WithContextLoader { "this quick overview is incomplete", MarkdownUtils.table( ["attribute", "type", "values which are supported by this layer"], - tableRows, + tableRows ), ] } @@ -576,19 +573,19 @@ export default class LayerConfig extends WithContextLoader { const parts = neededTags["and"] tagsDescription.push( "Elements must match **all** of the following expressions:", - parts.map((p, i) => i + ". " + p.asHumanString(true, false, {})).join("\n"), + parts.map((p, i) => i + ". " + p.asHumanString(true, false, {})).join("\n") ) } else if (neededTags["or"]) { const parts = neededTags["or"] tagsDescription.push( "Elements must match **any** of the following expressions:", - parts.map((p) => " - " + p.asHumanString(true, false, {})).join("\n"), + parts.map((p) => " - " + p.asHumanString(true, false, {})).join("\n") ) } else { tagsDescription.push( "Elements must match the expression **" + - neededTags.asHumanString(true, false, {}) + - "**", + neededTags.asHumanString(true, false, {}) + + "**" ) } diff --git a/src/Models/ThemeConfig/ThemeConfig.ts b/src/Models/ThemeConfig/ThemeConfig.ts index 5ef592c7fa..169870fbc7 100644 --- a/src/Models/ThemeConfig/ThemeConfig.ts +++ b/src/Models/ThemeConfig/ThemeConfig.ts @@ -99,7 +99,7 @@ export default class ThemeConfig implements ThemeInformation { options?: { definedAtUrl?: string definitionRaw?: string - }, + } ) { if (json === undefined) { throw "Cannot construct a layout config, the parameter 'json' is undefined" @@ -130,7 +130,7 @@ export default class ThemeConfig implements ThemeInformation { throw `The title of a theme should always be a translation, as it sets the corresponding languages (${context}.title). The themenID is ${ this.id }; the offending object is ${JSON.stringify( - json.title, + json.title )} which is a ${typeof json.title})` } if (this.language.length == 0) { @@ -184,8 +184,8 @@ export default class ThemeConfig implements ThemeInformation { lyrJson, json.id + ".layers." + lyrJson["id"], official, - json.layers, - ), + json.layers + ) ) this.extraLink = new ExtraLinkConfig( @@ -195,7 +195,7 @@ export default class ThemeConfig implements ThemeInformation { newTab: true, requirements: ["iframe", "no-welcome-message"], }, - context + ".extraLink", + context + ".extraLink" ) this.hideFromOverview = json.hideFromOverview ?? false @@ -301,7 +301,7 @@ export default class ThemeConfig implements ThemeInformation { return false } return o instanceof Translation - }, + } ) return { untranslated, total } @@ -309,7 +309,7 @@ export default class ThemeConfig implements ThemeInformation { public getMatchingLayer( tags: Record, - blacklistLayers?: Set, + blacklistLayers?: Set ): LayerConfig | undefined { if (tags === undefined) { return undefined @@ -338,7 +338,7 @@ export default class ThemeConfig implements ThemeInformation { "Fallthrough: could not find the appropriate layer for an object with tags", tags, "within layout", - this, + this ) return undefined } diff --git a/src/UI/Base/DelayedComponent.svelte b/src/UI/Base/DelayedComponent.svelte index 2f807eb571..bcecba319d 100644 --- a/src/UI/Base/DelayedComponent.svelte +++ b/src/UI/Base/DelayedComponent.svelte @@ -13,9 +13,8 @@ }) - {#if timeoutReached} -{:else } - +{:else} + {/if} diff --git a/src/UI/BigComponents/ThemeIntroPanel.svelte b/src/UI/BigComponents/ThemeIntroPanel.svelte index bc6af229ef..c9f410df92 100644 --- a/src/UI/BigComponents/ThemeIntroPanel.svelte +++ b/src/UI/BigComponents/ThemeIntroPanel.svelte @@ -57,11 +57,17 @@ {#if !theme.official}
- - -
+ + {/if} - {/if} diff --git a/src/UI/Popup/Title.svelte b/src/UI/Popup/Title.svelte index 7e25f7b19d..cd586ee3f6 100644 --- a/src/UI/Popup/Title.svelte +++ b/src/UI/Popup/Title.svelte @@ -16,7 +16,7 @@ export let feature: Feature let theme = state.theme - let title = tags.mapD(tags => layer?.title?.GetRenderValue(tags)) + let title = tags.mapD((tags) => layer?.title?.GetRenderValue(tags)) {#if theme === undefined} diff --git a/src/UI/Reviews/ReviewForm.svelte b/src/UI/Reviews/ReviewForm.svelte index becfa9bc84..71cfb27ac3 100644 --- a/src/UI/Reviews/ReviewForm.svelte +++ b/src/UI/Reviews/ReviewForm.svelte @@ -71,6 +71,7 @@ _state = "done" } + {#if uploadFailed}
diff --git a/src/UI/SpecialVisualizations.ts b/src/UI/SpecialVisualizations.ts index ad9f864c4b..d03b865972 100644 --- a/src/UI/SpecialVisualizations.ts +++ b/src/UI/SpecialVisualizations.ts @@ -3,7 +3,11 @@ import { FixedUiElement } from "./Base/FixedUiElement" import BaseUIElement from "./BaseUIElement" import Title from "./Base/Title" import { default as FeatureTitle } from "./Popup/Title.svelte" -import { RenderingSpecification, SpecialVisualization, SpecialVisualizationState } from "./SpecialVisualization" +import { + RenderingSpecification, + SpecialVisualization, + SpecialVisualizationState, +} from "./SpecialVisualization" import { HistogramViz } from "./Popup/HistogramViz" import MinimapViz from "./Popup/MinimapViz.svelte" import { ShareLinkViz } from "./Popup/ShareLinkViz" @@ -122,7 +126,7 @@ class NearbyImageVis implements SpecialVisualization { tags: UIEventSource>, args: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): SvelteUIElement { const isOpen = args[0] === "open" const readonly = args[1] === "readonly" || args[1] === "yes" @@ -189,7 +193,7 @@ class StealViz implements SpecialVisualization { selectedElement: otherFeature, state, layer, - }), + }) ) } if (elements.length === 1) { @@ -197,8 +201,8 @@ class StealViz implements SpecialVisualization { } return new Combine(elements).SetClass("flex flex-col") }, - [state.indexedFeatures.featuresById], - ), + [state.indexedFeatures.featuresById] + ) ) } @@ -250,11 +254,11 @@ class CloseNoteViz implements SpecialVisualization { public constr( state: SpecialVisualizationState, tags: UIEventSource>, - args: string[], + args: string[] ): SvelteUIElement { const { text, icon, idkey, comment, minZoom, zoomButton } = Utils.ParseVisArgs( this.args, - args, + args ) return new SvelteUIElement(CloseNoteButton, { @@ -295,7 +299,7 @@ export class QuestionViz implements SpecialVisualization { tags: UIEventSource>, args: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): SvelteUIElement { const labels = args[0] ?.split(";") @@ -327,7 +331,7 @@ export default class SpecialVisualizations { for (const specialVisualization of SpecialVisualizations.specialVisualizations) { SpecialVisualizations.specialVisualisationsDict.set( specialVisualization.funcName, - specialVisualization, + specialVisualization ) } } @@ -347,15 +351,15 @@ export default class SpecialVisualizations { viz.docs, viz.args.length > 0 ? MarkdownUtils.table( - ["name", "default", "description"], - viz.args.map((arg) => { - let defaultArg = arg.defaultValue ?? "_undefined_" - if (defaultArg == "") { - defaultArg = "_empty string_" - } - return [arg.name, defaultArg, arg.doc] - }), - ) + ["name", "default", "description"], + viz.args.map((arg) => { + let defaultArg = arg.defaultValue ?? "_undefined_" + if (defaultArg == "") { + defaultArg = "_empty string_" + } + return [arg.name, defaultArg, arg.doc] + }) + ) : undefined, "#### Example usage of " + viz.funcName, "" + example + "", @@ -364,18 +368,18 @@ export default class SpecialVisualizations { public static constructSpecification( template: string, - extraMappings: SpecialVisualization[] = [], + extraMappings: SpecialVisualization[] = [] ): RenderingSpecification[] { return SpecialVisualisationUtils.constructSpecification( template, SpecialVisualizations.specialVisualisationsDict, - extraMappings, + extraMappings ) } public static HelpMessage(): string { const helpTexts: string[] = SpecialVisualizations.specialVisualizations.map((viz) => - SpecialVisualizations.DocumentationFor(viz), + SpecialVisualizations.DocumentationFor(viz) ) const firstPart = new Combine([ @@ -408,10 +412,10 @@ export default class SpecialVisualizations { }, }, null, - " ", - ), + " " + ) ).SetClass("code"), - "In other words: use `{ \"before\": ..., \"after\": ..., \"special\": {\"type\": ..., \"argname\": ...argvalue...}`. The args are in the `special` block; an argvalue can be a string, a translation or another value. (Refer to class `RewriteSpecial` in case of problems)", + 'In other words: use `{ "before": ..., "after": ..., "special": {"type": ..., "argname": ...argvalue...}`. The args are in the `special` block; an argvalue can be a string, a translation or another value. (Refer to class `RewriteSpecial` in case of problems)', ]) .SetClass("flex flex-col") .AsMarkdown() @@ -449,10 +453,10 @@ export default class SpecialVisualizations { assignTo: state.userRelatedState.language, availableLanguages: languages, preferredLanguages: state.osmConnection.userDetails.map( - (ud) => ud.languages, + (ud) => ud.languages ), }) - }), + }) ) }, }, @@ -491,7 +495,7 @@ export default class SpecialVisualizations { state: SpecialVisualizationState, tagSource: UIEventSource>, args: string[], - feature: Feature, + feature: Feature ): SvelteUIElement { return new SvelteUIElement(MinimapViz, { state, args, feature, tagSource }) }, @@ -503,7 +507,7 @@ export default class SpecialVisualizations { constr( state: SpecialVisualizationState, - tagSource: UIEventSource>, + tagSource: UIEventSource> ): BaseUIElement { return new VariableUiElement( tagSource @@ -513,7 +517,7 @@ export default class SpecialVisualizations { return new SvelteUIElement(SplitRoadWizard, { id, state }) } return undefined - }), + }) ) }, }, @@ -527,7 +531,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { if (feature.geometry.type !== "Point") { return undefined @@ -550,7 +554,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { if (!layer.deletion) { return undefined @@ -576,7 +580,7 @@ export default class SpecialVisualizations { tags: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ) { if (feature.geometry.type !== "LineString") { return undefined @@ -608,7 +612,7 @@ export default class SpecialVisualizations { state: SpecialVisualizationState, tagSource: UIEventSource>, argument: string[], - feature: Feature, + feature: Feature ): BaseUIElement { const [lon, lat] = GeoOperations.centerpointCoordinates(feature) return new SvelteUIElement(CreateNewNote, { @@ -671,7 +675,7 @@ export default class SpecialVisualizations { .map((tags) => tags[args[0]]) .map((wikidata) => { wikidata = Utils.NoEmpty( - wikidata?.split(";")?.map((wd) => wd.trim()) ?? [], + wikidata?.split(";")?.map((wd) => wd.trim()) ?? [] )[0] const entry = Wikidata.LoadWikidataEntry(wikidata) return new VariableUiElement( @@ -681,9 +685,9 @@ export default class SpecialVisualizations { } const response = e["success"] return Translation.fromMap(response.labels) - }), + }) ) - }), + }) ), }, new MapillaryLinkVis(), @@ -697,7 +701,7 @@ export default class SpecialVisualizations { tags: UIEventSource>, _, __, - layer: LayerConfig, + layer: LayerConfig ) => new SvelteUIElement(AllTagsPanel, { tags, layer }), }, { @@ -781,7 +785,7 @@ export default class SpecialVisualizations { nameKey: nameKey, fallbackName, }, - state.featureSwitchIsTesting, + state.featureSwitchIsTesting ) return new SvelteUIElement(StarsBarIcon, { score: reviews.average, @@ -820,9 +824,16 @@ export default class SpecialVisualizations { nameKey: nameKey, fallbackName, }, - state.featureSwitchIsTesting, + state.featureSwitchIsTesting ) - return new SvelteUIElement(ReviewForm, { reviews, state, tags, feature, layer, question }) + return new SvelteUIElement(ReviewForm, { + reviews, + state, + tags, + feature, + layer, + question, + }) }, }, { @@ -851,7 +862,7 @@ export default class SpecialVisualizations { nameKey: nameKey, fallbackName, }, - state.featureSwitchIsTesting, + state.featureSwitchIsTesting ) return new SvelteUIElement(AllReviews, { reviews, state, tags, feature, layer }) }, @@ -881,23 +892,15 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, args: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { return new Combine([ - SpecialVisualizations.specialVisualisationsDict.get("create_review").constr( - state, - tagSource, - args, - feature, - layer, - ), - SpecialVisualizations.specialVisualisationsDict.get("list_reviews").constr( - state, - tagSource, - args, - feature, - layer, - ), + SpecialVisualizations.specialVisualisationsDict + .get("create_review") + .constr(state, tagSource, args, feature, layer), + SpecialVisualizations.specialVisualisationsDict + .get("list_reviews") + .constr(state, tagSource, args, feature, layer), ]) }, }, @@ -914,7 +917,7 @@ export default class SpecialVisualizations { constr( state: SpecialVisualizationState, _: UIEventSource>, - argument: string[], + argument: string[] ): BaseUIElement { const [text] = argument return new SvelteUIElement(ImportReviewIdentity, { state, text }) @@ -971,7 +974,7 @@ export default class SpecialVisualizations { constr( state: SpecialVisualizationState, tags: UIEventSource>, - args: string[], + args: string[] ): SvelteUIElement { const keyToUse = args[0] const prefix = args[1] @@ -1008,17 +1011,17 @@ export default class SpecialVisualizations { return undefined } const allUnits: Unit[] = [].concat( - ...(state?.theme?.layers?.map((lyr) => lyr.units) ?? []), + ...(state?.theme?.layers?.map((lyr) => lyr.units) ?? []) ) const unit = allUnits.filter((unit) => - unit.isApplicableToKey(key), + unit.isApplicableToKey(key) )[0] if (unit === undefined) { return value } const getCountry = () => tagSource.data._country return unit.asHumanLongValue(value, getCountry) - }), + }) ) }, }, @@ -1072,7 +1075,7 @@ export default class SpecialVisualizations { constr: (state) => { return new SubtleButton( new SvelteUIElement(Trash), - Translations.t.general.removeLocationHistory, + Translations.t.general.removeLocationHistory ).onClick(() => { state.historicalUserLocations.features.setData([]) state.selectedElement.setData(undefined) @@ -1113,10 +1116,10 @@ export default class SpecialVisualizations { new SvelteUIElement(NoteCommentElement, { comment, state, - }), - ), + }) + ) ).SetClass("flex flex-col") - }), + }) ), }, { @@ -1149,7 +1152,7 @@ export default class SpecialVisualizations { tags: UIEventSource>, _: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ) => { return new SvelteUIElement(FeatureTitle, { state, tags, feature, layer }) }, @@ -1167,8 +1170,8 @@ export default class SpecialVisualizations { const challenge = Stores.FromPromise( Utils.downloadJsonCached( `${Maproulette.defaultEndpoint}/challenge/${parentId}`, - 24 * 60 * 60 * 1000, - ), + 24 * 60 * 60 * 1000 + ) ) return new VariableUiElement( @@ -1193,7 +1196,7 @@ export default class SpecialVisualizations { } else { return [title, new List(listItems)] } - }), + }) ) }, docs: "Fetches the metadata of MapRoulette campaign that this task is part of and shows those details (namely `title`, `description` and `instruction`).\n\nThis reads the property `mr_challengeId` to detect the parent campaign.", @@ -1207,15 +1210,15 @@ export default class SpecialVisualizations { "\n" + "```json\n" + "{\n" + - " \"id\": \"mark_duplicate\",\n" + - " \"render\": {\n" + - " \"special\": {\n" + - " \"type\": \"maproulette_set_status\",\n" + - " \"message\": {\n" + - " \"en\": \"Mark as not found or false positive\"\n" + + ' "id": "mark_duplicate",\n' + + ' "render": {\n' + + ' "special": {\n' + + ' "type": "maproulette_set_status",\n' + + ' "message": {\n' + + ' "en": "Mark as not found or false positive"\n' + " },\n" + - " \"status\": \"2\",\n" + - " \"image\": \"close\"\n" + + ' "status": "2",\n' + + ' "image": "close"\n' + " }\n" + " }\n" + "}\n" + @@ -1291,7 +1294,7 @@ export default class SpecialVisualizations { (l) => l.name !== null && l.title && - state.perLayer.get(l.id) !== undefined, + state.perLayer.get(l.id) !== undefined ) .map( (l) => { @@ -1301,8 +1304,8 @@ export default class SpecialVisualizations { const fsBboxed = new BBoxFeatureSourceForLayer(fs, bbox) return new StatisticsPanel(fsBboxed) }, - [state.mapProperties.bounds], - ), + [state.mapProperties.bounds] + ) ) }, }, @@ -1372,7 +1375,7 @@ export default class SpecialVisualizations { constr( state: SpecialVisualizationState, tagSource: UIEventSource>, - args: string[], + args: string[] ): SvelteUIElement { let [text, href, classnames, download, ariaLabel, icon] = args if (download === "") { @@ -1410,7 +1413,7 @@ export default class SpecialVisualizations { }, }, null, - " ", + " " ) + "\n```", args: [ @@ -1434,7 +1437,7 @@ export default class SpecialVisualizations { featureTags: UIEventSource>, args: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ) { const [key, tr, classesRaw] = args let classes = classesRaw ?? "" @@ -1452,7 +1455,7 @@ export default class SpecialVisualizations { "Could not create a special visualization for multi(", args.join(", ") + ")", "no properties found for object", - feature.properties.id, + feature.properties.id ) return undefined } @@ -1469,7 +1472,7 @@ export default class SpecialVisualizations { elements.push(subsTr) } return elements - }), + }) ) }, }, @@ -1489,7 +1492,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { return new VariableUiElement( tagSource.map((tags) => { @@ -1501,7 +1504,7 @@ export default class SpecialVisualizations { console.error("Cannot create a translation for", v, "due to", e) return JSON.stringify(v) } - }), + }) ) }, }, @@ -1521,7 +1524,7 @@ export default class SpecialVisualizations { tags: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const key = argument[0] return new SvelteUIElement(FediverseLink, { key, tags, state }) @@ -1543,7 +1546,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, args: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { return new FixedUiElement("{" + args[0] + "}") }, @@ -1564,7 +1567,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const key = argument[0] ?? "value" return new VariableUiElement( @@ -1582,12 +1585,12 @@ export default class SpecialVisualizations { } catch (e) { return new FixedUiElement( "Could not parse this tag: " + - JSON.stringify(value) + - " due to " + - e, + JSON.stringify(value) + + " due to " + + e ).SetClass("alert") } - }), + }) ) }, }, @@ -1608,7 +1611,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const giggityUrl = argument[0] return new SvelteUIElement(Giggity, { tags: tagSource, state, giggityUrl }) @@ -1624,12 +1627,12 @@ export default class SpecialVisualizations { _: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const tags = (( state )).geolocation.currentUserLocation.features.map( - (features) => features[0]?.properties, + (features) => features[0]?.properties ) return new Combine([ new SvelteUIElement(OrientationDebugPanel, {}), @@ -1651,7 +1654,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { return new SvelteUIElement(MarkAsFavourite, { tags: tagSource, @@ -1671,7 +1674,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { return new SvelteUIElement(MarkAsFavouriteMini, { tags: tagSource, @@ -1691,7 +1694,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { return new SvelteUIElement(DirectionIndicator, { state, feature }) }, @@ -1704,7 +1707,7 @@ export default class SpecialVisualizations { state: SpecialVisualizationState, tags: UIEventSource>, argument: string[], - feature: Feature, + feature: Feature ): SvelteUIElement { return new SvelteUIElement(QrCode, { state, tags, feature }) }, @@ -1723,7 +1726,7 @@ export default class SpecialVisualizations { constr( state: SpecialVisualizationState, tagSource: UIEventSource>, - args: string[], + args: string[] ): BaseUIElement { const key = args[0] === "" ? "_direction:centerpoint" : args[0] return new VariableUiElement( @@ -1734,11 +1737,11 @@ export default class SpecialVisualizations { }) .mapD((value) => { const dir = GeoOperations.bearingToHuman( - GeoOperations.parseBearing(value), + GeoOperations.parseBearing(value) ) console.log("Human dir", dir) return Translations.t.general.visualFeedback.directionsAbsolute[dir] - }), + }) ) }, }, @@ -1768,7 +1771,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, args: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const url = args[0] const readonly = args[3] === "yes" @@ -1794,12 +1797,12 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, args: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { return new Toggle( undefined, new SvelteUIElement(LoginButton, { osmConnection: state.osmConnection }), - state.osmConnection.isLoggedIn, + state.osmConnection.isLoggedIn ) }, }, @@ -1837,7 +1840,7 @@ export default class SpecialVisualizations { tags: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const key = argument[0] ?? "website" const useProxy = argument[1] !== "no" @@ -1845,7 +1848,7 @@ export default class SpecialVisualizations { const isClosed = (argument[4] ?? "yes") === "yes" const countryStore: Store = tags.mapD( - (tags) => tags._country, + (tags) => tags._country ) const sourceUrl: Store = tags.mapD((tags) => { if (!tags[key] || tags[key] === "undefined") { @@ -1867,24 +1870,24 @@ export default class SpecialVisualizations { const features = await LinkedDataLoader.fetchVeloparkEntry( url, - loadAll, + loadAll ) const feature = features.find( - (f) => f.properties["ref:velopark"] === url, + (f) => f.properties["ref:velopark"] === url ) ?? features[0] const properties = feature.properties properties["ref:velopark"] = url console.log( "Got properties from velopark:", - properties, + properties ) return properties } catch (e) { console.error(e) throw e } - })(), + })() ) } if (country === undefined) { @@ -1896,29 +1899,29 @@ export default class SpecialVisualizations { return await LinkedDataLoader.fetchJsonLd( url, { country }, - useProxy ? "proxy" : "fetch-lod", + useProxy ? "proxy" : "fetch-lod" ) } catch (e) { console.log( "Could not get with proxy/download LOD, attempting to download directly. Error for ", url, "is", - e, + e ) return await LinkedDataLoader.fetchJsonLd( url, { country }, - "fetch-raw", + "fetch-raw" ) } - })(), + })() ) }, - [countryStore], + [countryStore] ) externalData.addCallbackAndRunD((lod) => - console.log("linked_data_from_website received the following data:", lod), + console.log("linked_data_from_website received the following data:", lod) ) return new Toggle( @@ -1933,7 +1936,7 @@ export default class SpecialVisualizations { collapsed: isClosed, }), undefined, - sourceUrl.map((url) => !!url), + sourceUrl.map((url) => !!url) ) }, }, @@ -1953,7 +1956,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const text = argument[0] const cssClasses = argument[1] @@ -1975,7 +1978,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const translation = tagSource.map((tags) => { const layer = state.theme.getMatchingLayer(tags) @@ -2007,7 +2010,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): SvelteUIElement { return new SvelteUIElement(ClearCaches, { msg: argument[0] ?? "Clear local caches", @@ -2032,7 +2035,7 @@ export default class SpecialVisualizations { tags: UIEventSource>, argument: string[], selectedElement: Feature, - layer: LayerConfig, + layer: LayerConfig ): SvelteUIElement { const [header, labelsStr] = argument const labels = labelsStr.split(";").map((x) => x.trim()) @@ -2055,7 +2058,7 @@ export default class SpecialVisualizations { tags: UIEventSource>, argument: string[], selectedElement: Feature, - layer: LayerConfig, + layer: LayerConfig ): SvelteUIElement { const t = Translations.t.preset_type const question: QuestionableTagRenderingConfigJson = { @@ -2095,7 +2098,7 @@ export default class SpecialVisualizations { tagSource: UIEventSource>, argument: string[], feature: Feature, - layer: LayerConfig, + layer: LayerConfig ): BaseUIElement { const text = argument[0] return new SubtleButton(undefined, text).onClick(() => { @@ -2126,7 +2129,7 @@ export default class SpecialVisualizations { "Invalid special visualisation found: funcName is undefined or doesn't match " + regex + invalid.map((sp) => sp.i).join(", ") + - ". Did you perhaps type \n funcName: \"funcname\" // type declaration uses COLON\ninstead of:\n funcName = \"funcName\" // value definition uses EQUAL" + '. Did you perhaps type \n funcName: "funcname" // type declaration uses COLON\ninstead of:\n funcName = "funcName" // value definition uses EQUAL' ) } diff --git a/src/assets/contributors.json b/src/assets/contributors.json index c0f572ccc1..8bde458853 100644 --- a/src/assets/contributors.json +++ b/src/assets/contributors.json @@ -1,11 +1,11 @@ { "contributors": [ { - "commits": 8826, + "commits": 8870, "contributor": "Pieter Vander Vennet" }, { - "commits": 506, + "commits": 514, "contributor": "Robin van der Linde" }, { @@ -152,6 +152,10 @@ "commits": 6, "contributor": "David Haberthür" }, + { + "commits": 5, + "contributor": "tiptoptom" + }, { "commits": 4, "contributor": "Languages add-on" @@ -168,6 +172,10 @@ "commits": 4, "contributor": "Ward Beyens" }, + { + "commits": 3, + "contributor": "Hufkratzer" + }, { "commits": 3, "contributor": "Thierry1030" @@ -180,6 +188,10 @@ "commits": 3, "contributor": "Léo Villeveygoux" }, + { + "commits": 2, + "contributor": "Samu__" + }, { "commits": 2, "contributor": "Jens Köcke" @@ -196,10 +208,6 @@ "commits": 2, "contributor": "Robbert Gurdeep Singh" }, - { - "commits": 2, - "contributor": "tiptoptom" - }, { "commits": 2, "contributor": "Niklas Vogel" diff --git a/src/assets/language_native.json b/src/assets/language_native.json index 6b68b4224c..2a74936e2d 100644 --- a/src/assets/language_native.json +++ b/src/assets/language_native.json @@ -1,6 +1,5 @@ { "ca": "català", - "cs": "čeština", "da": "dansk", "de": "Deutsch", "en": "English", @@ -25,6 +24,7 @@ "sl": "slovenščina", "sv": "svenska", "uk": "українська мова", + "zgh": "ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ ⵜⴰⵎⵖⵔⵉⴱⵉⵜ", "zh_Hans": "简体中文", "zh_Hant": "繁體中文" } \ No newline at end of file diff --git a/src/assets/language_translations.json b/src/assets/language_translations.json index 4766d6ac4d..1586b66017 100644 --- a/src/assets/language_translations.json +++ b/src/assets/language_translations.json @@ -1,18 +1,18 @@ { "aa": { - "ca": "llengua àfar", + "ca": "àfar", "cs": "afarština", "de": "Afar", "en": "Afar", "eo": "afara lingvo", "es": "idioma afar", "eu": "Afarrera", - "fi": "afarin kieli", + "fi": "afar", "fr": "afar", "gl": "Lingua afar", "he": "עפרית", "hu": "afar", - "id": "Bahasa Afar", + "id": "Afar", "it": "afar", "ja": "アファル語", "ko": "아파르어", @@ -22,8 +22,11 @@ "pt": "Língua afar", "pt_BR": "língua afar", "ru": "афарский язык", + "sl": "afarščina", "sv": "afar", "uk": "афар", + "zh_Hans": "阿法尔语", + "zh_Hant": "阿法爾語", "_meta": { "dir": [ "left-to-right" @@ -44,7 +47,7 @@ "gl": "Lingua abkhaza", "he": "אבחזית", "hu": "abház", - "id": "Bahasa Abkhaz", + "id": "Abkhaz", "it": "abcaso", "ja": "アブハズ語", "ko": "압하지야어", @@ -54,7 +57,7 @@ "pt": "Língua abecásia", "pt_BR": "Língua abecásia", "ru": "абхазский язык", - "sl": "Abhaščina", + "sl": "abhazijščina", "sv": "abchaziska", "uk": "абхазька мова", "zh_Hans": "阿布哈兹语", @@ -77,12 +80,12 @@ "eo": "abaza lingvo", "es": "abaza", "eu": "abazera", - "fi": "Abazan kieli", + "fi": "abaza", "fr": "abaza", "gl": "Lingua abaza", "he": "אבזית", "hu": "abaza", - "id": "Bahasa Abaza", + "id": "Abaza", "it": "lingua abazina", "ja": "アバザ語", "ko": "아바자어", @@ -92,6 +95,7 @@ "pt": "Língua abaza", "pt_BR": "Língua abaza", "ru": "абазинский язык", + "sl": "abazinščina", "sv": "abazinska", "uk": "абазинська мова", "zh_Hans": "阿巴扎语", @@ -102,6 +106,39 @@ ] } }, + "ace": { + "ca": "atjeh", + "cs": "acehština", + "de": "Achinesisch", + "en": "Acehnese", + "eo": "aĉea lingvo", + "es": "idioma achenés", + "fi": "atšehin kieli", + "fr": "aceh", + "gl": "Lingua achinesa", + "he": "אצ'הית", + "hu": "aceh", + "id": "bahasa Aceh", + "it": "aceh", + "ja": "アチェ語", + "ko": "아체어", + "nl": "Atjehs", + "pl": "Język aceh", + "pt": "Língua achém", + "pt_BR": "língua achém", + "ru": "ачехский язык", + "sl": "aceščina", + "sv": "acehnesiska", + "uk": "Ачеська мова", + "zh_Hans": "亚齐语", + "zh_Hant": "亞齊語", + "_meta": { + "dir": [ + "left-to-right", + "right-to-left" + ] + } + }, "acm": { "ca": "àrab mesopotàmic", "de": "Irakisch-Arabisch", @@ -109,6 +146,7 @@ "eo": "Mezopotamia araba dialekto", "es": "árabe mesopotámico", "fr": "arabe mésopotamien", + "he": "ערבית עיראקית", "id": "Bahasa Arab Mesopotamia", "ja": "アラビア語イラク方言", "ko": "이라크 아랍어", @@ -119,7 +157,8 @@ "ru": "иракский диалект арабского языка", "sl": "mezopotamska arabščina", "sv": "irakisk arabiska", - "uk": "Месопотамська арабська мова", + "uk": "месопотамська арабська мова", + "zh_Hant": "美索不達米亞阿拉伯語", "_meta": { "dir": [ "right-to-left" @@ -128,6 +167,7 @@ }, "adx": { "en": "Amdo Tibetan", + "fi": "ambo", "fr": "tibétain de l'Amdo", "hu": "amdói tibeti", "ja": "アムド・チベット語", @@ -150,12 +190,12 @@ "eo": "adigea lingvo", "es": "adigués", "eu": "adigera", - "fi": "adygen kieli", + "fi": "adyge", "fr": "adyguéen", "gl": "Lingua adigue", "he": "אדיגית", "hu": "adigei", - "id": "bahasa Adyghe", + "id": "Adyghe", "it": "adighè", "ja": "アディゲ語", "ko": "아디게어", @@ -176,39 +216,6 @@ ] } }, - "aeb": { - "ca": "àrab tunisià", - "cs": "tuniština", - "da": "Tunesisk arabisk", - "de": "Tunesisch-Arabisch", - "en": "Tunisian Arabic", - "eo": "tunizia araba lingvo", - "es": "árabe tunecino", - "fi": "tunisianarabia", - "fr": "arabe tunisien", - "he": "ערבית תוניסאית", - "id": "Bahasa Arab Tunisia", - "it": "arabo tunisino", - "ja": "アラビア語チュニジア方言", - "ko": "튀니지 아랍어", - "nb_NO": "tunisisk arabisk", - "nl": "Tunesisch-Arabisch", - "pl": "tunezyjski", - "pt": "árabe tunisino", - "pt_BR": "Árabe tunisino", - "ru": "Тунисский диалект арабского языка", - "sl": "tunizijska arabščina", - "sv": "tunisisk arabiska", - "uk": "туніська арабська мова", - "zh_Hans": "突尼斯阿拉伯语", - "zh_Hant": "突尼西亞阿拉伯語", - "_meta": { - "dir": [ - "left-to-right", - "right-to-left" - ] - } - }, "af": { "ca": "afrikaans", "cs": "afrikánština", @@ -223,7 +230,7 @@ "gl": "Lingua africáner", "he": "אפריקאנס", "hu": "afrikaans", - "id": "Afrikaans", + "id": "bahasa Afrikaans", "it": "afrikaans", "ja": "アフリカーンス語", "ko": "아프리칸스어", @@ -236,8 +243,8 @@ "sl": "afrikanščina", "sv": "afrikaans", "uk": "африкаанс", - "zh_Hans": "南非语", - "zh_Hant": "南非語", + "zh_Hans": "阿非利卡语", + "zh_Hant": "阿非利卡語", "_meta": { "countries": [ "ZA" @@ -272,14 +279,15 @@ "eo": "Levantenia araba dialekto", "es": "árabe levantino", "fr": "arabe levantin", + "gl": "Árabe levantino", "he": "ערבית לבנטינית", - "id": "Arab Syam", - "it": "lingue arabe levantine", + "id": "Arab Levant", + "it": "arabo levantino", "ja": "アラビア語レバント方言", "nl": "Levantijns-Arabisch", "pl": "dialekty syryjsko-palestyńskie języka arabskiego", "pt": "Árabe levantino", - "ru": "Левантийский диалект арабского языка", + "ru": "левантийский диалект арабского языка", "sl": "levantinska arabščina", "sv": "nordlevantinsk arabiska", "_meta": { @@ -296,7 +304,7 @@ "en": "Akan", "eo": "akanaj lingvoj", "es": "lenguas akánicas", - "fi": "akanin kieli", + "fi": "akan", "fr": "akan", "gl": "Lingua akan", "he": "אקאן", @@ -310,6 +318,7 @@ "pt": "língua akan", "pt_BR": "língua akan", "ru": "акан", + "sl": "akanščina", "sv": "akan", "uk": "акан", "zh_Hans": "阿肯语", @@ -328,15 +337,16 @@ "eo": "aklana lingvo", "es": "aclano", "eu": "aklanera", - "fi": "Aklanon", + "fi": "aklanon", "fr": "aklanon", "gl": "Lingua aklanon", - "id": "bahasa Akyan", + "id": "bahasa Akean", "it": "lingua Aklan", "ja": "アクラノン語", "ko": "아클라논어", "pl": "Język aklanon", "pt": "Língua aklan", + "ru": "акланон", "sv": "aklan", "_meta": { "dir": [ @@ -359,6 +369,7 @@ "nl": "Alabama", "pl": "język alabama", "ru": "Алабамский язык", + "sl": "alabamščina", "sv": "alabama", "_meta": { "dir": [ @@ -371,7 +382,7 @@ "cs": "gegština", "da": "gegisk", "de": "Gegisch", - "en": "Gheg Albanian", + "en": "Gheg", "eo": "geg-albana lingvo", "es": "Albanés guego", "eu": "gheg albaniera", @@ -435,11 +446,13 @@ "fr": "altaï méridional", "gl": "Lingua altai meridional", "he": "אלטאית דרומית", + "id": "bahasa Altai Selatan", "it": "lingua altai meridionale", "ja": "南アルタイ語", "nb_NO": "Søraltaisk", "nl": "Zuid-Altajs", "ru": "aлтайский язык", + "sl": "južna altajščina", "sv": "sydaltaiska", "uk": "aлтайська мова", "zh_Hant": "南阿爾泰語", @@ -458,12 +471,12 @@ "eo": "amhara lingvo", "es": "amhárico", "eu": "Amharera", - "fi": "amharan kieli", + "fi": "amhara", "fr": "amharique", "gl": "Lingua amhárica", "he": "אמהרית", "hu": "amhara", - "id": "Bahasa Amhar", + "id": "Amhara", "it": "amarico", "ja": "アムハラ語", "ko": "암하라어", @@ -475,7 +488,7 @@ "ru": "амхарский язык", "sl": "amharščina", "sv": "amhariska", - "uk": "Амхарська мова", + "uk": "амхарська мова", "zh_Hans": "阿姆哈拉语", "zh_Hant": "阿姆哈拉語", "_meta": { @@ -492,7 +505,7 @@ "de": "Amisisch", "en": "Amis", "es": "idioma amis", - "fi": "Amisin kieli", + "fi": "amis", "fr": "amis", "gl": "Lingua amis", "id": "Bahasa Amis", @@ -503,7 +516,9 @@ "pl": "Język amis", "pt": "língua amis", "ru": "амисский язык", + "sl": "amisijščina", "sv": "amis", + "uk": "Аміс", "zh_Hans": "阿美语", "zh_Hant": "阿美語", "_meta": { @@ -526,7 +541,7 @@ "gl": "Lingua aragonesa", "he": "אראגונית", "hu": "aragóniai", - "id": "Bahasa Aragon", + "id": "bahasa Aragon", "it": "aragonese", "ja": "アラゴン語", "ko": "아라곤어", @@ -553,7 +568,7 @@ "en": "Angika", "eo": "angika", "es": "Idioma angika", - "fi": "Angika", + "fi": "angika", "fr": "angika", "gl": "Lingua angika", "it": "lingua angika", @@ -578,6 +593,7 @@ "eo": "pemona lingvo", "es": "Idioma pemón", "fr": "pemon", + "gl": "Lingua pemón", "it": "pemon", "ja": "ペモン語", "nb_NO": "Pemón", @@ -585,7 +601,9 @@ "pt": "Língua taurepangue", "pt_BR": "Língua taurepangue", "ru": "Пемонский язык", + "sl": "pemonščina", "sv": "pemon", + "uk": "Пемонська мова", "_meta": { "dir": [ "left-to-right" @@ -600,14 +618,15 @@ "eo": "Levantenia araba dialekto", "es": "árabe levantino", "fr": "arabe levantin", + "gl": "Árabe levantino", "he": "ערבית לבנטינית", - "id": "Arab Syam", - "it": "lingue arabe levantine", + "id": "Arab Levant", + "it": "arabo levantino", "ja": "アラビア語レバント方言", "nl": "Levantijns-Arabisch", "pl": "dialekty syryjsko-palestyńskie języka arabskiego", "pt": "Árabe levantino", - "ru": "Левантийский диалект арабского языка", + "ru": "левантийский диалект арабского языка", "sl": "levantinska arabščina", "sv": "nordlevantinsk arabiska", "_meta": { @@ -617,69 +636,6 @@ ] } }, - "ar": { - "ca": "àrab", - "cs": "arabština", - "da": "arabisk", - "de": "Arabisch", - "en": "Arabic", - "eo": "araba lingvo", - "es": "árabe", - "eu": "arabiera", - "fi": "arabia", - "fr": "arabe", - "gl": "árabe", - "he": "ערבית", - "hu": "arab", - "id": "bahasa Arab", - "it": "arabo", - "ja": "アラビア語", - "ko": "아랍어", - "nb_NO": "arabisk", - "nl": "Arabisch", - "pl": "język arabski", - "pt": "árabe", - "pt_BR": "árabe", - "ru": "арабский язык", - "sl": "arabščina", - "sv": "arabiska", - "uk": "арабська мова", - "zh_Hans": "阿拉伯语", - "zh_Hant": "阿拉伯語", - "_meta": { - "countries": [ - "AE", - "AF", - "BH", - "DJ", - "DZ", - "EG", - "ER", - "IQ", - "JO", - "KM", - "KW", - "LB", - "LY", - "MA", - "MR", - "OM", - "PS", - "QA", - "SA", - "SD", - "SO", - "SS", - "SY", - "TD", - "TN", - "YE" - ], - "dir": [ - "right-to-left" - ] - } - }, "arn": { "ca": "mapudungun", "cs": "mapučština", @@ -702,7 +658,7 @@ "pl": "Język mapudungun", "pt": "mapudungun", "ru": "мапуче", - "sl": "Mapudungun", + "sl": "mapudungunščina", "sv": "mapudungun", "uk": "Мапудунґун", "zh_Hans": "马普切语", @@ -725,17 +681,17 @@ "fr": "arabe algérien", "gl": "Árabe alxeriano", "hu": "algériai arab", - "id": "Bahasa Arab Aljazair", + "id": "Arab Aljazair", "it": "arabo algerino", "ja": "アラビア語アルジェリア方言", "ko": "알제리 아랍어", "nb_NO": "algerisk-arabisk", "nl": "Algerijns-Arabisch", "pt": "árabe argelino", - "ru": "Алжирский диалект арабского языка", + "ru": "алжирский диалект арабского языка", "sl": "alžirska arabščina", "sv": "algerisk arabiska", - "uk": "Алжирська арабська мова", + "uk": "алжирська арабська мова", "zh_Hant": "阿爾及利亞阿拉伯語", "_meta": { "dir": [ @@ -753,7 +709,7 @@ "es": "árabe marroquí", "eu": "marokoar arabiera", "fi": "marokonarabia", - "fr": "Darija marocain", + "fr": "arabe marocain", "gl": "árabe marroquí", "he": "ערבית מרוקאית", "id": "Bahasa Arab Maroko", @@ -764,10 +720,10 @@ "nl": "Marokkaans-Arabisch", "pl": "marokańska odmiana języka arabskiego", "pt": "Árabe marroquino", - "ru": "Марокканский диалект арабского языка", + "ru": "марокканский диалект арабского языка", "sl": "maroška arabščina", "sv": "marockansk arabiska", - "uk": "Марокканська арабська мова", + "uk": "марокканська арабська мова", "zh_Hant": "摩洛哥阿拉伯語", "_meta": { "dir": [ @@ -801,7 +757,7 @@ "ru": "египетский диалект арабского языка", "sl": "egiptovska arabščina", "sv": "egyptisk arabiska", - "uk": "Єгипетська арабська мова", + "uk": "єгипетська арабська мова", "zh_Hant": "埃及阿拉伯語", "_meta": { "dir": [ @@ -855,6 +811,7 @@ "fr": "langue des signes américaine", "gl": "lingua de signos americana", "he": "שפת הסימנים האמריקאית", + "hu": "amerikai jelnyelv", "id": "Bahasa Isyarat Amerika", "it": "lingua dei segni americana", "ja": "アメリカ手話", @@ -865,6 +822,7 @@ "pt": "língua de sinais americana", "pt_BR": "língua de sinais americana", "ru": "амслен", + "sl": "ameriški znakovni jezik", "sv": "amerikanskt teckenspråk", "uk": "Американська жестова мова", "zh_Hant": "美國手語", @@ -889,7 +847,7 @@ "gl": "lingua asturiana", "he": "אסטורית", "hu": "asztúriai", - "id": "Bahasa Asturia", + "id": "bahasa Asturia", "it": "asturiano", "ja": "アストゥリアス語", "ko": "아스투리아스어", @@ -916,9 +874,10 @@ "de": "Atikamekw", "en": "Atikamekw", "es": "atikamekw", - "fi": "Atikamekw", + "fi": "atikamekw", "fr": "atikamekw", "gl": "Lingua atikamekw", + "he": "אטיקמק", "it": "lingua atikamekw", "ja": "アティカメク語", "ko": "아티카메쿠어", @@ -926,8 +885,9 @@ "nl": "Atikamekw", "pt": "Língua atikamekw", "ru": "aтикамек", + "sl": "atikameščina", "sv": "atikamekw", - "uk": "Атікамек", + "uk": "атікамек", "zh_Hans": "阿提卡米克语", "zh_Hant": "阿提卡米克語", "_meta": { @@ -944,21 +904,21 @@ "eo": "avara lingvo", "es": "avar", "eu": "avarera", - "fi": "Avaarin kieli", + "fi": "avaari", "fr": "avar", "gl": "Lingua avar", "he": "אווארית", "hu": "avar", - "id": "Bahasa Avar", + "id": "Avar", "it": "avaro", "ja": "アヴァル語", "ko": "아바르어", "nb_NO": "avarisk", "nl": "Avaars", "pl": "język awarski", - "pt": "Língua avar", + "pt": "Língua ávara", "ru": "аварский язык", - "sl": "Avarščina", + "sl": "avarščina", "sv": "avariska", "uk": "аварська мова", "_meta": { @@ -974,11 +934,11 @@ "eo": "avadhia", "es": "awadhi", "eu": "Awadhiera", - "fi": "Awadhin kieli", + "fi": "awadhi", "fr": "awadhi", "gl": "Lingua awadhi", - "he": "אוודהית", - "id": "Bahasa Awadhi", + "he": "אוודית", + "id": "bahasa Awadh", "it": "awadhi", "ja": "アワディー語", "ko": "아와히어", @@ -988,6 +948,7 @@ "pt": "Língua awadhi", "pt_BR": "Língua awadhi", "ru": "авадхи", + "sl": "avadščina", "sv": "awadhi", "uk": "Авадхі", "zh_Hans": "阿瓦德语", @@ -1022,7 +983,7 @@ "pt": "Língua aymará", "pt_BR": "Língua aimará", "ru": "аймара", - "sl": "Ajmarščina", + "sl": "ajmarščina", "sv": "aymara", "uk": "Аймара", "zh_Hans": "艾马拉语", @@ -1048,10 +1009,10 @@ "eu": "azerbaijanera", "fi": "azeri", "fr": "azéri", - "gl": "Lingua azerí", + "gl": "Lingua azarí", "he": "אזרית", "hu": "azeri", - "id": "Bahasa Azeri", + "id": "bahasa Azerbaijan", "it": "azero", "ja": "アゼルバイジャン語", "ko": "아제르바이잔어", @@ -1076,6 +1037,30 @@ ] } }, + "azb": { + "ca": "àzeri del sud", + "cs": "jižní ázerbájdžánština", + "de": "Südaserbaidschanisch", + "en": "South Azerbaijani", + "eo": "sud-azerbajĝana lingvo", + "fi": "eteläazeri", + "fr": "azéri du Sud", + "he": "אזרבייג'נית דרומית", + "ja": "南アゼルバイジャン語", + "ko": "남아제르바이잔어", + "nl": "Zuid-Azerbeidzjaans", + "ru": "южно-азербайджанский язык", + "sl": "južna azerbajdžanščina", + "sv": "sydazerbajdzjanska", + "uk": "південноазербайджанська мова", + "zh_Hans": "南阿塞拜疆语", + "zh_Hant": "南阿塞拜疆語", + "_meta": { + "dir": [ + "right-to-left" + ] + } + }, "ba": { "ca": "baixkir", "cs": "baškirština", @@ -1090,7 +1075,7 @@ "gl": "Lingua baskir", "he": "בשקירית", "hu": "baskír", - "id": "Bahasa Bashkir", + "id": "bahasa Bashkir", "it": "baschiro", "ja": "バシキール語", "ko": "바시키르어", @@ -1100,14 +1085,15 @@ "pt": "Língua bashkir", "pt_BR": "Língua bashkir", "ru": "башкирский язык", - "sl": "Baškirščina", + "sl": "baškirščina", "sv": "basjkiriska", "uk": "башкирська мова", "zh_Hans": "巴什基尔语", "zh_Hant": "巴什基爾語", "_meta": { "dir": [ - "left-to-right" + "left-to-right", + "right-to-left" ] } }, @@ -1120,11 +1106,11 @@ "eo": "balia lingvo", "es": "balinés", "eu": "baliera", - "fi": "Balin kieli", + "fi": "bali", "fr": "balinais", "gl": "Lingua balinesa", "he": "באלינזית", - "id": "Bahasa Bali", + "id": "bahasa Bali", "it": "balinese", "ja": "バリ語", "ko": "발리어", @@ -1136,7 +1122,7 @@ "ru": "Балийский язык", "sl": "balijščina", "sv": "balinesiska", - "uk": "Балійська мова", + "uk": "балійська мова", "zh_Hans": "巴厘语", "zh_Hant": "峇里語", "_meta": { @@ -1154,12 +1140,12 @@ "eo": "bavara lingvo", "es": "bávaro", "eu": "Bavariera", - "fi": "Baijerin kieli", + "fi": "baijeri", "fr": "bavarois", "gl": "Lingua bavaresa", "he": "בווארית", "hu": "bajor", - "id": "Bahasa Bayern", + "id": "Bavaria", "it": "bavarese", "ja": "バイエルン・オーストリア語", "ko": "오스트로바이에른어", @@ -1188,7 +1174,7 @@ "eo": "Ĵemajtia dialekto", "es": "Idioma samogitiano", "eu": "samogatiera", - "fi": "Samogiitti", + "fi": "samogiitti", "fr": "samogitien", "gl": "Samoxiciano", "hu": "szamogit", @@ -1203,7 +1189,7 @@ "ru": "жемайтское наречие", "sl": "samogitščina", "sv": "žemaitiska", - "uk": "Жмудська мова", + "uk": "жмудська мова", "zh_Hans": "萨莫吉提亚语", "zh_Hant": "薩莫吉提亞語", "_meta": { @@ -1213,28 +1199,16 @@ } }, "bbc": { - "ca": "Batak Toba", - "cs": "Batak Toba", - "da": "Batak Toba", - "de": "Toba Batak", "en": "Toba Batak", - "eo": "Batak Toba", - "es": "Batak Toba", - "eu": "Batak Toba", - "fi": "Batak Toba", + "fi": "batak-toba", "fr": "batak toba", - "gl": "Lingua toba batak", - "hu": "Batak Toba", - "id": "Bahasa Batak Toba", + "gl": "lingua toba batak", + "id": "bahasa Batak Toba", "it": "lingua batak toba", "ja": "バタク・トバ語", - "nb_NO": "Batak Toba", - "nl": "Batak Toba", "pl": "język batak toba", - "pt": "Batak Toba", - "pt_BR": "Batak Toba", - "ru": "Тоба", - "sl": "Batak Toba", + "ru": "тоба", + "sl": "tobabataščina", "sv": "toba batak", "_meta": { "dir": [ @@ -1247,10 +1221,15 @@ "en": "West Coast Bajau", "fr": "bajau de la côte occidentale", "gl": "Lingua bajaw da costa occidental", + "id": "Bajau Pantai Barat", + "ja": "サマ・バジャウ諸語", "nb_NO": "vestkystbajau", "nl": "Westkust-Bajau", + "pl": "bajau zachodniego wybrzeża", "ru": "баджо западного побережья", "sv": "västkustbajau", + "zh_Hans": "西海岸巴瑶语", + "zh_Hant": "西海岸巴瑤語", "_meta": { "dir": [ "left-to-right" @@ -1264,9 +1243,9 @@ "eo": "beĝaa lingvo", "es": "Idioma beya", "eu": "Bedawi hizkuntza", - "fi": "Bedžan kieli", + "fi": "bedža", "fr": "bedja", - "id": "Bahasa Beja", + "id": "Beja", "it": "begia", "ja": "ベジャ語", "ko": "베자어", @@ -1288,6 +1267,7 @@ "bfi": { "ca": "llengau de signes britànica", "cs": "britský znakový jazyk", + "da": "brittisk tegnsprog", "de": "Britische Gebärdensprache", "en": "British Sign Language", "eo": "brita signolingvo", @@ -1295,7 +1275,7 @@ "fi": "brittiläinen viittomakieli", "fr": "langue des signes britannique", "he": "שפת הסימנים הבריטית", - "id": "Bahasa Isyarat Britania", + "id": "Bahasa Isyarat Inggris", "it": "lingua dei segni britannica", "ja": "イギリス手話", "ko": "영국 수화", @@ -1304,8 +1284,11 @@ "pl": "brytyjski język migowy", "pt": "língua de sinais britânica", "ru": "британский жестовый язык", + "sl": "britanski znakovni jezik", "sv": "brittiskt teckenspråk", "uk": "британська жестова мова", + "zh_Hans": "英国手语", + "zh_Hant": "英國手語", "_meta": { "dir": [ "left-to-right", @@ -1317,7 +1300,7 @@ "ca": "badaga", "de": "Badaga", "en": "Badaga", - "fi": "Badagan kieli", + "fi": "badaga", "fr": "badaga", "he": "באדאגה", "id": "Bahasa Badaga", @@ -1327,6 +1310,7 @@ "pl": "Język badaga", "pt": "Língua badaga", "pt_BR": "Língua badaga", + "sl": "badaščina", "sv": "badaga", "uk": "Бадага", "_meta": { @@ -1382,12 +1366,12 @@ "eo": "bhojpura lingvo", "es": "Idioma bopurí", "eu": "bhojpuri", - "fi": "Bhodžpurin kieli", + "fi": "bhodžpuri", "fr": "bhodjpouri", "gl": "Lingua bhojpuri", "he": "בוג'פורית", "hu": "bhódzspurí", - "id": "bahasa Bhojpuri", + "id": "Bhojpuri", "it": "bhojpuri", "ja": "ボージュプリー語", "ko": "보즈푸리어", @@ -1396,6 +1380,7 @@ "pl": "język bhodźpuri", "pt": "Língua bhojpuri", "ru": "бходжпури", + "sl": "bodžpurščina", "sv": "bhojpuri", "uk": "Бходжпурі", "zh_Hans": "博杰普尔语", @@ -1415,12 +1400,12 @@ "eo": "bhojpura lingvo", "es": "Idioma bopurí", "eu": "bhojpuri", - "fi": "Bhodžpurin kieli", + "fi": "bhodžpuri", "fr": "bhodjpouri", "gl": "Lingua bhojpuri", "he": "בוג'פורית", "hu": "bhódzspurí", - "id": "bahasa Bhojpuri", + "id": "Bhojpuri", "it": "bhojpuri", "ja": "ボージュプリー語", "ko": "보즈푸리어", @@ -1429,6 +1414,7 @@ "pl": "język bhodźpuri", "pt": "Língua bhojpuri", "ru": "бходжпури", + "sl": "bodžpurščina", "sv": "bhojpuri", "uk": "Бходжпурі", "zh_Hans": "博杰普尔语", @@ -1447,7 +1433,7 @@ "eo": "bislama lingvo", "es": "Bislama", "eu": "Bislama", - "fi": "Bislama", + "fi": "bislama", "fr": "bichelamar", "gl": "Bislama", "he": "ביסלמה", @@ -1475,12 +1461,12 @@ } }, "bla": { - "ca": "blackfoot", + "ca": "llengua blackfoot", "de": "Blackfoot", "en": "Blackfoot", "eo": "nigrapieda lingvo", "es": "Idioma siksiká", - "fi": "Mustajalka", + "fi": "mustajalka", "fr": "pied-noir", "gl": "Lingua siksiká", "he": "שפת בלאקפוט", @@ -1493,7 +1479,9 @@ "pl": "język siksika", "pt": "Língua Siksiká", "ru": "блэкфут", + "sl": "blackfoot", "sv": "siksika", + "uk": "Сиксіка", "zh_Hans": "黑脚语", "_meta": { "dir": [ @@ -1501,6 +1489,23 @@ ] } }, + "blk": { + "en": "Pa'O", + "fr": "pa'o", + "gl": "Lingua pa'o", + "ja": "パオ語", + "ko": "파오어", + "nl": "Pa'O", + "pt": "Língua Pa'O", + "ru": "пао", + "sl": "pa'O", + "sv": "pa'o", + "_meta": { + "dir": [ + "left-to-right" + ] + } + }, "bm": { "ca": "bàmbara", "cs": "bambarština", @@ -1510,13 +1515,13 @@ "eo": "bambara lingvo", "es": "bambara", "eu": "Banbara hizkuntza", - "fi": "bambaran kieli", + "fi": "bambara", "fr": "bambara", "gl": "Lingua bambara", "he": "במברה", "hu": "bambara", "id": "Bahasa Bambara", - "it": "Bambara", + "it": "bambara", "ja": "バンバラ語", "ko": "밤바라어", "nb_NO": "bambara", @@ -1524,8 +1529,10 @@ "pl": "język bambara", "pt": "Língua bambara", "ru": "бамана", + "sl": "bambarščina", "sv": "bambara", "uk": "бамбара", + "zh_Hant": "班巴拉語", "_meta": { "countries": [ "ML" @@ -1537,32 +1544,33 @@ } }, "bn": { - "ca": "bengalí", + "ca": "bangla", "cs": "bengálština", - "da": "bengali", + "da": "Bangla", "de": "Bengalisch", "en": "Bangla", "eo": "bengala lingvo", "es": "bengalí", "eu": "bengalera", "fi": "bengali", - "fr": "bengali", + "fr": "bangla", "gl": "lingua bengalí", "he": "בנגלית", - "hu": "bengáli", - "id": "Bahasa Bengali", + "hu": "bangla", + "id": "bahasa Bengali", "it": "bengali", "ja": "ベンガル語", "ko": "벵골어", - "nb_NO": "bengali", + "nb_NO": "bangla", "nl": "Bengaals", "pl": "język bengalski", - "pt": "língua bengali", - "pt_BR": "língua bengali", + "pt": "língua bangla", + "pt_BR": "língua bangla", "ru": "бенгальский язык", "sl": "bengalščina", - "sv": "bengali", + "sv": "bangla", "uk": "бенгальська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⴱⵏⴳⴰⵍⵉⵜ", "zh_Hans": "孟加拉语", "zh_Hant": "孟加拉語", "_meta": { @@ -1577,9 +1585,11 @@ "bnn": { "ca": "bunun", "en": "Bunun", + "es": "Idioma bunun", "eu": "bununera", - "fi": "bununin kieli", + "fi": "bunun", "fr": "bunun", + "he": "בונון", "id": "Bahasa Bunun", "it": "lingua bunun", "ja": "ブヌン語", @@ -1588,6 +1598,7 @@ "pl": "Język bunun", "pt": "Língua bunun", "ru": "Бунун", + "sl": "bununščina", "sv": "bunun", "zh_Hant": "布農語", "_meta": { @@ -1605,12 +1616,12 @@ "eo": "tibeta lingvo", "es": "tibetano", "eu": "Tibetera", - "fi": "tiibetin kieli", + "fi": "tiibetti", "fr": "tibétain", "gl": "Lingua tibetana", "he": "טיבטית", "hu": "tibeti", - "id": "bahasa Tibet Lhasa", + "id": "Tibet", "it": "tibetano", "ja": "チベット語", "ko": "티베트어", @@ -1636,11 +1647,11 @@ "en": "Bishnupriya Manipuri", "eo": "biŝnuprija manipura lingvo", "es": "Bishnupriya manipurí", - "fi": "Bishnupriya Manipuri", + "fi": "bišnupria", "fr": "manipourî de Bishnupriyay", "gl": "Lingua bishnupriya manipuri", "he": "בישנופרייה מניפורי", - "id": "Bahasa Bishnupriya Manipuri", + "id": "bahasa Manipur Bishnupriya", "it": "Bishnupriya Manipuri", "ja": "ビシュヌプリヤ・マニプリ語", "ko": "비시누프리야마니푸르어", @@ -1648,7 +1659,8 @@ "nl": "Bishnupriya Manipuri", "pl": "Język bisznuprija-manipuri", "pt": "Bishnupriya Manipuri", - "ru": "Бишнуприя-манипури", + "ru": "бишнуприя-манипури", + "sl": "bišnuprijska manipurščina", "sv": "bishnupriya manipuri", "uk": "Бішнупрія-маніпурі", "zh_Hans": "比什努普里亚-曼尼普尔语", @@ -1663,13 +1675,15 @@ "de": "Bachtiarisch", "en": "Bakhtiari", "fr": "bakhtiari", + "id": "bahasa Bakhtiar", "it": "dialetto Bakhtiari-Hakhamanesh", "ja": "バフティヤーリー語", "nl": "Bachtiarisch", "pl": "Język bachtiarski", "ru": "Бахтиярский язык", + "sl": "bahtijarščina", "sv": "bakhtiari", - "uk": "Бахтіарська мова", + "uk": "бахтіарська мова", "zh_Hans": "巴赫蒂亚语", "zh_Hant": "巴赫蒂亞語", "_meta": { @@ -1678,41 +1692,6 @@ ] } }, - "br": { - "ca": "bretó", - "cs": "bretonština", - "da": "bretonsk", - "de": "Bretonisch", - "en": "Breton", - "eo": "bretona lingvo", - "es": "bretón", - "eu": "Bretainiera", - "fi": "bretoni", - "fr": "breton", - "gl": "lingua bretoa", - "he": "ברטונית", - "hu": "breton", - "id": "Bahasa Breton", - "it": "bretone", - "ja": "ブルトン語", - "ko": "브르타뉴어", - "nb_NO": "bretonsk", - "nl": "Bretons", - "pl": "język bretoński", - "pt": "bretão", - "pt_BR": "língua bretã", - "ru": "бретонский язык", - "sl": "bretonščina", - "sv": "bretonska", - "uk": "бретонська мова", - "zh_Hans": "布列塔尼语", - "zh_Hant": "布列塔尼語", - "_meta": { - "dir": [ - "left-to-right" - ] - } - }, "brx": { "ca": "bodo", "cs": "jazyk Bodo", @@ -1720,10 +1699,10 @@ "en": "Bodo", "eo": "bodoa lingvo", "es": "Idioma bodo", - "fi": "Bodon kieli", + "fi": "bodo", "fr": "bodo", "he": "בודו", - "id": "Bahasa Bodo", + "id": "Bodo", "it": "bodo", "ja": "ボド語", "ko": "보도어", @@ -1732,6 +1711,7 @@ "pl": "Język bodo", "pt": "Língua bodo", "ru": "Бодо", + "sl": "bodojščina", "sv": "bodo", "uk": "Бодо", "_meta": { @@ -1745,7 +1725,7 @@ "cs": "abinomn", "en": "Abinomn", "es": "Idioma abinomn", - "fi": "Abinomn", + "fi": "abinomn", "fr": "abinomn", "gl": "Lingua abinomn", "id": "Abinomn", @@ -1770,12 +1750,12 @@ "eo": "buruŝa lingvo", "es": "Idioma burushaski", "eu": "Buruxaski", - "fi": "Burušaskin kieli", + "fi": "burušaski", "fr": "bourouchaski", "gl": "Lingua burushaski", "he": "בורושסקי", "hu": "burusaszki", - "id": "Bahasa Burushaski", + "id": "Burushaski", "it": "lingua burushaski", "ja": "ブルシャスキー語", "ko": "부르샤스키어", @@ -1797,7 +1777,7 @@ "ca": "akoose", "de": "Akoose", "en": "Kose", - "fi": "Koose", + "fi": "koose", "fr": "akoose", "gl": "Lingua akoose", "ja": "アコース語", @@ -1811,9 +1791,10 @@ }, "btm": { "cs": "Mandailing", - "en": "Mandailing", + "en": "Mandailing Batak", "fr": "batak mandailing", - "id": "Bahasa Mandailing", + "gl": "Lingua mandailing", + "id": "bahasa Batak Mandailing", "ja": "バタク・マンダイリン語", "nl": "Batak Mandailing", "pl": "język batak mandailing", @@ -1834,7 +1815,7 @@ "en": "Bugis", "eo": "buĝia lingvo", "es": "idioma buguinés", - "fi": "Bugin kieli", + "fi": "bugi", "fr": "bouguinais", "gl": "Lingua bugi", "hu": "bugisz", @@ -1850,6 +1831,7 @@ "sl": "buginščina", "sv": "buginesiska", "uk": "бугійська мова", + "zh_Hant": "布吉語", "_meta": { "dir": [ "left-to-right" @@ -1859,12 +1841,13 @@ "bxr": { "ca": "buriat", "cs": "burjatština", + "da": "Burjatisk", "de": "Burjatisch", "en": "Buryat", "eo": "burjata lingvo", - "es": "idioma buriato", + "es": "buriato", "eu": "Buriatera", - "fi": "Burjaatin kieli", + "fi": "burjaatti", "fr": "bouriate", "gl": "Lingua buriata", "he": "בוריאטית", @@ -1879,8 +1862,10 @@ "pt": "Língua buriata", "pt_BR": "Língua buriata", "ru": "бурятский язык", + "sl": "burjatščina", "sv": "burjatiska", "uk": "бурятська мова", + "zh_Hans": "布里亚特语", "zh_Hant": "布里亞特語", "_meta": { "dir": [ @@ -1906,6 +1891,7 @@ "pt": "língua brasileira de sinais", "pt_BR": "língua brasileira de sinais", "ru": "бразильский жестовый язык", + "sl": "brazilski znakovni jezik", "sv": "brasilianskt teckenspråk", "uk": "Бразильська мова жестів", "_meta": { @@ -1928,7 +1914,7 @@ "gl": "lingua catalá", "he": "קטלאנית", "hu": "katalán", - "id": "Katalan", + "id": "bahasa Katalan", "it": "catalano", "ja": "カタルーニャ語", "ko": "카탈루냐어", @@ -1970,8 +1956,10 @@ "pl": "Język kaqchikel", "pt": "Língua caqchiquel", "ru": "Какчикельский язык", + "sl": "kakčikelščina", "sv": "cakchiquel", "uk": "Какчикель", + "zh_Hant": "喀克其奎語", "_meta": { "dir": [ "left-to-right" @@ -1980,11 +1968,12 @@ }, "cal": { "ca": "carolinià", + "cs": "karolínština", "de": "Karolinisch", "en": "Carolinian", "eo": "karolina lingvo", "es": "carolinio", - "fi": "Karoliini", + "fi": "karoliini", "fr": "carolinien", "he": "קרוליניאלית", "id": "bahasa Caroline", @@ -2009,12 +1998,15 @@ "en": "Chakma", "eo": "ĉakma lingvo", "fr": "changma kodha", + "he": "צ׳אקמה", + "id": "bahasa Chakma", "ja": "チャクマ語", "nl": "Chakma", "pl": "język czakma", "pt": "língua chakma", "pt_BR": "língua chakma", "ru": "чакма", + "sl": "čakmijščina", "sv": "chakma", "_meta": { "dir": [ @@ -2032,7 +2024,7 @@ "fr": "mindong", "gl": "Lingua ming dong", "he": "מין מזרחית", - "id": "Bahasa Min Timur", + "id": "Min Timur", "it": "min dong", "ja": "閩東語", "ko": "민둥어", @@ -2042,13 +2034,14 @@ "pt": "Língua min oriental", "pt_BR": "Min Dong", "ru": "Восточноминьский язык", + "sl": "min dong", "sv": "mindong", "uk": "східноміньська мова", "zh_Hans": "闽东语", "zh_Hant": "閩東語", "_meta": { "dir": [ - "top-to-bottom", + "vertical right-to-left", "left-to-right" ] } @@ -2062,12 +2055,12 @@ "eo": "ĉeĉena lingvo", "es": "checheno", "eu": "txetxenera", - "fi": "Tšetšeenin kieli", + "fi": "tšetšeeni", "fr": "tchétchène", "gl": "Lingua chechena", "he": "צ'צ'נית", "hu": "csecsen", - "id": "Bahasa Chechnya", + "id": "bahasa Chechnya", "it": "ceceno", "ja": "チェチェン語", "ko": "체첸어", @@ -2097,12 +2090,12 @@ "eo": "cebua lingvo", "es": "cebuano", "eu": "cebuera", - "fi": "Cebun kieli", - "fr": "cebouan", + "fi": "cebuano", + "fr": "cébouano", "gl": "Lingua cebuana", "he": "סבואנו", "hu": "szebuano", - "id": "Cebu", + "id": "bahasa Sugbu", "it": "cebuano", "ja": "セブ語", "ko": "세부아노어", @@ -2112,7 +2105,7 @@ "pt": "cebuano", "ru": "себуанский язык", "sl": "sebuanščina", - "sv": "cebuano", + "sv": "cebuanska", "uk": "Себуанська мова", "zh_Hans": "宿务语", "zh_Hant": "宿霧語", @@ -2130,7 +2123,7 @@ "eo": "ĉamora lingvo", "es": "idioma chamorro", "eu": "Chamorro", - "fi": "Tšamorron kieli", + "fi": "tšamorro", "fr": "chamorro", "gl": "Lingua chamorra", "he": "צ'מורו", @@ -2159,6 +2152,7 @@ "eo": "ĉinuka piĝino", "fi": "chinook-jargon", "fr": "chinook", + "gl": "Xerga chinook", "he": "עגה של הצ'ינוק", "ja": "チヌーク・ジャーゴン", "ko": "치누크 자곤", @@ -2166,6 +2160,7 @@ "nl": "Chinook Jargon", "pt": "Jargão chinook", "ru": "чинукский жаргон", + "sl": "činuški žargon", "sv": "chinookjargong", "zh_Hans": "奇努克混合语", "zh_Hant": "支努幹混合語", @@ -2182,7 +2177,7 @@ "en": "Choctaw", "eo": "ĉakta lingvo", "es": "idioma choctaw", - "fi": "Choctawin kieli", + "fi": "choctaw", "fr": "choctaw", "gl": "lingua choctaw", "hu": "csaktó", @@ -2213,12 +2208,12 @@ "eo": "Ĉeroka lingvo", "es": "cheroqui", "eu": "Txerokiera", - "fi": "Cherokeen kieli", + "fi": "cherokee", "fr": "cherokee", - "gl": "Lingua cheroqui", + "gl": "Lingua cherokee", "he": "צ'רוקי", "hu": "cseroki", - "id": "Bahasa Cherokee", + "id": "Cherokee", "it": "cherokee", "ja": "チェロキー語", "ko": "체로키어", @@ -2229,7 +2224,7 @@ "ru": "чероки", "sl": "čerokeščina", "sv": "cherokesiska", - "uk": "Черокі", + "uk": "черокі", "zh_Hans": "切罗基语", "zh_Hant": "切羅基語", "_meta": { @@ -2246,7 +2241,7 @@ "eo": "Ĉejena lingvo", "es": "cheyene", "eu": "Cheyennera", - "fi": "Cheyennen kieli", + "fi": "cheyenne", "fr": "cheyenne", "gl": "Lingua cheyenne", "he": "שאיין", @@ -2260,6 +2255,7 @@ "pl": "język czejeński", "pt": "Língua cheyenne", "ru": "шайенский язык", + "sl": "šejenščina", "sv": "cheyenne", "uk": "шеєнська мова", "zh_Hans": "夏延语", @@ -2284,7 +2280,7 @@ "gl": "lingua kurda central", "he": "סוראנית", "hu": "szoráni", - "id": "Soranî", + "id": "Sorani", "it": "sorani", "ja": "ソラニー", "ko": "중부 쿠르드어", @@ -2312,12 +2308,12 @@ "eo": "Ĉukĉa lingvo", "es": "Idioma chucoto", "eu": "Txuktxiera", - "fi": "Tšuktšin kieli", + "fi": "tšuktši", "fr": "tchouktche", - "gl": "Lingua Chukoto", + "gl": "Lingua chukchi", "he": "צ'וקצ'ית", "hu": "csukcs", - "id": "Bahasa Chukchi", + "id": "Chukchi", "it": "lingua ciukcia", "ja": "チュクチ語", "ko": "축치어", @@ -2326,7 +2322,7 @@ "pl": "Język czukocki", "pt": "Língua chukoto", "ru": "чукотский язык", - "sl": "Čukotščina", + "sl": "čukotščina", "sv": "tjuktjiska", "uk": "чукотська мова", "_meta": { @@ -2357,14 +2353,14 @@ "en": "Corsican", "eo": "korsika lingvo", "es": "corso", - "eu": "Korsikera", - "fi": "Korsikan kieli", + "eu": "korsikera", + "fi": "korsika", "fr": "corse", - "gl": "Lingua corsa", + "gl": "corso", "he": "קורסיקאית", "hu": "korzikai", - "id": "Bahasa Korsika", - "it": "Lingua corsa", + "id": "bahasa Korsika", + "it": "corso", "ja": "コルシカ語", "ko": "코르시카어", "nb_NO": "korsikansk", @@ -2384,7 +2380,9 @@ "cpx": { "de": "Pu-Xian", "en": "Pu-Xian Min", + "es": "Pu-Xian", "fr": "puxian", + "it": "Pu-Xian Min", "ja": "莆仙語", "ko": "보선어", "nb_NO": "Puxian", @@ -2409,7 +2407,7 @@ "eo": "kria lingvo", "es": "idioma cree", "eu": "cree hizkuntza", - "fi": "Cree", + "fi": "cree", "fr": "cri", "gl": "Lingua cree", "he": "קרי", @@ -2446,7 +2444,7 @@ "gl": "Lingua tártara de Crimea", "he": "טטרית של קרים", "hu": "krími tatár", - "id": "Bahasa Tatar Krimea", + "id": "Tatar Krimea", "it": "tataro di Crimea", "ja": "クリミア・タタール語", "ko": "크림 타타르어", @@ -2463,7 +2461,6 @@ "zh_Hant": "克里米亞韃靼語", "_meta": { "dir": [ - "right-to-left", "left-to-right" ] } @@ -2480,7 +2477,7 @@ "gl": "Crioulo das Seychelles", "he": "קריאולית סיישלית", "hu": "seychelle-i kreol", - "id": "Bahasa Kreol Seychelles", + "id": "Kreol Seychelles", "it": "creolo delle Seychelles", "ja": "セーシェル・クレオール語", "ko": "세이셸 크리올", @@ -2497,44 +2494,6 @@ ] } }, - "cs": { - "ca": "txec", - "cs": "čeština", - "da": "tjekkisk", - "de": "Tschechisch", - "en": "Czech", - "eo": "ĉeĥa lingvo", - "es": "checo", - "eu": "txekiera", - "fi": "tšekki", - "fr": "tchèque", - "gl": "lingua checa", - "he": "צ'כית", - "hu": "cseh", - "id": "Bahasa Ceska", - "it": "ceco", - "ja": "チェコ語", - "ko": "체코어", - "nb_NO": "tsjekkisk", - "nl": "Tsjechisch", - "pl": "język czeski", - "pt": "checo", - "pt_BR": "língua tcheca", - "ru": "чешский язык", - "sl": "češčina", - "sv": "tjeckiska", - "uk": "чеська мова", - "zh_Hans": "捷克语", - "zh_Hant": "捷克語", - "_meta": { - "countries": [ - "CZ" - ], - "dir": [ - "left-to-right" - ] - } - }, "csb": { "ca": "caixubi", "cs": "kašubština", @@ -2573,17 +2532,19 @@ "de": "Chittagonisch", "en": "Chittagonian", "es": "Idioma chittagoniano", - "fi": "Chittagongin kieli", + "fi": "chittagong", "fr": "chittagonien", "gl": "Lingua chittagoniana", "he": "צ'יטגונית", - "id": "Bahasa Chittagonia", + "id": "bahasa Chittagong", "it": "lingua chittagonian", "ja": "チッタゴン語", "ko": "치타공어", + "nb_NO": "Chittagong", "pl": "Język chatgaya", "pt": "Língua chittagong", "pt_BR": "Língua chittagong", + "sl": "čitagonščina", "sv": "chittagoniska", "uk": "Читтагонгська мова", "_meta": { @@ -2606,7 +2567,7 @@ "gl": "Lingua chuvash", "he": "צ'ובשית", "hu": "csuvas", - "id": "Bahasa Chuvash", + "id": "Chuvash", "it": "ciuvascio", "ja": "チュヴァシ語", "ko": "추바시어", @@ -2651,7 +2612,7 @@ "pt": "galês", "pt_BR": "galês", "ru": "валлийский язык", - "sl": "velščina", + "sl": "valižanščina", "sv": "kymriska", "uk": "валлійська мова", "zh_Hans": "威尔士语", @@ -2709,17 +2670,19 @@ "eo": "Dagbania lingvo", "es": "dagbani", "eu": "Dagbani", - "fi": "Dagbanin kieli", + "fi": "dagbani", "fr": "dagbani", "gl": "Lingua dagbani", "it": "Dagbani", "ja": "ダバニ語", + "ko": "다그바니어", "nb_NO": "dagbani", "nl": "Dagbani", "pl": "język dagbani", "pt": "Língua dagbani", "pt_BR": "Língua dagbani", "ru": "дагбани", + "sl": "dagbanščina", "sv": "dagbani", "_meta": { "dir": [ @@ -2754,6 +2717,7 @@ "sl": "nemščina", "sv": "tyska", "uk": "німецька мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵍⵉⵎⴰⵏⵜ", "zh_Hans": "德语", "zh_Hant": "德語", "_meta": { @@ -2785,10 +2749,12 @@ "it": "lingua dinka", "ja": "ディンカ語", "ko": "딩카어", + "nb_NO": "dinka", "nl": "Dinka", "pl": "język dinka", "pt": "Língua dinka", "ru": "Динка", + "sl": "dinščina", "sv": "dinka", "uk": "Динка", "_meta": { @@ -2811,7 +2777,7 @@ "gl": "Lingua zazaki", "he": "זאזאקי", "hu": "zazaki", - "id": "bahasa Zazaki", + "id": "Zaza", "it": "zazaki", "ja": "ザザキ語", "ko": "자자어", @@ -2836,7 +2802,7 @@ "ca": "rukai", "en": "Rukai", "es": "rukai", - "fi": "Rukai", + "fi": "rukai", "fr": "rukai", "gl": "Lingua rukai", "he": "רוקאי", @@ -2847,6 +2813,7 @@ "nl": "Rukai", "pl": "Rukai", "pt": "Língua rukai", + "sl": "rukajščina", "sv": "rukai", "zh_Hans": "鲁凯语", "zh_Hant": "魯凱語", @@ -2864,11 +2831,12 @@ "eo": "malsuprasoraba lingvo", "es": "bajo sorabo", "eu": "Behe sorabiera", + "fi": "alasorbi", "fr": "bas-sorabe", "gl": "Baixo sorabo", "he": "סורבית תחתית", "hu": "alsó szorb", - "id": "Bahasa Sorbia Hilir", + "id": "Sorbia Hilir", "it": "sorabo inferiore", "ja": "低地ソルブ語", "ko": "저지 소르브어", @@ -2877,7 +2845,7 @@ "pt": "baixo sorábio", "pt_BR": "Baixo sorábio", "ru": "нижнелужицкий язык", - "sl": "Dolnjesrbščina", + "sl": "dolnja lužiška srbščina", "sv": "lågsorbiska", "uk": "нижньолужицька мова", "_meta": { @@ -2892,11 +2860,14 @@ "fr": "dusun", "id": "Bahasa Kadazandusun", "ja": "中央ドゥスン語", + "ko": "카다잔두순어", "nl": "Dusun", "pl": "język dusun", "pt": "Língua dusun", "ru": "дусунский язык", "sv": "kadazandusun", + "zh_Hans": "中部杜顺语", + "zh_Hant": "中部杜順語", "_meta": { "dir": [ "left-to-right" @@ -2909,6 +2880,7 @@ "en": "Doteli", "eo": "Doteli", "es": "Doteli", + "fi": "doteli", "fr": "dotyali", "gl": "Lingua doteli", "ja": "ドテリ語", @@ -2929,7 +2901,7 @@ "en": "Duala", "eo": "dualaa lingvo", "es": "duala", - "fi": "Duala", + "fi": "duala", "fr": "douala", "he": "דואלה", "it": "lingua duala", @@ -2957,12 +2929,12 @@ "eo": "maldiva lingvo", "es": "maldivo", "eu": "Maldivera", - "fi": "Divehin kieli", + "fi": "divehi", "fr": "maldivien", "gl": "lingua maldivana", "he": "דיבהי", "hu": "maldív", - "id": "Divehi", + "id": "Maladewa", "it": "maldiviano", "ja": "ディベヒ語", "ko": "디베히어", @@ -3010,7 +2982,7 @@ "pt": "língua butanesa", "pt_BR": "Língua butanesa", "ru": "дзонг-кэ", - "sl": "Dzongkha", + "sl": "butanščina", "sv": "dzongkha", "uk": "дзонг-ке", "zh_Hans": "宗卡语", @@ -3033,12 +3005,12 @@ "eo": "evea lingvo", "es": "ewé", "eu": "eweera", - "fi": "ewen kieli", + "fi": "ewe", "fr": "ewé", "gl": "Lingua ewe", - "he": "אבגבה", + "he": "אווה", "hu": "eve", - "id": "Bahasa Ewe", + "id": "Ewe", "it": "ewe", "ja": "エウェ語", "ko": "에웨어", @@ -3059,10 +3031,10 @@ "efi": { "ca": "efik", "de": "Efik", - "en": "Ibibio", + "en": "Efik", "eo": "efika lingvo", "es": "Idioma efik", - "fi": "Efik", + "fi": "efik", "fr": "efik", "gl": "Lingua efik", "id": "Bahasa Efik", @@ -3071,6 +3043,7 @@ "nb_NO": "Efik", "nl": "Efik", "pt": "Língua efik", + "sl": "efiščina", "sv": "efik", "zh_Hant": "艾菲克語", "_meta": { @@ -3085,15 +3058,18 @@ "en": "Emilian", "eo": "emiliaj lingvoj", "es": "emiliano", - "fi": "Emilian kieli", + "eu": "emiliera", + "fi": "emilia", "fr": "émilien", "hu": "emilián", "id": "bahasa Emilia", "it": "emiliano", "ja": "エミリア語", + "ko": "에밀리아어", "nl": "Emiliaans", "pt": "dialeto emiliano", "ru": "эмилианский", + "sl": "emilijščina", "sv": "emilianska", "zh_Hant": "艾米利亞語", "_meta": { @@ -3128,9 +3104,10 @@ "ru": "новогреческий язык", "sl": "novogrščina", "sv": "nygrekiska", - "uk": "грецька мова", - "zh_Hans": "希腊语", - "zh_Hant": "希臘語", + "uk": "новогрецька мова", + "zgh": "ⵜⴰⴳⵔⵉⴽⵜ ⵜⴰⵜⵔⴰⵔⵜ", + "zh_Hans": "现代希腊语", + "zh_Hant": "現代希臘語", "_meta": { "countries": [ "CY", @@ -3168,6 +3145,7 @@ "sl": "angleščina", "sv": "engelska", "uk": "англійська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵏⴳⵍⵉⵣⵜ", "zh_Hans": "英语", "zh_Hant": "英語", "_meta": { @@ -3299,6 +3277,7 @@ "sl": "španščina", "sv": "spanska", "uk": "іспанська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵙⴱⵍⵢⵓⵏⵜ", "zh_Hans": "西班牙语", "zh_Hant": "西班牙語", "_meta": { @@ -3337,12 +3316,15 @@ "fi": "alaskanjupik", "fr": "yupik de l'Alaska central", "gl": "Lingua iupik de Alasca central", + "he": "יופיקית מרכזית", "it": "lingua yupik centrale", "ja": "中央アラスカ・ユピック語", "nb_NO": "Alaskayupik", "nl": "Joepik", "pl": "Język yupik środkowy", - "ru": "Центрально-юпикский язык", + "pt": "Língua iúpique do Alasca Central", + "ru": "центрально-юпикский язык", + "sl": "centralni aljaški jupik", "sv": "centraljupik", "uk": "Центральноаляскинська юпікська мова", "zh_Hans": "中阿拉斯加尤皮克语", @@ -3366,7 +3348,7 @@ "gl": "lingua estoniana", "he": "אסטונית", "hu": "észt", - "id": "Esti", + "id": "bahasa Estonia", "it": "estone", "ja": "エストニア語", "ko": "에스토니아어", @@ -3403,7 +3385,7 @@ "gl": "lingua éuscara", "he": "בסקית", "hu": "baszk", - "id": "Bahasa Basque", + "id": "Basque", "it": "basco", "ja": "バスク語", "ko": "바스크어", @@ -3426,9 +3408,10 @@ }, "ext": { "ca": "extremeny", - "de": "Extremadurisch", + "cs": "Extremadurština", + "de": "Extremadurisc", "en": "Extremaduran", - "eo": "ekstremadura lingvo", + "eo": "ekstremadura lingvovario", "es": "extremeño", "eu": "Extremadurera", "fi": "extremadura", @@ -3446,6 +3429,8 @@ "sl": "ekstremadurščina", "sv": "extremaduriska", "uk": "Естремадурська мова", + "zh_Hans": "埃斯特雷马杜拉语", + "zh_Hant": "埃斯特雷馬杜拉語", "_meta": { "dir": [ "left-to-right" @@ -3498,12 +3483,12 @@ "eo": "daria lingvo", "es": "dari", "eu": "dari", - "fi": "darin kieli", + "fi": "dari", "fr": "dari", "gl": "Lingua dari", "he": "דארי", "hu": "dari", - "id": "Dari", + "id": "bahasa Dari", "it": "dari", "ja": "ダリー語", "ko": "다리어", @@ -3516,7 +3501,7 @@ "sl": "darijščina", "sv": "dari", "uk": "дарі", - "zh_Hans": "达利语", + "zh_Hans": "达里语", "zh_Hant": "達利語", "_meta": { "dir": [ @@ -3533,10 +3518,10 @@ "eo": "fula lingvo", "es": "fula", "eu": "fula", - "fi": "Fulani", + "fi": "fulani", "fr": "peul", "gl": "Lingua fula", - "he": "שפת הפולה", + "he": "פולה", "hu": "ful", "id": "Bahasa Fula", "it": "fula", @@ -3549,7 +3534,7 @@ "ru": "фула", "sl": "fulščina", "sv": "fula", - "uk": "Фульфульде", + "uk": "фульфульде", "zh_Hans": "富拉语", "zh_Hant": "富拉語", "_meta": { @@ -3573,10 +3558,10 @@ "eu": "finlandiera", "fi": "suomi", "fr": "finnois", - "gl": "finés", + "gl": "lingua finesa", "he": "פינית", "hu": "finn", - "id": "Suomi", + "id": "bahasa Finlandia", "it": "finlandese", "ja": "フィンランド語", "ko": "핀란드어", @@ -3627,6 +3612,7 @@ "sl": "filipinščina", "sv": "filippinska", "uk": "філіппінська", + "zh_Hans": "菲律宾语", "zh_Hant": "菲律賓語", "_meta": { "dir": [ @@ -3648,6 +3634,7 @@ "gl": "meänkieli", "he": "מאנקיילי", "hu": "meänkieli", + "id": "bahasa Meänkieli", "it": "lingua meänkieli", "ja": "メアンキエリ", "ko": "메앤키엘리", @@ -3657,6 +3644,7 @@ "pt": "Língua meänkieli", "pt_BR": "Língua meänkieli", "ru": "Меянкиели", + "sl": "meänkieli", "sv": "meänkieli", "uk": "Мянкіелі", "zh_Hans": "梅安语", @@ -3678,8 +3666,9 @@ "fi": "võro", "fr": "võro", "gl": "Lingua võro", + "he": "וירו", "hu": "võro", - "id": "Bahasa Võro", + "id": "Võro", "it": "võro", "ja": "ヴォロ語", "ko": "버로어", @@ -3688,6 +3677,7 @@ "pl": "język võro", "pt": "Língua võro", "ru": "выруский диалект", + "sl": "võro", "sv": "võro", "uk": "Виро", "zh_Hans": "沃罗语", @@ -3706,12 +3696,12 @@ "eo": "fiĝia lingvo", "es": "fiyiano", "eu": "Fijiera", - "fi": "Fidžin kieli", + "fi": "fidži", "fr": "fidjien", "gl": "Lingua fidxiana", "he": "פיג'ית", "hu": "fidzsi", - "id": "Bahasa Fiji", + "id": "Fiji", "it": "figiano", "ja": "フィジー語", "ko": "피지어", @@ -3721,8 +3711,11 @@ "pt": "Língua fidjiana", "pt_BR": "Língua fijiana", "ru": "фиджийский язык", + "sl": "fidžijščina", "sv": "fijianska", "uk": "Фіджійська мова", + "zh_Hans": "斐济语", + "zh_Hant": "斐濟語", "_meta": { "countries": [ "FJ" @@ -3746,7 +3739,7 @@ "gl": "Lingua kven", "he": "קוון", "hu": "kven", - "id": "Bahasa Kven", + "id": "Kven", "it": "kven", "ja": "クヴェン語", "ko": "크벤어", @@ -3774,7 +3767,7 @@ "eo": "feroa lingvo", "es": "feroés", "eu": "Faroera", - "fi": "fäärin kieli", + "fi": "fääri", "fr": "féroïen", "gl": "lingua feroesa", "he": "פארואזית", @@ -3805,13 +3798,14 @@ "eo": "fonua lingvo", "es": "idioma fon", "eu": "Fonera", - "fi": "Fonin kieli", + "fi": "fon", "fr": "fon-gbe", "gl": "Lingua fon", "he": "פון", "id": "Bahasa Fon", "it": "fon", "ja": "フォン語", + "ko": "폰어", "nb_NO": "fon", "nl": "Fon", "pl": "język fon", @@ -3853,6 +3847,7 @@ "sl": "francoščina", "sv": "franska", "uk": "французька мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⴼⵕⴰⵏⵚⵉⵚⵜ", "zh_Hans": "法语", "zh_Hant": "法語", "_meta": { @@ -3892,28 +3887,6 @@ ] } }, - "frc": { - "ca": "francès cajun", - "de": "Cajun", - "en": "Louisiana French", - "eo": "luiziana franca dialekto", - "es": "francés cajún", - "eu": "Louisianako frantses", - "fr": "français de Louisiane", - "id": "Bahasa Prancis Louisiana", - "it": "francese cajun", - "ja": "ケイジャン・フランス語", - "nl": "Cajun-Frans", - "pt": "francês cajun", - "ru": "Кажунский диалект французского языка", - "sv": "louisianafranska", - "uk": "Кажунський діалект французької мови", - "_meta": { - "dir": [ - "left-to-right" - ] - } - }, "frp": { "ca": "francoprovençal", "cs": "franko-provensálština", @@ -3923,12 +3896,12 @@ "eo": "arpitana lingvo", "es": "franco-provenzal", "eu": "Frankoprovenzera", - "fi": "Arpitaani", + "fi": "arpitaani", "fr": "francoprovençal", "gl": "Lingua francoprovenzal", "he": "פרנקו-פרובנסאלית", "hu": "frankoprovanszál", - "id": "Bahasa Arpitan", + "id": "Franco-Provençal", "it": "francoprovenzale", "ja": "アルピタン語", "ko": "프랑코프로방스어", @@ -3938,9 +3911,9 @@ "pt": "franco-provençal", "pt_BR": "Língua franco-provençal", "ru": "франкопровансальский язык", - "sl": "frankoprovansalščina", + "sl": "arpitanščina", "sv": "frankoprovensalska", - "uk": "Франко-провансальська мова", + "uk": "франко-провансальська мова", "_meta": { "dir": [ "left-to-right" @@ -3950,22 +3923,22 @@ "frr": { "ca": "frisó septentrional", "da": "Nordfrisisk", - "de": "Nordfriesisch", + "de": "nordfriesische Sprache", "en": "North Frisian", "eo": "nordfrisa lingvo", "es": "frisón septentrional", "eu": "Iparraldeko frisiera", - "fi": "Pohjoisfriisi", + "fi": "pohjoisfriisi", "fr": "frison septentrional", "gl": "Lingua frisoa setentrional", "he": "פריזית צפונית", "hu": "északi fríz", - "id": "Bahasa Frisia Utara", + "id": "Frisia Utara", "it": "frisone settentrionale", "ja": "北フリジア語", "ko": "북프리슬란트어", "nb_NO": "nordfrisisk", - "nl": "Noord-Fries", + "nl": "Noord-Friese talen", "pl": "język północnofryzyjski", "pt": "frisão setentrional", "ru": "севернофризский язык", @@ -3980,6 +3953,21 @@ ] } }, + "fuf": { + "en": "Pular", + "fr": "pular", + "gl": "Lingua pular", + "ja": "プラー語", + "nl": "Pular", + "sl": "pularščina", + "sv": "pular", + "_meta": { + "dir": [ + "left-to-right", + "right-to-left" + ] + } + }, "fur": { "ca": "furlà", "cs": "furlanština", @@ -3989,12 +3977,12 @@ "eo": "friula lingvo", "es": "friulano", "eu": "Friuliera", - "fi": "Friulin kieli", + "fi": "friuli", "fr": "frioulan", "gl": "Lingua friulana", "he": "פורלן", "hu": "friuli", - "id": "Bahasa Friuli", + "id": "Friuli", "it": "friulano", "ja": "フリウリ語", "ko": "프리울리어", @@ -4006,6 +3994,7 @@ "sl": "furlanščina", "sv": "friuliska", "uk": "фріульська мова", + "zh_Hant": "佛里烏利語", "_meta": { "dir": [ "left-to-right" @@ -4021,12 +4010,12 @@ "eo": "okcidentfrisa lingvo", "es": "frisón occidental", "eu": "Mendebaldeko frisiera", - "fi": "länsifriisin kieli", + "fi": "länsifriisi", "fr": "frison occidental", "gl": "Lingua frisoa occidental", "he": "פריזית מערבית", "hu": "nyugati fríz", - "id": "Bahasa Frisia Barat", + "id": "Frisia Barat", "it": "frisone occidentale", "ja": "西フリジア語", "ko": "서프리슬란트어", @@ -4036,6 +4025,7 @@ "pt": "frísio ocidental", "pt_BR": "frísio ocidental", "ru": "западнофризский язык", + "sl": "zahodna frizijščina", "sv": "västfrisiska", "uk": "західнофризька мова", "zh_Hans": "西弗里斯兰语", @@ -4060,7 +4050,7 @@ "gl": "lingua irlandesa", "he": "אירית", "hu": "ír", - "id": "Bahasa Irlandia", + "id": "bahasa Irlandia", "it": "irlandese", "ja": "アイルランド語", "ko": "아일랜드어", @@ -4091,12 +4081,13 @@ "en": "Ga", "eo": "gaa lingvo", "es": "Idioma ga", - "fi": "Gan kieli", + "fi": "ga", "fr": "ga", "he": "גה", "it": "lingua ga", "ja": "ガ語", "ko": "가어", + "nb_NO": "ga", "nl": "Ga", "pl": "Język ga", "ru": "Га", @@ -4131,7 +4122,7 @@ "pl": "Język gagauski", "pt": "Língua gagaúza", "ru": "Гагаузский язык", - "sl": "gagavščina", + "sl": "gagauščina", "sv": "gagauziska", "uk": "гагаузька мова", "zh_Hans": "加告兹语", @@ -4149,7 +4140,7 @@ "en": "Gan Chinese", "eo": "gana lingvo", "es": "chino gan", - "fi": "Gan-kiina", + "fi": "gan-kiina", "fr": "gan", "gl": "Gan", "he": "סינית גאן", @@ -4164,11 +4155,11 @@ "ru": "Гань", "sl": "gan", "sv": "gan", - "uk": "Ґань", + "uk": "Гань", "zh_Hant": "贛語", "_meta": { "dir": [ - "top-to-bottom" + "vertical right-to-left" ] } }, @@ -4206,12 +4197,12 @@ "eo": "skotgaela lingvo", "es": "gaélico escocés", "eu": "Eskoziako gaelera", - "fi": "Gaeli", + "fi": "gaeli", "fr": "gaélique écossais", "gl": "Lingua gaélica escocesa", "he": "גאלית סקוטית", "hu": "skót gael", - "id": "Bahasa Gaelik Skotlandia", + "id": "bahasa Gaelik Skotlandia", "it": "gaelico scozzese", "ja": "スコットランド・ゲール語", "ko": "스코틀랜드 게일어", @@ -4239,12 +4230,12 @@ "eo": "kiribata lingvo", "es": "gilbertino", "eu": "kiribatiera", - "fi": "Kiribatin kieli", + "fi": "kiribati", "fr": "gilbertin", "gl": "Lingua kiribatiana", "he": "גילברטית", "hu": "gilberti", - "id": "Bahasa Kiribati", + "id": "Kiribati", "it": "gilbertese", "ja": "キリバス語", "ko": "키리바시어", @@ -4298,16 +4289,18 @@ }, "glk": { "ca": "gilaki", + "cs": "Gilákština", "de": "Gilaki", "en": "Gilaki", "eo": "gila lingvo", "es": "gileki", "eu": "Gilaki", - "fi": "Gilakin kieli", + "fi": "gilaki", "fr": "gilaki", "gl": "Lingua gilaki", + "he": "גילאקי", "hu": "gilaki", - "id": "Bahasa Gilaki", + "id": "bahasa Gilan", "it": "gilaki", "ja": "ギラキ語", "ko": "길란어", @@ -4316,8 +4309,10 @@ "pl": "Język giliański", "pt": "Língua gilaki", "ru": "гилякский язык", + "sl": "gilaščina", "sv": "gilaki", "uk": "Ґілакі", + "zh_Hant": "吉拉基語", "_meta": { "dir": [ "right-to-left" @@ -4333,7 +4328,7 @@ "eo": "gvarania lingvo", "es": "guaraní", "eu": "Guaraniera", - "fi": "Guaranin kieli", + "fi": "guarani", "fr": "guarani", "gl": "lingua guaraní", "he": "גוארני", @@ -4348,9 +4343,10 @@ "pt": "língua guarani", "pt_BR": "língua guarani", "ru": "гуарани", - "sl": "Gvaranščina", + "sl": "gvaranščina", "sv": "guaraní", "uk": "гуарані", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⴳⵡⴰⵔⴰⵏⵉⵜ", "zh_Hans": "瓜纳尼语", "zh_Hant": "瓜拉尼語", "_meta": { @@ -4366,10 +4362,12 @@ "gom": { "de": "Goa-Konkani", "en": "Goan Konkani", + "fi": "goankonkani", "fr": "konkani de Goa", "he": "קונקנית של גואה", "ja": "ゴア・コンカニ語", "nl": "Goa-Konkani", + "sl": "gojevska konkanščina", "sv": "goakonkani", "_meta": { "dir": [ @@ -4386,10 +4384,10 @@ "eo": "gorontala lingvo", "es": "Idioma gorontalo", "eu": "Gorontalo", - "fi": "Gorontalon kieli", + "fi": "gorontalo", "fr": "gorontalo", "gl": "Gorontalo", - "id": "Gorontalo", + "id": "bahasa Gorontalo", "it": "lingua gorontalo", "ja": "ゴロンタロ語", "nb_NO": "Gorontalo", @@ -4398,9 +4396,9 @@ "pt": "Gorontalo", "pt_BR": "Gorontalo", "ru": "Горонтало", - "sl": "Gorontalo", + "sl": "gorontalščina", "sv": "gorontalo", - "uk": "Горонтало (мова)", + "uk": "Горонтало", "zh_Hans": "哥伦打洛语", "zh_Hant": "哥倫打洛語", "_meta": { @@ -4416,6 +4414,7 @@ "gl": "Pidgin ghanés", "nl": "Ghanees-Pidgin", "ru": "ганский пиджин английского", + "sl": "ganska kreolščina", "sv": "ghanansk pidginengelska", "uk": "Ганський піджин англійської мови", "_meta": { @@ -4432,7 +4431,7 @@ "eo": "germana signolingvo", "es": "lengua de señas alemana", "fi": "saksalainen viittomakieli", - "fr": "Langue des signes allemande - DGS", + "fr": "langue des signes allemande - DGS", "hu": "német jelnyelv", "id": "Bahasa Isyarat Jerman", "it": "lingua dei segni tedesca", @@ -4444,6 +4443,7 @@ "pt": "língua gestual alemã", "pt_BR": "língua de sinais alemã", "ru": "германский жестовый язык", + "sl": "nemški znakovni jezik", "sv": "tyskt teckenspråk", "uk": "німецька мова жестів", "zh_Hans": "德国手语", @@ -4462,12 +4462,12 @@ "eo": "alzaca lingvo", "es": "alsaciano", "eu": "Alsaziera", - "fi": "Elsassi", + "fi": "elsassi", "fr": "alsacien", "gl": "Lingua alsaciana", "he": "אלזסית", "hu": "elzászi", - "id": "bahasa Elsass", + "id": "Alsace", "it": "dialetto alsaziano", "ja": "アルザス語", "ko": "알자스어", @@ -4477,6 +4477,7 @@ "pt": "Língua alsaciana", "pt_BR": "Língua alsaciana", "ru": "эльзасский диалект", + "sl": "alzaščina", "sv": "elsassiska", "uk": "Ельзаський діалект", "_meta": { @@ -4499,7 +4500,7 @@ "gl": "lingua guxaratí", "he": "גוג'ראטית", "hu": "gudzsaráti", - "id": "Bahasa Gujarati", + "id": "bahasa Gujarati", "it": "gujarati", "ja": "グジャラート語", "ko": "구자라트어", @@ -4525,10 +4526,12 @@ "eo": "vajua lingvo", "es": "Idioma wayú", "eu": "Wayuu hizkuntza", + "fi": "wayuu", "fr": "wayuu", "gl": "Lingua wayuu", "it": "lingua wayuu", "ja": "ワユ語", + "ko": "와유어", "nb_NO": "wayuu", "nl": "Wayuu", "pl": "Język wayuu", @@ -4543,9 +4546,12 @@ }, "guw": { "ca": "gun", + "cs": "gunština", "de": "Gun", "en": "Gun", + "eo": "gungbea lingvo", "es": "Idioma Gungbe", + "fi": "gun", "fr": "gun-gbe", "gl": "Lingua gun", "he": "גון", @@ -4573,7 +4579,7 @@ "gl": "Lingua manx", "he": "מאנית", "hu": "manx", - "id": "Bahasa Manx", + "id": "bahasa Man", "it": "mannese", "ja": "マン島語", "ko": "맨어", @@ -4583,9 +4589,10 @@ "pt": "Língua manesa", "pt_BR": "manês", "ru": "мэнский язык", - "sl": "Manska gelščina", + "sl": "manščina", "sv": "manx", "uk": "менська мова", + "zh_Hans": "马恩岛语", "_meta": { "dir": [ "left-to-right" @@ -4601,7 +4608,7 @@ "eo": "haŭsa lingvo", "es": "hausa", "eu": "Hausa", - "fi": "hausan kieli", + "fi": "hausa", "fr": "haoussa", "gl": "Lingua hausa", "he": "האוסה", @@ -4616,6 +4623,7 @@ "pt": "Língua haúça", "pt_BR": "língua hauçá", "ru": "хауса", + "sl": "havščina", "sv": "hausa", "uk": "хауса", "zh_Hant": "豪薩語", @@ -4633,7 +4641,7 @@ "eo": "Ĥajda lingvo", "es": "idioma haida", "eu": "Haida hizkuntza", - "fi": "Haida", + "fi": "haida", "fr": "haïda", "gl": "Lingua haida", "id": "Bahasa Haida", @@ -4662,7 +4670,7 @@ "en": "Hakka Chinese", "eo": "hakaa lingvo", "es": "chino hakka", - "fi": "Hakka-kiina", + "fi": "hakka-kiina", "fr": "hakka", "gl": "Lingua hakka", "he": "האקה", @@ -4683,7 +4691,7 @@ "zh_Hant": "客家話", "_meta": { "dir": [ - "top-to-bottom" + "vertical right-to-left" ] } }, @@ -4696,12 +4704,12 @@ "eo": "havaja lingvo", "es": "hawaiano", "eu": "hawaiiera", - "fi": "havaijin kieli", + "fi": "havaiji", "fr": "hawaïen", "gl": "Lingua hawaiana", "he": "הוואית", "hu": "hawaii", - "id": "Bahasa Hawaii", + "id": "bahasa Hawaii", "it": "hawaiano", "ja": "ハワイ語", "ko": "하와이어", @@ -4713,7 +4721,8 @@ "ru": "гавайский язык", "sl": "havajščina", "sv": "hawaiiska", - "uk": "Гавайська мова", + "uk": "гавайська мова", + "zh_Hans": "夏威夷语", "zh_Hant": "夏威夷語", "_meta": { "dir": [ @@ -4735,7 +4744,7 @@ "gl": "lingua hebrea", "he": "עברית", "hu": "héber", - "id": "Ibrani", + "id": "bahasa Ibrani", "it": "ebraico", "ja": "ヘブライ語", "ko": "히브리어", @@ -4768,11 +4777,11 @@ "eo": "Fiĝia hindia lingvo", "es": "hindi de Fiyi", "eu": "Fijiko hindi", - "fi": "Fidžinhindi", + "fi": "fidžinhindi", "fr": "hindi des Fidji", "gl": "Hindi de Fidxi", "he": "הינדוסטני", - "id": "Bahasa Fiji Hindi", + "id": "Hindi Fiji", "it": "hindi figiano", "ja": "フィジー・ヒンディー語", "ko": "피지 힌디어", @@ -4796,10 +4805,10 @@ "en": "Hiligaynon", "eo": "hiligajna lingvo", "es": "hiligueino", - "fi": "Hiligainon kieli", + "fi": "hiligaino", "fr": "hiligaïnon", "hu": "ilongo", - "id": "Bahasa Hiligaynon", + "id": "bahasa Hiligai", "it": "lingua hiligaynon", "ja": "ヒリガイノン語", "ko": "힐리가이논어", @@ -4808,8 +4817,9 @@ "pt": "Língua hiligaynon", "ru": "Хилигайнон", "sl": "hiligajnonščina", - "sv": "hiligaynon", + "sv": "hiligajska", "uk": "Гіліґайнон", + "zh_Hant": "希利蓋農語", "_meta": { "dir": [ "left-to-right" @@ -4821,9 +4831,9 @@ "da": "hindko", "de": "Hindko", "en": "Hindko", - "fi": "Hindko", + "fi": "hindko", "fr": "hindko", - "id": "Bahasa Hindko", + "id": "Hindko", "it": "Hindko", "ja": "ヒンドコ語", "nb_NO": "hindko", @@ -4850,7 +4860,7 @@ "eo": "hirimotua lingvo", "es": "Hiri motu", "eu": "Hiri Motu", - "fi": "Hiri motu", + "fi": "hiri-motu", "fr": "hiri motou", "gl": "Hiri Motu", "he": "הארי מוטו", @@ -4867,6 +4877,7 @@ "sl": "hiri motu", "sv": "hiri motu", "uk": "Гірі-моту", + "zh_Hant": "希里摩圖語", "_meta": { "countries": [ "PG" @@ -4883,7 +4894,7 @@ "en": "Ho", "eo": "hoa lingvo", "eu": "Hoera", - "fi": "Hon kieli", + "fi": "ho", "fr": "ho", "it": "lingua ho", "ja": "ホー語", @@ -4913,6 +4924,7 @@ "pt": "hunsriqueano riograndense", "pt_BR": "hunsriqueano riograndense", "ru": "хунсрик", + "sl": "hunsriščina", "sv": "hunsrik", "_meta": { "dir": [ @@ -4933,7 +4945,7 @@ "gl": "Alto sorabo", "he": "סורבית עילית", "hu": "felsőszorb", - "id": "Bahasa Sorbia Hulu", + "id": "Sorbia Hulu", "it": "alto sorabo", "ja": "高地ソルブ語", "ko": "고지 소르브어", @@ -4942,7 +4954,7 @@ "pt": "alto sorábio", "pt_BR": "Alto sorábio", "ru": "верхнелужицкий язык", - "sl": "Zgornjelužiščina", + "sl": "zgornjelužiščina", "sv": "högsorbiska", "uk": "верхньолужицька мова", "zh_Hans": "上索布语", @@ -4957,7 +4969,7 @@ "ca": "crioll haitià", "cs": "haitská kreolština", "da": "haitisk", - "de": "Haitianisch", + "de": "Haitianisch-Kreolisch", "en": "Haitian Creole", "eo": "haitia kreola lingvo", "es": "criollo haitiano", @@ -4967,7 +4979,7 @@ "gl": "Crioulo haitiano", "he": "קריאולית האיטית", "hu": "haiti kreol", - "id": "Bahasa Kreol Haiti", + "id": "Kreol Haiti", "it": "creolo haitiano", "ja": "ハイチ語", "ko": "아이티어", @@ -4979,7 +4991,7 @@ "ru": "гаитянский креольский язык", "sl": "haitijska kreolščina", "sv": "haitisk kreol", - "uk": "Гаїтянська креольська мова", + "uk": "гаїтянська креольська мова", "zh_Hans": "海地克里奥尔语", "zh_Hant": "海地克里奧爾語", "_meta": { @@ -5044,7 +5056,7 @@ "gl": "lingua armenia", "he": "ארמנית", "hu": "örmény", - "id": "Bahasa Armenia", + "id": "bahasa Armenia", "it": "armeno", "ja": "アルメニア語", "ko": "아르메니아어", @@ -5069,13 +5081,16 @@ }, "hyw": { "ca": "armeni occidental", + "cs": "Západní Arménština", "de": "Westarmenisch", "en": "Western Armenian", "eo": "okcident-armena lingvo", "es": "armenio occidental", + "fi": "länsiarmenia", "fr": "arménien occidental", "gl": "Armenio occidental", "he": "ארמנית מערבית", + "hu": "Nyugat-örmény nyelv", "id": "Armenia Barat", "it": "dialetto armeno occidentale", "ja": "西アルメニア語", @@ -5103,7 +5118,7 @@ "eo": "herera lingvo", "es": "herero", "eu": "Hereroera", - "fi": "Hereron kieli", + "fi": "herero", "fr": "héréro", "gl": "Lingua herero", "hu": "herero", @@ -5117,8 +5132,37 @@ "pt": "hereró", "pt_BR": "Língua hereró", "ru": "Гереро", + "sl": "hererščina", "sv": "herero", "uk": "Гереро", + "zh_Hant": "赫雷羅語", + "_meta": { + "dir": [ + "left-to-right" + ] + } + }, + "iba": { + "ca": "iban", + "de": "Iban", + "en": "Iban", + "eo": "ibana lingvo", + "es": "Idioma iban", + "eu": "ibanera", + "fi": "iban", + "fr": "iban", + "gl": "Lingua iban", + "id": "bahasa Iban", + "it": "lingua iban", + "ja": "イバン語", + "ko": "이반어", + "nl": "Iban", + "pl": "Język iban", + "pt": "Língua iban", + "ru": "Ибанский язык", + "uk": "Ібанська мова", + "zh_Hans": "伊班语", + "zh_Hant": "伊班語", "_meta": { "dir": [ "left-to-right" @@ -5152,7 +5196,7 @@ "sl": "indonezijščina", "sv": "indonesiska", "uk": "індонезійська мова", - "zh_Hans": "印度尼西亚语", + "zh_Hans": "印尼语", "zh_Hant": "印尼語", "_meta": { "countries": [ @@ -5170,7 +5214,7 @@ "eo": "Siĉuana jia lingvo", "es": "Idioma nuosu", "eu": "nuosu", - "fi": "Sichuanin-yi", + "fi": "sichuanin-yi", "fr": "nuosu", "gl": "Lingua nuosu", "he": "שפת נווסוו", @@ -5183,7 +5227,8 @@ "pt": "Língua Nuosu", "ru": "носу", "sv": "nuosu", - "uk": "Носу", + "uk": "носу", + "zh_Hant": "彝語北部方言", "_meta": { "dir": [ "left-to-right" @@ -5194,11 +5239,11 @@ "ca": "inupiaq", "cs": "Inupiaq", "de": "Inupiaq", - "en": "Inupiaq", + "en": "Iñupiaq", "eo": "inupiaka lingvo", "es": "Idioma iñupiaq", "eu": "inupiaq", - "fi": "Inupiatun", + "fi": "inupiatun", "fr": "inupiaq", "gl": "Lingua inupiaq", "he": "אינופיאק", @@ -5228,7 +5273,7 @@ "en": "Ilocano", "eo": "iloka lingvo", "es": "ilocano", - "fi": "Iloko", + "fi": "iloko", "fr": "ilocano", "gl": "Lingua ilocana", "hu": "ilokano", @@ -5240,7 +5285,7 @@ "nl": "Ilokano", "pl": "język iloko", "pt": "Ilocano", - "ru": "Илоканский язык", + "ru": "илоканский язык", "sl": "ilokanščina", "sv": "ilokano", "uk": "Ілоко", @@ -5259,19 +5304,19 @@ "eo": "inguŝa lingvo", "es": "ingusetio", "eu": "Inguxera", - "fi": "Inguušin kieli", + "fi": "inguuši", "fr": "ingouche", "gl": "Lingua ingusetia", "he": "אינגושית", "hu": "ingus", - "id": "Bahasa Ingush", + "id": "Ingush", "it": "lingua inguscia", "ja": "イングーシ語", "ko": "인구시어", "nb_NO": "ingusjisk", "nl": "Ingoesjetisch", - "pl": "Język inguski", - "pt": "Língua inguche", + "pl": "język inguski", + "pt": "língua inguche", "ru": "ингушский язык", "sl": "inguščina", "sv": "ingusjiska", @@ -5347,6 +5392,7 @@ "sl": "italijanščina", "sv": "italienska", "uk": "італійська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵟⴰⵍⵢⴰⵏⵉⵜ", "zh_Hans": "意大利语", "zh_Hant": "義大利語", "_meta": { @@ -5368,9 +5414,9 @@ "de": "Inuktitut", "en": "Inuktitut", "eo": "inuktituta lingvo", - "es": "lenguas inuit", + "es": "inuktitut", "eu": "Inuitera", - "fi": "Inuktitut", + "fi": "inuktitut", "fr": "inuktitut", "gl": "Lingua inuktitut", "he": "אינוקטיטוט", @@ -5423,6 +5469,7 @@ "sl": "japonščina", "sv": "japanska", "uk": "японська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵏⵉⴱⵓⵏⵜ", "zh_Hans": "日语", "zh_Hant": "日語", "_meta": { @@ -5437,20 +5484,20 @@ } }, "jam": { - "ca": "jamaican", + "ca": "crioll anglès de Jamaica", "cs": "Jamajský patois", "da": "Patois", - "de": "Jamaika-Kreolisch", + "de": "Jamaikanisch-Kreolisch", "en": "Jamaican Patois", "eo": "jamajka-kreola lingvo", - "es": "Criollo jamaicano", + "es": "criollo jamaicano", "eu": "Jamaikako kreolera", - "fi": "Jamaikankreoli", + "fi": "jamaikankreoli", "fr": "créole jamaïcain", "gl": "Patois xamaicano", "he": "ג'מייקנית קריאולית", - "hu": "jamaicai angol", - "id": "Patwa Jamaika", + "hu": "jamaicai kreol", + "id": "Patois Jamaika", "it": "lingua creola giamaicana", "ja": "ジャマイカ・クレオール語", "ko": "자메이카 파트와", @@ -5459,10 +5506,11 @@ "pt": "Patoá jamaicano", "pt_BR": "Patoá jamaicano", "ru": "ямайский креольский язык", + "sl": "jamajški patois", "sv": "patwa", "uk": "Патуа", - "zh_Hans": "牙买加土语", - "zh_Hant": "牙買加土語", + "zh_Hans": "牙买加克里奥尔语", + "zh_Hant": "牙買加克里奧爾語", "_meta": { "dir": [ "left-to-right" @@ -5472,10 +5520,12 @@ "jax": { "en": "Jambi Malay", "fr": "malais jambi", - "id": "Bahasa Melayu Jambi", + "he": "ג'אמבי מלאי", + "id": "bahasa Melayu Jambi", "ja": "ジャンビ・マレー語", "pl": "Język jambi", "ru": "Джамби", + "sl": "džambijska malajščina", "sv": "jambimalajiska", "_meta": { "dir": [ @@ -5492,7 +5542,7 @@ "eo": "java lingvo", "es": "javanés", "eu": "Javera", - "fi": "jaavan kieli", + "fi": "jaava", "fr": "javanais", "gl": "Lingua xavanesa", "he": "ג'אווה", @@ -5533,7 +5583,7 @@ "gl": "lingua xeorxiana", "he": "גאורגית", "hu": "grúz", - "id": "Bahasa Georgia", + "id": "bahasa Georgia", "it": "georgiano", "ja": "ジョージア語", "ko": "조지아어", @@ -5565,12 +5615,12 @@ "eo": "karakalpaka lingvo", "es": "Idioma karakalpako", "eu": "Karakalpakera", - "fi": "karapalkki", + "fi": "karakalpakki", "fr": "karakalpak", "gl": "Lingua karakalpak", "he": "קראקלפקית", "hu": "karakalpak", - "id": "Bahasa Karakalpak", + "id": "Karakalpak", "it": "karakalpako", "ja": "カラカルパク語", "ko": "카라칼파크어", @@ -5589,30 +5639,32 @@ } }, "kab": { - "ca": "cabil", + "ca": "cabilenc", "da": "Kabylsk", "de": "Kabylisch", "en": "Kabyle", "eo": "kabila lingvo", "es": "cabilio", "eu": "kabiliera", - "fi": "Kabyyli", + "fi": "kabyyli", "fr": "kabyle", - "gl": "Lingua cabilia", + "gl": "cabilio", "he": "קבילית", "hu": "kabil", + "id": "Bahasa Kabyle", "it": "cabilo", - "ja": "カビル語", + "ja": "カビール語", "ko": "카빌리어", "nb_NO": "Kabylsk", "nl": "Kabylisch", - "pl": "Język kabylski", - "pt": "Língua cabila", - "pt_BR": "Língua cabila", + "pl": "kabylski", + "pt": "cabila", + "pt_BR": "cabila", "ru": "кабильский язык", "sl": "kabilščina", "sv": "kabyliska", "uk": "кабільська мова", + "zgh": "ⵜⴰⵇⴱⴰⵢⵍⵉⵜ", "zh_Hant": "卡拜爾語", "_meta": { "dir": [ @@ -5628,11 +5680,12 @@ "eo": "kabarda lingvo", "es": "cabardino", "eu": "Kabardera", - "fi": "Kabardin kieli", + "fi": "kabardi", "fr": "kabarde", "gl": "Lingua kabardina", "he": "קברדינית", "hu": "kabard", + "id": "Kabardia", "it": "cabardo", "ja": "カバルド語", "ko": "카바르디어", @@ -5641,6 +5694,7 @@ "pl": "Język kabardyjski", "pt": "Língua cabardiana", "ru": "кабардино-черкесский язык", + "sl": "kabardinščina", "sv": "kabardinska", "uk": "кабардинська мова", "zh_Hans": "卡巴尔达语", @@ -5654,7 +5708,7 @@ }, "kbp": { "ca": "kabiye", - "cs": "Kabiye", + "cs": "kabiyé", "da": "Kabiye", "de": "Kabiyé", "en": "Kabiye", @@ -5671,6 +5725,7 @@ "pt": "Língua kabiyé", "ru": "Кабийе", "sv": "kabiye", + "zh_Hant": "卡比耶語", "_meta": { "dir": [ "left-to-right" @@ -5678,17 +5733,20 @@ } }, "kcg": { - "ca": "katab", + "ca": "tyap", "de": "Tjap", "en": "Tyap", "es": "Katab", - "fi": "Tyap", + "fi": "tyap", "fr": "tyap", "gl": "Lingua tyap", + "he": "טיאפ", "ja": "カタブ語", "nl": "Tyap", + "sl": "tjapščina", "sv": "katab", "uk": "Тʼяп", + "zh_Hant": "提亞普語", "_meta": { "dir": [ "left-to-right" @@ -5703,9 +5761,9 @@ "en": "Cape Verdean Creole", "eo": "Kabo-Verda kreolo", "es": "criollo caboverdiano", - "fi": "Kapverdenkreoli", - "fr": "créole du Cap-Vert", - "gl": "Crioulo caboverdiano", + "fi": "kapverdenkreoli", + "fr": "créole cap-verdien", + "gl": "crioulo caboverdiano", "he": "קריאולית כף ורדה", "it": "creolo capoverdiano", "ja": "カーボベルデ・クレオール語", @@ -5733,12 +5791,12 @@ "eo": "konga lingvo", "es": "kikongo", "eu": "Kikongo", - "fi": "kongon kieli", + "fi": "kongo", "fr": "kikongo", "gl": "Lingua congo", "he": "קונגו", "hu": "kikongo", - "id": "Bahasa Kongo", + "id": "Kongo", "it": "kongo", "ja": "コンゴ語", "ko": "콩고어", @@ -5765,6 +5823,7 @@ "ja": "カインガング語", "nb_NO": "Kaingang", "nl": "Kaingang", + "pl": "Języki caingang", "pt": "Língua caingangue", "pt_BR": "Língua kaingáng", "ru": "Каинганг", @@ -5781,7 +5840,7 @@ "en": "Khasi", "eo": "kasia lingvo", "eu": "khasiera", - "fi": "Khasi", + "fi": "khasi", "fr": "khasi", "he": "קהאסי", "it": "lingua khasi", @@ -5791,6 +5850,7 @@ "pl": "Język khasi", "pt": "Língua khasi", "ru": "Кхаси", + "sl": "kasijščina", "sv": "khasi", "uk": "Кхасі", "zh_Hans": "卡西语", @@ -5805,6 +5865,7 @@ "en": "Khams Tibetan", "fr": "tibétain khamké", "hu": "khami tibeti", + "id": "Tibet Khams", "ja": "カム・チベット語", "ko": "캄 티베트어", "pl": "Język kham", @@ -5819,18 +5880,22 @@ }, "khw": { "de": "Khowar", - "en": "Khowar", - "fi": "Khowarin kieli", + "en": "Chitrali language", + "es": "Khowar", + "fi": "khowar", "fr": "khowar", "id": "Bahasa Khowar", "it": "khawar", "ja": "コワール語", + "ko": "코와르어", "nb_NO": "Khowar", "nl": "Khowar", "pl": "język khowar", "pt": "Língua khovar", "ru": "кховар", "sv": "khowar", + "uk": "кховар", + "zh_Hant": "科瓦語", "_meta": { "dir": [ "right-to-left" @@ -5845,7 +5910,7 @@ "eo": "kikuja lingvo", "es": "kikuyu", "eu": "kikuyuera", - "fi": "Kikujun kieli", + "fi": "kikuju", "fr": "kikuyu", "gl": "Lingua kikuyu", "he": "קיקויו", @@ -5877,6 +5942,7 @@ "en": "Kwanyama", "eo": "kuanjama lingvo", "es": "idioma kuanyama", + "fi": "kuanjama", "fr": "kwanyama", "gl": "Lingua kwanyama", "hu": "kvanyama", @@ -5887,6 +5953,7 @@ "pl": "Język kwanyama", "pt": "Língua cuanhama", "ru": "кваньяма", + "sl": "kvanjamščina", "sv": "kwanyama", "uk": "кваньяма", "zh_Hans": "夸摩马语", @@ -5902,11 +5969,13 @@ "en": "Khmu", "es": "Idioma khmu", "fr": "khmu", + "id": "Khmu", "ja": "クム語", "ko": "크무어", "pl": "Język khmu", "pt": "Língua Khmu", "ru": "Кхму (язык)", + "sl": "kmujščina", "sv": "kammu", "_meta": { "dir": [ @@ -5922,6 +5991,7 @@ "nl": "Oostelijk Pwo", "pt": "Língua pwo leste", "ru": "Восточный пво", + "sl": "vzhodni pwo", "sv": "östlig pwo", "_meta": { "dir": [ @@ -5943,7 +6013,7 @@ "gl": "Lingua casaca", "he": "קזחית", "hu": "kazak", - "id": "bahasa Kazakh", + "id": "Kazakh", "it": "kazako", "ja": "カザフ語", "ko": "카자흐어", @@ -5968,40 +6038,6 @@ ] } }, - "kl": { - "ca": "Groenlandès", - "cs": "grónština", - "da": "grønlandsk", - "de": "Grönländisch", - "en": "Greenlandic", - "eo": "gronlanda lingvo", - "es": "groenlandés", - "eu": "groenlandiera", - "fi": "grönlannin kieli", - "fr": "groenlandais", - "gl": "Lingua grenlandesa", - "he": "גרינלנדית", - "hu": "grönlandi", - "id": "bahasa Greenland", - "it": "groenlandese", - "ja": "グリーンランド語", - "ko": "그린란드어", - "nb_NO": "grønlandsk", - "nl": "Groenlands", - "pl": "język grenlandzki", - "pt": "gronelandês", - "ru": "гренландский язык", - "sl": "grenlandščina", - "sv": "grönländska", - "uk": "ґренландська мова", - "zh_Hans": "格陵兰语", - "zh_Hant": "格陵蘭語", - "_meta": { - "dir": [ - "left-to-right" - ] - } - }, "km": { "ca": "khmer", "cs": "khmerština", @@ -6039,6 +6075,25 @@ ] } }, + "kmz": { + "ca": "turc de Khorasan", + "de": "Chorasan-Türkisch", + "en": "Khorasani Turkic", + "es": "Idioma turco de Jorasán", + "fi": "khorasaninturkki", + "fr": "turc du Khorassan", + "it": "lingua khorasani", + "ja": "ホラサン・トルコ語", + "pt": "Língua turca coraçone", + "ru": "Хорасанско-тюркский язык", + "sl": "korasanska turščina", + "uk": "Хорасанська тюркська мова", + "_meta": { + "dir": [ + "right-to-left" + ] + } + }, "kn": { "ca": "kannada", "cs": "kannadština", @@ -6053,7 +6108,7 @@ "gl": "Lingua kanaresa", "he": "קאנדה", "hu": "kannada", - "id": "Kannada", + "id": "bahasa Kannada", "it": "kannada", "ja": "カンナダ語", "ko": "칸나다어", @@ -6087,7 +6142,7 @@ "gl": "lingua coreana", "he": "קוריאנית", "hu": "koreai", - "id": "Korea", + "id": "bahasa Korea", "it": "coreano", "ja": "朝鮮語", "ko": "한국어", @@ -6100,6 +6155,7 @@ "sl": "korejščina", "sv": "koreanska", "uk": "корейська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⴽⵓⵔⵉⵜ", "zh_Hans": "朝鲜语", "zh_Hant": "韓語", "_meta": { @@ -6108,8 +6164,8 @@ "KR" ], "dir": [ - "vertical right-to-left", - "left-to-right" + "left-to-right", + "vertical right-to-left" ] } }, @@ -6122,7 +6178,7 @@ "eo": "komipermjaka lingvo", "es": "komi permio", "eu": "komi-permyak", - "fi": "komipermjakin kieli", + "fi": "komipermjakki", "fr": "komi-permiak", "gl": "Lingua komi-permyac", "hu": "permják", @@ -6134,6 +6190,7 @@ "pl": "język komi-permiacki", "pt": "Língua komi-permyak", "ru": "коми-пермяцкий язык", + "sl": "permjaščina", "sv": "komi-permjakiska", "uk": "комі-перм'яцька мова", "zh_Hans": "彼尔姆科米语", @@ -6152,7 +6209,7 @@ "eo": "kanura lingvo", "es": "kanuri", "eu": "Kanuri hizkuntza", - "fi": "Kanurin kieli", + "fi": "kanuri", "fr": "kanouri", "gl": "Lingua kanuri", "he": "קאנורי", @@ -6165,8 +6222,10 @@ "pl": "Język kanuri", "pt": "Língua kanuri", "ru": "Канури", + "sl": "kanurščina", "sv": "kanuri", "uk": "Канурі", + "zh_Hant": "卡努里語", "_meta": { "dir": [ "right-to-left", @@ -6176,12 +6235,13 @@ }, "krc": { "ca": "karatxai-balkar", + "cs": "karačajsko-balkarština", "de": "Karatschai-Balkarisch", "en": "Karachay-Balkar", "eo": "karaĉaja-balkara lingvo", "es": "idioma karachái-bálkaro", "eu": "Karatxaiera-balkarera", - "fi": "Karatšai-balkaarin kieli", + "fi": "karatšai-balkaari", "fr": "karatchaï-balkar", "gl": "Lingua carachaio-bálcara", "he": "קראצ׳י-בלקר", @@ -6195,8 +6255,9 @@ "pl": "Język karaczajsko-bałkarski", "pt": "Língua carachaio-bálcara", "ru": "карачаево-балкарский язык", + "sl": "karačaj-balkarščina", "sv": "karatjajbalkariska", - "uk": "Карачаєво-балкарська мова", + "uk": "карачаєво-балкарська мова", "zh_Hans": "卡拉恰伊-巴尔卡尔语", "zh_Hant": "卡拉恰伊-巴爾卡爾語", "_meta": { @@ -6212,10 +6273,11 @@ "en": "Krio", "eo": "Krio", "es": "Criollo sierraleonés", - "fi": "Krion kieli", + "fi": "krio", "fr": "krio", "gl": "Lingua krio", - "id": "Bahasa Krio", + "hu": "krio", + "id": "Krio", "it": "lingua krio", "ja": "クリオ語", "ko": "크리오", @@ -6223,10 +6285,11 @@ "pl": "Język krio", "pt": "Língua krio", "ru": "Крио", + "sl": "krio", "sv": "krio", "uk": "Кріо", - "zh_Hans": "克里奥语", - "zh_Hant": "克里奧語", + "zh_Hans": "塞拉利昂克里奥尔语", + "zh_Hant": "獅子山克里奧爾語", "_meta": { "dir": [ "left-to-right" @@ -6239,11 +6302,11 @@ "en": "Karay-a", "eo": "karaja lingvo", "es": "harayo", - "fi": "Kinaray-a", + "fi": "kinaray-a", "fr": "harayen", "he": "קריאית", - "id": "bahasa Karaik’a", - "it": "caraio", + "id": "bahasa Keraya", + "it": "haraio", "ja": "キナライア語", "ko": "키나라이아 어", "nb_NO": "Kinaray-a", @@ -6268,7 +6331,7 @@ "eo": "karela lingvo", "es": "carelio", "eu": "Kareliera", - "fi": "karjalan kieli", + "fi": "karjala", "fr": "carélien", "gl": "Lingua carelia", "he": "קרלית", @@ -6285,7 +6348,7 @@ "ru": "карельский язык", "sl": "karelščina", "sv": "karelska", - "uk": "Карельська мова", + "uk": "карельська мова", "zh_Hans": "卡累利阿语", "zh_Hant": "卡累利阿語", "_meta": { @@ -6303,12 +6366,12 @@ "eo": "kaŝmira lingvo", "es": "cachemir", "eu": "kaxmirera", - "fi": "Kašmirin kieli", + "fi": "kašmiri", "fr": "cachemiri", "gl": "Lingua caxemiresa", "he": "קשמירית", "hu": "kasmíri", - "id": "Bahasa Kashmiri", + "id": "Kashmir", "it": "kashmiri", "ja": "カシミール語", "ko": "카슈미르어", @@ -6318,9 +6381,9 @@ "pt": "língua caxemira", "pt_BR": "Língua caxemira", "ru": "кашмирский язык", - "sl": "Kašmirščina", + "sl": "kašmirščina", "sv": "kashmiri", - "uk": "Кашмірська мова", + "uk": "кашмірська мова", "zh_Hans": "克什米尔语", "zh_Hant": "喀什米爾語", "_meta": { @@ -6341,6 +6404,7 @@ "fr": "francique ripuaire", "gl": "Fráncico ripuario", "he": "הניב הריפוארי", + "hu": "ripuari", "it": "lingua ripuaria", "ja": "リプアーリ語", "ko": "리프아리어", @@ -6348,8 +6412,10 @@ "pl": "gwary rypuaryjskie", "pt": "Língua ripuária", "ru": "рипуарские диалекты", + "sl": "ripuarščina", "sv": "ripuariska", "uk": "рипуарські діалекти", + "zh_Hant": "利普里安語", "_meta": { "dir": [ "left-to-right" @@ -6365,9 +6431,9 @@ "eo": "kurmanĝa lingvo", "es": "kurmanji", "eu": "Kurmanji", - "fi": "Kurmandži", + "fi": "kurmandži", "fr": "kurmandji", - "gl": "lingua kurda", + "gl": "Lingua kurmanji", "he": "כורמנג'ית", "hu": "kurmandzsi", "id": "Kurmanji", @@ -6397,16 +6463,17 @@ }, "kum": { "ca": "kumyk", + "da": "kumykisk", "de": "Kumykisch", "en": "Kumyk", "eo": "kumika lingvo", "es": "Idioma cumuco", "eu": "kumikera", - "fi": "Kumykin kieli", + "fi": "kumykki", "fr": "koumyk", "he": "קומיקית", "hu": "kumik", - "id": "Bahasa Kumyk", + "id": "Kumyk", "it": "cumucco", "ja": "クムク語", "ko": "쿠미크어", @@ -6416,8 +6483,10 @@ "pt": "Língua kumyk", "pt_BR": "Língua kumyk", "ru": "кумыкский язык", + "sl": "kumiščina", "sv": "kumykiska", "uk": "кумицька мова", + "zh_Hant": "庫梅克語", "_meta": { "dir": [ "left-to-right", @@ -6430,7 +6499,7 @@ "de": "Kutanaha", "en": "Kutenai", "es": "Idioma kutenai", - "fi": "Kutenai", + "fi": "kutenai", "fr": "kutenai", "gl": "Lingua kutenai", "he": "קוטנאי", @@ -6440,6 +6509,7 @@ "pl": "Język kutenai", "pt": "Língua kutenai", "ru": "Кутенай", + "sl": "kutenajščina", "sv": "kootenai", "zh_Hans": "库特奈语", "zh_Hant": "庫特奈語", @@ -6451,19 +6521,19 @@ }, "kv": { "ca": "komi", - "cs": "komi", + "cs": "komijština", "da": "komi", "de": "Komi", "en": "Komi", "eo": "komia lingvo", "es": "komi", "eu": "komiera", - "fi": "komin kieli", + "fi": "komi", "fr": "komi", "gl": "lingua komi", "he": "קומי", "hu": "komi", - "id": "Bahasa Komi", + "id": "Komi", "it": "comi", "ja": "コミ語", "ko": "코미어", @@ -6472,8 +6542,10 @@ "pl": "język komi", "pt": "língua komi", "ru": "коми язык", + "sl": "komijščina", "sv": "komi", "uk": "комі", + "zh_Hant": "科米語", "_meta": { "dir": [ "left-to-right" @@ -6489,11 +6561,11 @@ "eo": "Kerinci", "es": "Kerinci", "eu": "Kerinci", - "fi": "Kerinci", + "fi": "kerinci", "fr": "kerinci", "gl": "Kerinci", "hu": "Kerinci", - "id": "Bahasa Kerinci", + "id": "bahasa Kerinci", "it": "kerinci", "ja": "クリンチ語", "nb_NO": "Kerinci", @@ -6501,7 +6573,7 @@ "pl": "język kerinci", "pt": "Kerinci", "pt_BR": "Kerinci", - "sl": "Kerinci", + "sl": "kerinščina", "sv": "kerinci", "_meta": { "dir": [ @@ -6518,12 +6590,12 @@ "eo": "kornvala lingvo", "es": "córnico", "eu": "Kornubiera", - "fi": "Korni", + "fi": "korni", "fr": "cornique", "gl": "Lingua córnica", "he": "קורנית", "hu": "korni", - "id": "Bahasa Kernowek", + "id": "bahasa Kernowek", "it": "cornico", "ja": "コーンウォール語", "ko": "콘월어", @@ -6567,7 +6639,7 @@ "pt": "quirguiz", "pt_BR": "Língua quirguiz", "ru": "киргизский язык", - "sl": "Kirgiščina", + "sl": "kirgiščina", "sv": "kirgiziska", "uk": "киргизька мова", "zh_Hans": "柯尔克孜语", @@ -6582,46 +6654,12 @@ ] } }, - "lad": { - "ca": "judeocastellà", - "cs": "ladino", - "da": "Ladino", - "de": "Sephardisch", - "en": "Judaeo-Spanish", - "eo": "judhispana lingvo", - "es": "judeoespañol", - "eu": "Ladino", - "fi": "ladino", - "fr": "judéo-espagnol", - "gl": "Lingua xudeu-española", - "he": "לאדינו", - "hu": "ladino", - "id": "Bahasa Ladino", - "it": "giudeo-spagnolo", - "ja": "ラディーノ語", - "ko": "라디노어", - "nb_NO": "jødespansk", - "nl": "Ladino", - "pl": "ladino", - "pt": "judeu-espanhol", - "pt_BR": "Judeu-espanhol", - "ru": "сефардский язык", - "sl": "sefardščina", - "sv": "ladino", - "uk": "Ладіно", - "_meta": { - "dir": [ - "left-to-right", - "right-to-left" - ] - } - }, "lag": { "de": "Langi", "en": "Rangi", "eo": "rangia lingvo", - "fi": "Lango", - "fr": "Langi (langue de Tanzanie)", + "fi": "lango", + "fr": "langi", "ja": "ランギ語", "nb_NO": "Rangi", "nl": "Langi", @@ -6683,7 +6721,7 @@ "gl": "Lingua lezguia", "he": "לזגית", "hu": "lezg", - "id": "Bahasa Lezgia", + "id": "Lezgin", "it": "lesgo", "ja": "レズギ語", "ko": "레즈긴어", @@ -6693,7 +6731,7 @@ "pt": "Língua lezgui", "pt_BR": "Língua lezgui", "ru": "лезгинский язык", - "sl": "Lezginščina", + "sl": "lezginščina", "sv": "lezginska", "uk": "лезгинська мова", "zh_Hans": "列兹金语", @@ -6713,12 +6751,12 @@ "eo": "ganda lingvo", "es": "luganda", "eu": "luganda", - "fi": "Gandan kieli", + "fi": "ganda", "fr": "luganda", "gl": "Lingua luganda", "he": "לוגנדה", "hu": "ganda", - "id": "Bahasa Luganda", + "id": "bahasa Luganda", "it": "luganda", "ja": "ルガンダ語", "ko": "루간다어", @@ -6727,9 +6765,10 @@ "pl": "Język luganda", "pt": "Língua luganda", "ru": "Луганда", + "sl": "lugandščina", "sv": "luganda", "uk": "Луганда", - "zh_Hant": "烏干達語", + "zh_Hant": "盧干達語", "_meta": { "dir": [ "left-to-right" @@ -6744,12 +6783,12 @@ "eo": "limburga lingvo", "es": "limburgués", "eu": "limburgera", - "fi": "limburgin kieli", + "fi": "limburg", "fr": "limbourgeois", "gl": "Lingua limburguesa", "he": "לימבורגית", "hu": "limburgi nyelv", - "id": "Bahasa Limburgish", + "id": "Limburg", "it": "limburghese", "ja": "リンブルフ語", "ko": "림뷔르흐어", @@ -6783,7 +6822,7 @@ "gl": "Lingua lígur", "he": "ליגורית", "hu": "ligur", - "id": "Bahasa Liguria", + "id": "bahasa Liguria", "it": "lingua ligure", "ja": "リグリア語", "ko": "리구리아어", @@ -6794,7 +6833,7 @@ "ru": "лигурский язык", "sl": "ligurščina", "sv": "liguriska", - "uk": "Лігурійська мова", + "uk": "лігурійська мова", "_meta": { "dir": [ "left-to-right" @@ -6810,12 +6849,13 @@ "fi": "laki", "fr": "laki", "gl": "Lingua laki", - "id": "Bahasa Laki", + "id": "Laki", "ja": "ラーク語", "ko": "라크어", "nl": "Laki", "pt": "Laki", "ru": "лаки", + "sl": "lakiščina", "sv": "lekî", "uk": "лекі", "_meta": { @@ -6847,6 +6887,7 @@ "pt": "Língua dacota", "pt_BR": "Língua dacota", "ru": "лакота", + "sl": "lakotščina", "sv": "lakota", "uk": "Лакота (мова)", "zh_Hans": "拉科塔语", @@ -6865,7 +6906,7 @@ "eo": "ladina lingvo", "es": "ladino", "eu": "Ladino", - "fi": "Ladinin kieli", + "fi": "ladini", "fr": "ladin", "gl": "Lingua ladina", "he": "לדינית", @@ -6879,6 +6920,7 @@ "pl": "Język ladyński", "pt": "língua ladino-dolomítica", "ru": "ладинский язык", + "sl": "ladinščina", "sv": "ladinska", "uk": "ладинська мова", "zh_Hans": "拉迪恩语", @@ -6898,10 +6940,10 @@ "eo": "lombarda lingvo", "es": "lombardo", "eu": "Lombardiera", - "fi": "lombardin kieli", + "fi": "lombardi", "fr": "lombard", "gl": "Lingua lombarda", - "he": "לומברד (שפה)", + "he": "לומברד", "hu": "lombard", "id": "bahasa Lombard", "it": "lingua lombarda", @@ -6915,6 +6957,7 @@ "sl": "lombardščina", "sv": "lombardiska", "uk": "ломбардська мова", + "zh_Hant": "倫巴底語", "_meta": { "dir": [ "left-to-right" @@ -6944,8 +6987,9 @@ "pl": "język lingala", "pt": "Língua lingala", "ru": "лингала", + "sl": "lingalščina", "sv": "lingala", - "uk": "Лінґала", + "uk": "лінґала", "zh_Hant": "林格拉語", "_meta": { "dir": [ @@ -6998,7 +7042,7 @@ "en": "Lozi", "eo": "lozia lingvo", "es": "Idioma lozi", - "fi": "Lozi", + "fi": "lozi", "fr": "lozi", "gl": "Lingua lozi", "it": "lingua lozi", @@ -7010,8 +7054,8 @@ "ru": "Лози (язык)", "sv": "lozi", "uk": "Мова Лозі", - "zh_Hans": "洛兹语", - "zh_Hant": "洛茲語", + "zh_Hans": "洛齐语", + "zh_Hant": "洛齊語", "_meta": { "dir": [ "left-to-right" @@ -7022,12 +7066,14 @@ "de": "Nördliches Luri", "en": "Northern Luri", "es": "luri septentrional", + "fi": "pohjoisluri", "fr": "lori du Nord", "gl": "lingua luri setentrional", "it": "luri del nord", "ja": "北ロル語", "nl": "Noordelijk Luri", "pt": "luri setentrional", + "sl": "severna luriščina", "sv": "nordluriska", "_meta": { "dir": [ @@ -7049,7 +7095,7 @@ "gl": "lingua lituana", "he": "ליטאית", "hu": "litván", - "id": "bahasa Lituavi", + "id": "bahasa Lituania", "it": "lituano", "ja": "リトアニア語", "ko": "리투아니아어", @@ -7082,12 +7128,12 @@ "eo": "latgala lingvo", "es": "Idioma latgaliano", "eu": "Latgaliera", - "fi": "latgallin kieli", + "fi": "latgalli", "fr": "latgalien", "gl": "Lingua latgaliá", "he": "לטגלית", "hu": "latgal", - "id": "Bahasa Latgalia", + "id": "Latgalia", "it": "letgallo", "ja": "ラトガリア語", "ko": "라트갈레어", @@ -7095,8 +7141,38 @@ "pl": "język łatgalski", "pt": "Língua latgália", "ru": "латгальский язык", + "sl": "latgalijščiina", "sv": "lettgalliska", - "uk": "Латгальська мова", + "uk": "латгальська мова", + "zh_Hant": "拉特加萊語", + "_meta": { + "dir": [ + "left-to-right" + ] + } + }, + "lua": { + "ca": "tshiluba", + "de": "Tschiluba", + "en": "Luba-Kasai", + "eo": "luba lingvo", + "es": "chiluba", + "fi": "luba", + "fr": "luba-kasaï", + "gl": "Lingua tshiluba", + "id": "Bahasa Luba-Kasai", + "it": "lingua tshiluba", + "ja": "ルバ語", + "ko": "루바어", + "nb_NO": "Luba", + "nl": "Luba-Kasai", + "pl": "Język luba", + "pt": "Língua tshiluba", + "ru": "луба", + "sl": "čilubščina", + "sv": "Luba-Kasai", + "zh_Hans": "鲁巴-开赛语", + "zh_Hant": "魯巴-開賽語", "_meta": { "dir": [ "left-to-right" @@ -7105,13 +7181,15 @@ }, "lus": { "ca": "mizo", + "cs": "mizština", "de": "Mizo", "en": "Mizo", + "eo": "Mizo (lingvo)", "es": "mizo", "eu": "Mizo hizkuntza", - "fi": "Lusai", + "fi": "lusai", "fr": "mizo", - "id": "Bahasa Mizo", + "id": "bahasa Mizo", "it": "lingua Mizo", "ja": "ミゾ語", "ko": "미조어", @@ -7135,7 +7213,9 @@ "ja": "南ロル語", "nl": "Zuid-Luri", "ru": "южнолурский язык", + "sl": "južna luriščina", "sv": "sydluriska", + "uk": "полудневолурійська мова", "_meta": { "dir": [ "right-to-left" @@ -7153,10 +7233,10 @@ "eu": "letoniera", "fi": "latvia", "fr": "letton", - "gl": "lingua letona", + "gl": "lingua letoa", "he": "לטבית", "hu": "lett", - "id": "Latvi", + "id": "bahasa Latvia", "it": "lettone", "ja": "ラトビア語", "ko": "라트비아어", @@ -7204,7 +7284,7 @@ "en": "Laz", "eo": "laza lingvo", "es": "laz", - "fi": "Lazin kieli", + "fi": "lazi", "fr": "laze", "gl": "Lingua laz", "he": "לאזית", @@ -7218,6 +7298,7 @@ "pl": "Język lazyjski", "pt": "laz", "ru": "лазский язык", + "sl": "lazijščina", "sv": "laziska", "uk": "лазська мова", "zh_Hans": "拉兹語", @@ -7235,11 +7316,11 @@ "en": "Madurese", "eo": "madura lingvo", "es": "madurés", - "fi": "Maduran kieli", + "fi": "madura", "fr": "madurais", "gl": "Lingua maduresa", "he": "מאדורית", - "id": "Madura", + "id": "bahasa Madura", "it": "madurese", "ja": "マドゥラ語", "ko": "마두라어", @@ -7250,6 +7331,7 @@ "sl": "madureščina", "sv": "maduresiska", "uk": "Мадурська мова", + "zh_Hant": "馬都拉語", "_meta": { "dir": [ "left-to-right" @@ -7264,12 +7346,12 @@ "eo": "maitila lingvo", "es": "Maithili", "eu": "mahitiliera", - "fi": "Maithilin kieli", + "fi": "maithili", "fr": "maïthili", "gl": "Lingua maithili", "he": "מאיטהילית", "hu": "maithili", - "id": "Bahasa Maithili", + "id": "Maithili", "it": "maithili", "ja": "マイティリー語", "ko": "마이틸어", @@ -7279,6 +7361,7 @@ "pt": "Língua maithili", "pt_BR": "Língua maithili", "ru": "майтхили", + "sl": "maitilščina", "sv": "maithili", "uk": "майтхілі", "zh_Hans": "迈蒂利语", @@ -7311,6 +7394,7 @@ "pt": "Língua moksha", "pt_BR": "Língua moksha", "ru": "мокшанский язык", + "sl": "mokšanščina", "sv": "moksja", "uk": "мокшанська мова", "_meta": { @@ -7320,13 +7404,14 @@ } }, "mfe": { + "ca": "crioll mauricià", "cs": "mauricijština", "de": "Morisyen", "en": "Mauritian Creole", "eo": "maŭricia kreola lingvo", "es": "criollo mauriciano", "eu": "Mauritaniako kreolera", - "fi": "Morisyen", + "fi": "morisyen", "fr": "créole mauricien", "hu": "mauritiusi kreol", "it": "creolo mauriziano", @@ -7352,13 +7437,13 @@ "en": "Malagasy", "eo": "malagasa lingvo", "es": "malgache", - "eu": "Malgaxe", + "eu": "malgaxe", "fi": "malagassi", "fr": "malgache", "gl": "Lingua malgaxe", "he": "מלגשית", "hu": "malgas", - "id": "Bahasa Malagasi", + "id": "bahasa Malagasi", "it": "malgascio", "ja": "マダガスカル語", "ko": "말라가시어", @@ -7368,6 +7453,7 @@ "pt": "Língua malgaxe", "pt_BR": "Língua malgaxe", "ru": "малагасийский язык", + "sl": "malgaščina", "sv": "malagassiska", "uk": "малагасійська мова", "zh_Hans": "马达加斯加语", @@ -7390,12 +7476,12 @@ "eo": "marŝala lingvo", "es": "marshalés", "eu": "Marshallera", - "fi": "Marshallin kieli", + "fi": "marshall", "fr": "marshallais", "gl": "Lingua marshalesa", "he": "מרשלית", "hu": "Marshall-szigeteki", - "id": "Bahasa Marshall", + "id": "Marshall", "it": "marshallese", "ja": "マーシャル語", "ko": "마셜어", @@ -7419,12 +7505,12 @@ } }, "mhr": { - "ca": "txeremís oriental", + "ca": "mari oriental", "de": "Wiesenmari", "en": "Meadow Mari", "es": "mari de las praderas", "eu": "ekialdeko mari", - "fi": "niittymarin kieli", + "fi": "niittymari", "fr": "mari des prairies", "gl": "Lingua mari das pradeiras", "hu": "mezei mari", @@ -7435,52 +7521,16 @@ "pl": "maryjski łąkowy", "pt": "Língua mari das campinas", "ru": "луговомарийский язык", + "sl": "travniška marijščina", "sv": "östmariska", "uk": "східномарійська мова", + "zh_Hant": "草原馬里語", "_meta": { "dir": [ "left-to-right" ] } }, - "mi": { - "ca": "maori", - "cs": "maorština", - "da": "maori", - "de": "Māori", - "en": "Māori", - "eo": "maoria lingvo", - "es": "maorí", - "eu": "maoriera", - "fi": "Maorin kieli", - "fr": "māori", - "gl": "Lingua maorí", - "he": "מאורית", - "hu": "maori", - "id": "Bahasa Maori", - "it": "māori", - "ja": "マオリ語", - "ko": "마오리어", - "nb_NO": "maorisk", - "nl": "Maori", - "pl": "język maori", - "pt": "língua maori", - "pt_BR": "língua maori", - "ru": "маори", - "sl": "maorščina", - "sv": "maori", - "uk": "Маорі", - "zh_Hans": "毛利语", - "zh_Hant": "毛利語", - "_meta": { - "countries": [ - "NZ" - ], - "dir": [ - "left-to-right" - ] - } - }, "mic": { "ca": "micmac", "cs": "mikmačtina", @@ -7489,7 +7539,7 @@ "eo": "mikmaka lingvo", "es": "micmac", "eu": "Mikmakera", - "fi": "Micmacin kieli", + "fi": "micmac", "fr": "micmac", "gl": "Lingua micmac", "id": "Bahasa Mi'kmaq", @@ -7499,6 +7549,7 @@ "nl": "Mi'kmaq", "pl": "Język mikmak", "ru": "микмак", + "sl": "mikmaščina", "sv": "micmac", "uk": "Мікмак (мова)", "_meta": { @@ -7515,11 +7566,11 @@ "eo": "minankabaŭa lingvo", "es": "minangkabau", "eu": "Minangkabauera", - "fi": "Minangkabaun kieli", + "fi": "minangkabau", "fr": "minangkabau", "gl": "Lingua minangkabau", "he": "מינאנגקבאו", - "id": "Bahasa Minangkabau", + "id": "bahasa Minangkabau", "it": "minangkabau", "ja": "ミナンカバウ語", "ko": "미낭카바우어", @@ -7531,7 +7582,7 @@ "ru": "минангкабау", "sl": "minangkabavščina", "sv": "minangkabau", - "uk": "Мінангкабау", + "uk": "мінангкабау", "zh_Hans": "米南佳保语", "zh_Hant": "米南佳保語", "_meta": { @@ -7593,15 +7644,15 @@ "gl": "lingua malayalam", "he": "מלאיאלאם", "hu": "malajálam", - "id": "Malayalam", + "id": "bahasa Malayalam", "it": "malayalam", "ja": "マラヤーラム語", "ko": "말라얄람어", "nb_NO": "malayalam", "nl": "Malayalam", "pl": "język malajalam", - "pt": "malaiala", - "pt_BR": "Língua malaiala", + "pt": "língua malaiala", + "pt_BR": "língua malaiala", "ru": "малаялам", "sl": "malajalamščina", "sv": "malayalam", @@ -7660,7 +7711,7 @@ "eo": "manĉura lingvo", "es": "idioma manchú", "eu": "mantxuera", - "fi": "Mantšun kieli", + "fi": "mantšu", "fr": "mandchou", "gl": "Lingua manchú", "he": "מנצ'ורית", @@ -7674,8 +7725,9 @@ "pl": "język mandżurski", "pt": "Língua manchu", "ru": "маньчжурский язык", + "sl": "mandžurščina", "sv": "manchuiska", - "uk": "Маньчжурська мова", + "uk": "маньчжурська мова", "zh_Hans": "满语", "zh_Hant": "滿語", "_meta": { @@ -7692,10 +7744,10 @@ "eo": "manipura lingvo", "es": "meitei", "eu": "Manipurera", - "fi": "Manipurin kieli", + "fi": "manipuri", "fr": "meitei", "gl": "Lingua meitei", - "id": "Bahasa Manipuri", + "id": "bahasa Manipur", "it": "manipuri", "ja": "マニプリ語", "ko": "마니푸르어", @@ -7704,6 +7756,7 @@ "pl": "Język manipuri", "pt": "Língua manipuri", "ru": "манипури", + "sl": "manipurščina", "sv": "meitei", "uk": "маніпурі", "zh_Hans": "曼尼普尔语", @@ -7720,9 +7773,10 @@ "en": "Mon", "eo": "Mon", "es": "Mon", + "fi": "mon", "fr": "môn", "gl": "lingua mon", - "id": "Bahasa Mon", + "id": "Mon", "it": "lingua mon", "ja": "モン語", "ko": "몬어", @@ -7731,6 +7785,7 @@ "pl": "język mon", "pt": "língua mon", "ru": "монский язык", + "sl": "monščina", "sv": "mon", "uk": "монська мова", "zh_Hans": "孟语", @@ -7749,19 +7804,19 @@ "eo": "moldava lingvo", "es": "moldavo", "eu": "Moldaviera", - "fi": "Moldavian kieli", + "fi": "moldova", "fr": "moldave", "gl": "lingua moldova", "he": "מולדובנית", "hu": "moldáv", - "id": "bahasa Moldova", + "id": "Moldova", "it": "moldavo", "ja": "モルドバ語", "ko": "몰도바어", "nb_NO": "moldovsk", "nl": "Moldavisch", - "pl": "Język mołdawski", - "pt": "Língua moldávia", + "pl": "język mołdawski", + "pt": "língua moldávia", "pt_BR": "língua moldávia", "ru": "молдавский язык", "sl": "moldavščina", @@ -7781,12 +7836,15 @@ "es": "innu", "eu": "Innuera", "fr": "innu-aimun", + "gl": "Lingua innu-aimun", + "he": "אינו־איימון", "id": "Bahasa Innu", "it": "innu-aimun", "ja": "モンタニェ語", "ko": "인누아이문어", "nl": "Innu", "ru": "Монтанье-наскапи", + "sl": "inujščina", "sv": "innu-aimun", "_meta": { "dir": [ @@ -7808,7 +7866,7 @@ "gl": "Lingua marathi", "he": "מראטהית", "hu": "maráthi", - "id": "Bahasa Marathi", + "id": "bahasa Marathi", "it": "marathi", "ja": "マラーティー語", "ko": "마라티어", @@ -7821,8 +7879,8 @@ "sl": "maratščina", "sv": "marathi", "uk": "маратхі", - "zh_Hans": "马拉地语", - "zh_Hant": "馬拉地語", + "zh_Hans": "马拉提语", + "zh_Hant": "馬拉提語", "_meta": { "dir": [ "left-to-right" @@ -7844,12 +7902,12 @@ } }, "mrj": { - "ca": "txeremís occidental", + "ca": "mari occidental", "de": "Bergmari", "en": "Hill Mari", "es": "mari de las colinas", "eu": "mendebaldeko mari", - "fi": "vuorimarin kieli", + "fi": "vuorimari", "fr": "mari des montagnes", "gl": "Lingua mari das montañas", "hu": "hegyi mari", @@ -7860,8 +7918,10 @@ "pl": "maryjski górski", "pt": "mari ocidental", "ru": "горномарийский язык", + "sl": "hribovska marijščina", "sv": "västmariska", "uk": "гірськомарійська мова", + "zh_Hant": "山地馬里語", "_meta": { "dir": [ "left-to-right" @@ -7895,6 +7955,7 @@ "sl": "malajščina", "sv": "malajiska", "uk": "малайська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵎⴰⵍⴰⵢⵜ", "zh_Hans": "马来语", "zh_Hant": "馬來語", "_meta": { @@ -7909,6 +7970,36 @@ ] } }, + "ms-my": { + "ca": "malai malaisi", + "cs": "Malajská malajština", + "de": "Malaiisch malaysisch", + "en": "Malaysian Malay", + "eo": "malajzia malaja", + "es": "malayo malasia", + "fi": "Malesian malaiji", + "fr": "malaisien", + "he": "מלאית מלזיה", + "id": "Bahasa Melayu Malaysia", + "it": "Malesia malese", + "ja": "マレーシアマレー語", + "ko": "말레이시아 말레이어", + "nl": "Maleis", + "pl": "malezyjski malajski", + "pt": "Malaio malásio", + "ru": "малайзийский малайский", + "sl": "malezijska malajščina", + "sv": "malaysisk malajiska", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵎⴰⵍⵉⵣⵉⵜ", + "zh_Hans": "马来西亚马来语", + "zh_Hant": "馬來西亞馬來語", + "_meta": { + "dir": [ + "left-to-right", + "right-to-left" + ] + } + }, "mt": { "ca": "maltès", "cs": "maltština", @@ -7936,6 +8027,7 @@ "sl": "malteščina", "sv": "maltesiska", "uk": "мальтійська мова", + "zh_Hant": "馬爾他語", "_meta": { "countries": [ "MT" @@ -7948,7 +8040,7 @@ "mui": { "de": "Musi", "en": "Musi", - "fi": "Musi", + "fi": "musi", "fr": "musi", "id": "Musi", "ja": "ムシ語", @@ -7973,11 +8065,11 @@ "en": "Muscogee", "eo": "krika lingvo", "es": "idioma maskoki", - "fi": "Creekin kieli", + "fi": "creek", "fr": "creek", "gl": "Lingua muscogee", "hu": "muszkogi", - "id": "Bahasa Muskogee", + "id": "Muscogee", "it": "lingua creek", "ja": "マスコギ語", "ko": "마스코기어", @@ -7985,9 +8077,10 @@ "pl": "Język krik", "pt": "Língua creek", "pt_BR": "Língua creek", - "ru": "Крикский язык", + "ru": "крикский язык", + "sl": "muskoščina", "sv": "muskogi", - "uk": "Крикська мова", + "uk": "крикська мова", "_meta": { "dir": [ "left-to-right" @@ -8001,12 +8094,12 @@ "eo": "miranda lingvo", "es": "mirandés", "eu": "Mirandes", - "fi": "Mirandeesi", + "fi": "mirandeesi", "fr": "mirandais", "gl": "lingua mirandesa", "he": "מירנדזית", "hu": "mirandai", - "id": "Bahasa Miranda", + "id": "Miranda", "it": "mirandese", "ja": "ミランダ語", "ko": "미란다어", @@ -8034,7 +8127,7 @@ "eo": "Mentawai", "es": "mentawai", "eu": "Mentawaiera", - "fi": "Mentawain kieli", + "fi": "mentawai", "fr": "mentawai", "gl": "Lingua mentawai", "hu": "Mentawai", @@ -8070,7 +8163,7 @@ "gl": "birmano", "he": "בורמזית", "hu": "burmai", - "id": "bahasa Burma", + "id": "bahasa Myanmar", "it": "birmano", "ja": "ビルマ語", "ko": "버마어", @@ -8115,7 +8208,7 @@ "pt": "Língua erzya", "pt_BR": "Língua erzya", "ru": "эрзянский язык", - "sl": "Erzjanščina", + "sl": "erzjanščina", "sv": "erzya", "uk": "ерзянська мова", "_meta": { @@ -8132,12 +8225,12 @@ "eo": "mazandarana lingvo", "es": "mazandaraní", "eu": "Mazandarandera", - "fi": "Mazandaranin kieli", + "fi": "mazandarani", "fr": "mazandarani", "gl": "Lingua mazanderani", "he": "מאזנדראנית", "hu": "mázandaráni", - "id": "Bahasa Mazandaran", + "id": "Mazandaran", "it": "mazanderani", "ja": "マーザンダラーン語", "ko": "마잔다란어", @@ -8147,6 +8240,7 @@ "pt": "Língua mazandarani", "pt_BR": "Língua mazandarani", "ru": "мазандеранский язык", + "sl": "mazandaranščina", "sv": "mazenderani", "uk": "Мазандеранська мова", "_meta": { @@ -8163,7 +8257,7 @@ "eo": "naura lingvo", "es": "nauruano", "eu": "Nauruera", - "fi": "Naurun kieli", + "fi": "nauru", "fr": "nauruan", "gl": "Lingua nauruana", "he": "נאורית", @@ -8180,7 +8274,7 @@ "ru": "науруанский язык", "sl": "naurujščina", "sv": "nauruanska", - "uk": "Науруанська мова", + "uk": "науруанська мова", "_meta": { "countries": [ "NR" @@ -8199,7 +8293,7 @@ "eo": "minnana lingvo", "es": "chino min nan", "eu": "hegoaldeko min", - "fi": "Minnan", + "fi": "minnan", "fr": "minnan", "gl": "lingua min nam", "he": "מין דרומי", @@ -8221,7 +8315,7 @@ "zh_Hant": "閩南語", "_meta": { "dir": [ - "top-to-bottom" + "vertical right-to-left" ] } }, @@ -8239,7 +8333,7 @@ "gl": "Lingua napolitana", "he": "נפוליטנית", "hu": "nápolyi", - "id": "Bahasa Napolitan", + "id": "Napoli", "it": "lingua napoletana", "ja": "ナポリ語", "ko": "나폴리어", @@ -8306,7 +8400,7 @@ "gl": "Lingua baixo alemá", "he": "גרמנית תחתית", "hu": "alnémet", - "id": "Bahasa Sachsen Hilir", + "id": "bahasa Jerman Rendah", "it": "lingue basso-tedesche", "ja": "低地ドイツ語", "ko": "저지 독일어", @@ -8334,12 +8428,12 @@ "eo": "nepala lingvo", "es": "nepalí", "eu": "nepalera", - "fi": "nepalin kieli", + "fi": "nepali", "fr": "népalais", "gl": "Lingua nepalesa", "he": "נפאלית", "hu": "nepáli", - "id": "Bahasa Nepali", + "id": "Nepal", "it": "nepalese", "ja": "ネパール語", "ko": "네팔어", @@ -8369,12 +8463,12 @@ "eo": "nevara lingvo", "es": "Newari", "eu": "newarera", - "fi": "Newari", + "fi": "newari", "fr": "newari", "gl": "Lingua newari", "he": "נפאל בהאסה", "hu": "névári", - "id": "bahasa Newar", + "id": "Newar", "it": "nepal bhasa", "ja": "ネパール・バサ語", "ko": "네와르어", @@ -8383,6 +8477,7 @@ "pl": "Język newarski", "pt": "Língua bhasa", "ru": "неварский язык", + "sl": "nevarščina", "sv": "newari", "uk": "неварська мова", "_meta": { @@ -8398,16 +8493,18 @@ "eo": "ndonga lingvo", "es": "ndonga", "eu": "Ndonga", - "fi": "Ndonga", + "fi": "ndonga", "fr": "ndonga", "gl": "Lingua ndonga", "hu": "ndonga", + "id": "Dialek Ndonga", "it": "ndonga", "ja": "ンドンガ語", "nl": "Ndonga", "pl": "Język ndonga", "pt": "Ndonga", "ru": "Ндонга", + "sl": "ndonga", "sv": "ndonga", "uk": "Ндонга", "_meta": { @@ -8420,16 +8517,17 @@ "de": "Nias", "en": "Nias", "eo": "niasa lingvo", - "fi": "Niasin kieli", + "fi": "nias", "fr": "niha", "gl": "Lingua nias", - "id": "Bahasa Nias", + "id": "bahasa Nias", "it": "lingua nias", "ja": "ニアス語", "nl": "Nias", "pl": "Język nias", "pt": "Língua nias", "ru": "Ниасский язык", + "sl": "niaščina", "sv": "nias", "uk": "Ніаська мова", "zh_Hans": "尼亚斯语", @@ -8448,11 +8546,11 @@ "eo": "niua lingvo", "es": "Idioma niuano", "eu": "Niuera", - "fi": "Niuen kieli", + "fi": "niue", "fr": "niuéen", "he": "ניואית", "hu": "niuei", - "id": "Bahasa Niue", + "id": "Niue", "it": "lingua niueana", "ja": "ニウエ語", "ko": "니우에어", @@ -8462,7 +8560,7 @@ "pt": "Língua niueana", "ru": "ниуэ", "sv": "niueanska", - "uk": "Ніуе (мова)", + "uk": "Ніуе", "_meta": { "dir": [ "left-to-right" @@ -8496,6 +8594,7 @@ "sl": "nizozemščina", "sv": "nederländska", "uk": "нідерландська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵀⵓⵍⴰⵏⴷⵉⵜ", "zh_Hans": "荷兰语", "zh_Hant": "荷蘭語", "_meta": { @@ -8536,6 +8635,7 @@ "sl": "nynorsk", "sv": "nynorska", "uk": "нюношк", + "zh_Hans": "新挪威语", "zh_Hant": "新挪威語", "_meta": { "countries": [ @@ -8592,14 +8692,14 @@ "es": "idioma tailandés septentrional", "fr": "thaï du Nord", "he": "תאית צפונית", - "id": "bahasa Thai Utara", + "id": "Thai Utara", "it": "thailandese settentrionale", "ja": "北タイ語", "ko": "북부 태국어", "nl": "Noordelijk Thai", "pl": "Język północnotajski", "pt": "Língua tai norte", - "ru": "Юан (язык)", + "ru": "юан", "sl": "severna tajščina", "sv": "nordthai", "zh_Hans": "北部泰语", @@ -8616,9 +8716,9 @@ "de": "Nogaisch", "en": "Nogai", "eo": "nogaja lingvo", - "es": "nogai", + "es": "Nogai", "eu": "nogaiera", - "fi": "Nogain kieli", + "fi": "nogai", "fr": "nogaï", "he": "נוגאי", "id": "bahasa Nogai", @@ -8630,6 +8730,7 @@ "pl": "Język nogajski", "pt": "Língua nogai", "ru": "ногайский язык", + "sl": "nogajščina", "sv": "nogai", "uk": "ногайська мова", "_meta": { @@ -8639,7 +8740,9 @@ } }, "nqo": { - "en": "N'Ko", + "en": "NKo", + "eu": "mandingera", + "fi": "n’ko", "fr": "n'ko", "gl": "Lingua n'ko", "ja": "ンコ語", @@ -8656,7 +8759,7 @@ } }, "nr": { - "ca": "ndebele meridional", + "ca": "ndebele del sud", "de": "Süd-Ndebele", "en": "Southern Ndebele", "eo": "Suda Ndebela lingvo", @@ -8664,7 +8767,7 @@ "eu": "hegoaldeko ndebelera", "fi": "etelä-ndebelen kieli", "fr": "nrebele", - "gl": "Lingua ndebele", + "gl": "Lingua ndebele meridional", "he": "נדבלה דרומית", "hu": "déli ndebele", "id": "Bahasa Ndebele Selatan", @@ -8677,6 +8780,7 @@ "pt": "língua ndebele", "pt_BR": "língua ndebele", "ru": "южный ндебеле", + "sl": "južna ndebelščina", "sv": "sydndebele", "uk": "Південна ндебеле", "zh_Hans": "南恩德贝莱语", @@ -8697,9 +8801,9 @@ "en": "Guernésiais", "eo": "gernezeja lingvo", "es": "guernseyés", - "fi": "Guernésiais", + "fi": "guernésiais", "fr": "guernesiais", - "id": "bahasa Guernésiais", + "id": "Guernésiais", "it": "dialetto guernesiais", "ja": "ガーンジー島方言", "ko": "건지어", @@ -8708,7 +8812,7 @@ "pl": "Dgèrnésiais", "pt": "Guernésiais", "ru": "Гернсийский диалект нормандского языка", - "sl": "Guernseyščina", + "sl": "guernseyščina", "sv": "guernésiais", "uk": "гернсійський діалект нормандської мови", "zh_Hans": "根西方言", @@ -8721,17 +8825,18 @@ "nso": { "ca": "pedi", "cs": "severní sotho", + "da": "nordsotho", "de": "Nord-Sotho", "en": "Northern Sotho", "eo": "peda lingvo", "es": "Sesotho sa leboa", "eu": "pediera", - "fi": "Pohjoissothon kieli", + "fi": "pohjoissotho", "fr": "sotho du Nord", "gl": "Lingua sotho do norte", "he": "סוטו צפונית", "hu": "északi szoto", - "id": "Bahasa Sepedi", + "id": "Sotho Utara", "it": "sotho del nord", "ja": "北ソト語", "ko": "북소토어", @@ -8743,7 +8848,7 @@ "ru": "северный сото", "sl": "severna sotojščina", "sv": "nordsotho", - "uk": "Північна сото", + "uk": "північна сото", "zh_Hant": "北索托語", "_meta": { "dir": [ @@ -8766,7 +8871,7 @@ "he": "נאוואחו", "hu": "navahó", "id": "Bahasa Navajo", - "it": "lingua navajo", + "it": "navajo", "ja": "ナバホ語", "ko": "나바호어", "nb_NO": "navajo", @@ -8775,6 +8880,7 @@ "pt": "Língua navaja", "pt_BR": "Língua navaja", "ru": "навахо", + "sl": "navaščina", "sv": "navajo", "uk": "Навахо", "_meta": { @@ -8792,12 +8898,12 @@ "eo": "njanĝa lingvo", "es": "chichewa", "eu": "txewera", - "fi": "njandžan kieli", + "fi": "njandža", "fr": "chewa", "gl": "lingua chichewa", "he": "צ'ואה", "hu": "cseva", - "id": "Bahasa Chichewa", + "id": "Chewa", "it": "chewa", "ja": "チェワ語", "ko": "치체와어", @@ -8809,6 +8915,7 @@ "sl": "čičevščina", "sv": "chichewa", "uk": "ньянджа", + "zh_Hans": "切瓦语", "_meta": { "countries": [ "MW", @@ -8822,13 +8929,17 @@ "nys": { "de": "Noongar", "en": "Noongar", + "es": "noongar", "eu": "nyungar", - "fr": "nyungan", - "gl": "Lngua noongar", - "ja": "ニュンガル語", + "fr": "nyungar", + "gl": "noongar", + "he": "נונגאר", + "it": "noongar", + "ja": "ヌーンガー語", "ko": "늉아어", - "nl": "Nyunga", - "sv": "nyunga", + "nl": "Nyungar", + "sl": "nungarščina", + "sv": "nyungar", "_meta": { "dir": [ "left-to-right" @@ -8849,7 +8960,7 @@ "gl": "lingua occitana", "he": "אוקסיטנית", "hu": "okcitán", - "id": "Oksitan", + "id": "bahasa Oksitan", "it": "occitano", "ja": "オック語", "ko": "오크어", @@ -8877,7 +8988,7 @@ "eo": "aniŝinabeka lingvo", "es": "Idioma ojibwa", "eu": "Ojibwera", - "fi": "Odžibwan kieli", + "fi": "odžibwa", "fr": "ojibwé", "gl": "Lingua ojibwa", "he": "שפת אוג'יבווה", @@ -8907,13 +9018,14 @@ "eo": "olonec-karela lingvo", "fi": "livvinkarjala", "fr": "olonetsien", - "gl": "Lingua livvi", + "gl": "lingua livvi", "it": "lingua livvi", "ja": "リッヴィ語", "nb_NO": "livvisk", "nl": "Olonetsisch", - "pl": "Dialekt ołoniecki", + "pl": "dialekt ołoniecki", "ru": "ливвиковское наречие", + "sl": "livikovščina", "sv": "livvi", "zh_Hant": "利維卡累利阿語", "_meta": { @@ -8931,7 +9043,7 @@ "eo": "oroma lingvo", "es": "oromo", "eu": "Oromoera", - "fi": "oromon kieli", + "fi": "oromo", "fr": "oromo", "gl": "Lingua oromo", "he": "אורומו", @@ -8945,8 +9057,10 @@ "pl": "Język oromo", "pt": "Língua oromo", "ru": "оромо", + "sl": "oromščina", "sv": "oromo", "uk": "оромо", + "zh_Hant": "奧羅莫語", "_meta": { "dir": [ "left-to-right" @@ -8987,7 +9101,7 @@ "gl": "Lingua oriya", "he": "אורייה", "hu": "orija", - "id": "Oriya", + "id": "bahasa Odia", "it": "oriya", "ja": "オリヤー語", "ko": "오리야어", @@ -9032,7 +9146,7 @@ "ru": "осетинский язык", "sl": "osetščina", "sv": "ossetiska", - "uk": "Осетинська мова", + "uk": "осетинська мова", "zh_Hans": "奥塞梯语", "zh_Hant": "奧塞提亞語", "_meta": { @@ -9045,14 +9159,19 @@ "ca": "osage", "cs": "osadžština", "en": "Osage", - "fi": "Osagen kieli", + "fi": "osage", "fr": "osage", + "he": "אוסייג'", + "id": "Osage", "it": "lingua osage", "ja": "オセージ語", - "nb_NO": "Osage", + "ko": "오세이지어", + "nb_NO": "osage", "nl": "Osage", - "ru": "Оседжи", + "ru": "оседжи", "sv": "osage", + "zh_Hans": "奥沙格语", + "zh_Hant": "奧沙格語", "_meta": { "dir": [ "left-to-right" @@ -9060,7 +9179,7 @@ } }, "ovd": { - "ca": "dialecte dalecarlià", + "ca": "elfdalià", "cs": "elvdalština", "da": "elvdalsk", "de": "Älvdalisch", @@ -9078,6 +9197,7 @@ "pl": "Elfdalski", "pt": "Älvdalsmål", "ru": "эльвдальский диалект", + "sl": "elfdalščina", "sv": "älvdalska", "_meta": { "dir": [ @@ -9089,17 +9209,17 @@ "ca": "panjabi (Shahmukhi)", "cs": "paňdžábština (šáhmukhí)", "da": "Punjabi (Shahmukhi)", - "de": "Panjabi (Shahmukhi)", + "de": "Panjabi (Schahmuchi)", "en": "Punjabi (Shahmukhi)", "eo": "panĝaba lingvo (Ŝahmuĥi-ortografio)", - "es": "panyabí (Shahmuji)", + "es": "punyabí (Shahmuji)", "eu": "Punjabera (Shahmukhi)", - "fi": "punjabin kieli (Shahmukhi)", + "fi": "pandžabi (Shahmukhi)", "fr": "pendjabi (shahmukhi)", "gl": "lingua punjabi (Shahmukhi)", "he": "פנג'אבי (אלפבית שאהמוקי)", "hu": "pandzsábi (Shahmukhi)", - "id": "Bahasa Punjab (Abjad Shahmukhi)", + "id": "bahasa Punjabi (Abjad Shahmukhi)", "it": "punjabi (Shahmukhī)", "ja": "パンジャーブ語 (シャームキー文字)", "ko": "펀자브어 (샤무키 문자)", @@ -9109,7 +9229,7 @@ "pt": "Língua panjabi (Shahmukhi)", "ru": "панджаби (Шахмукхи)", "sl": "pandžabščina (šahmuki)", - "sv": "punjabi (Shahmukhi)", + "sv": "punjabi (shahmukhi)", "uk": "пенджабська мова (Shahmukhi)", "zh_Hans": "旁遮普语 (Shahmukhi)", "zh_Hant": "旁遮普語 (Shahmukhi)", @@ -9129,11 +9249,11 @@ "eo": "pangasina lingvo", "es": "pangasinense", "eu": "pagasinanera", - "fi": "Pangasinanin kieli", + "fi": "pangasinan", "fr": "pangassinais", "gl": "Lingua pangasinesa", "hu": "pangasinan", - "id": "Pangasinan", + "id": "bahasa Pengasinan", "it": "pangasinan", "ja": "パンガシナン語", "ko": "팡가시난어", @@ -9141,7 +9261,8 @@ "nl": "Pangasinan", "pl": "Język pangasinan", "pt": "Língua pangasinesa", - "ru": "Пангасинанский язык", + "ru": "пангасинанский язык", + "sl": "pangasinščina", "sv": "pangasinan", "uk": "Панґасінанська мова", "zh_Hans": "邦阿西楠语", @@ -9160,12 +9281,12 @@ "eo": "Papiamento", "es": "papiamento", "eu": "Papiamento", - "fi": "Papiamentu", + "fi": "papiamentu", "fr": "papiamento", "gl": "Papiamento", "he": "פאפיאמנטו", - "hu": "papiamentu", - "id": "Bahasa Papiamento", + "hu": "papiamento", + "id": "Papiamento", "it": "lingua papiamento", "ja": "パピアメント語", "ko": "파피아멘토어", @@ -9174,7 +9295,7 @@ "pl": "Język papiamento", "pt": "Papiamento", "ru": "папьяменто", - "sl": "Papiamento", + "sl": "papiamento", "sv": "papiamento", "uk": "пап'яменто", "zh_Hans": "帕皮阿门托语", @@ -9187,18 +9308,19 @@ }, "pcd": { "ca": "picard", + "cs": "pikardština", "da": "Pikardisk", "de": "Picardisch", "en": "Picard", "eo": "pikarda franca dialekto", "es": "picardo", "eu": "Pikardiera", - "fi": "Picardin kieli", + "fi": "picardi", "fr": "picard", "gl": "Lingua picarda", "he": "פיקארד", "hu": "pikárd", - "id": "Bahasa Picard", + "id": "Picardia", "it": "piccardo", "ja": "ピカルディ語", "ko": "피카르디어", @@ -9224,7 +9346,7 @@ "eo": "pensilvangermana dialekto", "es": "alemán de Pensilvania", "eu": "Pennsylvaniako aleman", - "fi": "Pennsylvaniansaksa", + "fi": "pennsylvaniansaksa", "fr": "allemand de Pennsylvanie", "gl": "Alemán de Pensilvania", "hu": "pennsylvaniai német", @@ -9237,7 +9359,7 @@ "pl": "język niemiecki w Pensylwanii", "pt": "Alemão da Pensilvânia", "ru": "пенсильванско-немецкий диалект", - "sl": "Pensilvanska nemščina", + "sl": "pensilvanska nemščina", "sv": "pennsylvaniatyska", "uk": "Пенсильвансько-німецький діалект", "_meta": { @@ -9258,13 +9380,17 @@ "id": "Bahasa Plautdietsch", "it": "lingua plautdietsch", "ja": "メノナイト低地ドイツ語", + "ko": "메노나이트 저지 독일어", "nb_NO": "plautdietsch", "nl": "Plautdietsch", "pl": "plautdietsch", "pt": "Plautdietsch", "ru": "Немецко-платский диалект", + "sl": "menonitska nizka nemščina", "sv": "plautdietsch", "uk": "Німецько-платський діалект", + "zh_Hans": "门诺低地德语", + "zh_Hant": "門諾低地德語", "_meta": { "dir": [ "left-to-right" @@ -9283,14 +9409,16 @@ "fr": "palatin", "gl": "Alemán do Palatinado", "hu": "pfalzi", + "id": "Jerman Palatinate", "it": "tedesco palatino", "ja": "プファルツ語", "ko": "팔츠 독일어", "nl": "Paltsisch", - "pl": "Gwary palatynackie", + "pl": "gwary palatynackie", "ru": "Пфальцский диалект", + "sl": "pfalška nemščina", "sv": "pfalziska", - "uk": "Пфальцський діалект німецької", + "uk": "Пфальцький діалект німецької", "_meta": { "dir": [ "left-to-right" @@ -9305,11 +9433,12 @@ "en": "Pitkern", "eo": "pitkarna lingvo", "es": "pitcairnés", - "fi": "Pitcairnin kieli", + "fi": "pitcairn", "fr": "pitcairnais", "gl": "Pitcairnés", "he": "פיטקרנית", "hu": "pitcairni", + "id": "bahasa Pitcairn", "it": "pitcairnese", "ja": "ピトケアン語", "ko": "핏케언어", @@ -9321,6 +9450,7 @@ "ru": "питкэрнский язык", "sv": "pitcairnesiska", "uk": "Піткернська мова", + "zh_Hant": "皮特肯語", "_meta": { "dir": [ "left-to-right" @@ -9332,7 +9462,7 @@ "en": "Pijin", "eo": "piĵina lingvo", "es": "Pidgin salomonense", - "fi": "Pijin", + "fi": "pijin", "fr": "pijin", "it": "lingua pijin", "ja": "ピジン語", @@ -9340,8 +9470,10 @@ "pl": "Język neosalomoński", "pt": "Língua pijin", "ru": "Пиджин Соломоновых Островов", + "sl": "salomonski pidžin", "sv": "pijin", "uk": "Піджин Соломонових Островів", + "zh_Hant": "皮京語", "_meta": { "dir": [ "left-to-right" @@ -9362,6 +9494,7 @@ "pl": "Język pitjantjatjara", "ru": "питянтятяра", "sv": "pitjantjatjara", + "zh_Hans": "皮詹贾贾拉方言", "_meta": { "dir": [ "left-to-right" @@ -9382,7 +9515,7 @@ "gl": "lingua polaca", "he": "פולנית", "hu": "lengyel", - "id": "bahasa Polski", + "id": "bahasa Polandia", "it": "polacco", "ja": "ポーランド語", "ko": "폴란드어", @@ -9408,17 +9541,18 @@ }, "pms": { "ca": "piemontès", + "cs": "Piemontština", "de": "Piemontesisch", "en": "Piedmontese", "eo": "piemonta lingvo", "es": "piamontés", "eu": "Piemontera", - "fi": "Piemonten kieli", + "fi": "piemonte", "fr": "piémontais", "gl": "Lingua piemontesa", "he": "פיימונטית", "hu": "piemonti", - "id": "Bahasa Piemonte", + "id": "bahasa Piemonte", "it": "lingua piemontese", "ja": "ピエモンテ語", "ko": "피에몬테어", @@ -9428,6 +9562,7 @@ "pt": "Língua piemontesa", "pt_BR": "Língua piemontesa", "ru": "пьемонтский язык", + "sl": "piemonteščina", "sv": "piemontesiska", "uk": "П'ємонтська мова", "zh_Hans": "皮埃蒙特语", @@ -9445,6 +9580,7 @@ "en": "Pontic Greek", "eo": "Ponta greka lingvo", "es": "griego póntico", + "fi": "pontoksenkreikka", "fr": "grec pontique", "gl": "Grego póntico", "hu": "pontoszi görög", @@ -9457,6 +9593,7 @@ "pl": "język pontyjski", "pt": "Grego do Ponto", "ru": "понтийский язык", + "sl": "pontščina", "sv": "pontisk grekiska", "uk": "Понтійська мова", "zh_Hant": "旁狄希臘語", @@ -9474,12 +9611,12 @@ "eo": "antikva prusa lingvo", "es": "prusiano antiguo", "eu": "Prusiera zahar", - "fi": "muinaispreussin kieli", + "fi": "muinaispreussi", "fr": "vieux-prussien", "gl": "Lingua prusiana antiga", "he": "פרוסית עתיקה", "hu": "óporosz", - "id": "Bahasa Prusia Kuno", + "id": "Prusia Kuno", "it": "antico prussiano", "ja": "プロシア語", "ko": "고대 프로이센어", @@ -9489,8 +9626,10 @@ "pt": "prussiano antigo", "pt_BR": "Prussiano antigo", "ru": "прусский язык", + "sl": "stara pruščina", "sv": "prusiska", - "uk": "Пруcська мова", + "uk": "пруcська мова", + "zh_Hant": "普魯士語", "_meta": { "dir": [ "left-to-right" @@ -9506,7 +9645,7 @@ "eo": "paŝtuna lingvo", "es": "pastún", "eu": "paxtuera", - "fi": "paštun kieli", + "fi": "paštu", "fr": "pachto", "gl": "Lingua paxta", "he": "פשטו", @@ -9562,6 +9701,7 @@ "sl": "portugalščina", "sv": "portugisiska", "uk": "португальська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⴱⵓⵔⵜⵓⴳⴰⵍⵉⵜ", "zh_Hans": "葡萄牙语", "zh_Hant": "葡萄牙語", "_meta": { @@ -9589,13 +9729,13 @@ "en": "Brazilian Portuguese", "eo": "brazilportugala lingvo", "es": "portugués brasileño", - "eu": "Brasilgo portuges", + "eu": "brasildar portuges", "fi": "brasilianportugali", "fr": "portugais brésilien", "gl": "portugués do Brasil", "he": "פורטוגזית ברזילאית", "hu": "brazíliai portugál", - "id": "Portugis Brasil", + "id": "bahasa Portugis Brasil", "it": "portoghese brasiliano", "ja": "ブラジルポルトガル語", "ko": "브라질 포르투갈어", @@ -9640,7 +9780,7 @@ "pt": "quíchua", "pt_BR": "quíchua", "ru": "кечуа", - "sl": "kečuanščina", + "sl": "kečujščina", "sv": "quechua", "uk": "кечуа", "zh_Hans": "克丘亚语", @@ -9661,7 +9801,7 @@ "en": "K’iche’", "es": "Idioma quiché", "eu": "K'iche'era", - "fi": "k'iche'n kieli", + "fi": "k'iche'", "fr": "quiché", "gl": "Lingua kʼicheʼ", "he": "קאיצ'ה", @@ -9674,8 +9814,10 @@ "pl": "Język kicze", "pt": "Língua quiché", "ru": "киче", + "sl": "kihejščina", "sv": "quiché", - "uk": "Кіче (мова)", + "uk": "Кіче", + "zh_Hant": "基切語", "_meta": { "dir": [ "left-to-right" @@ -9683,23 +9825,25 @@ } }, "rar": { - "ca": "maori de les Illes Cook", + "ca": "rarotongà", "da": "rarotongansk", "de": "Rarotonganisch", "en": "Cook Islands Maori", "eo": "Kuk-insulara maoria lingvo", "es": "Idioma rarotongano", "eu": "Cook uharteetako māoriera", - "fi": "Rarotongan kieli", + "fi": "rarotonga", "fr": "maori des îles Cook", "gl": "Lingua maorí das Illas Cook", "hu": "Cook-szigeteki maori", + "id": "bahasa Maori Kepulauan Cook", "ja": "ラロトンガ語", "nb_NO": "rarotongesisk", "nl": "Cookeilandmaori", "pl": "język maoryski Wysp Cooka", "pt": "Maori das Ilhas Cook", "ru": "кукский язык", + "sl": "cookovootoška maorščina", "sv": "rarotongesiska", "uk": "Кукська мова", "zh_Hant": "庫克羣島毛利人", @@ -9715,12 +9859,13 @@ "en": "Romagnol", "eo": "romanja lingvo", "es": "romañol", - "fi": "romagnolin kieli", + "fi": "romagnoli", "fr": "romagnol", "hu": "romagnai nyelv", - "id": "bahasa Romagnol", + "id": "bahasa Romagna", "it": "romagnolo", "ja": "ロマーニャ語", + "ko": "로마냐어", "nl": "Romagnools", "pt": "romagnol", "ru": "Романьольский язык", @@ -9739,8 +9884,8 @@ "de": "Tarifit", "en": "Tarifit", "es": "rifeño", - "eu": "Tmaziɣt", - "fi": "Tarifit", + "eu": "Tarifit", + "fi": "tarifit", "fr": "rifain", "gl": "Lingua rifeña", "he": "ריפית", @@ -9749,17 +9894,15 @@ "nl": "Riffijns", "pl": "Język tarifit", "pt": "Língua rifenha", - "ru": "Рифский язык", + "ru": "рифский язык", "sl": "tarifit", "sv": "rif", + "zgh": "ⵜⴰⵔⵉⴼⵉⵜ", "zh_Hans": "里夫语", "zh_Hant": "里夫語", "_meta": { "dir": [ - "right-to-left", - "left-to-right", - "top-to-bottom", - "bottom-to-top" + "left-to-right" ] } }, @@ -9768,13 +9911,14 @@ "en": "Rakhine", "fr": "arakanais", "gl": "Lingua arakanesa", - "id": "bahasa Rakhine", + "id": "Rakhine", "ja": "ラカイン語", "nl": "Arakanees", "pl": "Język arakański", "pt": "Língua arracanesa", "ru": "Араканский язык", "sv": "arakanesiska", + "uk": "Араканська мова", "zh_Hans": "若开语", "zh_Hant": "若開語", "_meta": { @@ -9809,7 +9953,8 @@ "ru": "романшский язык", "sl": "retoromanščina", "sv": "rätoromanska", - "uk": "Романшська мова", + "uk": "романшська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵔⵓⵎⴰⵏⵛⵜ", "_meta": { "countries": [ "CH" @@ -9827,7 +9972,9 @@ "it": "lingua carpato-romanì", "ja": "カルパティア・ロマ語", "nl": "Karpathisch-Romani", + "pt": "Romani dos Cárpatos", "ru": "Карпатские диалекты цыганского языка", + "sl": "karpatska romščna", "sv": "centralromani", "_meta": { "dir": [ @@ -9844,12 +9991,12 @@ "eo": "cigana lingvo", "es": "romaní", "eu": "erromaniera", - "fi": "romanikieli", + "fi": "romani", "fr": "romani", "gl": "lingua romaní", "he": "רומאני", "hu": "cigány nyelv", - "id": "Bahasa Romani", + "id": "bahasa Romani", "it": "romaní", "ja": "ロマ語", "ko": "롬어", @@ -9876,7 +10023,7 @@ "eo": "burunda lingvo", "es": "kirundi", "eu": "kirundi", - "fi": "Kirundi", + "fi": "kirundi", "fr": "kirundi", "gl": "Lingua kirundi", "he": "קירונדי", @@ -9890,8 +10037,10 @@ "pl": "język rundi", "pt": "Língua kirundi", "ru": "рунди", + "sl": "rundščina", "sv": "kirundi", "uk": "Кірунді", + "zh_Hans": "基隆迪语", "_meta": { "countries": [ "BI" @@ -9915,7 +10064,7 @@ "gl": "lingua romanesa", "he": "רומנית", "hu": "román", - "id": "Rumania", + "id": "bahasa Rumania", "it": "romeno", "ja": "ルーマニア語", "ko": "루마니아어", @@ -9966,6 +10115,7 @@ "sl": "ruščina", "sv": "ryska", "uk": "російська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵔⵓⵙⵉⵜ", "zh_Hans": "俄语", "zh_Hant": "俄語", "_meta": { @@ -9995,7 +10145,7 @@ "gl": "Lingua rutena", "he": "רוסינית", "hu": "ruszin", - "id": "bahasa Rusyn", + "id": "bahasa Rusin", "it": "ruteno", "ja": "ルシン語", "ko": "루신어", @@ -10017,8 +10167,8 @@ "rup": { "ca": "aromanès", "cs": "arumunština", - "da": "Aromunsk", - "de": "Aromunisch", + "da": "aromunsk", + "de": "Aromunische Sprache", "en": "Aromanian", "eo": "arumana lingvo", "es": "arumano", @@ -10028,8 +10178,8 @@ "gl": "Lingua arromanesa", "he": "ארומנית", "hu": "aromán", - "id": "Bahasa Arumania", - "it": "arumeno", + "id": "Aromania", + "it": "Lingua arumena", "ja": "アルーマニア語", "ko": "아로마니아어", "nb_NO": "arumensk", @@ -10055,7 +10205,7 @@ "eo": "ruanda lingvo", "es": "kiñaruanda", "eu": "kinyaruanda", - "fi": "ruandan kieli", + "fi": "ruanda", "fr": "kinyarwanda", "gl": "Lingua ruanda", "he": "קינירואנדה", @@ -10069,8 +10219,10 @@ "pl": "język ruanda", "pt": "Língua kinyarwanda", "ru": "руанда", + "sl": "ruandščina", "sv": "rwanda", - "uk": "Руандійська мова", + "uk": "руандійська мова", + "zh_Hans": "卢旺达语", "zh_Hant": "盧安達語", "_meta": { "countries": [ @@ -10088,12 +10240,12 @@ "eo": "okinava lingvo", "es": "okinawense", "eu": "okinawera", - "fi": "Okinawan kieli", + "fi": "okinawa", "fr": "okinawaïen", "gl": "Lingua okinawana", "he": "השפה האוקינאווית", "hu": "okinavai nyelv", - "id": "Bahasa Okinawa", + "id": "Okinawa", "it": "lingua di Okinawa", "ja": "沖縄語", "ko": "오키나와어", @@ -10101,7 +10253,8 @@ "nl": "Okinawaans", "pl": "Język okinawski", "pt": "okinawano", - "ru": "Окинавский язык", + "ru": "окинавский язык", + "sl": "okinavščina", "sv": "okinawianska", "uk": "окінавська мова", "zh_Hans": "冲绳语", @@ -10127,7 +10280,7 @@ "gl": "Lingua sakha", "he": "סאחה", "hu": "jakut", - "id": "Bahasa Yakut", + "id": "bahasa Yakut", "it": "sacha", "ja": "サハ語", "ko": "야쿠트어", @@ -10136,6 +10289,7 @@ "pl": "Język jakucki", "pt": "Língua iacuta", "ru": "якутский язык", + "sl": "jakutščina", "sv": "jakutiska", "uk": "якутська мова", "_meta": { @@ -10153,12 +10307,12 @@ "eo": "santala lingvo", "es": "idioma santalí", "eu": "Santali", - "fi": "Santalin kieli", + "fi": "santali", "fr": "santâlî", "gl": "lingua santali", "he": "סנטלית", "hu": "szantáli", - "id": "Bahasa Santali", + "id": "bahasa Santali", "it": "santali", "ja": "サンタル語", "ko": "산탈어", @@ -10169,7 +10323,7 @@ "ru": "Сантали", "sl": "santalščina", "sv": "santhali", - "uk": "Санталі", + "uk": "санталі", "zh_Hant": "桑塔利語", "_meta": { "dir": [ @@ -10191,7 +10345,7 @@ "gl": "Lingua sarda", "he": "סרדו", "hu": "szárd", - "id": "Bahasa Sardinia", + "id": "bahasa Sardinia", "it": "sardo", "ja": "サルデーニャ語", "ko": "사르데냐어", @@ -10200,7 +10354,7 @@ "pl": "Język sardyński", "pt": "Língua sarda", "ru": "сардинский язык", - "sl": "Sardinščina", + "sl": "sardinščina", "sv": "sardiska", "uk": "Сардська мова", "zh_Hans": "撒丁语", @@ -10225,7 +10379,7 @@ "gl": "Lingua siciliana", "he": "סיציליאנית", "hu": "szicíliai", - "id": "Bahasa Sisilia", + "id": "bahasa Sisilia", "it": "siciliano", "ja": "シチリア語", "ko": "시칠리아어", @@ -10253,12 +10407,12 @@ "eo": "skota lingvo", "es": "escocés", "eu": "eskoziera", - "fi": "Skotin kieli", + "fi": "skotti", "fr": "scots", - "gl": "Lingua escocesa", + "gl": "Lingua scots", "he": "סקוטית", "hu": "scots", - "id": "Bahasa Scots", + "id": "bahasa Skots", "it": "lingua scots", "ja": "スコットランド語", "ko": "스코트어", @@ -10279,6 +10433,41 @@ ] } }, + "sd": { + "ca": "sindhi", + "cs": "sindhština", + "da": "sindhi", + "de": "Sindhi", + "en": "Sindhi", + "eo": "sinda lingvo", + "es": "sindhi", + "eu": "sindhi", + "fi": "sindhi", + "fr": "sindhi", + "gl": "Lingua sindhi", + "he": "סינדית", + "hu": "szindhi", + "id": "bahasa Sindhi", + "it": "sindhi", + "ja": "シンド語", + "ko": "신디어", + "nb_NO": "sindhi", + "nl": "Sindhi", + "pl": "sindhi", + "pt": "língua sindi", + "pt_BR": "Língua sindi", + "ru": "синдхи", + "sl": "sindščina", + "sv": "sindhi", + "uk": "синдхі", + "zh_Hans": "信德语", + "zh_Hant": "信德語", + "_meta": { + "dir": [ + "left-to-right" + ] + } + }, "sdc": { "ca": "sasserès", "de": "Sassaresisch", @@ -10289,13 +10478,13 @@ "gl": "Lingua sassaresa", "he": "סאסארזה", "hu": "sassari", - "id": "Bahasa Sassari", - "it": "(lingua) sassarese", + "id": "bahasa Sassari", + "it": "lingua sassarese", "ja": "サッサリ・サルデーニャ語", "nl": "Sassarees", "pl": "Dialekt sassarski", "ru": "сассарский язык", - "sl": "Sasarščina", + "sl": "sasarščina", "sv": "sassaresiska", "uk": "сассарська мова", "zh_Hans": "萨萨里语", @@ -10315,7 +10504,7 @@ "eo": "Sudaj Kurdaj dialektoj", "fr": "kurde du Sud", "he": "כורדית דרומית", - "id": "Bahasa Kurdi Selatan", + "id": "Kurdi Selatan", "it": "lingua curda meridionale", "ja": "南部クルド語", "nl": "Zuid-Koerdisch", @@ -10323,6 +10512,7 @@ "pt": "Curdo meridional", "pt_BR": "Curdo meridional", "ru": "южнокурдский язык", + "sl": "južna kurdščina", "sv": "sydkurdiska", "uk": "південнокурдська мова", "zh_Hans": "南库尔德语", @@ -10347,6 +10537,7 @@ "gl": "Lingua saami setentrional", "he": "סאמי צפונית", "hu": "északi számi", + "id": "bahasa Sami Utara", "it": "sami settentrionale", "ja": "北部サーミ語", "ko": "북부 사미어", @@ -10382,6 +10573,7 @@ "pl": "Język seri", "pt": "Língua seri", "ru": "Сери", + "sl": "serijščina", "sv": "seri", "zh_Hant": "塞裏語", "_meta": { @@ -10394,7 +10586,7 @@ "de": "Koyra Senni", "en": "Koyraboro Senni", "es": "Koyraboro senni", - "fi": "Koyraboro senni", + "fi": "koyraboro senni", "fr": "koyraboro senni", "ja": "コイラボロ・センニ語", "nl": "Koyra Senni", @@ -10414,7 +10606,7 @@ "eo": "sangoa lingvo", "es": "idioma sango", "eu": "Sango", - "fi": "Sango", + "fi": "sango", "fr": "sango", "gl": "Lingua sango", "he": "סאנגו", @@ -10442,14 +10634,49 @@ ] } }, + "sh": { + "ca": "serbocroat", + "cs": "srbochorvatština", + "da": "serbokroatisk", + "de": "Serbokroatisch", + "en": "Serbo-Croatian", + "eo": "serbokroata lingvo", + "es": "serbocroata", + "eu": "Serbokroaziera", + "fi": "serbokroaatti", + "fr": "serbo-croate", + "gl": "Lingua serbocroata", + "he": "סרבו-קרואטית", + "hu": "szerbhorvát", + "id": "bahasa Serbo-Kroasia", + "it": "serbo-croato", + "ja": "セルビア・クロアチア語", + "ko": "세르보크로아트어", + "nb_NO": "serbokroatisk", + "nl": "Servo-Kroatisch", + "pl": "język serbsko-chorwacki", + "pt": "Língua servo-croata", + "pt_BR": "Língua servo-croata", + "ru": "сербохорватский язык", + "sl": "srbohrvaščina", + "sv": "serbokroatiska", + "uk": "сербохорватська мова", + "zh_Hans": "塞尔维亚-克罗地亚语", + "zh_Hant": "塞爾維亞-克羅地亞語", + "_meta": { + "dir": [ + "left-to-right" + ] + } + }, "shi": { "ca": "taixelhit", "cs": "tašelhit", "de": "Taschelhit", - "en": "Shilha", + "en": "Tachelhit", "eo": "ŝelha lingvo", "es": "chilha", - "fi": "Tašelhit", + "fi": "tašelhit", "fr": "chleuh", "gl": "Lingua shilha", "he": "תשלחית", @@ -10459,17 +10686,16 @@ "nl": "Tashelhiyt", "pl": "Język tashelhiyt", "pt": "Tachelhit", - "ru": "Шильхские языки", + "ru": "шильхские языки", "sl": "tašelhit", "sv": "tachelhit", - "uk": "Ташельхіт мова", + "uk": "ташельхіт мова", + "zgh": "ⵜⴰⵛⵍⵃⵉⵜ", "zh_Hans": "施卢赫语", "zh_Hant": "施盧赫語", "_meta": { "dir": [ "left-to-right", - "top-to-bottom", - "bottom-to-top", "right-to-left" ] } @@ -10480,10 +10706,10 @@ "en": "Shan", "eo": "ŝana lingvo", "es": "shan", - "fi": "Shanin kieli", + "fi": "shan", "fr": "shan", "gl": "Lingua shan", - "id": "Bahasa Shan", + "id": "Shan", "it": "lingua shan", "ja": "シャン語", "ko": "샨어", @@ -10492,6 +10718,7 @@ "pt": "língua shan", "pt_BR": "Língua shan", "ru": "шанский язык", + "sl": "šanščina", "sv": "shan", "uk": "шанська мова", "zh_Hans": "掸语", @@ -10508,7 +10735,7 @@ "en": "Shawiya", "es": "chaoui", "eu": "Xawia", - "fi": "Tašawit", + "fi": "tašawit", "fr": "chaoui", "it": "tashawit", "ja": "シャウィーア語", @@ -10516,14 +10743,13 @@ "pl": "język chaouia", "pt": "Língua chaouis", "ru": "Шавия", + "sl": "šavijščina", "sv": "shawiya", - "uk": "Шавія", + "uk": "шавія", "_meta": { "dir": [ - "right-to-left", "left-to-right", - "top-to-bottom", - "bottom-to-top" + "right-to-left" ] } }, @@ -10536,7 +10762,7 @@ "eo": "sinhala lingvo", "es": "cingalés", "eu": "Sinhala", - "fi": "Sinhali", + "fi": "sinhali", "fr": "singhalais", "gl": "Lingua cingalesa", "he": "סינהלית", @@ -10551,7 +10777,7 @@ "pt": "Língua cingalesa", "pt_BR": "Língua cingalesa", "ru": "сингальский язык", - "sl": "sinhalščina", + "sl": "singalščina", "sv": "singalesiska", "uk": "сингальська мова", "zh_Hant": "僧伽羅語", @@ -10570,7 +10796,7 @@ "en": "Sidamo", "es": "Idioma sidamo", "eu": "Sidamo hizkuntza", - "fi": "Sidamo", + "fi": "sidamo", "fr": "sidama", "gl": "Lingua sidamo", "he": "סידאמית", @@ -10597,7 +10823,9 @@ "fi": "kiltinänsaame", "fr": "same de Kildin", "gl": "Lingua saami de Kildin", + "he": "סאמית קילדינית", "hu": "kildini számi", + "id": "Sami Kildin", "it": "lingua sami di Kildin", "ja": "キルディン・サーミ語", "ko": "킬딘 사미어", @@ -10627,6 +10855,7 @@ "fi": "turjansaame", "fr": "same de Ter", "gl": "Lingua saami de Ter", + "id": "bahasa Sami Ter", "it": "sami di Ter", "ja": "テル・サーミ語", "ko": "테르 사미어", @@ -10635,8 +10864,10 @@ "pl": "język ter", "pt": "sami de Ter", "ru": "йоканьгско-саамский язык", + "sl": "terska samijščina", "sv": "tersamiska", "uk": "терська саамська мова", + "zh_Hant": "特爾薩米語", "_meta": { "dir": [ "left-to-right" @@ -10653,6 +10884,7 @@ "fi": "uumajansaame", "fr": "same d'Ume", "gl": "Lingua saami de Ume", + "he": "סאמית אומית", "hu": "umei számi", "it": "lingua sami di Ume", "ja": "ウーメ・サーミ語", @@ -10697,6 +10929,7 @@ "sl": "slovaščina", "sv": "slovakiska", "uk": "словацька мова", + "zh_Hans": "斯洛伐克语", "zh_Hant": "斯洛伐克語", "_meta": { "countries": [ @@ -10762,6 +10995,7 @@ "nl": "Silezisch-Duits", "pl": "dialekt śląski języka niemieckiego", "ru": "силезские диалекты немецкого языка", + "sl": "šlezijska nemščina", "sv": "schlesisk tyska", "uk": "Сілезький діалект німецької мови", "zh_Hans": "西里西亚语", @@ -10781,12 +11015,12 @@ "eo": "samoa lingvo", "es": "samoano", "eu": "Samoera", - "fi": "samoan kieli", + "fi": "samoa", "fr": "samoan", "gl": "Lingua samoana", "he": "סמואית", "hu": "szamoai", - "id": "Bahasa Samoa", + "id": "Samoa", "it": "samoano", "ja": "サモア語", "ko": "사모아어", @@ -10795,8 +11029,11 @@ "pl": "język samoański", "pt": "Língua samoana", "ru": "самоанский язык", + "sl": "samojščina", "sv": "samoanska", "uk": "Самоанська мова", + "zh_Hans": "萨摩亚语", + "zh_Hant": "薩摩亞語", "_meta": { "countries": [ "WS" @@ -10817,8 +11054,9 @@ "fi": "eteläsaame", "fr": "same du Sud", "gl": "Lingua saami meridional", + "he": "סאמי דרומית", "hu": "déli számi", - "id": "Bahasa Sami Selatan", + "id": "bahasa Sami Selatan", "it": "sami meridionale", "ja": "南部サーミ語", "ko": "남부 사미어", @@ -10849,7 +11087,9 @@ "fi": "luulajansaame", "fr": "same de Lule", "gl": "Lingua saami de Lule", + "he": "סאמית לולית", "hu": "lulei számi", + "id": "Sami Lule", "it": "lingua sami di Lule", "ja": "ルレ・サーミ語", "ko": "룰레 사미어", @@ -10880,7 +11120,9 @@ "fi": "inarinsaame", "fr": "same d'Inari", "gl": "Lingua saami de Inari", + "he": "סאמית אינארית", "hu": "inari számi", + "id": "Sami Inari", "it": "sami di Inari", "ja": "イナリ・サーミ語", "ko": "이나리 사미어", @@ -10910,6 +11152,7 @@ "fi": "koltansaame", "fr": "same skolt", "gl": "Lingua saami de Skolt", + "he": "סאמית סקולטית", "hu": "kolta számi", "it": "lingua sami skolt", "ja": "スコルト・サーミ語", @@ -10920,7 +11163,7 @@ "pt": "kíngua sami de Skolt", "pt_BR": "Língua sami de Skolt", "ru": "колтта-саамский язык", - "sl": "sokltska samijščina", + "sl": "skoltska samijščina", "sv": "skoltsamiska", "uk": "колта-саамська мова", "zh_Hans": "斯科尔特萨米语", @@ -10938,7 +11181,8 @@ "en": "Shona", "eo": "Ŝona lingvo", "es": "shona", - "fi": "šonan kieli", + "eu": "Shonera", + "fi": "šona", "fr": "shona", "gl": "Lingua shona", "he": "שונה", @@ -10952,6 +11196,7 @@ "pl": "Język shona", "pt": "Língua chona", "ru": "шона", + "sl": "šonščina", "sv": "shona", "uk": "Шонська мова", "zh_Hant": "修納語", @@ -10973,12 +11218,12 @@ "eo": "somala lingvo", "es": "somalí", "eu": "somaliera", - "fi": "somalin kieli", + "fi": "somali", "fr": "somali", "gl": "Lingua somalí", "he": "סומלית", "hu": "szomáli", - "id": "Bahasa Somali", + "id": "bahasa Somali", "it": "somalo", "ja": "ソマリ語", "ko": "소말리어", @@ -10988,8 +11233,9 @@ "pt": "Língua somali", "pt_BR": "Língua somali", "ru": "сомалийский язык", + "sl": "somalščina", "sv": "somaliska", - "uk": "Сомалійська мова", + "uk": "сомалійська мова", "zh_Hans": "索马里语", "zh_Hant": "索馬利亞語", "_meta": { @@ -11002,12 +11248,13 @@ } }, "sou": { + "ca": "tailandès meridional", "de": "Südthailändisch", "en": "Southern Thai", "eo": "sud-taja lingvo", "fr": "thaï du Sud", "he": "תאית דרומית", - "id": "Bahasa Thai Selatan", + "id": "Thai Selatan", "ja": "南タイ語", "ko": "남부 태국어", "nl": "Zuidelijk Thai", @@ -11034,10 +11281,10 @@ "eu": "albaniera", "fi": "albania", "fr": "albanais", - "gl": "Lingua albanesa", + "gl": "lingua albanesa", "he": "אלבנית", "hu": "albán", - "id": "Bahasa Albania", + "id": "Albania", "it": "albanese", "ja": "アルバニア語", "ko": "알바니아어", @@ -11050,6 +11297,7 @@ "sl": "albanščina", "sv": "albanska", "uk": "албанська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵍⴱⴰⵏⵉⵜ", "zh_Hans": "阿尔巴尼亚语", "zh_Hant": "阿爾巴尼亞語", "_meta": { @@ -11071,7 +11319,7 @@ "eo": "srana lingvo", "es": "sranan tongo", "eu": "Sranan Tongo", - "fi": "Sranantongo", + "fi": "sranantongo", "fr": "sranan", "gl": "Sranan tongo", "he": "סרנן טונגו", @@ -11085,7 +11333,7 @@ "pl": "sranan tongo", "pt": "Sranan", "ru": "cранан-тонго", - "sl": "Surinamščina", + "sl": "surinamščina", "sv": "sranan", "uk": "сранан-тонго", "zh_Hans": "苏里南语", @@ -11101,6 +11349,7 @@ "en": "Sirionó", "es": "sirionó", "fr": "sirionó", + "gl": "Lingnua sirionó", "ja": "シリオノ語", "nb_NO": "sirionó", "nl": "Sirionó", @@ -11121,12 +11370,12 @@ "eo": "svazia lingvo", "es": "suazi", "eu": "swaziera", - "fi": "swazin kieli", + "fi": "swazi", "fr": "swati", "gl": "Lingua suazi", "he": "סווזי", "hu": "szvázi", - "id": "Bahasa Swati", + "id": "Swazi", "it": "swati", "ja": "スワジ語", "ko": "스와티어", @@ -11136,9 +11385,10 @@ "pt": "língua suázi", "pt_BR": "língua suázi", "ru": "свати", + "sl": "svazijščina", "sv": "siswati", "uk": "Сваті", - "zh_Hans": "斯威士语", + "zh_Hans": "斯瓦蒂语", "zh_Hant": "史瓦濟語", "_meta": { "countries": [ @@ -11159,12 +11409,12 @@ "eo": "sota lingvo", "es": "sesotho", "eu": "sothoera", - "fi": "eteläsothon kieli", + "fi": "eteläsotho", "fr": "sotho du Sud", "gl": "Lingua sotho", "he": "ססוטו", "hu": "déli szoto", - "id": "Bahasa Sesotho", + "id": "Sotho", "it": "sotho del sud", "ja": "ソト語", "ko": "소토어", @@ -11176,7 +11426,8 @@ "ru": "сесото", "sl": "sesotščina", "sv": "sesotho", - "uk": "Сесото", + "uk": "сесото", + "zh_Hant": "索托語", "_meta": { "countries": [ "LS", @@ -11190,12 +11441,12 @@ }, "sth": { "ca": "shelta", - "cs": "Shelta", + "cs": "šelta", "de": "Shelta", "en": "Shelta", "es": "shelta", "eu": "Shelta", - "fi": "Shelta", + "fi": "shelta", "fr": "shelta", "gl": "Shelta", "he": "שלטה", @@ -11210,6 +11461,7 @@ "ru": "шелта", "sv": "shelta", "uk": "Шелта", + "zh_Hant": "雪爾塔語", "_meta": { "dir": [ "left-to-right" @@ -11237,6 +11489,7 @@ "pl": "Język fryzyjski saterlandzki", "pt": "frisão oriental", "ru": "Затерландский фризский язык", + "sl": "saterska frizijščina", "sv": "saterfrisiska", "uk": "Затерландська фризька мова", "zh_Hans": "萨特弗里斯兰语", @@ -11261,7 +11514,7 @@ "gl": "Sunda", "he": "סונדנזית", "hu": "szundai", - "id": "Sunda", + "id": "bahasa Sunda", "it": "sunda", "ja": "スンダ語", "ko": "순다어", @@ -11274,6 +11527,8 @@ "sl": "sundanščina", "sv": "sunda", "uk": "сунданська мова", + "zh_Hans": "巽他语", + "zh_Hant": "巽他語", "_meta": { "dir": [ "left-to-right" @@ -11333,7 +11588,7 @@ "gl": "Lingua suahili", "he": "סוואהילי", "hu": "szuahéli", - "id": "Bahasa Swahili", + "id": "bahasa Swahili", "it": "swahili", "ja": "スワヒリ語", "ko": "스와힐리어", @@ -11343,9 +11598,10 @@ "pt": "Língua suaíli", "pt_BR": "língua suaíli", "ru": "суахили", - "sl": "Svahili", + "sl": "svahili", "sv": "swahili", "uk": "суахілі", + "zh_Hans": "斯瓦希里语", "zh_Hant": "史瓦希利語", "_meta": { "countries": [ @@ -11355,26 +11611,33 @@ "UG" ], "dir": [ - "left-to-right", - "right-to-left" + "left-to-right" ] } }, "syl": { + "ca": "sileti", + "cs": "Silotčtina", + "da": "Siloti sprog", "de": "Sylheti", "en": "Sylheti", "es": "Idioma sylheti", - "fi": "Sylheti", + "eu": "Siloti hizkuntza", + "fi": "sylheti", "fr": "sylheti", "gl": "Lingua sylheti", "he": "סילהטית", - "it": "lingua silotica", + "hu": "sziloti", + "id": "bahasa Sylheti", + "it": "silotese", "ja": "シレット語", "ko": "실헤티어", "nb_NO": "Sylhetti", "nl": "Sylheti", "pl": "język syloti", + "pt": "Siroto", "ru": "силхетский язык", + "sl": "silhetščina", "sv": "syloti", "uk": "мова силеті", "zh_Hans": "锡尔赫特语", @@ -11399,7 +11662,7 @@ "gl": "Lingua silesiana", "he": "שלזית", "hu": "sziléziai", - "id": "bahasa Silesia", + "id": "Silesia", "it": "slesiano", "ja": "シレジア語", "ko": "실레지아어", @@ -11411,6 +11674,8 @@ "sl": "šlezijščina", "sv": "schlesiska", "uk": "сілезька мова", + "zh_Hans": "西里西亚语", + "zh_Hant": "西里西亞語", "_meta": { "dir": [ "left-to-right" @@ -11421,6 +11686,7 @@ "ca": "sakizaya", "cs": "sakizayština", "en": "Sakizaya", + "fi": "sakizaya", "fr": "sakizaya", "gl": "Lingua sakizaya", "id": "Bahasa Sakizaya", @@ -11450,7 +11716,7 @@ "gl": "Lingua támil", "he": "טמילית", "hu": "tamil", - "id": "Bahasa Tamil", + "id": "bahasa Tamil", "it": "tamil", "ja": "タミル語", "ko": "타밀어", @@ -11482,17 +11748,18 @@ "de": "Atayal", "en": "Atayal", "es": "lengua atayal", - "fi": "atayalin kieli", + "fi": "atayali", "fr": "atayal", "gl": "Lingua atayal", "hu": "atajal", - "id": "Bahasa Atayal", + "id": "Atayal", "it": "lingua atayal", "ja": "タイヤル語", "ko": "타이얄어", "nl": "Atayal", "pt": "Língua atayal", "ru": "атаяльский язык", + "sl": "atajalščina", "sv": "atayal", "uk": "атаяльська мова", "zh_Hans": "泰雅语", @@ -11511,7 +11778,7 @@ "eo": "tulua lingvo", "es": "tulu", "eu": "Tulu", - "fi": "Tulun kieli", + "fi": "tulu", "fr": "toulou", "gl": "Lingua tulu", "he": "טולו", @@ -11525,7 +11792,7 @@ "ru": "тулу", "sl": "tulujščina", "sv": "tulu", - "uk": "Тулу", + "uk": "тулу", "_meta": { "dir": [ "left-to-right" @@ -11576,12 +11843,12 @@ "eo": "tetuna lingvo", "es": "Idioma tetun", "eu": "Tetum", - "fi": "Tetumin kieli", + "fi": "tetum", "fr": "tétoum", "gl": "Tetún", "he": "טטום", "hu": "tetum", - "id": "Tetum", + "id": "Tetun", "it": "tetum", "ja": "テトゥン語", "ko": "테툼어", @@ -11590,6 +11857,7 @@ "pl": "język tetum", "pt": "língua tétum", "ru": "тетум", + "sl": "tetumščina", "sv": "tetum", "uk": "Тетум", "_meta": { @@ -11612,7 +11880,7 @@ "gl": "Lingua taxica", "he": "טג'יקית", "hu": "tádzsik", - "id": "Tajik", + "id": "bahasa Tajik", "it": "tagico", "ja": "タジク語", "ko": "타지크어", @@ -11625,6 +11893,8 @@ "sl": "tadžiščina", "sv": "tadzjikiska", "uk": "таджицька мова", + "zh_Hans": "塔吉克语", + "zh_Hant": "塔吉克語", "_meta": { "countries": [ "TJ" @@ -11636,7 +11906,7 @@ } }, "th": { - "ca": "tailandès", + "ca": "tai", "cs": "thajština", "da": "thai", "de": "Thailändisch", @@ -11644,12 +11914,12 @@ "eo": "taja lingvo", "es": "tailandés", "eu": "Thailandiera", - "fi": "thain kieli", + "fi": "thai", "fr": "thaï", "gl": "lingua tailandesa", "he": "תאית", "hu": "thai", - "id": "bahasa Thai", + "id": "bahasa Thailand", "it": "thailandese", "ja": "タイ語", "ko": "태국어", @@ -11662,6 +11932,7 @@ "sl": "tajščina", "sv": "thai", "uk": "тайська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵜⴰⵢⵍⴰⵏⴷⵉⵜ", "zh_Hans": "泰语", "zh_Hant": "泰語", "_meta": { @@ -11687,7 +11958,7 @@ "gl": "Lingua tigriña", "he": "תיגרינית", "hu": "tigrinya", - "id": "Bahasa Tigrinya", + "id": "Tigrinya", "it": "tigrino", "ja": "ティグリニャ語", "ko": "티그리냐어", @@ -11696,9 +11967,10 @@ "pl": "Język tigrinia", "pt": "Língua tigrínia", "ru": "тигринья", - "sl": "Tigrajščina", + "sl": "tigrinjščina", "sv": "tigrinska", - "uk": "Тигринья", + "uk": "тигринья", + "zh_Hans": "提格雷尼亚语", "zh_Hant": "提格利尼亞語", "_meta": { "countries": [ @@ -11719,11 +11991,11 @@ "es": "turcomano", "eu": "Turkmenera", "fi": "turkmeeni", - "fr": "Turkmène", + "fr": "turkmène", "gl": "Lingua turcomá", "he": "טורקמנית", "hu": "türkmén", - "id": "bahasa Turkmen", + "id": "Turkmen", "it": "Turkmeno", "ja": "トルクメン語", "ko": "투르크멘어", @@ -11733,7 +12005,7 @@ "pt": "Língua turcomena", "pt_BR": "Língua turcomena", "ru": "туркменский язык", - "sl": "Turkmenščina", + "sl": "turkmenščina", "sv": "turkmeniska", "uk": "туркменська мова", "_meta": { @@ -11771,7 +12043,7 @@ "pt_BR": "língua tagalo", "ru": "тагальский язык", "sl": "tagaloščina", - "sv": "tagalog", + "sv": "tagalska", "uk": "тагальська мова", "zh_Hans": "他加禄语", "zh_Hant": "他加祿語", @@ -11787,21 +12059,23 @@ "en": "Tlingit", "eo": "Tlingita", "es": "tlingit", - "fi": "Tlingit", + "fi": "tlingit", "fr": "tlingit", "hu": "tlingit", "id": "Bahasa Tlingit", "it": "lingua tlingit", "ja": "トリンギット語", "ko": "틀링깃어", - "nb_NO": "Tlingit", + "nb_NO": "tlingit", "nl": "Tlingit", "pl": "Język tlingit", "pt": "Língua tlingit", "pt_BR": "Língua tlingit", - "ru": "Тлингитский язык", + "ru": "тлингитский язык", + "sl": "tlingitščina", "sv": "tlingit", "uk": "Тлінгітська мова", + "zh_Hant": "特林吉特語", "_meta": { "dir": [ "left-to-right" @@ -11810,12 +12084,13 @@ }, "tly": { "ca": "talixi", + "cs": "talyština", "de": "Talisch", "en": "Talysh", "eo": "taliŝa lingvo", "es": "talishi", "eu": "Talyshera", - "fi": "Tališin kieli", + "fi": "tališi", "fr": "talysh", "gl": "Lingua talysh", "he": "טליש", @@ -11828,8 +12103,9 @@ "pl": "język tałyski", "pt": "Língua talish", "ru": "талышский язык", + "sl": "tališčina", "sv": "talysj", - "uk": "Талиші", + "uk": "талиська мова", "_meta": { "dir": [ "left-to-right", @@ -11846,7 +12122,7 @@ "eo": "cvana lingvo", "es": "setsuana", "eu": "tswanera", - "fi": "tswanan kieli", + "fi": "tswana", "fr": "tswana", "gl": "Lingua tswana", "he": "סצוואנה", @@ -11857,13 +12133,14 @@ "ko": "츠와나어", "nb_NO": "setswana", "nl": "Tswana", - "pl": "Język tswana", + "pl": "język tswana", "pt": "língua tswana", "pt_BR": "língua tswana", "ru": "тсвана", "sl": "cvanščina", "sv": "setswana", "uk": "Сетсвана", + "zh_Hans": "茨瓦纳语", "zh_Hant": "札那語", "_meta": { "countries": [ @@ -11875,41 +12152,6 @@ ] } }, - "to": { - "ca": "tongalès", - "cs": "tongánština", - "da": "tongansk", - "de": "Tongaisch", - "en": "Tongan", - "eo": "Tonga lingvo", - "es": "tongano", - "eu": "Tongera", - "fi": "Tongan kieli", - "fr": "tongien", - "gl": "Lingua tongana", - "he": "טונגאית", - "hu": "tongai", - "id": "Bahasa Tonga", - "it": "tongano", - "ja": "トンガ語", - "ko": "통가어", - "nb_NO": "Tongansk", - "nl": "Tongaans", - "pl": "Język tonga", - "pt": "Língua tonganesa", - "ru": "тонганский язык", - "sl": "tongovščina", - "sv": "tonganska", - "uk": "Тонганська мова", - "_meta": { - "countries": [ - "TO" - ], - "dir": [ - "left-to-right" - ] - } - }, "tpi": { "ca": "tok pisin", "cs": "Tok Pisin", @@ -11953,7 +12195,9 @@ "pl": "Turoyo", "pt": "Língua turoyo", "ru": "Туройо", + "sl": "turojoščina", "sv": "turoyo", + "zh_Hant": "圖羅尤語", "_meta": { "dir": [ "left-to-right", @@ -11963,10 +12207,10 @@ }, "trv": { "ca": "seediq", - "cs": "Seediq", + "cs": "seedičtina", "en": "Seediq", "eo": "sedeka lingvo", - "fi": "Taroko", + "fi": "taroko", "fr": "seediq", "gl": "Lingua seediq", "id": "Bahasa Seediq", @@ -11975,6 +12219,7 @@ "nb_NO": "Truku", "nl": "Taroko", "pt": "Língua seediq", + "sl": "trukujščina", "sv": "seediq", "zh_Hans": "赛德克语", "zh_Hant": "賽德克語", @@ -11992,7 +12237,7 @@ "eo": "conga lingvo", "es": "tsonga", "eu": "tsongera", - "fi": "tsongan kieli", + "fi": "tsonga", "fr": "tsonga", "gl": "Lingua tsonga", "he": "צונגה", @@ -12007,6 +12252,7 @@ "pt": "língua tsonga", "pt_BR": "língua tsonga", "ru": "тсонга", + "sl": "tsonga", "sv": "tsonga", "uk": "Тсонга", "zh_Hans": "聪加语", @@ -12045,7 +12291,7 @@ "pt": "Língua tártara", "pt_BR": "Língua tártara", "ru": "татарский язык", - "sl": "Tatarščina", + "sl": "tatarščina", "sv": "tatariska", "uk": "татарська мова", "zh_Hans": "鞑靼语", @@ -12056,23 +12302,58 @@ ] } }, + "tu": { + "ca": "àrab tunisià", + "cs": "tuniština", + "da": "Tunesisk arabisk", + "de": "Tunesisch-Arabisch", + "en": "Tunisian Arabic", + "eo": "tunizia araba lingvo", + "es": "árabe tunecino", + "fi": "tunisianarabia", + "fr": "arabe tunisien", + "he": "ערבית תוניסאית", + "id": "Bahasa Arab Tunisia", + "it": "arabo tunisino", + "ja": "アラビア語チュニジア方言", + "ko": "튀니지 아랍어", + "nb_NO": "tunisisk arabisk", + "nl": "Tunesisch-Arabisch", + "pl": "tunezyjski", + "pt": "árabe tunisino", + "pt_BR": "Árabe tunisino", + "ru": "Тунисский диалект арабского языка", + "sl": "tunizijska arabščina", + "sv": "tunisisk arabiska", + "uk": "туніська арабська мова", + "zh_Hans": "突尼斯阿拉伯语", + "zh_Hant": "突尼西亞阿拉伯語", + "_meta": { + "dir": [ + "left-to-right", + "right-to-left" + ] + } + }, "tum": { "ca": "tumbuka", "de": "Tumbuka", "en": "Tumbuka", "eo": "tumbuka lingvo", "es": "Idioma tumbuka", - "fi": "Tumbuka", + "fi": "tumbuka", "fr": "tumbuka", "gl": "Lingua tumbuka", "he": "שפת טומבוקה", "hu": "tumbuka", "it": "tumbuka", "ja": "トゥンブカ語", + "ko": "툼부카어", "nl": "Tumbuka", "pl": "Język tumbuka", "pt": "Língua tumbuka", "ru": "Тумбука", + "sl": "tumbuščina", "sv": "tumbuka", "uk": "Тумбука", "_meta": { @@ -12089,23 +12370,24 @@ "eo": "tuvala lingvo", "es": "tuvaluano", "eu": "Tuvaluera", - "fi": "tuvalun kieli", + "fi": "tuvalu", "fr": "tuvaluan", "gl": "Lingua tuvalesa", "he": "טובאלית", "hu": "tuvalui", - "id": "Bahasa Tuvalu", + "id": "Tuvalu", "it": "lingua tuvaluana", "ja": "ツバル語", "ko": "투발루어", "nb_NO": "tuvalsk", "nl": "Tuvaluaans", "pl": "Język tuvalu", - "pt": "Língua tuvaluana", + "pt": "língua tuvaluana", "pt_BR": "Língua tuvaluana", "ru": "тувалу", + "sl": "tuvalujščina", "sv": "tuvaluanska", - "uk": "Тувалу", + "uk": "тувалу", "_meta": { "dir": [ "left-to-right" @@ -12134,8 +12416,10 @@ "pt": "Língua twi", "pt_BR": "Língua twi", "ru": "чви", + "sl": "tvijščina", "sv": "twi", "uk": "чві", + "zh_Hant": "契維語", "_meta": { "dir": [ "left-to-right" @@ -12167,7 +12451,7 @@ "ru": "таитянский язык", "sl": "tahitijščina", "sv": "tahitiska", - "uk": "Таїтянська мова", + "uk": "таїтянська мова", "zh_Hans": "塔希提语", "zh_Hant": "大溪地語", "_meta": { @@ -12184,7 +12468,7 @@ "eo": "tuva lingvo", "es": "idioma tuvano", "eu": "Tuvera", - "fi": "tuvan kieli", + "fi": "tuva", "fr": "touvain", "gl": "Lingua tuvaniana", "he": "טובאנית", @@ -12199,8 +12483,10 @@ "pt": "Língua tuviniana", "pt_BR": "Língua tuviniana", "ru": "тувинский язык", + "sl": "tuvanščina", "sv": "tuvinska", "uk": "тувинська мова", + "zh_Hans": "图瓦语", "_meta": { "dir": [ "left-to-right" @@ -12213,7 +12499,7 @@ "en": "Central Atlas Tamazight", "eo": "tamaziĥta lingvo", "es": "Tamazight del Marruecos Central", - "fi": "Keskiatlaksentamazight", + "fi": "keskiatlaksentamazight", "fr": "tamazight du Maroc central", "he": "תמאזיגת של האטלס התיכון", "it": "tamazight del Marocco centrale", @@ -12221,15 +12507,15 @@ "nl": "Centraal Atlas-Tamazight", "pl": "Język tamazight", "ru": "Тамазигхтские языки", + "sl": "centralnoatlaški tamazigt", "sv": "tamazight", + "zgh": "ⵜⴰⵎⴰⵣⵉⵖⵜ ⵏ ⵡⴰⵟⵍⴰⵚ ⴰⵏⴰⵎⵎⴰⵙ", "zh_Hans": "中阿特拉斯柏柏尔语", "zh_Hant": "中阿特拉斯柏柏語", "_meta": { "dir": [ "right-to-left", - "left-to-right", - "top-to-bottom", - "bottom-to-top" + "left-to-right" ] } }, @@ -12242,12 +12528,12 @@ "eo": "udmurta lingvo", "es": "udmurto", "eu": "Udmurtera", - "fi": "udmurtin kieli", + "fi": "udmurtti", "fr": "oudmourte", "gl": "Lingua udmurta", "he": "אודמורטית", "hu": "udmurt", - "id": "Bahasa Udmurt", + "id": "Udmurt", "it": "udmurto", "ja": "ウドムルト語", "ko": "우드무르트어", @@ -12257,6 +12543,7 @@ "pt": "Língua udmurte", "pt_BR": "Língua udmurte", "ru": "удмуртский язык", + "sl": "udmurtščina", "sv": "udmurtiska", "uk": "удмуртська мова", "_meta": { @@ -12279,7 +12566,7 @@ "gl": "Lingua uigur", "he": "אויגורית", "hu": "ujgur", - "id": "bahasa Uyghur", + "id": "Uighur", "it": "uiguro", "ja": "ウイグル語", "ko": "위구르어", @@ -12291,7 +12578,7 @@ "ru": "уйгурский язык", "sl": "ujgurščina", "sv": "uiguriska", - "uk": "Уйгурська мова", + "uk": "уйгурська мова", "zh_Hans": "维吾尔语", "zh_Hant": "維吾爾語", "_meta": { @@ -12353,7 +12640,7 @@ "gl": "Lingua usbeka", "he": "אוזבקית", "hu": "üzbég", - "id": "bahasa Uzbek", + "id": "Uzbek", "it": "uzbeco", "ja": "ウズベク語", "ko": "우즈베크어", @@ -12384,6 +12671,7 @@ "en": "Southern Uzbek", "eo": "sud-uzbeka lingvo", "fr": "ouzbek du Sud", + "id": "Uzbek Selatan", "ru": "Южноузбекский язык", "sv": "syduzbekiska", "zh_Hans": "南乌兹别克语", @@ -12401,7 +12689,7 @@ "eo": "venda lingvo", "es": "venda", "eu": "vendera", - "fi": "vendan kieli", + "fi": "venda", "fr": "venda", "gl": "Lingua venda", "he": "ונדה", @@ -12416,6 +12704,7 @@ "pt": "língua venda", "pt_BR": "língua venda", "ru": "венда", + "sl": "vendščina", "sv": "venda", "uk": "Венда", "zh_Hans": "文达语", @@ -12478,16 +12767,17 @@ "gl": "Lingua vepsa", "he": "ופס", "hu": "vepsze", - "id": "Bahasa Veps", + "id": "Veps", "it": "vepso", "ja": "ヴェプス語", "ko": "벱스어", "nb_NO": "vepsisk", "nl": "Wepsisch", "pl": "język wepski", - "pt": "Língua vepes", + "pt": "língua vepes", "pt_BR": "Língua vepes", "ru": "вепсский язык", + "sl": "vepščina", "sv": "vepsiska", "uk": "вепська мова", "zh_Hans": "维普斯语", @@ -12512,7 +12802,7 @@ "gl": "Lingua vietnamita", "he": "וייטנאמית", "hu": "vietnámi", - "id": "Vietnam", + "id": "bahasa Vietnam", "it": "vietnamita", "ja": "ベトナム語", "ko": "베트남어", @@ -12546,6 +12836,7 @@ "fi": "länsiflaami", "fr": "flamand occidental", "gl": "Flamengo occidental", + "he": "פלמית מערבית", "id": "Flam Barat", "it": "dialetto fiammingo occidentale", "ja": "西フラマン語", @@ -12566,6 +12857,7 @@ } }, "vmf": { + "ca": "fràncic del Main", "de": "Mainfränkisch", "en": "Main-Franconian", "es": "Fráncico del Meno", @@ -12575,6 +12867,7 @@ "ko": "마인프랑크어", "nl": "Mainfrankisch", "ru": "Майнфранкские диалекты", + "sl": "majnskofrankovska namščina", "sv": "Main-frankiska", "_meta": { "dir": [ @@ -12603,6 +12896,7 @@ "pl": "Język wotycki", "pt": "vótico", "ru": "водский язык", + "sl": "votščina", "sv": "votiska", "uk": "водська мова", "zh_Hans": "瓦佳语", @@ -12624,8 +12918,9 @@ "fi": "võro", "fr": "võro", "gl": "Lingua võro", + "he": "וירו", "hu": "võro", - "id": "Bahasa Võro", + "id": "Võro", "it": "võro", "ja": "ヴォロ語", "ko": "버로어", @@ -12634,6 +12929,7 @@ "pl": "język võro", "pt": "Língua võro", "ru": "выруский диалект", + "sl": "võro", "sv": "võro", "uk": "Виро", "zh_Hans": "沃罗语", @@ -12652,12 +12948,12 @@ "eo": "valona lingvo", "es": "valón", "eu": "Valoniera", - "fi": "Valloni", + "fi": "valloni", "fr": "wallon", "gl": "Lingua valoa", "he": "ולונית", "hu": "vallon nyelv", - "id": "Bahasa Walloon", + "id": "bahasa Walonia", "it": "vallone", "ja": "ワロン語", "ko": "왈롱어", @@ -12676,18 +12972,22 @@ } }, "wal": { + "ca": "wolayta", "de": "Wolaytta", - "en": "Wolaytta", + "en": "Wolayttattuwa", "es": "Idioma wolayta", - "fi": "Wolaitta", + "fi": "wolaitta", "fr": "wolaita", "he": "וולאיטה", "it": "lingua wolaytta", "ja": "ウォライタ語", + "ko": "월라이타어", + "nb_NO": "Wolayttattuwa", "nl": "Wolayta", "pt": "Língua wolaytta", "ru": "Воламо", "sv": "wolaytta", + "uk": "Воламо", "_meta": { "dir": [ "left-to-right" @@ -12704,11 +13004,11 @@ "es": "samareño", "eu": "samarera", "fi": "waray-waray", - "fr": "ouarayen", + "fr": "waray-waray", "gl": "Lingua waray-waray", "he": "ואריי-ואריי", "hu": "waray", - "id": "Bahasa Waray-waray", + "id": "bahasa Warai", "it": "waray-waray", "ja": "ワライ語", "ko": "와라이어", @@ -12718,8 +13018,10 @@ "pt": "língua waray-waray", "pt_BR": "Língua waray-waray", "ru": "варайский язык", + "sl": "varajščina", "sv": "waray-waray", "uk": "варайська мова", + "zh_Hant": "瓦瑞語", "_meta": { "dir": [ "left-to-right" @@ -12732,7 +13034,7 @@ "de": "Wakhi", "en": "Wakhi", "es": "wají", - "fi": "Vahanin kieli", + "fi": "vahan", "fr": "wakhi", "gl": "Lingua vakhí", "id": "Bahasa Wakhi", @@ -12745,6 +13047,7 @@ "pt": "Língua wakhi", "pt_BR": "Língua wakhi", "ru": "Ваханский язык", + "sl": "vahijščina", "sv": "wakhí", "uk": "ваханська мова", "_meta": { @@ -12763,12 +13066,12 @@ "eo": "soraba lingvo", "es": "sorbio", "eu": "Sorabiera", - "fi": "Sorbi", + "fi": "sorbi", "fr": "sorabe", "gl": "Lingua sorabia", "he": "שפות סורביות", "hu": "szorb", - "id": "Bahasa Sorbia", + "id": "Sorbia", "it": "sorabo", "ja": "ソルブ語", "ko": "소르브어", @@ -12791,7 +13094,7 @@ "de": "Wallisianisch", "en": "Wallisian", "es": "walisiano", - "fi": "Uvean kieli", + "fi": "wallis", "fr": "wallisien", "gl": "Lingua wallisiana", "he": "ואליסיאנית", @@ -12801,8 +13104,9 @@ "pl": "Język uvea wschodni", "pt": "Língua wallisiana", "ru": "Уоллисский язык", + "sl": "vališčina", "sv": "walliska", - "uk": "Волліська мова", + "uk": "волліська мова", "_meta": { "dir": [ "left-to-right" @@ -12818,30 +13122,31 @@ "eo": "volofa lingvo", "es": "wólof", "eu": "Wolofera", - "fi": "wolofin kieli", + "fi": "wolof", "fr": "wolof", "gl": "lingua wolof", "he": "וולופית", "hu": "volof", - "id": "Bahasa Wolof", + "id": "bahasa Wolof", "it": "wolof", "ja": "ウォロフ語", "ko": "월로프어", "nb_NO": "wolof", "nl": "Wolof", "pl": "język wolof", - "pt": "Língua wolof", + "pt": "Língua uolofe", "ru": "волоф", "sl": "volofščina", "sv": "wolof", "uk": "волоф", + "zh_Hant": "沃洛夫語", "_meta": { "countries": [ "SN" ], "dir": [ - "right-to-left", - "left-to-right" + "left-to-right", + "right-to-left" ] } }, @@ -12853,7 +13158,7 @@ "eo": "vua lingvo", "es": "Chino wu", "eu": "Wu txinera", - "fi": "Wu-kiina", + "fi": "wu-kiina", "fr": "wu", "gl": "Lingua wu", "he": "סינית וו", @@ -12872,7 +13177,7 @@ "zh_Hant": "吳語", "_meta": { "dir": [ - "top-to-bottom" + "vertical right-to-left" ] } }, @@ -12881,11 +13186,11 @@ "cs": "vilamovština", "da": "vimisørisk", "de": "Wilmesaurisch", - "en": "Vilamovian", + "en": "Wymysorys", "eo": "vilamovica lingvo", "es": "vilamoviciano", "eu": "Wymysorys", - "fi": "Wymysorys", + "fi": "wymysorys", "fr": "wilamowicien", "gl": "Lingua wymysorys", "hu": "wilamowicei", @@ -12901,6 +13206,7 @@ "ru": "вилямовский язык", "sv": "wymysöriska", "uk": "вілямівська мова", + "zh_Hant": "維拉莫維安語", "_meta": { "dir": [ "left-to-right" @@ -12909,19 +13215,19 @@ }, "xh": { "ca": "xosa", - "cs": "Xhoština", + "cs": "xhoština", "da": "isiXhosa", "de": "IsiXhosa", "en": "Xhosa", "eo": "kosa lingvo", "es": "xhosa", "eu": "xhosera", - "fi": "xhosan kieli", + "fi": "xhosa", "fr": "xhosa", "gl": "Lingua xhosa", "he": "קוסה", "hu": "xhosza", - "id": "Bahasa Xhosa", + "id": "Xhosa", "it": "xhosa", "ja": "コサ語", "ko": "코사어", @@ -12968,6 +13274,7 @@ "pt": "Língua mingreliana", "pt_BR": "Língua mingreliana", "ru": "мегрельский язык", + "sl": "mingrelščina", "sv": "megreliska", "uk": "мегрельська мова", "_meta": { @@ -12976,16 +13283,35 @@ ] } }, + "xsy": { + "ca": "saisiyat", + "en": "Saisiyat", + "es": "Idioma saisiyat", + "fr": "saisiyat", + "id": "Saisiyat", + "it": "lingua saisiyat", + "ja": "サイシャット語", + "nl": "Saisiyat", + "pt": "Língua saisiyat", + "sv": "saisiyat", + "zh_Hans": "赛夏语", + "zh_Hant": "賽夏語", + "_meta": { + "dir": [ + "left-to-right" + ] + } + }, "yai": { "cs": "jaghnóbština", "de": "Jaghnobi", "en": "Yaghnobi", "eo": "jagnoba lingvo", "es": "yagnobi", - "fi": "Jagnobin kieli", + "fi": "jagnobi", "fr": "yaghnobi", "gl": "Lingua iagnobí", - "id": "Bahasa Yaghnobi", + "id": "bahasa Yaghnob", "it": "yaghnobī́", "ja": "ヤグノビ語", "ko": "야그노비어", @@ -12996,6 +13322,7 @@ "ru": "ягнобский язык", "sv": "yaghnobi", "uk": "ягнобська мова", + "zh_Hant": "亞爾諾比語", "_meta": { "dir": [ "left-to-right" @@ -13006,7 +13333,7 @@ "de": "Yapesisch", "en": "Yapese", "eu": "Yapera", - "fi": "Yapin kieli", + "fi": "japi", "fr": "yap", "it": "yapese", "ja": "ヤップ語", @@ -13025,7 +13352,7 @@ }, "yav": { "en": "Yangben", - "fi": "Yangben", + "fi": "yangben", "fr": "yangben", "ja": "ヤンベン語", "nl": "Yangben", @@ -13051,6 +13378,7 @@ "nl": "Jenisch", "pt": "Língua yeniche", "ru": "Енишский язык", + "sl": "jeniščina", "sv": "jeniska", "_meta": { "dir": [ @@ -13085,6 +13413,7 @@ "sl": "jidiš", "sv": "jiddisch", "uk": "їдиш", + "zh_Hans": "意第绪语", "zh_Hant": "意第緒語", "_meta": { "dir": [ @@ -13100,7 +13429,7 @@ "eo": "joruba lingvo", "es": "yoruba", "eu": "jorubera", - "fi": "joruban kieli", + "fi": "joruba", "fr": "yoruba", "gl": "Lingua yoruba", "he": "יורובה", @@ -13117,6 +13446,7 @@ "sl": "jorubščina", "sv": "yoruba", "uk": "йоруба", + "zh_Hans": "约鲁巴语", "zh_Hant": "約魯巴語", "_meta": { "dir": [ @@ -13130,12 +13460,14 @@ "es": "yonaguni", "eu": "yonaguniera", "fr": "yonaguni", + "gl": "Lingua yonaguni", "id": "Bahasa Yonaguni", "it": "yonaguni", - "ja": "与那国方言", + "ja": "与那国語", "ko": "요나구니어", "pt": "Língua Yonaguni", "ru": "Йонагунский язык", + "sl": "jonagunščina", "sv": "yonaguni", "zh_Hant": "與那國語", "_meta": { @@ -13165,6 +13497,7 @@ "nl": "Nenets", "pl": "język nieniecki", "ru": "ненецкий язык", + "sl": "nenščina", "sv": "nentsiska", "uk": "ненецька мова", "zh_Hans": "涅涅茨语", @@ -13181,11 +13514,12 @@ "en": "Nheengatu", "eo": "nengatua lingvo", "es": "ñe'engatú", - "fi": "Ñeengatú", + "fi": "ñeengatú", "fr": "nheengatu", "gl": "Lingua nheengatu", "it": "nheengatu", "ja": "ニェエンガトゥ語", + "ko": "녜엥가투어", "nl": "Nheengatu", "pt": "nheengatu", "pt_BR": "Nheengatu", @@ -13197,6 +13531,41 @@ ] } }, + "yue": { + "ca": "cantonès", + "cs": "kantonština", + "da": "kantonesisk", + "de": "Kantonesisch", + "en": "Cantonese", + "eo": "kantona lingvo", + "es": "cantonés", + "eu": "Yue txinera", + "fi": "kantoninkiina", + "fr": "dialecte cantonais", + "gl": "lingua cantonesa", + "he": "קנטונזית תקנית", + "hu": "kantoni", + "id": "Kanton", + "it": "cantonese standard", + "ja": "広東語", + "ko": "광둥어", + "nb_NO": "standard kantonesisk", + "nl": "Kantonese dialecten", + "pl": "standardowy język kantoński", + "pt": "Cantonês", + "pt_BR": "Cantonês", + "ru": "кантонский диалект", + "sl": "kantonščina", + "sv": "kantonesiska", + "uk": "кантонський діалект", + "zh_Hans": "广州话", + "zh_Hant": "廣州話", + "_meta": { + "dir": [ + "vertical right-to-left" + ] + } + }, "za": { "ca": "llengües zhuang", "cs": "čuangština", @@ -13206,7 +13575,7 @@ "eo": "ĝuanga lingvo", "es": "chuang", "eu": "zhuangera", - "fi": "Zhuangin kieli", + "fi": "zhuang", "fr": "zhuang", "gl": "Linguas zhuang", "he": "ג'ואנג", @@ -13220,8 +13589,9 @@ "pl": "język zhuang", "pt": "Língua zhuang", "ru": "чжуанский язык", + "sl": "džuanski jeziki", "sv": "zhuang", - "uk": "Чжуанська мова", + "uk": "чжуанська мова", "zh_Hans": "壮语", "zh_Hant": "壯語", "_meta": { @@ -13236,6 +13606,7 @@ "en": "Zeelandic", "eo": "zelanda lingvo", "es": "zelandés", + "fi": "seelanti", "fr": "zélandais", "gl": "Lingua zelandesa", "he": "זילנדית", @@ -13247,6 +13618,7 @@ "pl": "dialekt zelandzki", "pt": "zeêuws", "ru": "зеландский диалект", + "sl": "zelandščina", "sv": "zeeländska", "uk": "зеландська мова", "zh_Hans": "西兰语", @@ -13259,18 +13631,20 @@ }, "zgh": { "ca": "amazic estàndard marroquí", - "de": "marokkanisches Tamazight", - "en": "Standard Moroccan Berber", + "de": "marokkanisches Amazigh", + "en": "Standard Moroccan Amazigh", "eo": "norma maroka tamaziĥta lingvo", "es": "Amazig estándar marroquí", - "fi": "Vakioitu tamazight", + "fi": "vakioitu tamazight", "fr": "amazighe standard marocain", "gl": "Amazigh estándar marroquí", "ja": "標準モロッコ・タマジクト語", - "nl": "Standaardtamazight", + "ko": "표준 모로코 타마지트어", + "nl": "Standaard Amazigh", "ru": "Стандартный марокканский берберский язык", "sl": "knjižna maroška berberščina", "sv": "marockansk standardberbiska", + "zgh": "ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ ⵜⴰⵎⵖⵔⵉⴱⵉⵜ", "zh_Hans": "标准摩洛哥柏柏尔语", "zh_Hant": "標準摩洛哥柏柏語", "_meta": { @@ -13280,7 +13654,7 @@ } }, "zh": { - "ca": "llengües sinítiques", + "ca": "xinès", "cs": "čínština", "da": "kinesisk", "de": "Chinesisch", @@ -13306,15 +13680,16 @@ "sl": "kitajščina", "sv": "kinesiska", "uk": "китайська мова", + "zgh": "ⵜⵓⵜⵍⴰⵢⵜ ⵜⴰⵛⵉⵏⵡⵉⵜ", "zh_Hans": "中文", - "zh_Hant": "漢語", + "zh_Hant": "中文", "_meta": { "countries": [ "CN" ], "dir": [ - "left-to-right", - "top-to-bottom" + "vertical right-to-left", + "left-to-right" ] } }, @@ -13327,7 +13702,7 @@ "eo": "minnana lingvo", "es": "chino min nan", "eu": "hegoaldeko min", - "fi": "Minnan", + "fi": "minnan", "fr": "minnan", "gl": "lingua min nam", "he": "מין דרומי", @@ -13349,7 +13724,42 @@ "zh_Hant": "閩南語", "_meta": { "dir": [ - "top-to-bottom" + "vertical right-to-left" + ] + } + }, + "zh-yue": { + "ca": "cantonès", + "cs": "kantonština", + "da": "kantonesisk", + "de": "Kantonesisch", + "en": "Cantonese", + "eo": "kantona lingvo", + "es": "cantonés", + "eu": "Yue txinera", + "fi": "kantoninkiina", + "fr": "dialecte cantonais", + "gl": "lingua cantonesa", + "he": "קנטונזית תקנית", + "hu": "kantoni", + "id": "Kanton", + "it": "cantonese standard", + "ja": "広東語", + "ko": "광둥어", + "nb_NO": "standard kantonesisk", + "nl": "Kantonese dialecten", + "pl": "standardowy język kantoński", + "pt": "Cantonês", + "pt_BR": "Cantonês", + "ru": "кантонский диалект", + "sl": "kantonščina", + "sv": "kantonesiska", + "uk": "кантонський діалект", + "zh_Hans": "广州话", + "zh_Hant": "廣州話", + "_meta": { + "dir": [ + "vertical right-to-left" ] } }, @@ -13366,7 +13776,7 @@ "gl": "chinés simplificado", "he": "סינית מפושטת", "hu": "egyszerűsített kínai", - "id": "aksara Han sederhana", + "id": "Tionghoa Sederhana", "it": "cinese semplificato", "ja": "簡体字中国語", "ko": "중국어 (간체)", @@ -13394,11 +13804,12 @@ "en": "Traditional Chinese", "eo": "ĉina lingvo de tradicia ortografio", "es": "chino tradicional", - "eu": "Txinera tradizional", + "eu": "txinera tradizional", "fi": "perinteinen kiina", "fr": "chinois traditionnel", "gl": "chinés tradicional", "he": "סינית מסורתית", + "id": "bahasa Tionghoa Tradisional", "it": "cinese tradizionale", "ja": "繁体字中国語", "ko": "중국어 (번체)", @@ -13432,7 +13843,7 @@ "gl": "Lingua zulú", "he": "זולו", "hu": "zulu", - "id": "Bahasa Zulu", + "id": "Zulu", "it": "zulu", "ja": "ズールー語", "ko": "줄루어", @@ -13462,8 +13873,9 @@ "eo": "zunjia", "es": "zuñi", "eu": "Zuni hizkuntza", - "fi": "Zuni", + "fi": "zuni", "fr": "zuni", + "gl": "Lingua zuni", "hu": "zuni", "id": "bahasa Zuni", "it": "zuni", @@ -13474,6 +13886,7 @@ "pt": "Língua zuni", "pt_BR": "Língua zuni", "ru": "зуни", + "sl": "zunijščina", "sv": "zuni", "zh_Hans": "苏尼语", "zh_Hant": "蘇尼語", diff --git a/src/assets/schemas/layerconfigmeta.json b/src/assets/schemas/layerconfigmeta.json index 37df98df37..6ed1a5fda4 100644 --- a/src/assets/schemas/layerconfigmeta.json +++ b/src/assets/schemas/layerconfigmeta.json @@ -1744,6 +1744,9 @@ "types": "Use a different icon depending on the value of some attributes ; icon", "question": "What icon should be used?", "suggestions": [ + "nsi_brand.icon", + "nsi_operator.icon", + "id_presets.shop_rendering", { "if": "value=addSmall", "then": "addSmall", @@ -2061,7 +2064,7 @@ "type": "string" } ], - "description": "" + "description": "To reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering" }, { "path": [ @@ -10763,6 +10766,10 @@ "if": "value=caravansites", "then": "caravansites - camper sites" }, + { + "if": "value=charge_point", + "then": "charge_point - Layer showing individual charge points within a charging station" + }, { "if": "value=charging_station", "then": "charging_station - A charging station" @@ -11051,6 +11058,14 @@ "if": "value=note", "then": "note - This layer shows notes on OpenStreetMap. Having this layer in your theme will trigger the 'add new note' functionality in the 'addNewPoint'-popup (or if your theme has no presets, it'll enable adding notes)" }, + { + "if": "value=nsi_brand", + "then": "nsi_brand - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, + { + "if": "value=nsi_operator", + "then": "nsi_operator - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, { "if": "value=observation_tower", "then": "observation_tower - Towers with a panoramic view" @@ -11155,6 +11170,10 @@ "if": "value=school", "then": "school - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles" }, + { + "if": "value=scouting_group", + "then": "scouting_group - A map showing scouting groups." + }, { "if": "value=search", "then": "search - Priviliged layer showing the search results" @@ -19976,6 +19995,16 @@ "type": "string", "description": "An id/name for this filter, used to set the URL parameters" }, + { + "path": [ + "filter", + "strict" + ], + "required": false, + "hints": {}, + "type": "boolean", + "description": "If set, the options will be pruned. Only items for which the filter match the layer source will be kept.\nFor example, we import types of brands from the nsi. This contains a ton of items, e.g.\n[{question: \"Brand X\", osmTags: {\"and\": [\"shop=clothes\", \"brand=Brand X]}, {osmTags: {\"and\": \"shop=convenience\", ...} ...} ]\nOf course, when making a layer about `shop=clothes`, we'll only want to keep the clothes shops.\nIf set to strict and the source is `shop=clothes`, only those options which have shop=clothes will be returned" + }, { "path": [ "filter", @@ -20817,5 +20846,16 @@ } ], "description": "In the move wizard, the option `snap object onto {snapName}` is shown" + }, + { + "path": [ + "#dont-translate" + ], + "required": false, + "hints": { + "group": "hidden" + }, + "type": "string", + "description": "" } ] \ No newline at end of file diff --git a/src/assets/schemas/layoutconfigmeta.json b/src/assets/schemas/layoutconfigmeta.json index 3e51dae3ac..c81bc0692d 100644 --- a/src/assets/schemas/layoutconfigmeta.json +++ b/src/assets/schemas/layoutconfigmeta.json @@ -711,6 +711,10 @@ "if": "value=caravansites", "then": "caravansites (builtin) - camper sites" }, + { + "if": "value=charge_point", + "then": "charge_point (builtin) - Layer showing individual charge points within a charging station" + }, { "if": "value=charging_station", "then": "charging_station (builtin) - A charging station" @@ -999,6 +1003,14 @@ "if": "value=note", "then": "note (builtin) - This layer shows notes on OpenStreetMap. Having this layer in your theme will trigger the 'add new note' functionality in the 'addNewPoint'-popup (or if your theme has no presets, it'll enable adding notes)" }, + { + "if": "value=nsi_brand", + "then": "nsi_brand (builtin) - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, + { + "if": "value=nsi_operator", + "then": "nsi_operator (builtin) - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, { "if": "value=observation_tower", "then": "observation_tower (builtin) - Towers with a panoramic view" @@ -1103,6 +1115,10 @@ "if": "value=school", "then": "school (builtin) - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles" }, + { + "if": "value=scouting_group", + "then": "scouting_group (builtin) - A map showing scouting groups." + }, { "if": "value=search", "then": "search (builtin) - Priviliged layer showing the search results" @@ -13427,6 +13443,10 @@ "if": "value=caravansites", "then": "caravansites - camper sites" }, + { + "if": "value=charge_point", + "then": "charge_point - Layer showing individual charge points within a charging station" + }, { "if": "value=charging_station", "then": "charging_station - A charging station" @@ -13715,6 +13735,14 @@ "if": "value=note", "then": "note - This layer shows notes on OpenStreetMap. Having this layer in your theme will trigger the 'add new note' functionality in the 'addNewPoint'-popup (or if your theme has no presets, it'll enable adding notes)" }, + { + "if": "value=nsi_brand", + "then": "nsi_brand - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, + { + "if": "value=nsi_operator", + "then": "nsi_operator - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, { "if": "value=observation_tower", "then": "observation_tower - Towers with a panoramic view" @@ -13819,6 +13847,10 @@ "if": "value=school", "then": "school - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles" }, + { + "if": "value=scouting_group", + "then": "scouting_group - A map showing scouting groups." + }, { "if": "value=search", "then": "search - Priviliged layer showing the search results" @@ -35179,6 +35211,10 @@ "if": "value=caravansites", "then": "caravansites - camper sites" }, + { + "if": "value=charge_point", + "then": "charge_point - Layer showing individual charge points within a charging station" + }, { "if": "value=charging_station", "then": "charging_station - A charging station" @@ -35467,6 +35503,14 @@ "if": "value=note", "then": "note - This layer shows notes on OpenStreetMap. Having this layer in your theme will trigger the 'add new note' functionality in the 'addNewPoint'-popup (or if your theme has no presets, it'll enable adding notes)" }, + { + "if": "value=nsi_brand", + "then": "nsi_brand - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, + { + "if": "value=nsi_operator", + "then": "nsi_operator - Exposes part of the NSI to reuse in other themes, e.g. for rendering" + }, { "if": "value=observation_tower", "then": "observation_tower - Towers with a panoramic view" @@ -35571,6 +35615,10 @@ "if": "value=school", "then": "school - Schools giving primary and secondary education and post-secondary, non-tertiary education. Note that this level of education does not imply an age of the pupiles" }, + { + "if": "value=scouting_group", + "then": "scouting_group - A map showing scouting groups." + }, { "if": "value=search", "then": "search - Priviliged layer showing the search results" diff --git a/src/assets/translators.json b/src/assets/translators.json index 7a43331d49..c669318107 100644 --- a/src/assets/translators.json +++ b/src/assets/translators.json @@ -17,7 +17,7 @@ "contributor": "Anonymous" }, { - "commits": 110, + "commits": 112, "contributor": "mcliquid" }, { @@ -29,7 +29,7 @@ "contributor": "Robin van der Linde" }, { - "commits": 78, + "commits": 80, "contributor": "mike140" }, { @@ -50,11 +50,11 @@ }, { "commits": 51, - "contributor": "gallegonovato" + "contributor": "Supaplex" }, { - "commits": 50, - "contributor": "Supaplex" + "commits": 51, + "contributor": "gallegonovato" }, { "commits": 45, @@ -588,6 +588,10 @@ "commits": 2, "contributor": "Leo Alcaraz" }, + { + "commits": 1, + "contributor": "Túllio Morais Franca" + }, { "commits": 1, "contributor": "Moimoi Ty" diff --git a/test/Models/ThemeConfig/Conversion/PrepareTheme.spec.ts b/test/Models/ThemeConfig/Conversion/PrepareTheme.spec.ts index 084ca36e6d..bad4a4cc8b 100644 --- a/test/Models/ThemeConfig/Conversion/PrepareTheme.spec.ts +++ b/test/Models/ThemeConfig/Conversion/PrepareTheme.spec.ts @@ -68,7 +68,7 @@ describe("PrepareTheme", () => { tagRenderings: new Map(), sharedLayers, publicLayers: new Set(), - tagRenderingOrder: [] + tagRenderingOrder: [], }) let themeConfigJsonPrepared = prepareStep.convertStrict(theme, ConversionContext.test()) const themeConfig = new ThemeConfig(themeConfigJsonPrepared) @@ -151,7 +151,7 @@ describe("PrepareTheme", () => { sharedLayers, tagRenderings: new Map(), publicLayers: new Set(), - tagRenderingOrder: [] + tagRenderingOrder: [], } const layout: ThemeConfigJson = { description: "A testing theme", From 027337413ff86cf3f4ef0d095f111d07903f56c5 Mon Sep 17 00:00:00 2001 From: Weblate Date: Sat, 18 Jan 2025 00:32:07 +0100 Subject: [PATCH 11/42] Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: MapComplete/themes Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/themes/ --- langs/themes/nl.json | 114 +------------------------------------------ 1 file changed, 2 insertions(+), 112 deletions(-) diff --git a/langs/themes/nl.json b/langs/themes/nl.json index 3f55d0345c..47a5f89688 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -653,37 +653,8 @@ "building type": { "question": "Wat voor soort gebouw is dit?" }, - "grb-fixme": { - "mappings": { - "0": { - "then": "Geen fixme" - } - }, - "question": "Wat zegt de fixme?", - "render": "De fixme is {fixme}" - }, - "grb-housenumber": { - "mappings": { - "0": { - "then": "Geen huisnummer" - } - }, - "question": "Wat is het huisnummer?", - "render": "Het huisnummer is {addr:housenumber}" - }, - "grb-min-level": { - "question": "Hoeveel verdiepingen ontbreken?", - "render": "Dit gebouw begint maar op de {building:min_level} verdieping" - }, "grb-reference": { "render": "Werd geïmporteerd vanuit GRB, het referentienummer is {source:geometry:ref}" - }, - "grb-street": { - "question": "Wat is de straat?", - "render": "De straat is {addr:street}" - }, - "grb-unit": { - "render": "De wooneenheid-aanduiding is {addr:unit} " } } }, @@ -700,35 +671,8 @@ } } } - }, - "5": { - "override": { - "tagRenderings+": { - "0": { - "mappings": { - "0": { - "then": "Geen omliggend OSM-gebouw gevonden" - } - } - }, - "3": { - "mappings": { - "0": { - "then": "Geen omliggend OSM-gebouw gevonden. Een omliggend gebouw is nodig om dit punt als adres punt toe te voegen.
Importeer eerst de gebouwen. Vernieuw dan de pagina om losse adressen toe te voegen
" - } - }, - "render": { - "special": { - "text": "Voeg dit adres als een nieuw adrespunt toe" - } - } - } - } - } } - }, - "shortDescription": "Grb import helper tool", - "title": "GRB import helper" + } }, "guideposts": { "description": "Wegwijzers (ook wel handwijzer genoemd) zijn vaak te vinden langs officiële wandel-, fiets-, ski- of paardrijroutes om de richtingen naar verschillende bestemmingen aan te geven. Vaak zijn ze vernoemd naar een regio of plaats en geven ze de hoogte aan.\n\nDe positie van een wegwijzer kan door een wandelaar/fietser/renner/skiër worden gebruikt als bevestiging van de huidige positie, vooral als ze een gedrukte kaart zonder GPS-ontvanger gebruiken. ", @@ -1164,11 +1108,6 @@ }, "title": "Dierenartsen, hondenloopzones en andere huisdiervriendelijke plaatsen" }, - "play_forests": { - "description": "Een speelbos is een zone in een bos die vrij toegankelijk is voor spelende kinderen. Deze wordt in bossen van het Agentschap Natuur en bos altijd aangeduid met het overeenkomstige bord.", - "shortDescription": "Deze kaart toont speelbossen", - "title": "Speelbossen" - }, "playgrounds": { "description": "Op deze kaart vind je speeltuinen en kan je zelf meer informatie en foto's toevoegen", "shortDescription": "Een kaart met speeltuinen", @@ -1242,47 +1181,6 @@ "description": "Alles om te skiën", "title": "Skipistes en kabelbanen" }, - "speelplekken": { - "description": "

Welkom bij de Groendoener!

De Zuidrand dat is spelen, ravotten, chillen, wandelen,… in het groen. Meer dan 200 grote en kleine speelplekken liggen er in parken, in bossen en op pleintjes te wachten om ontdekt te worden. De verschillende speelplekken werden getest én goedgekeurd door kinder- en jongerenreporters uit de Zuidrand. Met leuke challenges dagen de reporters jou uit om ook op ontdekking te gaan. Klik op een speelplek op de kaart, bekijk het filmpje en ga op verkenning!

Het project groendoener kadert binnen het strategisch project
Beleefbare Open Ruimte in de Antwerpse Zuidrand en is een samenwerking tussen het departement Leefmilieu van provincie Antwerpen, Sportpret vzw, een OpenStreetMap-België Consultent en Createlli vzw. Het project kwam tot stand met steun van Departement Omgeving van de Vlaamse Overheid.
", - "layers": { - "6": { - "name": "Wandelroutes van provincie Antwerpen", - "tagRenderings": { - "walk-description": { - "render": "

Korte beschrijving:

{description}" - }, - "walk-length": { - "render": "Deze wandeling is {_length:km}km lang" - }, - "walk-operator": { - "question": "Wie beheert deze wandeling en plaatst dus de signalisatiebordjes?" - }, - "walk-operator-email": { - "question": "Naar wie kan men emailen bij problemen rond signalisatie?", - "render": "Bij problemen met signalisatie kan men emailen naar {operator:email}" - }, - "walk-type": { - "mappings": { - "0": { - "then": "Dit is een internationale wandelroute" - }, - "1": { - "then": "Dit is een nationale wandelroute" - }, - "2": { - "then": "Dit is een regionale wandelroute" - }, - "3": { - "then": "Dit is een lokale wandelroute" - } - } - } - } - } - }, - "shortDescription": "Speelplekken in de Antwerpse Zuidrand", - "title": "Welkom bij de groendoener!" - }, "sport_pitches": { "description": "Een sportveld is een ingerichte plaats met infrastructuur om een sport te beoefenen", "shortDescription": "Deze kaart toont sportvelden", @@ -1403,10 +1301,6 @@ }, "title": "Straatverlichting" }, - "street_lighting_assen": { - "description": "Op deze kaart vind je alles over straatlantaarns + een dataset van Assen", - "title": "Straatverlichting - Assen" - }, "surveillance": { "description": "Op deze open kaart kan je bewakingscamera's vinden.", "shortDescription": "Bewakingscameras en dergelijke", @@ -1520,13 +1414,9 @@ "description": "Kaart met afvalbakken en recyclingfaciliteiten.", "title": "Afval" }, - "waste_assen": { - "description": "Kaart met afvalbakken en recyclingfaciliteiten + een dataset voor Assen.", - "title": "Afval - Assen" - }, "waste_basket": { "description": "Op deze kaart vind je afvalbakken bij jou in de buurt. Als er een afvalbak ontbreekt op deze kaart, kun je deze zelf toevoegen", "shortDescription": "Een kaart met vuilnisbakken", "title": "Vuilnisbakken" } -} \ No newline at end of file +} From 556dfcf978581f12d938a5a7a77de70ac37f26b3 Mon Sep 17 00:00:00 2001 From: Weblate Date: Sat, 18 Jan 2025 00:32:12 +0100 Subject: [PATCH 12/42] Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/ --- langs/layers/nl.json | 42 ++---------------------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 8a770fc049..c9d719b05f 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -2049,9 +2049,6 @@ }, "title": { "mappings": { - "0": { - "then": "{name}" - }, "1": { "then": "Vogelkijkhut {name}" }, @@ -6376,11 +6373,6 @@ } }, "title": { - "mappings": { - "0": { - "then": "{name}" - } - }, "render": "Natuurgebied" } }, @@ -6912,21 +6904,6 @@ "render": "Picknicktafel" } }, - "play_forest": { - "description": "Een speelbos is een vrij toegankelijke zone in een bos", - "name": "Speelbossen", - "title": { - "mappings": { - "0": { - "then": "{name}" - }, - "1": { - "then": "Speelbos {name}" - } - }, - "render": "Speelbos" - } - }, "playground": { "deletion": { "nonDeleteMappings": { @@ -8493,9 +8470,6 @@ }, "title": { "mappings": { - "0": { - "then": "{name}" - }, "1": { "then": "Voetpad" }, @@ -10655,25 +10629,13 @@ } }, "village_green": { - "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)", - "name": "Speelweide", - "title": { - "mappings": { - "0": { - "then": "{name}" - } - }, - "render": "Speelweide" - } + "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)" }, "visitor_information_centre": { "description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.", "name": "Bezoekerscentrum", "title": { "mappings": { - "0": { - "then": "{name:nl}" - }, "1": { "then": "{name}" } @@ -10903,4 +10865,4 @@ "render": "windturbine" } } -} \ No newline at end of file +} From c7e818ba90e8865a0be9a1d397a348aca91eb26b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 02:20:26 +0100 Subject: [PATCH 13/42] Translations: make some terms translatable --- assets/layers/usersettings/usersettings.json | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index 660cda4e2c..a419419a89 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -576,20 +576,28 @@ "mappings": [ { "if": "mapcomplete-show_crosshair=yes", - "then": "Show a crosshair in the center of the map when zoomed in above level 17" + "then": { + "en": "Show a crosshair in the center of the map when zoomed in above level 17" + } }, { "if": "mapcomplete-show_crosshair=no", - "then": "Do not show a crosshair in the center of the map" + "then": { + "en": "Do not show a crosshair in the center of the map" + } }, { "if": "mapcomplete-show_crosshair=", - "then": "Do not show a crosshair in the center of the map", + "then": { + "en": "Do not show a crosshair in the center of the map" + }, "hideInAnswer": true }, { "if": "mapcomplete-show_crosshair=always", - "then": "Always show a crosshair in the center of the map" + "then": { + "en": "Always show a crosshair in the center of the map" + } } ] }, @@ -1147,7 +1155,9 @@ "label": [ "translations" ], - "render": "

Translating MapComplete

" + "render": { + "en": "

Translating MapComplete

" + } }, { "label": [ From 244c976af628e4c9fe2c3d98d09e4c40911284d1 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 02:20:45 +0100 Subject: [PATCH 14/42] Themes(shops): add dog-access question --- assets/layers/shops/shops.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/assets/layers/shops/shops.json b/assets/layers/shops/shops.json index 52823433e2..dd990d24ed 100644 --- a/assets/layers/shops/shops.json +++ b/assets/layers/shops/shops.json @@ -1294,6 +1294,7 @@ } } }, + "dog-access", "description" ], "filter": [ @@ -1319,7 +1320,8 @@ } ] }, - "filters.has_organic" + "filters.has_organic", + "dogs" ], "deletion": { "softDeletionTags": { From add464f58f8918f354d7683ea91ca2cbcdf01d3b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 02:30:24 +0100 Subject: [PATCH 15/42] Chore: typing, formatting --- .../Conversion/ExpandTagRendering.ts | 75 ++++++++++--------- 1 file changed, 40 insertions(+), 35 deletions(-) diff --git a/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts b/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts index e77abf7114..4e7c6f249d 100644 --- a/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts +++ b/src/Models/ThemeConfig/Conversion/ExpandTagRendering.ts @@ -59,10 +59,11 @@ export class ExpandTagRendering extends Conversion< } public convert( - spec: string | any, + spec: string | { "builtin": string | string[] } | (TagRenderingConfigJson), ctx: ConversionContext ): QuestionableTagRenderingConfigJson[] { - const trs = this.convertOnce(spec, ctx)?.map((tr) => + + const trs = this.convertOnce(spec, ctx)?.map((tr) => this.pruneMappings(tr, ctx) ) if (!Array.isArray(trs)) { @@ -123,7 +124,7 @@ export class ExpandTagRendering extends Conversion< } return { ...mapping, - if: newIf.asJson(), + if: newIf.asJson() } }) const after = newMappings?.length ?? 0 @@ -136,7 +137,7 @@ export class ExpandTagRendering extends Conversion< } const tr = { ...tagRendering, - mappings: newMappings, + mappings: newMappings } delete tr["strict"] return tr @@ -155,17 +156,17 @@ export class ExpandTagRendering extends Conversion< for (const tagRenderingConfigJson of direct) { const nm: string | string[] | undefined = tagRenderingConfigJson["builtin"] if (nm !== undefined) { - let indirect: TagRenderingConfigJson[] + let indirect: (TagRenderingConfigJson & { id: string })[] if (typeof nm === "string") { indirect = this.lookup(nm, ctx) } else { indirect = [].concat(...nm.map((n) => this.lookup(n, ctx))) } for (let foundTr of indirect) { - foundTr = Utils.Clone(foundTr) + foundTr = Utils.Clone(foundTr) ctx.MergeObjectsForOverride(tagRenderingConfigJson["override"] ?? {}, foundTr) foundTr["id"] = tagRenderingConfigJson["id"] ?? foundTr["id"] - result.push(foundTr) + result.push(foundTr) } } else { result.push(tagRenderingConfigJson) @@ -248,11 +249,15 @@ export class ExpandTagRendering extends Conversion< } private convertOnce( - tr: string | any, + tr: string | { "builtin": string } | TagRenderingConfigJson, ctx: ConversionContext - ): (TagRenderingConfigJson & { id: string })[] { + ): TagRenderingConfigJson[] { const state = this._state + if (tr === undefined) { + return [] + } + if (typeof tr === "string") { if (this._state.tagRenderings !== null) { const lookup = this.lookup(tr, ctx) @@ -268,25 +273,25 @@ export class ExpandTagRendering extends Conversion< ctx.warn( `A literal rendering was detected: ${tr} Did you perhaps forgot to add a layer name as 'layername.${tr}'? ` + - Array.from(state.sharedLayers.keys()).join(", ") + Array.from(state.sharedLayers.keys()).join(", ") ) } if (this._options?.noHardcodedStrings && this._state?.sharedLayers?.size > 0) { ctx.err( "Detected an invocation to a builtin tagRendering, but this tagrendering was not found: " + - tr + - " \n Did you perhaps forget to add the layer as prefix, such as `icons." + - tr + - "`? " + tr + + " \n Did you perhaps forget to add the layer as prefix, such as `icons." + + tr + + "`? " ) } return [ - { + { render: tr, - id: tr.replace(/[^a-zA-Z0-9]/g, ""), - }, + id: tr.replace(/[^a-zA-Z0-9]/g, "") + } ] } @@ -311,9 +316,9 @@ export class ExpandTagRendering extends Conversion< } ctx.err( "An object calling a builtin can only have keys `builtin` or `override`, but a key with name `" + - key + - "` was found. This won't be picked up! The full object is: " + - JSON.stringify(tr) + key + + "` was found. This won't be picked up! The full object is: " + + JSON.stringify(tr) ) } @@ -340,19 +345,19 @@ export class ExpandTagRendering extends Conversion< if (state.sharedLayers.size === 0) { ctx.warn( "BOOTSTRAPPING. Rerun generate layeroverview. While reusing tagrendering: " + - name + - ": layer " + - layerName + - " not found for now, but ignoring as this is a bootstrapping run. " + name + + ": layer " + + layerName + + " not found for now, but ignoring as this is a bootstrapping run. " ) } else { ctx.err( ": While reusing tagrendering: " + - name + - ": layer " + - layerName + - " not found. Maybe you meant one of " + - candidates.slice(0, 3).join(", ") + name + + ": layer " + + layerName + + " not found. Maybe you meant one of " + + candidates.slice(0, 3).join(", ") ) } continue @@ -364,15 +369,15 @@ export class ExpandTagRendering extends Conversion< candidates = Utils.sortedByLevenshteinDistance(name, candidates, (i) => i) ctx.err( "The tagRendering with identifier " + - name + - " was not found.\n\tDid you mean one of " + - candidates.join(", ") + - "?\n(Hint: did you add a new label and are you trying to use this label at the same time? Run 'reset:layeroverview' first" + name + + " was not found.\n\tDid you mean one of " + + candidates.join(", ") + + "?\n(Hint: did you add a new label and are you trying to use this label at the same time? Run 'reset:layeroverview' first" ) continue } for (let foundTr of lookup) { - foundTr = Utils.Clone(foundTr) + foundTr = Utils.Clone(foundTr) ctx.MergeObjectsForOverride(tr["override"] ?? {}, foundTr) if (names.length == 1) { foundTr["id"] = tr["id"] ?? foundTr["id"] @@ -383,6 +388,6 @@ export class ExpandTagRendering extends Conversion< return trs } - return [tr] + return [tr] } } From 2b0b62fcfa85d6f0e3c1d995ada6e3664e2f599b Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 02:31:15 +0100 Subject: [PATCH 16/42] Themeconfig: improve icon badge expansion --- .../ThemeConfig/Conversion/PrepareLayer.ts | 119 +++++++++++------- .../Json/PointRenderingConfigJson.ts | 6 +- 2 files changed, 77 insertions(+), 48 deletions(-) diff --git a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts index bf3028d65c..45b7d8ebe0 100644 --- a/src/Models/ThemeConfig/Conversion/PrepareLayer.ts +++ b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts @@ -1,18 +1,6 @@ -import { - Concat, - DesugaringContext, - DesugaringStep, - Each, - FirstOf, - Fuse, - On, - SetDefault, -} from "./Conversion" +import { Concat, DesugaringContext, DesugaringStep, Each, FirstOf, Fuse, On, SetDefault } from "./Conversion" import { LayerConfigJson } from "../Json/LayerConfigJson" -import { - MinimalTagRenderingConfigJson, - TagRenderingConfigJson, -} from "../Json/TagRenderingConfigJson" +import { MinimalTagRenderingConfigJson, TagRenderingConfigJson } from "../Json/TagRenderingConfigJson" import { Utils } from "../../../Utils" import RewritableConfigJson from "../Json/RewritableConfigJson" import SpecialVisualizations from "../../../UI/SpecialVisualizations" @@ -36,7 +24,7 @@ import { ExpandTagRendering } from "./ExpandTagRendering" class AddFiltersFromTagRenderings extends DesugaringStep { constructor() { super( - 'Inspects all the tagRenderings. If some tagRenderings have the `filter` attribute set, introduce those filters. This step might introduce shorthand filter names, thus \'ExpandFilter\' should be run afterwards. Can be disabled with "#filter":"no-auto"', + "Inspects all the tagRenderings. If some tagRenderings have the `filter` attribute set, introduce those filters. This step might introduce shorthand filter names, thus 'ExpandFilter' should be run afterwards. Can be disabled with \"#filter\":\"no-auto\"", ["filter"], "AddFiltersFromTagRenderings" ) @@ -139,7 +127,7 @@ class DetectInline extends DesugaringStep { if (json.freeform.inline === true) { context.err( "'inline' is set, but the rendering contains a special visualisation...\n " + - spec[key] + spec[key] ) } json = JSON.parse(JSON.stringify(json)) @@ -238,20 +226,20 @@ export class AddQuestionBox extends DesugaringStep { if (blacklisted?.length > 0 && used?.length > 0) { context.err( "The {questions()}-special rendering only supports either a blacklist OR a whitelist, but not both." + - "\n Whitelisted: " + - used.join(", ") + - "\n Blacklisted: " + - blacklisted.join(", ") + "\n Whitelisted: " + + used.join(", ") + + "\n Blacklisted: " + + blacklisted.join(", ") ) } for (const usedLabel of used) { if (!allLabels.has(usedLabel)) { context.err( "This layers specifies a special question element for label `" + - usedLabel + - "`, but this label doesn't exist.\n" + - " Available labels are " + - Array.from(allLabels).join(", ") + usedLabel + + "`, but this label doesn't exist.\n" + + " Available labels are " + + Array.from(allLabels).join(", ") ) } seen.add(usedLabel) @@ -265,8 +253,8 @@ export class AddQuestionBox extends DesugaringStep { const question: QuestionableTagRenderingConfigJson = { id: "leftover-questions", render: { - "*": `{questions( ,${Array.from(seen).join(";")})}`, - }, + "*": `{questions( ,${Array.from(seen).join(";")})}` + } } json.tagRenderings.push(question) } @@ -348,13 +336,13 @@ export class AddEditingElements extends DesugaringStep { if (json.allowMove && !usedSpecialFunctions.has("move_button")) { json.tagRenderings.push({ id: "move-button", - render: { "*": "{move_button()}" }, + render: { "*": "{move_button()}" } }) } if (json.deletion && !usedSpecialFunctions.has("delete_button")) { json.tagRenderings.push({ id: "delete-button", - render: { "*": "{delete_button()}" }, + render: { "*": "{delete_button()}" } }) } @@ -369,9 +357,9 @@ export class AddEditingElements extends DesugaringStep { or: [ "__featureSwitchIsDebugging=true", "mapcomplete-show_tags=full", - "mapcomplete-show_debug=yes", - ], - }, + "mapcomplete-show_debug=yes" + ] + } } json.tagRenderings?.push(trc) } @@ -479,10 +467,10 @@ export class RewriteSpecial extends DesugaringStep { private static convertIfNeeded( input: | (object & { - special: { - type: string - } - }) + special: { + type: string + } + }) | any, context: ConversionContext ): any { @@ -580,7 +568,7 @@ export class RewriteSpecial extends DesugaringStep { .map((nm) => RewriteSpecial.escapeStr(special[nm] ?? "", context)) .join(",") return { - "*": `{${type}(${args})${clss}}`, + "*": `{${type}(${args})${clss}}` } } @@ -678,11 +666,50 @@ class ExpandIconBadges extends DesugaringStep { }[] = [] for (let i = 0; i < badgesJson.length; i++) { - const iconBadge: { + const iconBadge: string | ({ if: TagConfigJson then: string | MinimalTagRenderingConfigJson - } = badgesJson[i] - const expanded = this._expand.convert( + }) = badgesJson[i] + + + if (typeof iconBadge === "string") { + + const expanded: QuestionableTagRenderingConfigJson[] = this._expand.convert( + iconBadge, + context.enters("iconBadges", i) + ) + + for (const tr of expanded) { + const condition = tr.condition + for (const trElement of tr.mappings) { + const showIf = TagUtils.optimzeJson({ + and: Utils.NoNull([condition, + { + or: Utils.NoNull([ + trElement.alsoShowIf, trElement.if + ]) + } + ]) + }) + if (showIf === true) { + context.warn("Dropping iconBadge that would be _always_ shown: " + (trElement.icon ?? trElement.then)) + continue + } + if (showIf === false) { + continue + } + iconBadges.push({ + if: showIf, + then: trElement.icon ?? trElement.then + }) + } + + + } + continue + } + + const expanded: QuestionableTagRenderingConfigJson[] = this._expand.convert( iconBadge.then, context.enters("iconBadges", i) ) @@ -694,7 +721,7 @@ class ExpandIconBadges extends DesugaringStep { iconBadges.push( ...expanded.map((resolved) => ({ if: iconBadge.if, - then: resolved, + then: resolved })) ) } @@ -707,7 +734,7 @@ class PreparePointRendering extends Fuse { constructor(state: DesugaringContext, layer: LayerConfigJson) { super( "Prepares point renderings by expanding 'icon' and 'iconBadges'." + - " A tagRendering from the host tagRenderings will be substituted in", + " A tagRendering from the host tagRenderings will be substituted in", new On( "marker", new Each( @@ -834,7 +861,7 @@ export class AddRatingBadge extends DesugaringStep { const specialVis: Exclude[] = < Exclude[] - >ValidationUtils.getAllSpecialVisualisations(json.tagRenderings).filter( + >ValidationUtils.getAllSpecialVisualisations(json.tagRenderings).filter( (rs) => typeof rs !== "string" ) const funcs = new Set(specialVis.map((rs) => rs.func.funcName)) @@ -870,7 +897,7 @@ export class AutoTitleIcon extends DesugaringStep { } return { id: "title_icon_auto_" + tr.id, - mappings, + mappings } } @@ -915,8 +942,8 @@ export class AutoTitleIcon extends DesugaringStep { .enters("titleIcons", i) .warn( "TagRendering with id " + - trId + - " does not have any icons, not generating an icon for this" + trId + + " does not have any icons, not generating an icon for this" ) continue } @@ -979,7 +1006,7 @@ export class PrepareLayer extends Fuse { (layer) => new Concat( new ExpandTagRendering(state, layer, { - addToContext: options?.addTagRenderingsToContext ?? false, + addToContext: options?.addTagRenderingsToContext ?? false }) ) ), diff --git a/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts index 947a4d1c27..723aac46e5 100644 --- a/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts +++ b/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts @@ -70,16 +70,18 @@ export default interface PointRenderingConfigJson { * They will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout. * * Note: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle + * Alternatively, this can reuse a _tagRendering_ from another layer, e.g. one of the 'icons'-tagrenderings. + * See ExpandIconBadges on how this is handled * group: hidden */ - iconBadges?: { + iconBadges?: (string | { if: TagConfigJson /** * Badge to show * Type: icon */ then: string | MinimalTagRenderingConfigJson - }[] + })[] /** * question: What size should the marker be on the map? From cdc170b128ae293d66f779192b6fda7867689a4e Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 02:31:34 +0100 Subject: [PATCH 17/42] Themes(pets): bring pets theme more in line (visually and logically) with the other themes --- assets/themes/pets/pets.json | 165 +++++++---------------------------- 1 file changed, 32 insertions(+), 133 deletions(-) diff --git a/assets/themes/pets/pets.json b/assets/themes/pets/pets.json index e4d1304c9b..0b024ebf90 100644 --- a/assets/themes/pets/pets.json +++ b/assets/themes/pets/pets.json @@ -40,10 +40,12 @@ ], "layers": [ "dogpark", + "veterinary", + "animal_shelter", { "builtin": "food", "override": { - "id": "dogfoodb", + "id": "food_dog_friendly", "name": { "en": "Dog friendly eateries", "da": "Hundevenlige madsteder", @@ -62,28 +64,15 @@ }, "pointRendering": [ { - "location": [ - "point", - "centroid" - ], - "marker": [ - { - "icon": "./assets/themes/pets/dog-food.svg" - } - ], - "iconSize": "30,30" + "iconBadges+": [ + "icons.dogicon" + ] } ], "=presets": [], "source": { - "=osmTags": { - "and": [ - { - "or": [ - "amenity=restaurant", - "amenity=cafe" - ] - }, + "osmTags": { + "and+": [ { "or": [ "dog=unleashed", @@ -97,10 +86,20 @@ } }, { - "builtin": "shops", - "id": "dogshop", + "builtin": "food", "override": { - "id": "dogshop", + "minzoom": 18, + "isCounted": false, + "filter": { + "sameAs": "food_dog_friendly" + }, + "name": null + } + }, + { + "builtin": "shops", + "override": { + "id": "shop_dog_friendly", "name": { "en": "Dog-friendly shops", "da": "hundevenlig butik", @@ -117,77 +116,21 @@ "it": "Negozi che accettano i cani", "ko": "반려견 친화적 상점" }, - "title": { - "render": { - "en": "Dog-friendly shops", - "da": "hundevenlig butik", - "de": "Hundefreundliche Geschäfte", - "nb_NO": "Hundevennlige butikker", - "nl": "Hondvriendelijke winkels", - "fr": "Magasins acceptant les chiens", - "ca": "Botigues amigues dels gossos", - "pa_PK": "کُتیاں دی اِجازت دیاں دکاناں", - "es": "Tiendas que admiten perros", - "cs": "Obchody vhodné pro vstup se psy", - "zh_Hant": "寵物友善商家", - "pl": "Sklepy przyjazne psom", - "it": "Negozi che accettano i cani", - "hu": "Kutyabarát üzletek", - "ko": "반려견 친화적 상점" - }, - "mappings": [ - { - "if": "name~*", - "then": { - "*": "{name}" - } - } - ] - }, "pointRendering": [ { - "location": [ - "point", - "centroid" - ], - "marker": [ - {}, - { - "icon": { - "render": "./assets/themes/pets/dogshop.svg", - "+mappings": [ - { - "if": { - "and": [ - "shop=pet" - ] - }, - "then": "./assets/themes/pets/petshop.svg" - } - ] - } - } - ], - "iconSize": "30,30" - } - ], - "=lineRendering": [ - { - "#": "Rendering of a line", - "color": "#ff0", - "width": 5 + "iconBadges+": [ + "icons.dogicon" + ] } ], "=presets": [], "source": { - "=osmTags": { - "and": [ - "shop~*", + "osmTags": { + "and+": [ { "or": [ "dog=leashed", - "dog=yes", - "shop=pet" + "dog=yes" ] } ] @@ -195,12 +138,13 @@ } } }, - "veterinary", { - "builtin": "food", + "builtin": "shops", "override": { "minzoom": 18, - "filter": null, + "filter": { + "sameAs": "shop_dog_friendly" + }, "name": null } }, @@ -211,51 +155,6 @@ "filter": null, "name": null } - }, - { - "builtin": "shops", - "override": { - "minzoom": 18, - "filter": null, - "presets": [ - { - "title": { - "en": "dog-friendly shop", - "da": "EN hundevenlig butik", - "de": "hundefreundliches Geschäft", - "nb_NO": "hundevennlig butikk", - "nl": "Hondvriendelijke winkels", - "fr": "magasin acceptant les chiens", - "ca": "botiga amiga dels gossos", - "pa_PK": "کُتیاں دی اِجازت دی دکان", - "es": "tienda que admite perros", - "cs": "obchod vhodný pro vstup se psem", - "zh_Hant": "寵物友善商家", - "pl": "sklep przyjazny psom", - "ko": "반려견 친화적 상점" - }, - "tags": [ - "dog=yes", - "shop=yes" - ], - "description": { - "en": "A shop where you can bring a dog almost everywhere", - "da": "En butik hvor man kan tage en hund med næsten overalt", - "de": "Ein Geschäft, in das man Hunde fast überall mitnehmen kann", - "nl": "Een winkel waar je je hond in bijna overal mag meenemen", - "fr": "Un magasin où vous pouvez amener votre chien presque partout", - "ca": "Una botiga on pots dur al gos gairebé a tot arreu", - "es": "Una tienda donde puedes llevar a un perro casi a todas partes", - "cs": "Obchod, ve kterém si můžete vzít psa téměř kamkoli", - "zh_Hant": "你幾乎可以攜帶寵物到處去的商店", - "pl": "Sklep, w którym niemal wszędzie można zabrać psa", - "ko": "반려견과 함께할 수 있는 상점" - } - } - ], - "name": null - } - }, - "animal_shelter" + } ] } From b153b23774fb9d107943202b81b117c6c76e6e2a Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 02:31:47 +0100 Subject: [PATCH 18/42] chore(release): 0.48.1 --- CHANGELOG.md | 8 ++++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2542af64c..aa1cb7cfd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.48.1](https://github.com/pietervdvn/mapcomplete/compare/v0.48.0...v0.48.1) (2025-01-18) + + +### Theme improvements + +* **pets:** bring pets theme more in line (visually and logically) with the other themes ([9dd252d](https://github.com/pietervdvn/mapcomplete/commits/9dd252dc862b1f6fd7638076fb238f4849d93b5c)) +* **shops:** add dog-access question ([da25464](https://github.com/pietervdvn/mapcomplete/commits/da2546465f939f28db3b602fc3f88e05041176e2)) + ## [0.48.0](https://github.com/pietervdvn/mapcomplete/compare/v0.47.14...v0.48.0) (2025-01-17) diff --git a/package-lock.json b/package-lock.json index 227c26f670..fc1765e292 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapcomplete", - "version": "0.48.0", + "version": "0.48.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapcomplete", - "version": "0.48.0", + "version": "0.48.1", "license": "GPL-3.0-or-later", "dependencies": { "@comunica/core": "^3.0.1", diff --git a/package.json b/package.json index 965a599c63..81f6a637f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapcomplete", - "version": "0.48.0", + "version": "0.48.1", "repository": "https://github.com/pietervdvn/MapComplete", "description": "A small website to edit OSM easily", "bugs": "https://github.com/pietervdvn/MapComplete/issues", From 40183bf58a772864b7ee7dc523817b740fb1220f Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sat, 18 Jan 2025 02:45:42 +0100 Subject: [PATCH 19/42] Chore: translation reset --- langs/layers/en.json | 17 +++++ langs/layers/nl.json | 42 +++++++++++- langs/themes/ca.json | 19 +----- langs/themes/cs.json | 19 +----- langs/themes/da.json | 19 +----- langs/themes/de.json | 19 +----- langs/themes/en.json | 19 +----- langs/themes/es.json | 19 +----- langs/themes/fr.json | 19 +----- langs/themes/hu.json | 9 --- langs/themes/it.json | 9 +-- langs/themes/ko.json | 19 +----- langs/themes/nb_NO.json | 18 +----- langs/themes/nl.json | 133 ++++++++++++++++++++++++++++++++------ langs/themes/pa_PK.json | 16 +---- langs/themes/pl.json | 19 +----- langs/themes/ru.json | 2 +- langs/themes/zh_Hant.json | 19 +----- 18 files changed, 211 insertions(+), 225 deletions(-) diff --git a/langs/layers/en.json b/langs/layers/en.json index 2c498d77b0..e04f0e12a1 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -12702,6 +12702,20 @@ } }, "show_crosshair": { + "mappings": { + "0": { + "then": "Show a crosshair in the center of the map when zoomed in above level 17" + }, + "1": { + "then": "Do not show a crosshair in the center of the map" + }, + "2": { + "then": "Do not show a crosshair in the center of the map" + }, + "3": { + "then": "Always show a crosshair in the center of the map" + } + }, "question": "Should a crosshair be shown in the center of the display?", "questionHint": "This can help to accurately position a new element" }, @@ -12815,6 +12829,9 @@ } } }, + "translations-title": { + "render": "

Translating MapComplete

" + }, "verified-mastodon": { "mappings": { "0": { diff --git a/langs/layers/nl.json b/langs/layers/nl.json index c9d719b05f..8a770fc049 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -2049,6 +2049,9 @@ }, "title": { "mappings": { + "0": { + "then": "{name}" + }, "1": { "then": "Vogelkijkhut {name}" }, @@ -6373,6 +6376,11 @@ } }, "title": { + "mappings": { + "0": { + "then": "{name}" + } + }, "render": "Natuurgebied" } }, @@ -6904,6 +6912,21 @@ "render": "Picknicktafel" } }, + "play_forest": { + "description": "Een speelbos is een vrij toegankelijke zone in een bos", + "name": "Speelbossen", + "title": { + "mappings": { + "0": { + "then": "{name}" + }, + "1": { + "then": "Speelbos {name}" + } + }, + "render": "Speelbos" + } + }, "playground": { "deletion": { "nonDeleteMappings": { @@ -8470,6 +8493,9 @@ }, "title": { "mappings": { + "0": { + "then": "{name}" + }, "1": { "then": "Voetpad" }, @@ -10629,13 +10655,25 @@ } }, "village_green": { - "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)" + "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)", + "name": "Speelweide", + "title": { + "mappings": { + "0": { + "then": "{name}" + } + }, + "render": "Speelweide" + } }, "visitor_information_centre": { "description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.", "name": "Bezoekerscentrum", "title": { "mappings": { + "0": { + "then": "{name:nl}" + }, "1": { "then": "{name}" } @@ -10865,4 +10903,4 @@ "render": "windturbine" } } -} +} \ No newline at end of file diff --git a/langs/themes/ca.json b/langs/themes/ca.json index 5be8957e08..b5c1691245 100644 --- a/langs/themes/ca.json +++ b/langs/themes/ca.json @@ -825,27 +825,14 @@ "pets": { "description": "A aquest mapa, trobaràs diferents llocs interesants per a les teves mascotes: veterinaris, parcs per a gossos, botigues d'animals, restaurants amables amb gossos, ...", "layers": { - "1": { + "3": { "override": { "name": "Restaurants que accepten gossos" } }, - "2": { + "5": { "override": { - "name": "Botigues amigues dels gossos", - "title": { - "render": "Botigues amigues dels gossos" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "Una botiga on pots dur al gos gairebé a tot arreu", - "title": "botiga amiga dels gossos" - } - } + "name": "Botigues amigues dels gossos" } } }, diff --git a/langs/themes/cs.json b/langs/themes/cs.json index 71de0f7eaf..0ac08b3341 100644 --- a/langs/themes/cs.json +++ b/langs/themes/cs.json @@ -1087,27 +1087,14 @@ "pets": { "description": "Na této mapě najdete různá zajímavá místa pro vaše domácí mazlíčky: veterináře, psí parky, obchody pro zvířata, restaurace pro psy, ...", "layers": { - "1": { + "3": { "override": { "name": "Restaurace vhodné pro vstup se psy" } }, - "2": { + "5": { "override": { - "name": "Obchody vhodné pro vstup se psy", - "title": { - "render": "Obchody vhodné pro vstup se psy" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "Obchod, ve kterém si můžete vzít psa téměř kamkoli", - "title": "obchod vhodný pro vstup se psem" - } - } + "name": "Obchody vhodné pro vstup se psy" } } }, diff --git a/langs/themes/da.json b/langs/themes/da.json index f780a079f1..49ff37fa56 100644 --- a/langs/themes/da.json +++ b/langs/themes/da.json @@ -655,27 +655,14 @@ "pets": { "description": "Hundsteder", "layers": { - "1": { + "3": { "override": { "name": "Hundevenlige madsteder" } }, - "2": { + "5": { "override": { - "name": "hundevenlig butik", - "title": { - "render": "hundevenlig butik" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "En butik hvor man kan tage en hund med næsten overalt", - "title": "EN hundevenlig butik" - } - } + "name": "hundevenlig butik" } } }, diff --git a/langs/themes/de.json b/langs/themes/de.json index 715a02ccae..8f901b16af 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -1087,27 +1087,14 @@ "pets": { "description": "Diese Karte zeigt interessante Orte für Haustierbesitzer: Tierärzte, Hundeparks, Tiergeschäfte, hundefreundliche Restaurants, ...", "layers": { - "1": { + "3": { "override": { "name": "Hundefreundliche Restaurants" } }, - "2": { + "5": { "override": { - "name": "Hundefreundliche Geschäfte", - "title": { - "render": "Hundefreundliche Geschäfte" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "Ein Geschäft, in das man Hunde fast überall mitnehmen kann", - "title": "hundefreundliches Geschäft" - } - } + "name": "Hundefreundliche Geschäfte" } } }, diff --git a/langs/themes/en.json b/langs/themes/en.json index 2977f19146..a576d3d4c6 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -1087,27 +1087,14 @@ "pets": { "description": "On this map, you'll find various interesting places for you pets: veterinarians, dog parks, pet shops, dog-friendly restaurants, ...", "layers": { - "1": { + "3": { "override": { "name": "Dog friendly eateries" } }, - "2": { + "5": { "override": { - "name": "Dog-friendly shops", - "title": { - "render": "Dog-friendly shops" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "A shop where you can bring a dog almost everywhere", - "title": "dog-friendly shop" - } - } + "name": "Dog-friendly shops" } } }, diff --git a/langs/themes/es.json b/langs/themes/es.json index 5f6a7d6c78..32f85fd009 100644 --- a/langs/themes/es.json +++ b/langs/themes/es.json @@ -1078,27 +1078,14 @@ "pets": { "description": "En este mapa, encontrarás varios lugares interesantes para tus mascotas: veterinarios, parques para perros, tiendas de mascotas, restaurantes que admiten perros...", "layers": { - "1": { + "3": { "override": { "name": "Restaurantes que admiten perros" } }, - "2": { + "5": { "override": { - "name": "Tiendas que admiten perros", - "title": { - "render": "Tiendas que admiten perros" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "Una tienda donde puedes llevar a un perro casi a todas partes", - "title": "tienda que admite perros" - } - } + "name": "Tiendas que admiten perros" } } }, diff --git a/langs/themes/fr.json b/langs/themes/fr.json index 62482304ce..74ee3426c6 100644 --- a/langs/themes/fr.json +++ b/langs/themes/fr.json @@ -927,27 +927,14 @@ "pets": { "description": "Retrouvez sur cette carte des points d’intérêts pour votre animal : vétérinaires, parcs à chien, animaleries, restaurants acceptant les chiens, etc.", "layers": { - "1": { + "3": { "override": { "name": "Restaurants acceptant les chiens" } }, - "2": { + "5": { "override": { - "name": "Magasins acceptant les chiens", - "title": { - "render": "Magasins acceptant les chiens" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "Un magasin où vous pouvez amener votre chien presque partout", - "title": "magasin acceptant les chiens" - } - } + "name": "Magasins acceptant les chiens" } } }, diff --git a/langs/themes/hu.json b/langs/themes/hu.json index ffc4238bf2..33eccbda27 100644 --- a/langs/themes/hu.json +++ b/langs/themes/hu.json @@ -376,15 +376,6 @@ "title": "Személyes téma" }, "pets": { - "layers": { - "2": { - "override": { - "title": { - "render": "Kutyabarát üzletek" - } - } - } - }, "title": "Állatorvosok, kutyafuttatók és hasonló, kedvtelésből tartott állatoknak szóló létesítmények" }, "playgrounds": { diff --git a/langs/themes/it.json b/langs/themes/it.json index 016494c805..5b52d98f2a 100644 --- a/langs/themes/it.json +++ b/langs/themes/it.json @@ -517,17 +517,14 @@ }, "pets": { "layers": { - "1": { + "3": { "override": { "name": "Ristoranti che accettano i cani" } }, - "2": { + "5": { "override": { - "name": "Negozi che accettano i cani", - "title": { - "render": "Negozi che accettano i cani" - } + "name": "Negozi che accettano i cani" } } }, diff --git a/langs/themes/ko.json b/langs/themes/ko.json index b4f9f327d5..6013331d4b 100644 --- a/langs/themes/ko.json +++ b/langs/themes/ko.json @@ -1087,27 +1087,14 @@ "pets": { "description": "이 지도에서는 여러분의 반려동물을 위한 다양한 흥미로운 장소를 찾을 수 있습니다: 동물병원,반려견 놀이터, 반려 동물 상점, 반려동물 친화적인 레스토랑 등...", "layers": { - "1": { + "3": { "override": { "name": "반려견 친화적 식당" } }, - "2": { + "5": { "override": { - "name": "반려견 친화적 상점", - "title": { - "render": "반려견 친화적 상점" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "반려견과 함께할 수 있는 상점", - "title": "반려견 친화적 상점" - } - } + "name": "반려견 친화적 상점" } } }, diff --git a/langs/themes/nb_NO.json b/langs/themes/nb_NO.json index 70228236d0..14f7c3b097 100644 --- a/langs/themes/nb_NO.json +++ b/langs/themes/nb_NO.json @@ -412,26 +412,14 @@ }, "pets": { "layers": { - "1": { + "3": { "override": { "name": "Hundevennlige spisesteder" } }, - "2": { + "5": { "override": { - "name": "Hundevennlige butikker", - "title": { - "render": "Hundevennlige butikker" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "title": "hundevennlig butikk" - } - } + "name": "Hundevennlige butikker" } } } diff --git a/langs/themes/nl.json b/langs/themes/nl.json index 47a5f89688..e64d69cbd9 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -653,8 +653,37 @@ "building type": { "question": "Wat voor soort gebouw is dit?" }, + "grb-fixme": { + "mappings": { + "0": { + "then": "Geen fixme" + } + }, + "question": "Wat zegt de fixme?", + "render": "De fixme is {fixme}" + }, + "grb-housenumber": { + "mappings": { + "0": { + "then": "Geen huisnummer" + } + }, + "question": "Wat is het huisnummer?", + "render": "Het huisnummer is {addr:housenumber}" + }, + "grb-min-level": { + "question": "Hoeveel verdiepingen ontbreken?", + "render": "Dit gebouw begint maar op de {building:min_level} verdieping" + }, "grb-reference": { "render": "Werd geïmporteerd vanuit GRB, het referentienummer is {source:geometry:ref}" + }, + "grb-street": { + "question": "Wat is de straat?", + "render": "De straat is {addr:street}" + }, + "grb-unit": { + "render": "De wooneenheid-aanduiding is {addr:unit} " } } }, @@ -671,8 +700,35 @@ } } } + }, + "5": { + "override": { + "tagRenderings+": { + "0": { + "mappings": { + "0": { + "then": "Geen omliggend OSM-gebouw gevonden" + } + } + }, + "3": { + "mappings": { + "0": { + "then": "Geen omliggend OSM-gebouw gevonden. Een omliggend gebouw is nodig om dit punt als adres punt toe te voegen.
Importeer eerst de gebouwen. Vernieuw dan de pagina om losse adressen toe te voegen
" + } + }, + "render": { + "special": { + "text": "Voeg dit adres als een nieuw adrespunt toe" + } + } + } + } + } } - } + }, + "shortDescription": "Grb import helper tool", + "title": "GRB import helper" }, "guideposts": { "description": "Wegwijzers (ook wel handwijzer genoemd) zijn vaak te vinden langs officiële wandel-, fiets-, ski- of paardrijroutes om de richtingen naar verschillende bestemmingen aan te geven. Vaak zijn ze vernoemd naar een regio of plaats en geven ze de hoogte aan.\n\nDe positie van een wegwijzer kan door een wandelaar/fietser/renner/skiër worden gebruikt als bevestiging van de huidige positie, vooral als ze een gedrukte kaart zonder GPS-ontvanger gebruiken. ", @@ -1082,32 +1138,24 @@ "pets": { "description": "Deze kaart helpt je op weg met je huisdier: dierenartsen, hondenloopzones, dierenwinkels, hondenvriendelijke restaurants, ...", "layers": { - "1": { + "3": { "override": { "name": "Hondvriendelijke eetgelegenheden" } }, - "2": { + "5": { "override": { - "name": "Hondvriendelijke winkels", - "title": { - "render": "Hondvriendelijke winkels" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "Een winkel waar je je hond in bijna overal mag meenemen", - "title": "Hondvriendelijke winkels" - } - } + "name": "Hondvriendelijke winkels" } } }, "title": "Dierenartsen, hondenloopzones en andere huisdiervriendelijke plaatsen" }, + "play_forests": { + "description": "Een speelbos is een zone in een bos die vrij toegankelijk is voor spelende kinderen. Deze wordt in bossen van het Agentschap Natuur en bos altijd aangeduid met het overeenkomstige bord.", + "shortDescription": "Deze kaart toont speelbossen", + "title": "Speelbossen" + }, "playgrounds": { "description": "Op deze kaart vind je speeltuinen en kan je zelf meer informatie en foto's toevoegen", "shortDescription": "Een kaart met speeltuinen", @@ -1181,6 +1229,47 @@ "description": "Alles om te skiën", "title": "Skipistes en kabelbanen" }, + "speelplekken": { + "description": "

Welkom bij de Groendoener!

De Zuidrand dat is spelen, ravotten, chillen, wandelen,… in het groen. Meer dan 200 grote en kleine speelplekken liggen er in parken, in bossen en op pleintjes te wachten om ontdekt te worden. De verschillende speelplekken werden getest én goedgekeurd door kinder- en jongerenreporters uit de Zuidrand. Met leuke challenges dagen de reporters jou uit om ook op ontdekking te gaan. Klik op een speelplek op de kaart, bekijk het filmpje en ga op verkenning!

Het project groendoener kadert binnen het strategisch project Beleefbare Open Ruimte in de Antwerpse Zuidrand en is een samenwerking tussen het departement Leefmilieu van provincie Antwerpen, Sportpret vzw, een OpenStreetMap-België Consultent en Createlli vzw. Het project kwam tot stand met steun van Departement Omgeving van de Vlaamse Overheid.
", + "layers": { + "6": { + "name": "Wandelroutes van provincie Antwerpen", + "tagRenderings": { + "walk-description": { + "render": "

Korte beschrijving:

{description}" + }, + "walk-length": { + "render": "Deze wandeling is {_length:km}km lang" + }, + "walk-operator": { + "question": "Wie beheert deze wandeling en plaatst dus de signalisatiebordjes?" + }, + "walk-operator-email": { + "question": "Naar wie kan men emailen bij problemen rond signalisatie?", + "render": "Bij problemen met signalisatie kan men emailen naar {operator:email}" + }, + "walk-type": { + "mappings": { + "0": { + "then": "Dit is een internationale wandelroute" + }, + "1": { + "then": "Dit is een nationale wandelroute" + }, + "2": { + "then": "Dit is een regionale wandelroute" + }, + "3": { + "then": "Dit is een lokale wandelroute" + } + } + } + } + } + }, + "shortDescription": "Speelplekken in de Antwerpse Zuidrand", + "title": "Welkom bij de groendoener!" + }, "sport_pitches": { "description": "Een sportveld is een ingerichte plaats met infrastructuur om een sport te beoefenen", "shortDescription": "Deze kaart toont sportvelden", @@ -1301,6 +1390,10 @@ }, "title": "Straatverlichting" }, + "street_lighting_assen": { + "description": "Op deze kaart vind je alles over straatlantaarns + een dataset van Assen", + "title": "Straatverlichting - Assen" + }, "surveillance": { "description": "Op deze open kaart kan je bewakingscamera's vinden.", "shortDescription": "Bewakingscameras en dergelijke", @@ -1414,9 +1507,13 @@ "description": "Kaart met afvalbakken en recyclingfaciliteiten.", "title": "Afval" }, + "waste_assen": { + "description": "Kaart met afvalbakken en recyclingfaciliteiten + een dataset voor Assen.", + "title": "Afval - Assen" + }, "waste_basket": { "description": "Op deze kaart vind je afvalbakken bij jou in de buurt. Als er een afvalbak ontbreekt op deze kaart, kun je deze zelf toevoegen", "shortDescription": "Een kaart met vuilnisbakken", "title": "Vuilnisbakken" } -} +} \ No newline at end of file diff --git a/langs/themes/pa_PK.json b/langs/themes/pa_PK.json index 82b7cb6e60..6af4fd405d 100644 --- a/langs/themes/pa_PK.json +++ b/langs/themes/pa_PK.json @@ -164,21 +164,9 @@ }, "pets": { "layers": { - "2": { + "5": { "override": { - "name": "کُتیاں دی اِجازت دیاں دکاناں", - "title": { - "render": "کُتیاں دی اِجازت دیاں دکاناں" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "title": "کُتیاں دی اِجازت دی دکان" - } - } + "name": "کُتیاں دی اِجازت دیاں دکاناں" } } } diff --git a/langs/themes/pl.json b/langs/themes/pl.json index e6c60a2706..f6d1c2377d 100644 --- a/langs/themes/pl.json +++ b/langs/themes/pl.json @@ -804,27 +804,14 @@ "pets": { "description": "Na tej mapie znajdziesz różne ciekawe miejsca dla swoich zwierząt: weterynarze, wybiegi dla psów, sklepy zoologiczne, restauracje przyjazne psom, ...", "layers": { - "1": { + "3": { "override": { "name": "Restauracje przyjazne psom" } }, - "2": { + "5": { "override": { - "name": "Sklepy przyjazne psom", - "title": { - "render": "Sklepy przyjazne psom" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "Sklep, w którym niemal wszędzie można zabrać psa", - "title": "sklep przyjazny psom" - } - } + "name": "Sklepy przyjazne psom" } } }, diff --git a/langs/themes/ru.json b/langs/themes/ru.json index 45a603a39f..c1bddd778b 100644 --- a/langs/themes/ru.json +++ b/langs/themes/ru.json @@ -210,7 +210,7 @@ "pets": { "description": "На этой карте вы найдете различные интересные места для ваших питомцев: ветеринарные клиники, парки для собак, зоомагазины, рестораны для собак, ...", "layers": { - "1": { + "3": { "override": { "name": "Заведения, где можно поесть с собаками" } diff --git a/langs/themes/zh_Hant.json b/langs/themes/zh_Hant.json index 72acbfeccb..cd1fb11712 100644 --- a/langs/themes/zh_Hant.json +++ b/langs/themes/zh_Hant.json @@ -622,27 +622,14 @@ }, "pets": { "layers": { - "1": { + "3": { "override": { "name": "寵物友善餐廳" } }, - "2": { + "5": { "override": { - "name": "寵物友善商家", - "title": { - "render": "寵物友善商家" - } - } - }, - "6": { - "override": { - "presets": { - "0": { - "description": "你幾乎可以攜帶寵物到處去的商店", - "title": "寵物友善商家" - } - } + "name": "寵物友善商家" } } }, From 1613fe0f0feaa2285b92c1b12287fa2d133a2e85 Mon Sep 17 00:00:00 2001 From: Weblate Date: Sat, 18 Jan 2025 02:46:06 +0100 Subject: [PATCH 20/42] Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: MapComplete/themes Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/themes/ --- langs/themes/nl.json | 114 +------------------------------------------ 1 file changed, 2 insertions(+), 112 deletions(-) diff --git a/langs/themes/nl.json b/langs/themes/nl.json index e64d69cbd9..605871e1f2 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -653,37 +653,8 @@ "building type": { "question": "Wat voor soort gebouw is dit?" }, - "grb-fixme": { - "mappings": { - "0": { - "then": "Geen fixme" - } - }, - "question": "Wat zegt de fixme?", - "render": "De fixme is {fixme}" - }, - "grb-housenumber": { - "mappings": { - "0": { - "then": "Geen huisnummer" - } - }, - "question": "Wat is het huisnummer?", - "render": "Het huisnummer is {addr:housenumber}" - }, - "grb-min-level": { - "question": "Hoeveel verdiepingen ontbreken?", - "render": "Dit gebouw begint maar op de {building:min_level} verdieping" - }, "grb-reference": { "render": "Werd geïmporteerd vanuit GRB, het referentienummer is {source:geometry:ref}" - }, - "grb-street": { - "question": "Wat is de straat?", - "render": "De straat is {addr:street}" - }, - "grb-unit": { - "render": "De wooneenheid-aanduiding is {addr:unit} " } } }, @@ -700,35 +671,8 @@ } } } - }, - "5": { - "override": { - "tagRenderings+": { - "0": { - "mappings": { - "0": { - "then": "Geen omliggend OSM-gebouw gevonden" - } - } - }, - "3": { - "mappings": { - "0": { - "then": "Geen omliggend OSM-gebouw gevonden. Een omliggend gebouw is nodig om dit punt als adres punt toe te voegen.
Importeer eerst de gebouwen. Vernieuw dan de pagina om losse adressen toe te voegen
" - } - }, - "render": { - "special": { - "text": "Voeg dit adres als een nieuw adrespunt toe" - } - } - } - } - } } - }, - "shortDescription": "Grb import helper tool", - "title": "GRB import helper" + } }, "guideposts": { "description": "Wegwijzers (ook wel handwijzer genoemd) zijn vaak te vinden langs officiële wandel-, fiets-, ski- of paardrijroutes om de richtingen naar verschillende bestemmingen aan te geven. Vaak zijn ze vernoemd naar een regio of plaats en geven ze de hoogte aan.\n\nDe positie van een wegwijzer kan door een wandelaar/fietser/renner/skiër worden gebruikt als bevestiging van de huidige positie, vooral als ze een gedrukte kaart zonder GPS-ontvanger gebruiken. ", @@ -1151,11 +1095,6 @@ }, "title": "Dierenartsen, hondenloopzones en andere huisdiervriendelijke plaatsen" }, - "play_forests": { - "description": "Een speelbos is een zone in een bos die vrij toegankelijk is voor spelende kinderen. Deze wordt in bossen van het Agentschap Natuur en bos altijd aangeduid met het overeenkomstige bord.", - "shortDescription": "Deze kaart toont speelbossen", - "title": "Speelbossen" - }, "playgrounds": { "description": "Op deze kaart vind je speeltuinen en kan je zelf meer informatie en foto's toevoegen", "shortDescription": "Een kaart met speeltuinen", @@ -1229,47 +1168,6 @@ "description": "Alles om te skiën", "title": "Skipistes en kabelbanen" }, - "speelplekken": { - "description": "

Welkom bij de Groendoener!

De Zuidrand dat is spelen, ravotten, chillen, wandelen,… in het groen. Meer dan 200 grote en kleine speelplekken liggen er in parken, in bossen en op pleintjes te wachten om ontdekt te worden. De verschillende speelplekken werden getest én goedgekeurd door kinder- en jongerenreporters uit de Zuidrand. Met leuke challenges dagen de reporters jou uit om ook op ontdekking te gaan. Klik op een speelplek op de kaart, bekijk het filmpje en ga op verkenning!

Het project groendoener kadert binnen het strategisch project Beleefbare Open Ruimte in de Antwerpse Zuidrand en is een samenwerking tussen het departement Leefmilieu van provincie Antwerpen, Sportpret vzw, een OpenStreetMap-België Consultent en Createlli vzw. Het project kwam tot stand met steun van Departement Omgeving van de Vlaamse Overheid.
", - "layers": { - "6": { - "name": "Wandelroutes van provincie Antwerpen", - "tagRenderings": { - "walk-description": { - "render": "

Korte beschrijving:

{description}" - }, - "walk-length": { - "render": "Deze wandeling is {_length:km}km lang" - }, - "walk-operator": { - "question": "Wie beheert deze wandeling en plaatst dus de signalisatiebordjes?" - }, - "walk-operator-email": { - "question": "Naar wie kan men emailen bij problemen rond signalisatie?", - "render": "Bij problemen met signalisatie kan men emailen naar {operator:email}" - }, - "walk-type": { - "mappings": { - "0": { - "then": "Dit is een internationale wandelroute" - }, - "1": { - "then": "Dit is een nationale wandelroute" - }, - "2": { - "then": "Dit is een regionale wandelroute" - }, - "3": { - "then": "Dit is een lokale wandelroute" - } - } - } - } - } - }, - "shortDescription": "Speelplekken in de Antwerpse Zuidrand", - "title": "Welkom bij de groendoener!" - }, "sport_pitches": { "description": "Een sportveld is een ingerichte plaats met infrastructuur om een sport te beoefenen", "shortDescription": "Deze kaart toont sportvelden", @@ -1390,10 +1288,6 @@ }, "title": "Straatverlichting" }, - "street_lighting_assen": { - "description": "Op deze kaart vind je alles over straatlantaarns + een dataset van Assen", - "title": "Straatverlichting - Assen" - }, "surveillance": { "description": "Op deze open kaart kan je bewakingscamera's vinden.", "shortDescription": "Bewakingscameras en dergelijke", @@ -1507,13 +1401,9 @@ "description": "Kaart met afvalbakken en recyclingfaciliteiten.", "title": "Afval" }, - "waste_assen": { - "description": "Kaart met afvalbakken en recyclingfaciliteiten + een dataset voor Assen.", - "title": "Afval - Assen" - }, "waste_basket": { "description": "Op deze kaart vind je afvalbakken bij jou in de buurt. Als er een afvalbak ontbreekt op deze kaart, kun je deze zelf toevoegen", "shortDescription": "Een kaart met vuilnisbakken", "title": "Vuilnisbakken" } -} \ No newline at end of file +} From 6ccb0e5eae50aa9dd6701be3d9d8edfe7fbf2762 Mon Sep 17 00:00:00 2001 From: Weblate Admin Date: Sat, 18 Jan 2025 01:16:25 +0000 Subject: [PATCH 21/42] Translated using Weblate (Dutch) Currently translated at 80.4% (3307 of 4112 strings) Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/nl/ --- langs/layers/nl.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 8a770fc049..1280fd21cd 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -10349,6 +10349,12 @@ "then": "Je profielbeschrijving bevat een link die vermoedelijk naar je Mastodon gaat, maar deze link is niet verifieerdbaar voor Mastodon.Pas je profielbeschrijving aan en plaats er de volgende code: <a href=\"{_mastodon_candidate}\" rel=\"me\">Mastodon</a>" } } + }, + "title-editing": { + "render": "

Voorkeuren voor databewerking

" + }, + "title-map": { + "render": "

Kaartvoorkeuren

" } }, "title": { From 6e2ee73826fbef7a28f8c56282cb10e88eb3069e Mon Sep 17 00:00:00 2001 From: Weblate Date: Sat, 18 Jan 2025 02:46:10 +0100 Subject: [PATCH 22/42] Update translation files Updated by "Cleanup translation files" hook in Weblate. Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/ --- langs/layers/nl.json | 42 ++---------------------------------------- 1 file changed, 2 insertions(+), 40 deletions(-) diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 1280fd21cd..459e2a2c69 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -2049,9 +2049,6 @@ }, "title": { "mappings": { - "0": { - "then": "{name}" - }, "1": { "then": "Vogelkijkhut {name}" }, @@ -6376,11 +6373,6 @@ } }, "title": { - "mappings": { - "0": { - "then": "{name}" - } - }, "render": "Natuurgebied" } }, @@ -6912,21 +6904,6 @@ "render": "Picknicktafel" } }, - "play_forest": { - "description": "Een speelbos is een vrij toegankelijke zone in een bos", - "name": "Speelbossen", - "title": { - "mappings": { - "0": { - "then": "{name}" - }, - "1": { - "then": "Speelbos {name}" - } - }, - "render": "Speelbos" - } - }, "playground": { "deletion": { "nonDeleteMappings": { @@ -8493,9 +8470,6 @@ }, "title": { "mappings": { - "0": { - "then": "{name}" - }, "1": { "then": "Voetpad" }, @@ -10661,25 +10635,13 @@ } }, "village_green": { - "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)", - "name": "Speelweide", - "title": { - "mappings": { - "0": { - "then": "{name}" - } - }, - "render": "Speelweide" - } + "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)" }, "visitor_information_centre": { "description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.", "name": "Bezoekerscentrum", "title": { "mappings": { - "0": { - "then": "{name:nl}" - }, "1": { "then": "{name}" } @@ -10909,4 +10871,4 @@ "render": "windturbine" } } -} \ No newline at end of file +} From e5a0a93c9c23b936188f74bf6e341786a2357c75 Mon Sep 17 00:00:00 2001 From: mcliquid Date: Sat, 18 Jan 2025 21:15:02 +0000 Subject: [PATCH 23/42] Translated using Weblate (German) Currently translated at 94.7% (3899 of 4117 strings) Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/de/ --- langs/layers/de.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/langs/layers/de.json b/langs/layers/de.json index 9922c69749..e0baa50677 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -915,10 +915,10 @@ "then": "Dieses Grillgerät ist privat" }, "3": { - "then": "Zugang bis auf Widerruf" + "then": "Dieses Barbecue kann von jedem benutzt werden, aber der Besitzer kann den Zugang jederzeit widerrufen" }, "4": { - "then": "Zugang nur für Kunden" + "then": "Dieser Grill kann nur von Kunden genutzt werden" }, "5": { "then": "Zugang nur für Berechtigte" @@ -12816,4 +12816,4 @@ "render": "Windrad" } } -} \ No newline at end of file +} From 617deba2a27cd9909d353f1a3240997ec54f8446 Mon Sep 17 00:00:00 2001 From: mike140 Date: Sat, 18 Jan 2025 12:54:17 +0000 Subject: [PATCH 24/42] Translated using Weblate (Ukrainian) Currently translated at 15.8% (654 of 4117 strings) Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/uk/ --- langs/layers/uk.json | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/langs/layers/uk.json b/langs/layers/uk.json index b109c018eb..068aac6d28 100644 --- a/langs/layers/uk.json +++ b/langs/layers/uk.json @@ -381,6 +381,9 @@ }, "1": { "then": "Ця лавка не має інтегрованого художнього оформлення" + }, + "2": { + "then": "Ця лавка імовірно не має інтегрованого художнього оформлення" } }, "question": "Чи є в цій лавці художній елемент?", @@ -412,6 +415,29 @@ "question": "Чи є на цій лавці напис?", "questionHint": "Наприклад, на вмонтованій табличці, в спинці крісла, …", "render": "Ця лавка має такий напис:

{inscription}

" + }, + "bench-material": { + "mappings": { + "0": { + "then": "Сидіння виготовлені з дерева" + }, + "1": { + "then": "Сидіння виготовлені з металу" + }, + "2": { + "then": "Сидіння виготовлені з каменю" + }, + "3": { + "then": "Сидіння виготовлені з бетону" + }, + "4": { + "then": "Сидіння виготовлені з пластику" + }, + "5": { + "then": "Сидіння виготовлені зі сталі" + } + }, + "question": "З чого зроблені сидіння?" } } }, @@ -437,6 +463,9 @@ }, "2": { "then": "Тут немає лавки" + }, + "1": { + "then": "Лава стоячи" } }, "question": "Що це за лавка?" @@ -2482,4 +2511,4 @@ "render": "Утилізація відходів" } } -} \ No newline at end of file +} From 3bfdc1838cf5beb5d10fc272b37f44323c6b5d81 Mon Sep 17 00:00:00 2001 From: mcliquid Date: Sat, 18 Jan 2025 21:14:31 +0000 Subject: [PATCH 25/42] Translated using Weblate (German) Currently translated at 100.0% (436 of 436 strings) Translation: MapComplete/themes Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/themes/de/ --- langs/themes/de.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/langs/themes/de.json b/langs/themes/de.json index 8f901b16af..1cdce727ba 100644 --- a/langs/themes/de.json +++ b/langs/themes/de.json @@ -1410,5 +1410,9 @@ "description": "Die Karte zeigt Abfalleimer in der Nähe. Wenn ein Abfalleimer fehlt, kannst du ihn selbst hinzufügen.", "shortDescription": "Eine Karte mit Abfalleimern", "title": "Abfalleimer" + }, + "scouting": { + "description": "Eine Pfadfindergruppe ist eine soziale Jugendbewegung mit einem starken Fokus auf Aktivitäten im Freien. Die Aktivitäten reichen von Camping, Wandern, Wassersport, Rucksacktouren, Erkundung der Natur, ...", + "title": "Pfadfindergruppen" } -} \ No newline at end of file +} From 143dd70973d49882ee314d3b09505c1c18c96aa7 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 19 Jan 2025 22:45:03 +0100 Subject: [PATCH 26/42] Fix(studio): add check for incorrect suggestions, fix incorrect suggestion which breaks setting a 'marker' --- scripts/fixSchemas.ts | 16 +++++++++++++++- .../ThemeConfig/Json/PointRenderingConfigJson.ts | 7 ++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/scripts/fixSchemas.ts b/scripts/fixSchemas.ts index 0a38b95193..da24819b00 100644 --- a/scripts/fixSchemas.ts +++ b/scripts/fixSchemas.ts @@ -208,13 +208,27 @@ function extractHintsFrom( validators: Validators, Constants: Constants, }) - if (hints["suggestions"]?.indexOf(null) >= 0) { + const evaluatedSuggestions = hints["suggestions"] + + if (evaluatedSuggestions?.indexOf(null) >= 0) { throw ( "A suggestion generated 'null' for " + path.join(".") + ". Check the docstring, specifically 'suggestions'. Pay attention to double commas" ) } + + console.log(evaluatedSuggestions) + for (const hintElement of evaluatedSuggestions ?? []) { + if (typeof hintElement === "string") { + throw ( + "A suggestion generated a string for " + + path.join(".") + + ". Remember that you should use {'if': 'value=[actual_value]', 'then': '[some explanation]'}" + ) + } + } + } return hints } diff --git a/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts index 723aac46e5..f9c0d1c7e4 100644 --- a/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts +++ b/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts @@ -13,14 +13,15 @@ export interface IconConfigJson { * * * types: Use a different icon depending on the value of some attributes ; icon - * suggestions: return [ "nsi_brand.icon", "nsi_operator.icon", "id_presets.shop_rendering", ...Constants.defaultPinIcons.map(i => ({if: "value="+i, then: i, icon: i}))] + * suggestions: return [ {"if":"value=nsi_brand.icon", "then": "Use icons for brand from the Name Suggestion Index"}, {"if":"value=nsi_operator.icon", "then": "Use icons for operator from the Name Suggestion Index"}, {"if":"value=id_presets.shop_rendering", "then": "Use shop preset icons from iD"}, ...Constants.defaultPinIcons.map(i => ({if: "value="+i, then: i, icon: i}))] */ icon: string | MinimalTagRenderingConfigJson | { builtin: string; override: any } /** * question: What colour should the icon be? - * This will only work for the default icons such as `pin`,`circle`,... - * types: Use a different color depending on the value of some attributes ; color * + * This will only work for the default icons such as `pin`,`circle`,... + * + * types: Use a different color depending on the value of some attributes ; color */ color?: string | MinimalTagRenderingConfigJson | { builtin: string; override: any } } From 69f5703707b54bf050af4838df72d328a5c98603 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Sun, 19 Jan 2025 22:45:24 +0100 Subject: [PATCH 27/42] Chore: regenerate schemas for studio, fix some typing issues --- Docs/Schemas/IconConfigJson.schema.json | 4 +- Docs/Schemas/IconConfigJsonJSC.ts | 4 +- Docs/Schemas/LayerConfigJson.schema.json | 47 +++++++----- Docs/Schemas/LayerConfigJsonJSC.ts | 47 +++++++----- .../LineRenderingConfigJson.schema.json | 4 +- Docs/Schemas/LineRenderingConfigJsonJSC.ts | 4 +- Docs/Schemas/MappingConfigJson.schema.json | 4 +- Docs/Schemas/MappingConfigJsonJSC.ts | 4 +- .../PointRenderingConfigJson.schema.json | 47 +++++++----- Docs/Schemas/PointRenderingConfigJsonJSC.ts | 47 +++++++----- ...tionableTagRenderingConfigJson.schema.json | 4 +- .../QuestionableTagRenderingConfigJsonJSC.ts | 4 +- Docs/Schemas/RewritableConfigJson.schema.json | 4 +- Docs/Schemas/RewritableConfigJsonJSC.ts | 4 +- Docs/Schemas/ThemeConfigJson.schema.json | 47 +++++++----- Docs/Schemas/ThemeConfigJsonJSC.ts | 47 +++++++----- src/UI/Studio/SchemaBasedMultiType.svelte | 11 +-- src/assets/schemas/layerconfigmeta.json | 76 +++++++++++++++++-- 18 files changed, 259 insertions(+), 150 deletions(-) diff --git a/Docs/Schemas/IconConfigJson.schema.json b/Docs/Schemas/IconConfigJson.schema.json index 24953a630c..c44d49a237 100644 --- a/Docs/Schemas/IconConfigJson.schema.json +++ b/Docs/Schemas/IconConfigJson.schema.json @@ -2,7 +2,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -26,7 +26,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/IconConfigJsonJSC.ts b/Docs/Schemas/IconConfigJsonJSC.ts index 6ece3c0de3..d4c0acf3d0 100644 --- a/Docs/Schemas/IconConfigJsonJSC.ts +++ b/Docs/Schemas/IconConfigJsonJSC.ts @@ -2,7 +2,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -26,7 +26,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/LayerConfigJson.schema.json b/Docs/Schemas/LayerConfigJson.schema.json index 00cae969c5..bdf8b387da 100644 --- a/Docs/Schemas/LayerConfigJson.schema.json +++ b/Docs/Schemas/LayerConfigJson.schema.json @@ -683,7 +683,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -707,7 +707,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -1072,30 +1072,37 @@ } }, "iconBadges": { - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\ngroup: hidden", + "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\nAlternatively, this can reuse a _tagRendering_ from another layer, e.g. one of the 'icons'-tagrenderings.\nSee ExpandIconBadges on how this is handled\ngroup: hidden", "type": "array", "items": { - "type": "object", - "properties": { - "if": { - "$ref": "#/definitions/TagConfigJson", - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" - }, - "then": { - "description": "Badge to show\nType: icon", - "anyOf": [ - { - "$ref": "#/definitions/MinimalTagRenderingConfigJson" + "anyOf": [ + { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/TagConfigJson", + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" }, - { - "type": "string" + "then": { + "description": "Badge to show\nType: icon", + "anyOf": [ + { + "$ref": "#/definitions/MinimalTagRenderingConfigJson" + }, + { + "type": "string" + } + ] } + }, + "required": [ + "if", + "then" ] + }, + { + "type": "string" } - }, - "required": [ - "if", - "then" ] } }, diff --git a/Docs/Schemas/LayerConfigJsonJSC.ts b/Docs/Schemas/LayerConfigJsonJSC.ts index ac04a5891d..40306fbb9d 100644 --- a/Docs/Schemas/LayerConfigJsonJSC.ts +++ b/Docs/Schemas/LayerConfigJsonJSC.ts @@ -675,7 +675,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -699,7 +699,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -1060,30 +1060,37 @@ export default { } }, "iconBadges": { - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\ngroup: hidden", + "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\nAlternatively, this can reuse a _tagRendering_ from another layer, e.g. one of the 'icons'-tagrenderings.\nSee ExpandIconBadges on how this is handled\ngroup: hidden", "type": "array", "items": { - "type": "object", - "properties": { - "if": { - "$ref": "#/definitions/TagConfigJson", - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" - }, - "then": { - "description": "Badge to show\nType: icon", - "anyOf": [ - { - "$ref": "#/definitions/MinimalTagRenderingConfigJson" + "anyOf": [ + { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/TagConfigJson", + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" }, - { - "type": "string" + "then": { + "description": "Badge to show\nType: icon", + "anyOf": [ + { + "$ref": "#/definitions/MinimalTagRenderingConfigJson" + }, + { + "type": "string" + } + ] } + }, + "required": [ + "if", + "then" ] + }, + { + "type": "string" } - }, - "required": [ - "if", - "then" ] } }, diff --git a/Docs/Schemas/LineRenderingConfigJson.schema.json b/Docs/Schemas/LineRenderingConfigJson.schema.json index 309d5da239..0de5738bc9 100644 --- a/Docs/Schemas/LineRenderingConfigJson.schema.json +++ b/Docs/Schemas/LineRenderingConfigJson.schema.json @@ -327,7 +327,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -351,7 +351,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/LineRenderingConfigJsonJSC.ts b/Docs/Schemas/LineRenderingConfigJsonJSC.ts index 65a2ed2a1e..2344646b65 100644 --- a/Docs/Schemas/LineRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/LineRenderingConfigJsonJSC.ts @@ -319,7 +319,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -343,7 +343,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/MappingConfigJson.schema.json b/Docs/Schemas/MappingConfigJson.schema.json index e9947702b6..d469db4153 100644 --- a/Docs/Schemas/MappingConfigJson.schema.json +++ b/Docs/Schemas/MappingConfigJson.schema.json @@ -354,7 +354,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -378,7 +378,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/MappingConfigJsonJSC.ts b/Docs/Schemas/MappingConfigJsonJSC.ts index 8ef62eac1a..7ab7197461 100644 --- a/Docs/Schemas/MappingConfigJsonJSC.ts +++ b/Docs/Schemas/MappingConfigJsonJSC.ts @@ -346,7 +346,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -370,7 +370,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/PointRenderingConfigJson.schema.json b/Docs/Schemas/PointRenderingConfigJson.schema.json index d112952749..2d3ebd7997 100644 --- a/Docs/Schemas/PointRenderingConfigJson.schema.json +++ b/Docs/Schemas/PointRenderingConfigJson.schema.json @@ -17,30 +17,37 @@ } }, "iconBadges": { - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\ngroup: hidden", + "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\nAlternatively, this can reuse a _tagRendering_ from another layer, e.g. one of the 'icons'-tagrenderings.\nSee ExpandIconBadges on how this is handled\ngroup: hidden", "type": "array", "items": { - "type": "object", - "properties": { - "if": { - "$ref": "#/definitions/TagConfigJson", - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" - }, - "then": { - "description": "Badge to show\nType: icon", - "anyOf": [ - { - "$ref": "#/definitions/MinimalTagRenderingConfigJson" + "anyOf": [ + { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/TagConfigJson", + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" }, - { - "type": "string" + "then": { + "description": "Badge to show\nType: icon", + "anyOf": [ + { + "$ref": "#/definitions/MinimalTagRenderingConfigJson" + }, + { + "type": "string" + } + ] } + }, + "required": [ + "if", + "then" ] + }, + { + "type": "string" } - }, - "required": [ - "if", - "then" ] } }, @@ -401,7 +408,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -425,7 +432,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/PointRenderingConfigJsonJSC.ts b/Docs/Schemas/PointRenderingConfigJsonJSC.ts index 184704299b..91d459054d 100644 --- a/Docs/Schemas/PointRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/PointRenderingConfigJsonJSC.ts @@ -17,30 +17,37 @@ export default { } }, "iconBadges": { - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\ngroup: hidden", + "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\nAlternatively, this can reuse a _tagRendering_ from another layer, e.g. one of the 'icons'-tagrenderings.\nSee ExpandIconBadges on how this is handled\ngroup: hidden", "type": "array", "items": { - "type": "object", - "properties": { - "if": { - "$ref": "#/definitions/TagConfigJson", - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" - }, - "then": { - "description": "Badge to show\nType: icon", - "anyOf": [ - { - "$ref": "#/definitions/MinimalTagRenderingConfigJson" + "anyOf": [ + { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/TagConfigJson", + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" }, - { - "type": "string" + "then": { + "description": "Badge to show\nType: icon", + "anyOf": [ + { + "$ref": "#/definitions/MinimalTagRenderingConfigJson" + }, + { + "type": "string" + } + ] } + }, + "required": [ + "if", + "then" ] + }, + { + "type": "string" } - }, - "required": [ - "if", - "then" ] } }, @@ -393,7 +400,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -417,7 +424,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json index 8dab5d9387..0e7e8feed8 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json +++ b/Docs/Schemas/QuestionableTagRenderingConfigJson.schema.json @@ -487,7 +487,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -511,7 +511,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts index 649892ff4d..7088ed0529 100644 --- a/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts +++ b/Docs/Schemas/QuestionableTagRenderingConfigJsonJSC.ts @@ -479,7 +479,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -503,7 +503,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/RewritableConfigJson.schema.json b/Docs/Schemas/RewritableConfigJson.schema.json index 8a7d26ffc7..89ce7df862 100644 --- a/Docs/Schemas/RewritableConfigJson.schema.json +++ b/Docs/Schemas/RewritableConfigJson.schema.json @@ -281,7 +281,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -305,7 +305,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/RewritableConfigJsonJSC.ts b/Docs/Schemas/RewritableConfigJsonJSC.ts index a39d314c6b..7815c75a7c 100644 --- a/Docs/Schemas/RewritableConfigJsonJSC.ts +++ b/Docs/Schemas/RewritableConfigJsonJSC.ts @@ -273,7 +273,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -297,7 +297,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" diff --git a/Docs/Schemas/ThemeConfigJson.schema.json b/Docs/Schemas/ThemeConfigJson.schema.json index eb850a9f09..720b6cc712 100644 --- a/Docs/Schemas/ThemeConfigJson.schema.json +++ b/Docs/Schemas/ThemeConfigJson.schema.json @@ -556,7 +556,7 @@ "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -580,7 +580,7 @@ ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -945,30 +945,37 @@ } }, "iconBadges": { - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\ngroup: hidden", + "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\nAlternatively, this can reuse a _tagRendering_ from another layer, e.g. one of the 'icons'-tagrenderings.\nSee ExpandIconBadges on how this is handled\ngroup: hidden", "type": "array", "items": { - "type": "object", - "properties": { - "if": { - "$ref": "#/definitions/TagConfigJson", - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" - }, - "then": { - "description": "Badge to show\nType: icon", - "anyOf": [ - { - "$ref": "#/definitions/MinimalTagRenderingConfigJson" + "anyOf": [ + { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/TagConfigJson", + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" }, - { - "type": "string" + "then": { + "description": "Badge to show\nType: icon", + "anyOf": [ + { + "$ref": "#/definitions/MinimalTagRenderingConfigJson" + }, + { + "type": "string" + } + ] } + }, + "required": [ + "if", + "then" ] + }, + { + "type": "string" } - }, - "required": [ - "if", - "then" ] } }, diff --git a/Docs/Schemas/ThemeConfigJsonJSC.ts b/Docs/Schemas/ThemeConfigJsonJSC.ts index a5e51b7e5e..4ebc0b6d21 100644 --- a/Docs/Schemas/ThemeConfigJsonJSC.ts +++ b/Docs/Schemas/ThemeConfigJsonJSC.ts @@ -548,7 +548,7 @@ export default { "type": "object", "properties": { "icon": { - "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ \"nsi_brand.icon\", \"nsi_operator.icon\", \"id_presets.shop_rendering\", ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", + "description": "question: What icon should be used?\n\nTo reuse icons from a different layer of a library:\n- The library layer has, within tagRenderings one which will output the URL of the image (e.g. mappings: {\"if\": \"shop=xyz\", then: \"./assets/icons/shop_xyz.png\"})\n- Use \"layer_id.tagrendering_id\"\n\nNote that if you reuse icons from a different icon set, you'll probably want to use `override` to set a default rendering\n\n\ntypes: Use a different icon depending on the value of some attributes ; icon\nsuggestions: return [ {\"if\":\"value=nsi_brand.icon\", \"then\": \"Use icons for brand from the Name Suggestion Index\"}, {\"if\":\"value=nsi_operator.icon\", \"then\": \"Use icons for operator from the Name Suggestion Index\"}, {\"if\":\"value=id_presets.shop_rendering\", \"then\": \"Use shop preset icons from iD\"}, ...Constants.defaultPinIcons.map(i => ({if: \"value=\"+i, then: i, icon: i}))]", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -572,7 +572,7 @@ export default { ] }, "color": { - "description": "question: What colour should the icon be?\nThis will only work for the default icons such as `pin`,`circle`,...\ntypes: Use a different color depending on the value of some attributes ; color", + "description": "question: What colour should the icon be?\n\nThis will only work for the default icons such as `pin`,`circle`,...\n\ntypes: Use a different color depending on the value of some attributes ; color", "anyOf": [ { "$ref": "#/definitions/MinimalTagRenderingConfigJson" @@ -933,30 +933,37 @@ export default { } }, "iconBadges": { - "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\ngroup: hidden", + "description": "A list of extra badges to show next to the icon as small badge\nThey will be added as a 25% height icon at the bottom right of the icon, with all the badges in a flex layout.\n\nNote: strings are interpreted as icons, so layering and substituting is supported. You can use `circle:white;./my_icon.svg` to add a background circle\nAlternatively, this can reuse a _tagRendering_ from another layer, e.g. one of the 'icons'-tagrenderings.\nSee ExpandIconBadges on how this is handled\ngroup: hidden", "type": "array", "items": { - "type": "object", - "properties": { - "if": { - "$ref": "#/definitions/TagConfigJson", - "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" - }, - "then": { - "description": "Badge to show\nType: icon", - "anyOf": [ - { - "$ref": "#/definitions/MinimalTagRenderingConfigJson" + "anyOf": [ + { + "type": "object", + "properties": { + "if": { + "$ref": "#/definitions/TagConfigJson", + "description": "The main representation of Tags.\nSee https://github.com/pietervdvn/MapComplete/blob/develop/Docs/Tags_format.md for more documentation\n\ntype: tag" }, - { - "type": "string" + "then": { + "description": "Badge to show\nType: icon", + "anyOf": [ + { + "$ref": "#/definitions/MinimalTagRenderingConfigJson" + }, + { + "type": "string" + } + ] } + }, + "required": [ + "if", + "then" ] + }, + { + "type": "string" } - }, - "required": [ - "if", - "then" ] } }, diff --git a/src/UI/Studio/SchemaBasedMultiType.svelte b/src/UI/Studio/SchemaBasedMultiType.svelte index 6698dcd909..e594fb6ff3 100644 --- a/src/UI/Studio/SchemaBasedMultiType.svelte +++ b/src/UI/Studio/SchemaBasedMultiType.svelte @@ -1,5 +1,5 @@ + + + + + + + + + diff --git a/assets/layers/dog_toilet/dog_toilet.svg.license b/assets/layers/dog_toilet/dog_toilet.svg.license new file mode 100644 index 0000000000..1051200deb --- /dev/null +++ b/assets/layers/dog_toilet/dog_toilet.svg.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: https://openclipart.org/artist/j4p4n +SPDX-License-Identifier: CC0-1.0 \ No newline at end of file diff --git a/assets/layers/dog_toilet/license_info.json b/assets/layers/dog_toilet/license_info.json new file mode 100644 index 0000000000..7e951c4a63 --- /dev/null +++ b/assets/layers/dog_toilet/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "dog_toilet.svg", + "license": "CC0-1.0", + "authors": [ + "https://openclipart.org/artist/j4p4n" + ], + "sources": [ + "https://commons.wikimedia.org/wiki/File:No_dog_peeing.svg" + ] + } +] \ No newline at end of file diff --git a/assets/themes/pets/pets.json b/assets/themes/pets/pets.json index 0b024ebf90..74c1a17205 100644 --- a/assets/themes/pets/pets.json +++ b/assets/themes/pets/pets.json @@ -42,6 +42,7 @@ "dogpark", "veterinary", "animal_shelter", + "dog_toilet", { "builtin": "food", "override": { @@ -148,11 +149,30 @@ "name": null } }, + { + "builtin": "waste_basket", + "override": { + "id": "waste_basket_dogs", + "name": { + "en": "Waste baskets with excrement bag dispensers" + }, + "presets=": [], + "source": { + "osmTags": { + "and+": [ + "vending=excrement_bags" + ] + } + } + } + }, { "builtin": "waste_basket", "override": { "minzoom": 16, - "filter": null, + "filter": { + "sameAs": "waste_basket_dogs" + }, "name": null } } From 50ef2ba63674d8e543649b85b0098658ac3f52ed Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 20 Jan 2025 18:35:24 +0100 Subject: [PATCH 32/42] Themes: automatically remove filters that are useless because they would filter everything or nothing; fix some logic bugs and add tests --- src/Logic/Tags/And.ts | 15 +++++----- src/Logic/Tags/TagUtils.ts | 5 +++- .../ThemeConfig/Conversion/ExpandFilter.ts | 29 ++++++++++++++++--- 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/Logic/Tags/And.ts b/src/Logic/Tags/And.ts index c2525dee3b..f88c913700 100644 --- a/src/Logic/Tags/And.ts +++ b/src/Logic/Tags/And.ts @@ -124,7 +124,7 @@ export class And extends TagsFilter { * t0.shadows(t0) // => true * t1.shadows(t1) // => true * t2.shadows(t2) // => true - * t0.shadows(t1) // => false + * t0.shadows(t1) // => true * t0.shadows(t2) // => false * t1.shadows(t0) // => false * t1.shadows(t2) // => false @@ -135,13 +135,18 @@ export class And extends TagsFilter { * const t1 = new And([new Tag("shop","clothes"), new Or([new Tag("brand","XYZ"),new Tag("brand:wikidata","Q1234")])]) * const t2 = new And([new RegexTag("shop","mall",true), new Or([TagUtils.Tag("shop~*"), new Tag("craft","shoemaker")])]) * t1.shadows(t2) // => true + * + * const t1 = new Tag("a","b") + * const t2 = new And([new Tag("x","y"), new Tag("a","b")]) + * t2.shadows(t1) // => true + * t1.shadows(t2) // => false */ shadows(other: TagsFilter): boolean { - const phrases: TagsFilter[] = other instanceof And ? other.and : [other] + // The phrases of the _other_ and + const phrases: readonly TagsFilter[] = other instanceof And ? other.and : [other] // A phrase might be shadowed by a certain subsection. We keep track of this here const shadowedOthers = phrases.map(() => false) for (const selfTag of this.and) { - let shadowsSome = false let shadowsAll = true for (let i = 0; i < phrases.length; i++) { const otherTag = phrases[i] @@ -149,7 +154,6 @@ export class And extends TagsFilter { if (doesShadow) { shadowedOthers[i] = true } - shadowsSome ||= doesShadow shadowsAll &&= doesShadow } // If A => X and A => Y, then @@ -157,9 +161,6 @@ export class And extends TagsFilter { if (shadowsAll) { return true } - if (!shadowsSome) { - return false - } } return !shadowedOthers.some((v) => !v) } diff --git a/src/Logic/Tags/TagUtils.ts b/src/Logic/Tags/TagUtils.ts index 7e495ed706..c3933cdca8 100644 --- a/src/Logic/Tags/TagUtils.ts +++ b/src/Logic/Tags/TagUtils.ts @@ -690,6 +690,9 @@ export class TagUtils { return result } + /** + * TagUtils.removeKnownParts(TagUtils.Tag({and: ["vending=excrement_bag"}),TagUtils.Tag({and: ["amenity=waste_basket", "vending=excrement_bag"]}), true) // => true + */ public static removeKnownParts( tag: TagsFilter, known: TagsFilter, @@ -702,7 +705,7 @@ export class TagUtils { if (tagOrBool instanceof And) { return tagOrBool.removePhraseConsideredKnown(known, valueOfKnown) } - return tagOrBool + return new And([tagOrBool]).removePhraseConsideredKnown(known, valueOfKnown) } /** diff --git a/src/Models/ThemeConfig/Conversion/ExpandFilter.ts b/src/Models/ThemeConfig/Conversion/ExpandFilter.ts index 877ba20f3c..1b6fcec390 100644 --- a/src/Models/ThemeConfig/Conversion/ExpandFilter.ts +++ b/src/Models/ThemeConfig/Conversion/ExpandFilter.ts @@ -13,7 +13,7 @@ import { Or } from "../../../Logic/Tags/Or" import Translations from "../../../UI/i18n/Translations" import { FlatTag, OptimizedTag, TagsFilterClosed } from "../../../Logic/Tags/TagTypes" import { TagsFilter } from "../../../Logic/Tags/TagsFilter" -import { And } from "../../../Logic/Tags/And" +import { Translation } from "../../../UI/i18n/Translation" export class PruneFilters extends DesugaringStep { constructor() { @@ -24,11 +24,30 @@ export class PruneFilters extends DesugaringStep { ) } + /** + * Prunes a filter; returns null/undefined if keeping the filter is useless + */ private prune( sourceTags: FlatTag, filter: FilterConfigJson, context: ConversionContext ): FilterConfigJson { + + if (filter.options.length === 1) { + const option = filter.options[0] + const tags = TagUtils.Tag(option.osmTags) + const optimized = TagUtils.removeKnownParts(tags, sourceTags, true) + if (optimized === true) { + context.warn("Removing filter as always known: ", new Translation(option.question).textFor("en")) + return undefined + } + if (optimized === false) { + context.warn("Removing filter as not possible: ", new Translation(option.question).textFor("en")) + return undefined + } + } + + if (!filter.strict) { return filter } @@ -47,7 +66,7 @@ export class PruneFilters extends DesugaringStep { if (!option.osmTags) { return option } - let basetags = TagUtils.Tag(option.osmTags) + const basetags = TagUtils.Tag(option.osmTags) return { ...option, osmTags: (TagUtils.removeKnownParts(basetags, sourceTags)).asJson(), @@ -65,6 +84,8 @@ export class PruneFilters extends DesugaringStep { ")" ) } + + return { ...filter, options: newOptions, strict: undefined } } @@ -78,9 +99,9 @@ export class PruneFilters extends DesugaringStep { const sourceTags = TagUtils.Tag(json.source["osmTags"]) return { ...json, - filter: json.filter?.map((obj) => + filter: Utils.NoNull(json.filter?.map((obj) => this.prune(sourceTags, obj, context) - ), + )), } } } From 1b3066cc28a999b2fd74cc8d7acb0397d6415156 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Mon, 20 Jan 2025 18:35:54 +0100 Subject: [PATCH 33/42] Themes(pets): add waste baskets with doggy bag dispensers as layer --- assets/layers/waste_basket/waste_basket.json | 4 ++-- assets/themes/pets/pets.json | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/assets/layers/waste_basket/waste_basket.json b/assets/layers/waste_basket/waste_basket.json index 3cb62040ea..ce51b00ed1 100644 --- a/assets/layers/waste_basket/waste_basket.json +++ b/assets/layers/waste_basket/waste_basket.json @@ -386,7 +386,7 @@ "fr": "Poubelle pour déjections canines", "cs": "Odpadkový koš na psí exkrementy" }, - "osmTags": "waste~i~.*dog_excrement.*" + "osmTags": "waste~i~.*excrement.*" }, { "question": { @@ -467,7 +467,7 @@ "ru": "Корзина для мусора с дозатором для пакетов (собачьих) экскрементов", "uk": "Кошик для сміття з дозатором для пакетиків з (собачими) екскрементами" }, - "osmTags": "vending=dog_excrement_bag" + "osmTags": "vending=excrement_bags" } ] } diff --git a/assets/themes/pets/pets.json b/assets/themes/pets/pets.json index 74c1a17205..33df527900 100644 --- a/assets/themes/pets/pets.json +++ b/assets/themes/pets/pets.json @@ -117,6 +117,7 @@ "it": "Negozi che accettano i cani", "ko": "반려견 친화적 상점" }, + "pointRendering": [ { "iconBadges+": [ @@ -142,10 +143,10 @@ { "builtin": "shops", "override": { - "minzoom": 18, "filter": { "sameAs": "shop_dog_friendly" }, + "minzoom": 18, "name": null } }, @@ -153,10 +154,13 @@ "builtin": "waste_basket", "override": { "id": "waste_basket_dogs", - "name": { - "en": "Waste baskets with excrement bag dispensers" + "name=": { + "en": "Waste baskets with excrement bag dispensers", + "nl": "Vuilnisbakken met verdelers voor hondenpoepzakjes" }, "presets=": [], + "filter=": [], + "minzoom": 14, "source": { "osmTags": { "and+": [ From 28169308cb9ff4d8f41f6547e88d942ffb6a8611 Mon Sep 17 00:00:00 2001 From: mcliquid Date: Sun, 19 Jan 2025 21:37:14 +0000 Subject: [PATCH 34/42] Translated using Weblate (German) Currently translated at 100.0% (4117 of 4117 strings) Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/de/ --- langs/layers/de.json | 652 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 624 insertions(+), 28 deletions(-) diff --git a/langs/layers/de.json b/langs/layers/de.json index e0baa50677..ed33a4f2e1 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -921,10 +921,10 @@ "then": "Dieser Grill kann nur von Kunden genutzt werden" }, "5": { - "then": "Zugang nur für Berechtigte" + "then": "Dieses Barbecue darf nur von autorisierten Personen benutzt werden" } }, - "question": "Was ist der erlaubte Zugang?" + "question": "Wer darf diesen Grill benutzen?" }, "covered": { "mappings": { @@ -940,19 +940,19 @@ "fuel": { "mappings": { "0": { - "then": "Holz" + "then": "Dieser Grill wird mit Holz betrieben" }, "1": { - "then": "Kohle" + "then": "Dieser Grill wird mit Kohle betrieben" }, "2": { - "then": "Elektronisch" + "then": "Dieser Grill wird mit Strom betrieben" }, "3": { - "then": "Gas" + "then": "Dieser Grill wird mit Gas betrieben" } }, - "question": "Womit wird der Grill befeuert?" + "question": "Womit wird dieser Grill angeheizt?" } }, "title": { @@ -962,10 +962,26 @@ "beehive": { "tagRenderings": { "capacity": { - "question": "Wie viele Bienenstöcke gibt es?" + "question": "Wie viele Bienenstöcke gibt es?", + "mappings": { + "0": { + "then": "Es gibt 1 Bienenstock" + } + }, + "render": "Es gibt {capacity} Bienenstöcke", + "freeform": { + "placeholder": "Anzahl der Bienenstöcke" + } } }, - "title": "Bienenstock" + "title": "Bienenstock", + "presets": { + "0": { + "title": "ein Bienenstock" + } + }, + "name": "Bienenstöcke", + "description": "Ebene mit Bienenstöcken" }, "bench": { "description": "Diese Karte stellt Sitzbänke aus Holz, Metall, Stein, … dar und stellt ein paar Fragen, um weitere Informationen zu ergänzen.", @@ -1620,7 +1636,8 @@ } }, "question": "Was ist die Art dieses Fahrrad-Parkplatzes?", - "render": "Dies ist ein Fahrrad-Parkplatz der Art: {bicycle_parking}" + "render": "Dies ist ein Fahrrad-Parkplatz der Art: {bicycle_parking}", + "questionHint": "Hier geht es um das physische Gerät, in das man sein Fahrrad stellt und mit dem man es abschließt" }, "Capacity": { "question": "Wie viele Fahrräder passen auf diesen Fahrrad-Parkplatz?", @@ -1662,6 +1679,18 @@ }, "5": { "then": "Der Parkplatz ist nicht überdacht" + }, + "3": { + "then": "Dieser Fahrradabstellplatz befindet sich unter (einem Teil) eines Gebäudes" + }, + "1": { + "then": "Dies ist ein überdachter Fahrradabstellplatz; das Dach dient nur dem Fahrradabstellplatz" + }, + "2": { + "then": "Dieser Fahrradabstellplatz befindet sich in einem Gebäude hinter einer Tür oder einem Tor" + }, + "0": { + "then": "Dies ist ein Fahrradschuppen (mit Wänden an mindestens drei Seiten)" } }, "question": "Ist der Parkplatz überdacht?" @@ -2881,7 +2910,7 @@ }, "max_bolts": { "question": "Wie viele Haken haben die Routen in {title()} maximal?", - "render": "Die Sportkletterrouten hier haben maximal {climbing:bolts:max} Haken.
Dies ist ohne Relais und gibt an, wie viel Schnellspanner ein Kletterer braucht
" + "render": "Die Sportkletterrouten hier haben höchstens {climbing:bolts:max} Bohrhaken.
Dies gilt ohne Sicherungsstationen und gibt an, wie viele Expressschlingen ein Kletterer benötigt.
" }, "max_difficulty": { "question": "Welche Schwierigkeit hat hier die schwerste Route (französisch/belgisches System)?", @@ -2911,7 +2940,7 @@ "then": "Toprope-Klettern ist hier möglich" }, "1": { - "then": "Toprope-Climbing ist hier nicht möglich" + "then": "Toprope-Klettern ist hier nicht möglich" }, "2": { "then": "Hier gibt es {climbing:toprope} Toprope-Routen" @@ -3062,7 +3091,7 @@ "belay_device_rental": { "mappings": { "0": { - "then": "Jeder Seil hat ein Sicherungsgerät" + "then": "Jedes Seil hat ein Sicherungsgerät" }, "1": { "then": "Ein Sicherungsgerät kann hier kostenlos ausgeliehen werden" @@ -3077,7 +3106,7 @@ "then": "Ein Sicherungsgerät kann hier nicht ausgeliehen werden" } }, - "question": "Kann man hier ein Sicherungsgerät ausleihen?" + "question": "Kann man hier ein Sicherungsgerät für die Kletterwand ausleihen?" }, "harness_rental": { "mappings": { @@ -3094,7 +3123,7 @@ "then": "Ein Klettergurt kann hier nicht ausgeliehen werden" } }, - "question": "Kann man hier einen Klettergurt ausleihen?" + "question": "Kann man hier einen Klettergurt für die Kletterwand ausleihen?" }, "name": { "question": "Wie heißt diese Kletterhalle?" @@ -3114,7 +3143,7 @@ "then": "Ein Kletterseil kann hier nicht ausgeliehen werden" } }, - "question": "Kann man hier ein Kletterseil ausleihen?" + "question": "Kann man hier ein Kletterseil für die Kletterwand ausleihen?" }, "shoe_rental": { "mappings": { @@ -3131,7 +3160,41 @@ "then": "Kletterschuhe können hier nicht ausgeliehen werden" } }, - "question": "Kann man hier Kletterschuhe ausleihen?" + "question": "Kann man hier Kletterschuhe für die Kletterwand ausleihen?" + }, + "auto_belay_toprope": { + "questionHint": "Ausgenommen Selbstsicherungen, die nur für das Speedklettern gedacht sind", + "question": "Gibt es hier Selbstsicherungen für das Toprope-Klettern?", + "mappings": { + "3": { + "then": "Klettersteige können nur mit Selbstsicherung geklettert werden" + }, + "2": { + "then": "Für jede Toprope-Route gibt es eine Selbstsicherung , aber auch manuelles Sichern ist möglich" + }, + "1": { + "then": "Es gibt eine Reihe von Selbstsicherungen für das Toprope-Klettern" + }, + "0": { + "then": "Es gibt keine Selbstsicherungen für das Toprope-Klettern" + } + }, + "render": "Es gibt {climbing:autobelay:toprope} Selbstsicherungsgeräte für das Toprope-Klettern" + }, + "auto_belay_lead": { + "mappings": { + "2": { + "then": "Für jede Vorstiegskletterroute gibt es eine Selbstsicherung" + }, + "1": { + "then": "Es gibt eine Reihe von Selbstsicherungen für das Vorstiegsklettern" + }, + "0": { + "then": "Es gibt keine Selbstsicherungen für das Vorstiegsklettern" + } + }, + "render": "Es gibt {climbing:autobelay:sport} Selbstsicherungen für das Vorstiegsklettern", + "question": "Gibt es hier Selbstsicherungen für das Vorstiegsklettern?" } }, "title": { @@ -3206,7 +3269,7 @@ } }, "question": "Wie viele Haken gibt es auf dieser Kletterroute bevor der Umlenker bzw. Standhaken erreicht ist?", - "render": "Diese Route hat {climbing:bolts} Haken
Dies ist ohne Relais und gibt an, wie viel Schnellspanner ein Kletterer braucht
" + "render": "Diese Route hat {climbing:bolts} Bohrhaken.
Dies ist ohne Sicherungsstationen und gibt an, wie viele Expressschlingen ein Kletterer benötigt.
" } }, "title": { @@ -4414,6 +4477,26 @@ } }, "question": "Um welche Art von Trinkwasserentnahmestelle handelt es sich?" + }, + "temperature-cold": { + "mappings": { + "3": { + "then": "Hier wird warmes Wasser bereitgestellt; das Wasser ist nicht gefährlich heiß" + }, + "4": { + "then": "Hier wird heißes Wasser bereitgestellt" + }, + "2": { + "then": "Wasser mit Umgebungstemperatur (ohne aktive Kühlung oder Heizung) ist hier verfügbar" + }, + "1": { + "then": "Hier steht aktiv gekühltes Wasser zur Verfügung" + }, + "0": { + "then": "Hier wird eiskaltes Wasser bereitgestellt" + } + }, + "question": "Gibt es hier kaltes Wasser?" } }, "title": { @@ -5562,7 +5645,8 @@ "1": { "then": "Dieses Fast-Food-Restaurant hat keinen Drive-in" } - } + }, + "question": "Hat dieses Fast-Food-Restaurant eine Durchfahrtsmöglichkeit?" }, "friture-oil": { "mappings": { @@ -5675,6 +5759,15 @@ } }, "question": "Bietet das Restaurant biologische Speisen an?" + }, + "drive-through-opening_hours": { + "question": "Wie sind die Öffnungszeiten des Drive-Ins?", + "mappings": { + "0": { + "then": "Die Öffnungszeiten des Drive-Ins sind dieselben wie die des Restaurants" + } + }, + "render": "

Öffnungszeiten der Drive-in-Filiale

{opening_hours_table(opening_hours:drive_through)}" } }, "title": { @@ -6357,7 +6450,14 @@ } }, "insect_hotel": { - "description": "Ebene mit Insektenhotels" + "description": "Ebene mit Insektenhotels", + "title": "Insektenhotel", + "presets": { + "0": { + "title": "Ein Insektenhotel" + } + }, + "name": "Insektenhotels" }, "item_with_image": { "name": "Element mit mindestens einem Bild", @@ -8932,6 +9032,29 @@ } }, "question": "Wie lautet das zugehörige Wikidata Element?" + }, + "maxstay": { + "question": "Wie lange darf man sich maximal hier aufhalten?", + "mappings": { + "0": { + "then": "Es gibt keine zeitliche Begrenzung für den Aufenthalt hier" + } + }, + "render": "Man kann höchstens {canonical(maxstay)} bleiben" + }, + "seating": { + "question": "Welche Art von Sitzgelegenheiten hat {title()}?", + "mappings": { + "1": { + "then": "Dieser Ort hat Sitzplätze im Innenbereich" + }, + "0": { + "then": "Dieser Ort hat Sitzgelegenheiten im Freien" + } + } + }, + "name": { + "question": "Wie heißt dieser Ort?" } } }, @@ -9086,6 +9209,13 @@ "question": "Nur öffentliche Recyclingeinrichtungen" } } + }, + "1": { + "options": { + "0": { + "question": "Nur Recyclingzentren" + } + } } }, "name": "Recyclingeinrichtungen", @@ -9456,7 +9586,11 @@ "question": "Was ist der Stammesname?", "render": "Dieser Stamm heißt {name}" } - } + }, + "title": { + "render": "{name}" + }, + "description": "Eine Karte mit Pfadfindergruppen." }, "search": { "description": "Priorisierte Ebene, die Suchergebnissen anzeigt", @@ -9646,7 +9780,12 @@ } }, "question": "Um was für ein Geschäft handelt es sich?", - "render": "Das ist ein {shop}" + "render": "Das ist ein {shop}", + "mappings+": { + "0": { + "then": "Dieser Laden wird nicht mehr genutzt. Er steht leer" + } + } } }, "key_cutter": { @@ -9711,6 +9850,17 @@ "shops-name": { "question": "Wie ist der Name dieses Geschäfts?", "render": "Der Name des Geschäfts lautet {name}" + }, + "optometrist_service": { + "question": "Gibt es hier medizinische Versorgung?", + "mappings": { + "1": { + "then": "Dieser Shop bietet Hörtests durch einen zertifizierten Audiologen an" + }, + "0": { + "then": "Dieser Shop bietet Augenuntersuchungen durch zertifizierte Optiker an" + } + } } }, "title": { @@ -10261,6 +10411,398 @@ }, "title": { "render": "Sportzentrum" + }, + "tagRenderings": { + "sport_centre-sport": { + "mappings": { + "6": { + "then": "Leichtathletik" + }, + "80": { + "then": "Padel-Tennis" + }, + "81": { + "then": "Paintball" + }, + "120": { + "then": "Wakeboarden" + }, + "13": { + "then": "Beachvolleyball" + }, + "42": { + "then": "Feldhockey" + }, + "22": { + "then": "Kanadischer Fußball" + }, + "11": { + "then": "Baseball" + }, + "37": { + "then": "Hundetraining" + }, + "45": { + "then": "Unihockey" + }, + "26": { + "then": "Klettern" + }, + "109": { + "then": "Schwimmen" + }, + "108": { + "then": "Surfen" + }, + "103": { + "then": "Fußball" + }, + "101": { + "then": "Skispringen" + }, + "100": { + "then": "Skateboard" + }, + "10": { + "then": "Basejumping" + }, + "0": { + "then": "Kegeln" + }, + "1": { + "then": "Bowling" + }, + "102": { + "then": "Snooker" + }, + "104": { + "then": "Softball" + }, + "105": { + "then": "Motorrad-Speedway" + }, + "106": { + "then": "Squash" + }, + "107": { + "then": "Sumoringen" + }, + "126": { + "then": "Yoga" + }, + "125": { + "then": "Wrestling" + }, + "124": { + "then": "Windsurfen" + }, + "123": { + "then": "Olympisches Gewichtheben" + }, + "122": { + "then": "Wasserski" + }, + "12": { + "then": "Basketball" + }, + "119": { + "then": "Volleyball" + }, + "113": { + "then": "Tennis" + }, + "112": { + "then": "Taekwondo" + }, + "111": { + "then": "Tischfußball" + }, + "110": { + "then": "Tischtennis" + }, + "114": { + "then": "Teqball" + }, + "115": { + "then": "Rodeln" + }, + "116": { + "then": "Trampolin" + }, + "117": { + "then": "Ultimate Frisbee" + }, + "118": { + "then": "Ultraleichtflug" + }, + "121": { + "then": "Wasserball" + }, + "127": { + "then": "Zurkhaneh-Sport" + }, + "58": { + "then": "Eishockey" + }, + "57": { + "then": "Pferderennen" + }, + "55": { + "then": "Wandern" + }, + "53": { + "then": "Handball" + }, + "52": { + "then": "Turnen" + }, + "51": { + "then": "Golf" + }, + "5": { + "then": "Bogenschießen" + }, + "47": { + "then": "Gleitschirmfliegen" + }, + "33": { + "then": "Radpolo" + }, + "32": { + "then": "Eisstockschießen" + }, + "30": { + "then": "CrossFit" + }, + "24": { + "then": "Schach" + }, + "20": { + "then": "Boxen" + }, + "2": { + "then": "Aerobic" + }, + "17": { + "then": "Bobfahren" + }, + "16": { + "then": "BMX" + }, + "14": { + "then": "Biathlon" + }, + "15": { + "then": "Cuesport" + }, + "18": { + "then": "Boule" + }, + "21": { + "then": "Stierkampf" + }, + "23": { + "then": "Kanu" + }, + "25": { + "then": "Wettkampffreies Tauchen" + }, + "28": { + "then": "Hahnenkampf" + }, + "29": { + "then": "Kricket" + }, + "3": { + "then": "American Football" + }, + "31": { + "then": "Krocket" + }, + "48": { + "then": "Hallenfußball" + }, + "49": { + "then": "Gälische Spiele" + }, + "50": { + "then": "Gaga-Ball" + }, + "54": { + "then": "Hapkido" + }, + "59": { + "then": "Eislaufen" + }, + "60": { + "then": "Eisstockschießen" + }, + "61": { + "then": "Judo" + }, + "19": { + "then": "Bowls" + }, + "27": { + "then": "Seilgarten" + }, + "56": { + "then": "Hufeisenwerfen" + }, + "46": { + "then": "Four Square" + }, + "71": { + "then": "Minigolf" + }, + "65": { + "then": "Kitesurfen" + }, + "62": { + "then": "Karate" + }, + "63": { + "then": "Go-Kart-Rennen" + }, + "64": { + "then": "Kickboxen" + }, + "66": { + "then": "Korfball" + }, + "67": { + "then": "Krachtball" + }, + "68": { + "then": "Lacrosse" + }, + "7": { + "then": "Australian-Football" + }, + "70": { + "then": "Kampfsport" + }, + "72": { + "then": "Modellflug" + }, + "73": { + "then": "Motocross" + }, + "74": { + "then": "Motorsport" + }, + "75": { + "then": "Viele verschiedene Sportarten" + }, + "69": { + "then": "Laser Tag" + }, + "97": { + "then": "Tauchen" + }, + "96": { + "then": "Segeln" + }, + "92": { + "then": "Rudern" + }, + "87": { + "then": "Pilates" + }, + "8": { + "then": "Federball" + }, + "76": { + "then": "Netzball" + }, + "77": { + "then": "Hindernislauf" + }, + "78": { + "then": "Orientierungslauf" + }, + "79": { + "then": "Paddle-Tennis" + }, + "82": { + "then": "Fallschirmspringen" + }, + "88": { + "then": "Pole-Dance" + }, + "90": { + "then": "Modellauto" + }, + "91": { + "then": "Rollschuhlaufen" + }, + "93": { + "then": "Rugbyliga" + }, + "95": { + "then": "Laufsport" + }, + "83": { + "then": "Parkour" + }, + "89": { + "then": "Racquetball" + }, + "9": { + "then": "Bandy" + }, + "94": { + "then": "Rugby Union" + }, + "85": { + "then": "Pesäpallo" + }, + "86": { + "then": "Pickleball" + }, + "84": { + "then": "Palota" + }, + "98": { + "then": "Schießen" + }, + "99": { + "then": "Kugelstoßen" + }, + "35": { + "then": "Tanz" + }, + "36": { + "then": "Dart" + }, + "38": { + "then": "Windhundrennen" + }, + "39": { + "then": "Drachenboot" + }, + "4": { + "then": "Aikido" + }, + "44": { + "then": "Fußball mit 5 Personen" + }, + "43": { + "then": "Fitnesstraining" + }, + "34": { + "then": "Radfahren" + }, + "40": { + "then": "Reitsport" + }, + "41": { + "then": "Fechten" + } + }, + "render": "Hier werden folgende Sportarten ausgeübt: {sport}", + "question": "Welche Sportarten werden hier ausgeübt?" + } } }, "stairs": { @@ -10277,8 +10819,15 @@ }, "4": { "then": "Das ist keine Rolltreppe" + }, + "2": { + "then": "Diese Rolltreppe ist beidseitig befahrbar" + }, + "1": { + "then": "Dies ist eine Rolltreppe, die sich in Richtung der Pfeile bewegt" } - } + }, + "question": "Ist das eine Rolltreppe?" }, "handrail": { "mappings": { @@ -10655,7 +11204,8 @@ "2": { "then": "Diese Kamera ist möglicherweise im Freien" } - } + }, + "question": "Befindet sich diese Kamera drinnen oder draußen?" }, "has_alpr": { "mappings": { @@ -11123,6 +11673,13 @@ "wheelchair-door-width": { "question": "Wie breit ist die Tür zur rollstuhlgerechten Toilette?", "render": "Die Tür zur rollstuhlgerechten Toilette ist {canonical(door:width)} breit" + }, + "toilet-reviews": { + "render": { + "special": { + "question": "Wie würdest du diese Toilette bewerten?" + } + } } }, "title": { @@ -12077,14 +12634,14 @@ "more_privacy": { "mappings": { "0": { - "then": "Wenn du Änderungen an OpenStreetMap vornimmst, gibst du nicht an, wie weit du von den geänderten Objekten entfernt warst." + "then": "Wenn ich Änderungen an OpenStreetMap vornehme, gebe ich nicht an, wie weit ich von den geänderten Objekten entfernt war." }, "1": { "then": "Gebe bei Änderungen an OpenStreetMap an, wie weit du ungefähr von den geänderten Objekten entfernt warst. Das hilft anderen Mitwirkenden zu verstehen, wie du die Änderung vorgenommen hast" } }, "question": "Sollte bei Änderungen eine grobe Angabe gemacht werden, wie weit du vom Objekt entfernt warst?", - "questionHint": "Wenn du eine Änderung an einem oder mehreren Objekten vornimmst und deinen Standort aktivierst, wird eine ungefähre Angabe darüber gespeichert, wo du dich befunden hast: Es wird angezeigt, ob du näher als 25m, 500m, 5km oder weiter als 5km entfernt warst. Das hilft den Kartierern, deinen Kontext zu verstehen, wenn du Änderungen vornimmst, gibt aber auch einen Hinweis darauf, wo du zu diesem Zeitpunkt warst. " + "questionHint": "Wenn du eine Änderung an einem oder mehreren Objekten vornimmst und deinen Standort aktivierst, wird eine ungefähre Angabe darüber gespeichert, wo du dich befunden hast: Es wird angezeigt, ob du näher als 25m, 500m, 5km oder weiter als 5km entfernt warst. Das hilft den Kartierern, deinen Kontext zu verstehen, wenn du Änderungen vornimmst, gibt aber auch einen Hinweis darauf, wo du zu diesem Zeitpunkt warst." }, "more_privacy_theme_override": { "mappings": { @@ -12124,7 +12681,21 @@ }, "show_crosshair": { "question": "Soll ein Fadenkreuz in der Mitte des Bildschirms angezeigt werden?", - "questionHint": "Dies kann dazu beitragen, ein neues Element genau zu positionieren" + "questionHint": "Dies kann dazu beitragen, ein neues Element genau zu positionieren", + "mappings": { + "3": { + "then": "Zeige immer ein Fadenkreuz in der Mitte der Karte an" + }, + "2": { + "then": "Zeige kein Fadenkreuz in der Mitte der Karte an" + }, + "1": { + "then": "Zeige kein Fadenkreuz in der Mitte der Karte an" + }, + "0": { + "then": "Zeige ein Fadenkreuz in der Mitte der Karte, wenn über Stufe 17 hinaus gezoomt wird" + } + } }, "show_debug": { "mappings": { @@ -12167,7 +12738,7 @@ "then": "Gesuchte und überprüfte Orte auf meinem Gerät speichern" }, "2": { - "then": "Gesuchte und überprüfte Orte nicht auf meinem Gerät speichern " + "then": "Gesuchte und überprüfte Orte nicht auf meinem Gerät speichern" } }, "question": "Sollen die gesuchten und überprüften Orte gespeichert werden?", @@ -12245,6 +12816,9 @@ "then": "Wir haben einen Link gefunden, der aussieht wie ein Mastodon-Konto, aber nicht verifiziert ist. Bearbeiten Sie Ihre Profilbeschreibung und fügen Sie dort Folgendes ein: <a href=\"{_mastodon_candidate}\" rel=\"me\">Mastodon</a>" } } + }, + "translations-title": { + "render": "

MapComplete übersetzen

" } }, "title": { @@ -12815,5 +13389,27 @@ }, "render": "Windrad" } + }, + "charge_point": { + "presets": { + "0": { + "description": "Füge eine einzelne Ladesäule innerhalb einer größeren Ladestation hinzu", + "title": "eine Ladesäule" + } + }, + "name": "Ladesäulen", + "description": "Ebene, die einzelne Ladepunkte innerhalb einer Ladestation anzeigt", + "title": { + "render": "Ladesäule" + }, + "tagRenderings": { + "ref": { + "render": "Die Referenz dieser Ladesäule ist {ref}", + "question": "Wie lautet die Referenznummer dieser Ladesäule?", + "freeform": { + "placeholder": "Referenznummer der Ladesäule, z. B. 2126" + } + } + } } } From 213cc4df5c4892bf020498dd82cb73156e8ed9e9 Mon Sep 17 00:00:00 2001 From: Hufkratzer Date: Sun, 19 Jan 2025 23:31:14 +0000 Subject: [PATCH 35/42] Translated using Weblate (German) Currently translated at 100.0% (4117 of 4117 strings) Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/de/ --- langs/layers/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langs/layers/de.json b/langs/layers/de.json index ed33a4f2e1..5884549613 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -10354,7 +10354,7 @@ "then": "Hier wird Tennis gespielt" }, "4": { - "then": "Hier wird Kopfball gespielt" + "then": "Hier wird Korfball gespielt" }, "5": { "then": "Hier wird Basketball gespielt" From a5aeeff8da85393f734701012d55035acf28683a Mon Sep 17 00:00:00 2001 From: Manuel Date: Mon, 20 Jan 2025 17:49:18 +0000 Subject: [PATCH 36/42] Translated using Weblate (Italian) Currently translated at 24.8% (1024 of 4117 strings) Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/it/ --- langs/layers/it.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/langs/layers/it.json b/langs/layers/it.json index 5015f93908..6fb2da0dc0 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -184,7 +184,7 @@ "then": "Masso" }, "7": { - "then": "Istallazione" + "then": "Installazione" }, "8": { "then": "Graffiti" @@ -3341,4 +3341,4 @@ "render": "pala eolica" } } -} \ No newline at end of file +} From 0f7549abbe3ab24e9a7b0f1219caff1aee78c090 Mon Sep 17 00:00:00 2001 From: mike140 Date: Mon, 20 Jan 2025 19:29:45 +0000 Subject: [PATCH 37/42] Translated using Weblate (Ukrainian) Currently translated at 16.6% (686 of 4117 strings) Translation: MapComplete/layers Translate-URL: https://translate.mapcomplete.org/projects/mapcomplete/layers/uk/ --- langs/layers/uk.json | 124 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 123 insertions(+), 1 deletion(-) diff --git a/langs/layers/uk.json b/langs/layers/uk.json index 068aac6d28..500f3f2de3 100644 --- a/langs/layers/uk.json +++ b/langs/layers/uk.json @@ -480,6 +480,11 @@ }, "question": "Є веб-сайт для цього велосипедного прилавка?" } + }, + "presets": { + "0": { + "title": "стійка для велосипедів" + } } }, "bicycle_rental": { @@ -499,6 +504,9 @@ "0": { "description": "Магазин, який спеціалізується на прокаті велосипедів", "title": "пункт прокату велосипедів" + }, + "1": { + "title": "прокат велосипедів" } }, "tagRenderings": { @@ -597,6 +605,11 @@ "operator_website": { "question": "Яка адреса веб-сайту оператора цієї велопарковки?" } + }, + "presets": { + "0": { + "title": "велопарковка" + } } }, "bike_repair_station": { @@ -657,6 +670,19 @@ "then": "Станція ремонту велосипедів" } } + }, + "presets": { + "2": { + "description": "Інструменти для ремонту велосипеда в громадському просторі (без насоса). Інструменти захищені від крадіжки.", + "title": "станція ремонту велосипедів без насоса" + }, + "0": { + "title": "велосипедний насос", + "description": "Пристрій для накачування шин на фіксованому місці в громадському просторі." + }, + "1": { + "description": "Велосипедний насос та інструменти для ремонту велосипеда в громадському просторі. Інструменти часто захищені ланцюгами від крадіжки." + } } }, "bike_shop": { @@ -666,6 +692,11 @@ "then": "Пункт прокату велосипедів {name}" } } + }, + "presets": { + "0": { + "title": "майстерня з ремонту велосипедів" + } } }, "cafe_pub": { @@ -781,6 +812,14 @@ "question": "На якому веб-сайті можна знайти більше інформації про цю зарядну станцію?", "render": "Більше інформації на {website}" } + }, + "presets": { + "1": { + "title": "зарядна станція для автомобілів" + }, + "0": { + "title": "зарядна станція для електровелосипедів" + } } }, "climbing": { @@ -916,6 +955,22 @@ } }, "question": "Що це за тип пункту питної води?" + }, + "fee": { + "mappings": { + "0": { + "then": "Безкоштовне використання" + }, + "1": { + "then": "Користування цим пунктом питної води є платним" + } + }, + "question": "Чи можна користуватися цим пунктом питної води безкоштовно?" + } + }, + "presets": { + "0": { + "title": "питна вода" } } }, @@ -1041,6 +1096,19 @@ "then": "Фаст-фуд {name}" } } + }, + "presets": { + "1": { + "title": "фаст-фуд", + "description": "Харчовий бізнес, що зосереджується на швидкому обслуговуванні на прилавку та їжі на винос" + }, + "2": { + "description": "Бізнес швидкого харчування, орієнтований на картоплю фрі" + }, + "0": { + "description": "Офіційний заклад харчування з місцями для сидіння, де продають повноцінні обіди, які обслуговують офіціанти", + "title": "ресторан" + } } }, "ghost_bike": { @@ -1715,6 +1783,14 @@ }, "question": "Що це за тип переробки?" } + }, + "presets": { + "0": { + "title": "контейнер для сміття" + }, + "1": { + "title": "центр переробки відходів" + } } }, "school": { @@ -1775,7 +1851,8 @@ }, "presets": { "0": { - "description": "Пізніше ви можете уточнити, що саме продає цей магазин." + "description": "Пізніше ви можете уточнити, що саме продає цей магазин.", + "title": "магазин" } }, "tagRenderings": { @@ -2451,6 +2528,11 @@ }, "title": { "render": "Торговий автомат" + }, + "presets": { + "0": { + "title": "торговий автомат" + } } }, "waste_basket": { @@ -2462,6 +2544,11 @@ } } } + }, + "presets": { + "0": { + "title": "кошик для сміття" + } } }, "waste_disposal": { @@ -2509,6 +2596,41 @@ }, "title": { "render": "Утилізація відходів" + }, + "presets": { + "0": { + "title": "сміттєвий бак для відходів" + } + } + }, + "bicycle_library": { + "presets": { + "0": { + "description": "Велосипедна бібліотека має колекцію велосипедів, які можна взяти напрокат", + "title": "велосипедна бібліотека" + } + } + }, + "ice_cream": { + "presets": { + "0": { + "description": "Магазин, де можна купити лише морозиво та супутні товари. Зазвичай морозиво набирають вручну.", + "title": "кафе-морозиво" + } + } + }, + "bike_cleaning": { + "presets": { + "0": { + "title": "послуга з миття велосипедів" + } + } + }, + "bike_cafe": { + "presets": { + "0": { + "title": "велокафе" + } } } } From 3bf099c14a5803929f2d787f8e2096dde8010f57 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 21 Jan 2025 03:00:12 +0100 Subject: [PATCH 38/42] Refactoring: remove obsolete 'loggedIn' on userdetails-object --- src/Logic/Osm/OsmConnection.ts | 15 +-------------- src/Logic/Osm/OsmPreferences.ts | 6 +++--- src/UI/Base/OpenJosm.svelte | 2 +- src/UI/Image/DeletableImage.svelte | 2 +- src/UI/Image/ImageCarousel.svelte | 4 ---- src/UI/Popup/DeleteFlow/DeleteFlowState.ts | 2 +- src/UI/Popup/TagHint.svelte | 2 +- 7 files changed, 8 insertions(+), 25 deletions(-) diff --git a/src/Logic/Osm/OsmConnection.ts b/src/Logic/Osm/OsmConnection.ts index e59678b64e..24f8033674 100644 --- a/src/Logic/Osm/OsmConnection.ts +++ b/src/Logic/Osm/OsmConnection.ts @@ -20,7 +20,6 @@ interface OsmUserInfo { } export default class UserDetails { - public loggedIn = false public name = "Not logged in" public uid: number public csCount = 0 @@ -136,7 +135,6 @@ export class OsmConnection { const ud = this.userDetails.data ud.csCount = 5678 ud.uid = 42 - ud.loggedIn = true ud.unreadMessages = 0 ud.name = "Fake user" ud.totalMessages = 42 @@ -148,18 +146,9 @@ export class OsmConnection { this.UpdateCapabilities() this.isLoggedIn = this.userDetails.map( - (user) => - user.loggedIn && - (this.apiIsOnline.data === "unknown" || this.apiIsOnline.data === "online"), + (user) => user !== undefined && (this.apiIsOnline.data === "unknown" || this.apiIsOnline.data === "online"), [this.apiIsOnline] ) - this.isLoggedIn.addCallback((isLoggedIn) => { - if (this.userDetails.data.loggedIn == false && isLoggedIn == true) { - // We have an inconsistency: the userdetails say we _didn't_ log in, but this actor says we do - // This means someone attempted to toggle this; so we attempt to login! - this.AttemptLogin() - } - }) this._dryRun = options.dryRun ?? new UIEventSource(false) @@ -214,7 +203,6 @@ export class OsmConnection { public LogOut() { this.auth.logout() - this.userDetails.data.loggedIn = false this.userDetails.data.csCount = 0 this.userDetails.data.name = "" this.userDetails.ping() @@ -279,7 +267,6 @@ export class OsmConnection { const userInfo = details.getElementsByTagName("user")[0] const data = this.userDetails.data - data.loggedIn = true console.log("Login completed, userinfo is ", userInfo) data.name = userInfo.getAttribute("display_name") data.account_created = userInfo.getAttribute("account_created") diff --git a/src/Logic/Osm/OsmPreferences.ts b/src/Logic/Osm/OsmPreferences.ts index 165e688961..28cc4cccc6 100644 --- a/src/Logic/Osm/OsmPreferences.ts +++ b/src/Logic/Osm/OsmPreferences.ts @@ -1,8 +1,8 @@ import { Store, UIEventSource } from "../UIEventSource" import { OsmConnection } from "./OsmConnection" import { LocalStorageSource } from "../Web/LocalStorageSource" -import OSMAuthInstance = OSMAuth.osmAuth import { Utils } from "../../Utils" +import OSMAuthInstance = OSMAuth.osmAuth export class OsmPreferences { /** @@ -279,7 +279,7 @@ export class OsmPreferences { * @private */ private deleteKeyDirectly(k: string) { - if (!this.osmConnection.userDetails.data.loggedIn) { + if (!this.osmConnection.isLoggedIn.data) { console.debug(`Not saving preference ${k}: user not logged in`) return } @@ -312,7 +312,7 @@ export class OsmPreferences { * Deletes it if 'v' is undefined, null or empty */ private async uploadKeyDirectly(k: string, v: string) { - if (!this.osmConnection.userDetails.data.loggedIn) { + if (!this.osmConnection.isLoggedIn.data) { console.debug(`Not saving preference ${k}: user not logged in`) return } diff --git a/src/UI/Base/OpenJosm.svelte b/src/UI/Base/OpenJosm.svelte index e3bbb60886..ca43660c66 100644 --- a/src/UI/Base/OpenJosm.svelte +++ b/src/UI/Base/OpenJosm.svelte @@ -14,7 +14,7 @@ josmState.stabilized(15000).addCallbackD(() => josmState.setData(undefined)) const showButton = state.osmConnection.userDetails.map( - (ud) => ud.loggedIn && ud.csCount >= Constants.userJourney.historyLinkVisible + (ud) => ud?.csCount >= Constants.userJourney.historyLinkVisible ) function openJosm() { diff --git a/src/UI/Image/DeletableImage.svelte b/src/UI/Image/DeletableImage.svelte index 25db1d825b..a5e60e4a58 100644 --- a/src/UI/Image/DeletableImage.svelte +++ b/src/UI/Image/DeletableImage.svelte @@ -44,7 +44,7 @@ const imageInfo = await panoramax.imageInfo(image.id) let reporter_email: string = undefined const userdetails = state.userRelatedState.osmConnection.userDetails - if (userdetails.data.loggedIn) { + if (userdetails.data?.loggedIn) { reporter_email = userdetails.data.name + "@openstreetmap.org" } diff --git a/src/UI/Image/ImageCarousel.svelte b/src/UI/Image/ImageCarousel.svelte index b8fb8a14bc..c071c1d1a0 100644 --- a/src/UI/Image/ImageCarousel.svelte +++ b/src/UI/Image/ImageCarousel.svelte @@ -12,10 +12,6 @@ export let estimated: Store - images.addCallbackAndRun(imgs => { - console.log(">>><<< imgs are", imgs) - }) - {#if $estimated > 0 && $images.length < 1} diff --git a/src/UI/Popup/DeleteFlow/DeleteFlowState.ts b/src/UI/Popup/DeleteFlow/DeleteFlowState.ts index f9595b79aa..8d230413f7 100644 --- a/src/UI/Popup/DeleteFlow/DeleteFlowState.ts +++ b/src/UI/Popup/DeleteFlow/DeleteFlowState.ts @@ -54,7 +54,7 @@ export class DeleteFlowState { if (ud === undefined) { return undefined } - if (!ud.loggedIn) { + if (!ud) { return false } return ( diff --git a/src/UI/Popup/TagHint.svelte b/src/UI/Popup/TagHint.svelte index 099422e15e..e7eb543dc1 100644 --- a/src/UI/Popup/TagHint.svelte +++ b/src/UI/Popup/TagHint.svelte @@ -23,7 +23,7 @@ $: tagsExplanation = tags?.asHumanString(true, false, currentProperties) -{#if !userDetails || $userDetails.loggedIn} +{#if !userDetails}
{#if tags === undefined} From 87c68cedc7d7ff9dae1a865ccc3fc8d0e1baedca Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Tue, 21 Jan 2025 20:47:57 +0100 Subject: [PATCH 39/42] UX: make settings available if not logged in --- src/Logic/Osm/OsmConnection.ts | 6 ++-- src/Models/ThemeConfig/TagRenderingConfig.ts | 7 ++-- src/UI/BigComponents/MenuDrawer.svelte | 7 ---- .../TagRendering/TagRenderingQuestion.svelte | 34 +++++++++++++------ 4 files changed, 30 insertions(+), 24 deletions(-) diff --git a/src/Logic/Osm/OsmConnection.ts b/src/Logic/Osm/OsmConnection.ts index 24f8033674..bffd61bf5b 100644 --- a/src/Logic/Osm/OsmConnection.ts +++ b/src/Logic/Osm/OsmConnection.ts @@ -146,7 +146,7 @@ export class OsmConnection { this.UpdateCapabilities() this.isLoggedIn = this.userDetails.map( - (user) => user !== undefined && (this.apiIsOnline.data === "unknown" || this.apiIsOnline.data === "online"), + (user) => user !== undefined && this.apiIsOnline.data === "online", [this.apiIsOnline] ) @@ -578,8 +578,10 @@ export class OsmConnection { if (!(this.apiIsOnline.data === "unreachable" || this.apiIsOnline.data === "offline")) { return } + if (!this.isLoggedIn.data) { + return + } try { - console.log("Api is offline - trying to reconnect...") this.AttemptLogin() } catch (e) { console.log("Could not login due to", e) diff --git a/src/Models/ThemeConfig/TagRenderingConfig.ts b/src/Models/ThemeConfig/TagRenderingConfig.ts index 4c078c5cab..7a763e3464 100644 --- a/src/Models/ThemeConfig/TagRenderingConfig.ts +++ b/src/Models/ThemeConfig/TagRenderingConfig.ts @@ -5,10 +5,7 @@ import { TagUtils } from "../../Logic/Tags/TagUtils" import { And } from "../../Logic/Tags/And" import { Utils } from "../../Utils" import { Tag } from "../../Logic/Tags/Tag" -import { - MappingConfigJson, - QuestionableTagRenderingConfigJson, -} from "./Json/QuestionableTagRenderingConfigJson" +import { MappingConfigJson, QuestionableTagRenderingConfigJson } from "./Json/QuestionableTagRenderingConfigJson" import Validators, { ValidatorType } from "../../UI/InputElement/Validators" import { TagRenderingConfigJson } from "./Json/TagRenderingConfigJson" import { RegexTag } from "../../Logic/Tags/RegexTag" @@ -82,6 +79,7 @@ export default class TagRenderingConfig { public readonly classes: string[] | undefined public readonly onSoftDelete?: ReadonlyArray + public readonly alwaysForceSaveButton: boolean constructor( config: @@ -144,6 +142,7 @@ export default class TagRenderingConfig { this.question = Translations.T(json.question, translationKey + ".question") this.questionhint = Translations.T(json.questionHint, translationKey + ".questionHint") this.questionHintIsMd = json["questionHintIsMd"] ?? false + this.alwaysForceSaveButton = json["#force-save-button"] === "yes" this.description = Translations.T(json.description, translationKey + ".description") if (json.onSoftDelete && !Array.isArray(json.onSoftDelete)) { throw context + ".onSoftDelete Not an array: " + typeof json.onSoftDelete diff --git a/src/UI/BigComponents/MenuDrawer.svelte b/src/UI/BigComponents/MenuDrawer.svelte index 057cdacea6..ba8c7079d3 100644 --- a/src/UI/BigComponents/MenuDrawer.svelte +++ b/src/UI/BigComponents/MenuDrawer.svelte @@ -124,12 +124,6 @@ - -
- - - -
-
diff --git a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte index d12180e548..ea20fb8a7e 100644 --- a/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte +++ b/src/UI/Popup/TagRendering/TagRenderingQuestion.svelte @@ -14,7 +14,6 @@ import TagHint from "../TagHint.svelte" import LoginToggle from "../../Base/LoginToggle.svelte" import SubtleButton from "../../Base/SubtleButton.svelte" - import Loading from "../../Base/Loading.svelte" import TagRenderingMappingInput from "./TagRenderingMappingInput.svelte" import { Translation } from "../../i18n/Translation" import Constants from "../../../Models/Constants" @@ -119,7 +118,7 @@ seenFreeforms.push(newProps[confg.freeform.key]) } return matches - }), + }) ] if (tgs !== undefined && confg.freeform) { @@ -227,7 +226,7 @@ freeform: $freeformInput, selectedMapping, checkedMappings, - currentTags: tags.data, + currentTags: tags.data }, " --> ", selectedTags @@ -285,7 +284,7 @@ dispatch("saved", { config, applied: selectedTags }) const change = new ChangeTagAction(tags.data.id, selectedTags, tags.data, { theme: tags.data["_orig_theme"] ?? state.theme.id, - changeType: "answer", + changeType: "answer" }) freeformInput.set(undefined) selectedMapping = undefined @@ -329,7 +328,7 @@ const tagsToSet = settableKeys.data.map((k) => new Tag(k, "")) const change = new ChangeTagAction(tags.data.id, new And(tagsToSet), tags.data, { theme: tags.data["_orig_theme"] ?? state.theme.id, - changeType: "answer", + changeType: "answer" }) freeformInput.set(undefined) selectedMapping = undefined @@ -542,12 +541,25 @@ {/if} - - - state?.osmConnection?.AttemptLogin()}> - - - + +
+ {#if config.alwaysForceSaveButton} + + {:else} + state?.osmConnection?.AttemptLogin()}> + + + + {/if} +
{#if $feedback !== undefined}