forked from MapComplete/MapComplete
Merge pull request #2263 from pietervdvn/feature/disable-questions
Feature/disable questions
This commit is contained in:
commit
4f05f0bc05
44 changed files with 882 additions and 317 deletions
|
@ -283,7 +283,7 @@
|
|||
"if": "capacity:disabled=0",
|
||||
"then": {
|
||||
"en": "There are no disabled parking spots",
|
||||
"nl": "Er zijn geen parkeerplaatsen voor gehandicapten",
|
||||
"nl": "Er zijn geen parkeerplaatsen voor personen met een beperking",
|
||||
"de": "Es gibt keine barrierefreien Stellplätze",
|
||||
"fr": "Il n'y a pas de places de stationnement pour personnes à mobilité réduite",
|
||||
"ca": "No hi ha places d'aparcament per a persones amb mobilitat reduïda",
|
||||
|
@ -295,7 +295,7 @@
|
|||
],
|
||||
"question": {
|
||||
"en": "How many disabled parking spots are there at this parking?",
|
||||
"nl": "Hoeveel parkeerplaatsen voor gehandicapten zijn er op deze parking?",
|
||||
"nl": "Hoeveel parkeerplaatsen voor personen met een beperking zijn er op deze parking?",
|
||||
"de": "Wie viele barrierefreie Stellplätze gibt es auf diesem Parkplatz?",
|
||||
"fr": "Combien y a-t-il de places de stationnement pour personnes à mobilité réduite dans ce parking ?",
|
||||
"ca": "Quantes places d'aparcament per a persones amb mobilitat reduïda hi ha al parking?",
|
||||
|
@ -305,7 +305,7 @@
|
|||
},
|
||||
"render": {
|
||||
"en": "There are {capacity:disabled} disabled parking spots",
|
||||
"nl": "Er zijn {capacity:disabled} parkeerplaatsen voor gehandicapten",
|
||||
"nl": "Er zijn {capacity:disabled} parkeerplaatsen voor personen met een beperking",
|
||||
"de": "Es gibt {capacity:disabled} barrierefreie Stellplätze",
|
||||
"fr": "Il y a {capacity:disabled} places de stationnement pour personnes à mobilité réduite",
|
||||
"ca": "Hi ha {capacity:disabled} places d'aparcament per a discapacitats",
|
||||
|
|
|
@ -888,6 +888,14 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "disabled-questions",
|
||||
"render": {
|
||||
"special": {
|
||||
"type": "disabled_questions"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "title-privacy-legal",
|
||||
"render": {
|
||||
|
|
|
@ -318,14 +318,6 @@
|
|||
"skippedMultiple": "Heu saltat {skipped} pregutnes",
|
||||
"skippedOne": "Heu saltat una pregunta"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "L'adreça de correu d'aquesta {category} és <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Quina és l'adreça de correu-e de {category}?",
|
||||
"phoneNumberIs": "El número de telèfon de {category} és <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Quin és el telèfon de {category}?",
|
||||
"websiteIs": "Pàgina web: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Quina és la pàgina web de {category}?"
|
||||
},
|
||||
"readYourMessages": "Per favor, llegeix tots els teus missatges d'OpenStreetMap abans d'afegir nous punts.",
|
||||
"removeLocationHistory": "Esborrar l'historial d'ubicació",
|
||||
"returnToTheMap": "Tornar al mapa",
|
||||
|
|
|
@ -387,14 +387,6 @@
|
|||
"skippedMultiple": "Přeskočili jste {skipped} otázky",
|
||||
"skippedOne": "Vynechali jste jednu otázku"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "E-mailová adresa této {category} je <a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||
"emailOf": "Jaká je e-mailová adresa {category}?",
|
||||
"phoneNumberIs": "Telefonní číslo této {category} je <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Jaké je telefonní číslo na {category}?",
|
||||
"websiteIs": "Web: <a href='{website}' target='_blank'>{website}</a>",
|
||||
"websiteOf": "Jaká je webová stránka {category}?"
|
||||
},
|
||||
"readYourMessages": "Před přidáním nové funkce si prosím přečtěte všechny zprávy OpenStreetMap.",
|
||||
"removeLocationHistory": "Odstranit historii polohy",
|
||||
"retry": "Zkusit znovu",
|
||||
|
|
|
@ -274,14 +274,6 @@
|
|||
"skippedMultiple": "Du sprang over {skipped} spørgsmål",
|
||||
"skippedOne": "Du sprang over ét spørgsmål"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "E-mailadressen for denne {category} er <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Hvad er e-mailadressen for {category}?",
|
||||
"phoneNumberIs": "Telefonnummeret for denne/dette {category} er <a target=\"_blank\">{phone}</a>",
|
||||
"phoneNumberOf": "Hvad er telefonnummeret for {category}?",
|
||||
"websiteIs": "Hjemmeside: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Hvad er hjemmesiden for {category}?"
|
||||
},
|
||||
"readYourMessages": "Læs venligst alle dine OpenStreetMap beskeder før du tilføjer et nyt punkt.",
|
||||
"removeLocationHistory": "Slet placeringshistorikken",
|
||||
"returnToTheMap": "Vend tilbage til kortet",
|
||||
|
|
|
@ -387,14 +387,6 @@
|
|||
"skippedMultiple": "Du hast {skipped} Fragen übersprungen",
|
||||
"skippedOne": "Du hast eine Frage übersprungen"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "Die E-Mail-Adresse dieser {category} lautet <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Wie lautet die E-Mail-Adresse der {category}?",
|
||||
"phoneNumberIs": "Die Telefonnummer dieser {category} lautet <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Wie lautet die Telefonnummer der {category}?",
|
||||
"websiteIs": "Webseite: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Wie lautet die Webseite der {category}?"
|
||||
},
|
||||
"readYourMessages": "Bitte lesen Sie alle Ihre OpenStreetMap-Nachrichten, bevor Sie ein neues Objekt hinzufügen.",
|
||||
"removeLocationHistory": "Standortverlauf löschen",
|
||||
"retry": "Wiederholen",
|
||||
|
|
|
@ -388,8 +388,13 @@
|
|||
"skippedOne": "You skipped one question"
|
||||
},
|
||||
"questions": {
|
||||
"disable": "Do not ask this question again",
|
||||
"disabledIntro": "You disabled some type of questions. To enable a question again, click them here",
|
||||
"disabledTitle": "Disabled questions",
|
||||
"emailIs": "The email address of this {category} is <a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||
"emailOf": "What is the email address of {category}?",
|
||||
"enable": "Ask this question for all features",
|
||||
"noneDisabled": "If you are not interested in a specific type of question, disable it. To disable a question, click the three dots in the upper-right corner and select 'disable'",
|
||||
"phoneNumberIs": "The phone number of this {category} is <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "What is the phone number of {category}?",
|
||||
"websiteIs": "Website: <a href='{website}' target='_blank'>{website}</a>",
|
||||
|
|
|
@ -41,9 +41,6 @@
|
|||
"versionInfo": "v{version} - generita je {date}"
|
||||
},
|
||||
"pickLanguage": "Elektu lingvon: ",
|
||||
"questions": {
|
||||
"websiteIs": "Retejo: <a href=\"{website}\" target=\"_blank\">{website}</a>"
|
||||
},
|
||||
"returnToTheMap": "Reen al la mapo",
|
||||
"save": "Konservi",
|
||||
"search": {
|
||||
|
|
|
@ -335,14 +335,6 @@
|
|||
"skippedMultiple": "Ohitit {skipped} kysymystä",
|
||||
"skippedOne": "Ohitit yhden kysymyksen"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "Sähköpostiosoite kohteelle {category} on <a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||
"emailOf": "Mikä on sähköpostiosoite kohteelle {category}?",
|
||||
"phoneNumberIs": "Puhelinnumero kohteelle {category} on <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Mikä on puhelinnumero kohteelle {category}?",
|
||||
"websiteIs": "Verkkosivusto: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Mikä on verkkosivu kohteelle {category}?"
|
||||
},
|
||||
"readYourMessages": "Luethan kaikki OpenStreetMap-viestisi ennen kuin lisäät uutta ominaisuutta.",
|
||||
"removeLocationHistory": "Poista sijaintihistoria",
|
||||
"returnToTheMap": "Palaa karttaan",
|
||||
|
|
|
@ -92,9 +92,6 @@
|
|||
"questionBox": {
|
||||
"answeredMultiple": "Sinagutan mo ang {answered} na tanong"
|
||||
},
|
||||
"questions": {
|
||||
"emailOf": "Ano ba ang email address ng {category}?"
|
||||
},
|
||||
"returnToTheMap": "Bumalik sa mapa",
|
||||
"search": {
|
||||
"nothing": "Walang nahanap…"
|
||||
|
|
|
@ -300,14 +300,6 @@
|
|||
"skippedMultiple": "Vous avez passé {skipped} questions",
|
||||
"skippedOne": "Vous avez passé une question"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "L'adresse électronique de {category} est <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Quelle est l'adresse électronique de {category} ?",
|
||||
"phoneNumberIs": "Le numéro de téléphone de {category} est <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Quel est le numéro de téléphone de {category} ?",
|
||||
"websiteIs": "Site Web : <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Quel est le site internet de {category} ?"
|
||||
},
|
||||
"readYourMessages": "Merci de lire tous vos messages sur OpenStreetMap avant d'ajouter un nouveau point.",
|
||||
"removeLocationHistory": "Supprimer l'historique des positions",
|
||||
"returnToTheMap": "Retourner sur la carte",
|
||||
|
|
|
@ -72,14 +72,6 @@
|
|||
},
|
||||
"osmLinkTooltip": "Ollar este obxecto no OpenStreetMap para ollar o historial e outras opcións de edición",
|
||||
"pickLanguage": "Escoller lingua: ",
|
||||
"questions": {
|
||||
"emailIs": "O enderezo de correo electrónico de {category} é <a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||
"emailOf": "Cal é o enderezo de correo electrónico de {category}?",
|
||||
"phoneNumberIs": "O número de teléfono de {category} é <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Cal é o número de teléfono de {category}?",
|
||||
"websiteIs": "Páxina web: <a href='{website}' target='_blank'>{website}</a>",
|
||||
"websiteOf": "Cal é a páxina web de {category}?"
|
||||
},
|
||||
"readYourMessages": "Le todos a túas mensaxes do OpenStreetMap antes de engadir novos puntos.",
|
||||
"returnToTheMap": "Voltar ó mapa",
|
||||
"save": "Gardar",
|
||||
|
|
|
@ -96,11 +96,6 @@
|
|||
"ph_open": "buka"
|
||||
},
|
||||
"pickLanguage": "Pilih bahasa: ",
|
||||
"questions": {
|
||||
"emailOf": "Apa alamat email {category}?",
|
||||
"phoneNumberOf": "Apakah nombor telepon {category} ini?",
|
||||
"websiteIs": "Website: <a href=\"{website}\" target=\"_blank\">{website}</a>"
|
||||
},
|
||||
"search": {
|
||||
"searching": "Sdg mencari…"
|
||||
},
|
||||
|
|
|
@ -311,14 +311,6 @@
|
|||
"answeredOne": "Hai risposto a una domanda",
|
||||
"done": "Non ci sono più domande! Grazie!"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "L’indirizzo email di questa {category} è <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Qual è l’indirizzo email di {category}?",
|
||||
"phoneNumberIs": "Il numero di telefono di questa {category} è <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Qual è il numero di telefono di {category}?",
|
||||
"websiteIs": "Sito web: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Qual è il sito web di {category}?"
|
||||
},
|
||||
"readYourMessages": "Leggi tutti i tuoi messaggi OpenStreetMap prima di aggiungere un nuovo elemento.",
|
||||
"removeLocationHistory": "Elimina la cronologia di geolocalizzazione",
|
||||
"retry": "Riprova",
|
||||
|
|
|
@ -72,14 +72,6 @@
|
|||
},
|
||||
"osmLinkTooltip": "履歴とその他の編集オプションについては、OpenStreetMapのこのオブジェクトを参照してください",
|
||||
"pickLanguage": "言語を選択します: ",
|
||||
"questions": {
|
||||
"emailIs": "この{category}の電子メール・アドレスは<a href=\"mailto:{email}\" target=\"_blank\">{email}</a>です",
|
||||
"emailOf": "{category} の電子メールアドレスは何ですか?",
|
||||
"phoneNumberIs": "この {category} の電話番号は<a target=\"_blank\">{phone}</a>です。",
|
||||
"phoneNumberOf": "{category} の電話番号は何番ですか?",
|
||||
"websiteIs": "Webサイト:<a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "{category} のウェブサイトはどこですか?"
|
||||
},
|
||||
"readYourMessages": "新しいポイントを追加する前に、OpenStreetMapのメッセージをすべて読んでください。",
|
||||
"returnToTheMap": "マップに戻る",
|
||||
"save": "保存",
|
||||
|
|
|
@ -7957,6 +7957,19 @@
|
|||
"question": "En quina direcció geogràfica apunta aquesta càmera?",
|
||||
"render": "Grava en direcció {camera:direction}"
|
||||
},
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Aquesta càmera es troba a l'interior"
|
||||
},
|
||||
"1": {
|
||||
"then": "Aquesta càmera es troba a l'exterior"
|
||||
},
|
||||
"2": {
|
||||
"then": "Aquesta càmera probablement es troba a l'exterior"
|
||||
}
|
||||
}
|
||||
},
|
||||
"has_alpr": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
|
@ -7968,20 +7981,6 @@
|
|||
},
|
||||
"question": "Aquesta càmera pot detectar matrícules automàticament?",
|
||||
"questionHint": "Un <b>ALPR</b> (lector automàtic de matrícules, per les seves sigles en anglès) normalment té dues lents i una sèrie de LEDs infrarojos entremig."
|
||||
},
|
||||
"is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Aquesta càmera es troba a l'interior"
|
||||
},
|
||||
"1": {
|
||||
"then": "Aquesta càmera es troba a l'exterior"
|
||||
},
|
||||
"2": {
|
||||
"then": "Aquesta càmera probablement es troba a l'exterior"
|
||||
}
|
||||
},
|
||||
"question": "L'espai públic vigilat per aquesta càmera és un espai interior o exterior?"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -8591,6 +8591,19 @@
|
|||
"question": "Ve kterém geografickém směru tato kamera snímá?",
|
||||
"render": "Snímané oblasti podle směru kompasu {camera:direction}"
|
||||
},
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Tato kamera je umístěna ve vnitřním prostoru"
|
||||
},
|
||||
"1": {
|
||||
"then": "Tato kamera je umístěna ve venkovním prostoru"
|
||||
},
|
||||
"2": {
|
||||
"then": "Tato kamera je pravděpodobně umístěna venku"
|
||||
}
|
||||
}
|
||||
},
|
||||
"has_alpr": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
|
@ -8602,20 +8615,6 @@
|
|||
},
|
||||
"question": "Dokáže tato kamera automaticky rozpoznat registrační značky?",
|
||||
"questionHint": "Automatická čtečka registračních značek (<b>ALPR</b>) má obvykle dvě čočky a mezi nimi soustavu infračervených diod LED."
|
||||
},
|
||||
"is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Tato kamera je umístěna ve vnitřním prostoru"
|
||||
},
|
||||
"1": {
|
||||
"then": "Tato kamera je umístěna ve venkovním prostoru"
|
||||
},
|
||||
"2": {
|
||||
"then": "Tato kamera je pravděpodobně umístěna venku"
|
||||
}
|
||||
},
|
||||
"question": "Je veřejný prostor sledovaný touto kamerou vnitřní nebo venkovní prostor?"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -2049,7 +2049,7 @@
|
|||
"question": "I hvilken geografisk retning filmer dette kamera?",
|
||||
"render": "Filmer til en kompasretning af {camera:direction}"
|
||||
},
|
||||
"is_indoor": {
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Dette kamera er placeret indendørs"
|
||||
|
@ -2060,8 +2060,7 @@
|
|||
"2": {
|
||||
"then": "Dette kamera er sandsynligvis placeret udendørs"
|
||||
}
|
||||
},
|
||||
"question": "Er det offentlige rum, der overvåges af dette kamera, et indendørs eller udendørs rum?"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -10612,6 +10612,19 @@
|
|||
"question": "In welche Himmelsrichtung filmt diese Kamera?",
|
||||
"render": "filmt in Himmelsrichtung {camera:direction}"
|
||||
},
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Diese Kamera befindet sich im Innenraum"
|
||||
},
|
||||
"1": {
|
||||
"then": "Diese Kamera befindet sich im Freien"
|
||||
},
|
||||
"2": {
|
||||
"then": "Diese Kamera ist möglicherweise im Freien"
|
||||
}
|
||||
}
|
||||
},
|
||||
"has_alpr": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
|
@ -10623,20 +10636,6 @@
|
|||
},
|
||||
"question": "Dient diese Kamera der Nummernschilderkennung?",
|
||||
"questionHint": "Eine Kamera zur <b>Nummernschilderkennung</b> hat üblicherweise zwei Linsen mit dazwischenliegenden Infrarot-LEDs."
|
||||
},
|
||||
"is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Diese Kamera befindet sich im Innenraum"
|
||||
},
|
||||
"1": {
|
||||
"then": "Diese Kamera befindet sich im Freien"
|
||||
},
|
||||
"2": {
|
||||
"then": "Diese Kamera ist möglicherweise im Freien"
|
||||
}
|
||||
},
|
||||
"question": "Handelt es sich bei dem von dieser Kamera überwachten öffentlichen Raum um einen Innen- oder Außenbereich?"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -10227,6 +10227,398 @@
|
|||
"title": "a sports centre"
|
||||
}
|
||||
},
|
||||
"tagRenderings": {
|
||||
"sport_centre-sport": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Nine-pin bowling"
|
||||
},
|
||||
"1": {
|
||||
"then": "Ten-pin bowling"
|
||||
},
|
||||
"10": {
|
||||
"then": "BASE jumping"
|
||||
},
|
||||
"100": {
|
||||
"then": "Skateboard"
|
||||
},
|
||||
"101": {
|
||||
"then": "Ski jumping"
|
||||
},
|
||||
"102": {
|
||||
"then": "Snooker"
|
||||
},
|
||||
"103": {
|
||||
"then": "Soccer"
|
||||
},
|
||||
"104": {
|
||||
"then": "Softball"
|
||||
},
|
||||
"105": {
|
||||
"then": "Motorcycle speedway"
|
||||
},
|
||||
"106": {
|
||||
"then": "Squash"
|
||||
},
|
||||
"107": {
|
||||
"then": "Sumo"
|
||||
},
|
||||
"108": {
|
||||
"then": "Surfing"
|
||||
},
|
||||
"109": {
|
||||
"then": "Swimming"
|
||||
},
|
||||
"11": {
|
||||
"then": "Baseball"
|
||||
},
|
||||
"110": {
|
||||
"then": "Table tennis"
|
||||
},
|
||||
"111": {
|
||||
"then": "Table soccer"
|
||||
},
|
||||
"112": {
|
||||
"then": "Taekwondo"
|
||||
},
|
||||
"113": {
|
||||
"then": "Tennis"
|
||||
},
|
||||
"114": {
|
||||
"then": "Teqball"
|
||||
},
|
||||
"115": {
|
||||
"then": "Toboggan"
|
||||
},
|
||||
"116": {
|
||||
"then": "Trampoline"
|
||||
},
|
||||
"117": {
|
||||
"then": "Ultimate frisbee"
|
||||
},
|
||||
"118": {
|
||||
"then": "Ultralight aviation"
|
||||
},
|
||||
"119": {
|
||||
"then": "Volleyball"
|
||||
},
|
||||
"12": {
|
||||
"then": "Basketball"
|
||||
},
|
||||
"120": {
|
||||
"then": "Wakeboarding"
|
||||
},
|
||||
"121": {
|
||||
"then": "Water polo"
|
||||
},
|
||||
"122": {
|
||||
"then": "Waterskiing"
|
||||
},
|
||||
"123": {
|
||||
"then": "Olympic weightlifting"
|
||||
},
|
||||
"124": {
|
||||
"then": "Windsurfing"
|
||||
},
|
||||
"125": {
|
||||
"then": "Wrestling"
|
||||
},
|
||||
"126": {
|
||||
"then": "Yoga"
|
||||
},
|
||||
"127": {
|
||||
"then": "Zurkhaneh sport"
|
||||
},
|
||||
"13": {
|
||||
"then": "Beachvolleyball"
|
||||
},
|
||||
"14": {
|
||||
"then": "Biathlon"
|
||||
},
|
||||
"15": {
|
||||
"then": "Cue sports"
|
||||
},
|
||||
"16": {
|
||||
"then": "BMX"
|
||||
},
|
||||
"17": {
|
||||
"then": "Bobsleigh"
|
||||
},
|
||||
"18": {
|
||||
"then": "Boules"
|
||||
},
|
||||
"19": {
|
||||
"then": "Bowls"
|
||||
},
|
||||
"2": {
|
||||
"then": "Aerobics"
|
||||
},
|
||||
"20": {
|
||||
"then": "Boxing"
|
||||
},
|
||||
"21": {
|
||||
"then": "Bullfighting"
|
||||
},
|
||||
"22": {
|
||||
"then": "Canadian football"
|
||||
},
|
||||
"23": {
|
||||
"then": "Canoe"
|
||||
},
|
||||
"24": {
|
||||
"then": "Chess"
|
||||
},
|
||||
"25": {
|
||||
"then": "Non-competitive diving"
|
||||
},
|
||||
"26": {
|
||||
"then": "Rock climbing"
|
||||
},
|
||||
"27": {
|
||||
"then": "Climbing Adventure"
|
||||
},
|
||||
"28": {
|
||||
"then": "Cockfighting"
|
||||
},
|
||||
"29": {
|
||||
"then": "Cricket"
|
||||
},
|
||||
"3": {
|
||||
"then": "American football"
|
||||
},
|
||||
"30": {
|
||||
"then": "CrossFit"
|
||||
},
|
||||
"31": {
|
||||
"then": "Croquet"
|
||||
},
|
||||
"32": {
|
||||
"then": "Curling"
|
||||
},
|
||||
"33": {
|
||||
"then": "Cycle Polo"
|
||||
},
|
||||
"34": {
|
||||
"then": "Cycling"
|
||||
},
|
||||
"35": {
|
||||
"then": "Dance"
|
||||
},
|
||||
"36": {
|
||||
"then": "Darts"
|
||||
},
|
||||
"37": {
|
||||
"then": "Dog agility"
|
||||
},
|
||||
"38": {
|
||||
"then": "Greyhound racing"
|
||||
},
|
||||
"39": {
|
||||
"then": "Dragon Boat"
|
||||
},
|
||||
"4": {
|
||||
"then": "Aikido"
|
||||
},
|
||||
"40": {
|
||||
"then": "Equestrianism"
|
||||
},
|
||||
"41": {
|
||||
"then": "Fencing"
|
||||
},
|
||||
"42": {
|
||||
"then": "Field hockey"
|
||||
},
|
||||
"43": {
|
||||
"then": "Fitness"
|
||||
},
|
||||
"44": {
|
||||
"then": "5 person soccer"
|
||||
},
|
||||
"45": {
|
||||
"then": "Floorball"
|
||||
},
|
||||
"46": {
|
||||
"then": "Four square"
|
||||
},
|
||||
"47": {
|
||||
"then": "Paragliding"
|
||||
},
|
||||
"48": {
|
||||
"then": "Futsal"
|
||||
},
|
||||
"49": {
|
||||
"then": "Gaelic games"
|
||||
},
|
||||
"5": {
|
||||
"then": "Archery"
|
||||
},
|
||||
"50": {
|
||||
"then": "Gaga ball"
|
||||
},
|
||||
"51": {
|
||||
"then": "Golf"
|
||||
},
|
||||
"52": {
|
||||
"then": "Gymnastics"
|
||||
},
|
||||
"53": {
|
||||
"then": "Handball"
|
||||
},
|
||||
"54": {
|
||||
"then": "Hapkido"
|
||||
},
|
||||
"55": {
|
||||
"then": "Hiking"
|
||||
},
|
||||
"56": {
|
||||
"then": "Horseshoes"
|
||||
},
|
||||
"57": {
|
||||
"then": "Horse racing"
|
||||
},
|
||||
"58": {
|
||||
"then": "Ice Hockey"
|
||||
},
|
||||
"59": {
|
||||
"then": "Ice skating"
|
||||
},
|
||||
"6": {
|
||||
"then": "Athletics"
|
||||
},
|
||||
"60": {
|
||||
"then": "Ice stock sport"
|
||||
},
|
||||
"61": {
|
||||
"then": "Judo"
|
||||
},
|
||||
"62": {
|
||||
"then": "Karate"
|
||||
},
|
||||
"63": {
|
||||
"then": "Kart racing"
|
||||
},
|
||||
"64": {
|
||||
"then": "Kickboxing"
|
||||
},
|
||||
"65": {
|
||||
"then": "Kitesurfing"
|
||||
},
|
||||
"66": {
|
||||
"then": "Korfball"
|
||||
},
|
||||
"67": {
|
||||
"then": "Krachtball"
|
||||
},
|
||||
"68": {
|
||||
"then": "Lacrosse"
|
||||
},
|
||||
"69": {
|
||||
"then": "Laser tag"
|
||||
},
|
||||
"7": {
|
||||
"then": "Australian rules football"
|
||||
},
|
||||
"70": {
|
||||
"then": "Martial arts"
|
||||
},
|
||||
"71": {
|
||||
"then": "Miniature golf"
|
||||
},
|
||||
"72": {
|
||||
"then": "Radio-controlled aircraft"
|
||||
},
|
||||
"73": {
|
||||
"then": "Motocross"
|
||||
},
|
||||
"74": {
|
||||
"then": "Motorsport"
|
||||
},
|
||||
"75": {
|
||||
"then": "Multiple kind of sports"
|
||||
},
|
||||
"76": {
|
||||
"then": "Netball"
|
||||
},
|
||||
"77": {
|
||||
"then": "Obstacle course"
|
||||
},
|
||||
"78": {
|
||||
"then": "Orienteering"
|
||||
},
|
||||
"79": {
|
||||
"then": "Paddle tennis"
|
||||
},
|
||||
"8": {
|
||||
"then": "Badminton"
|
||||
},
|
||||
"80": {
|
||||
"then": "Padel"
|
||||
},
|
||||
"81": {
|
||||
"then": "Paintball"
|
||||
},
|
||||
"82": {
|
||||
"then": "Parachuting"
|
||||
},
|
||||
"83": {
|
||||
"then": "Parkour"
|
||||
},
|
||||
"84": {
|
||||
"then": "Palota"
|
||||
},
|
||||
"85": {
|
||||
"then": "Pesäpallo"
|
||||
},
|
||||
"86": {
|
||||
"then": "Pickleball"
|
||||
},
|
||||
"87": {
|
||||
"then": "Pilates"
|
||||
},
|
||||
"88": {
|
||||
"then": "Pole dance"
|
||||
},
|
||||
"89": {
|
||||
"then": "Racquetball"
|
||||
},
|
||||
"9": {
|
||||
"then": "Bandy"
|
||||
},
|
||||
"90": {
|
||||
"then": "Radio-controlled car"
|
||||
},
|
||||
"91": {
|
||||
"then": "Roller skating"
|
||||
},
|
||||
"92": {
|
||||
"then": "Rowing"
|
||||
},
|
||||
"93": {
|
||||
"then": "Rugby league"
|
||||
},
|
||||
"94": {
|
||||
"then": "Rugby union"
|
||||
},
|
||||
"95": {
|
||||
"then": "Running"
|
||||
},
|
||||
"96": {
|
||||
"then": "Sailing"
|
||||
},
|
||||
"97": {
|
||||
"then": "Scuba diving"
|
||||
},
|
||||
"98": {
|
||||
"then": "Shooting"
|
||||
},
|
||||
"99": {
|
||||
"then": "Shot-put"
|
||||
}
|
||||
},
|
||||
"question": "What sports are played at this venue?",
|
||||
"render": "Sports played here: {sport}"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
"render": "Sports centre"
|
||||
}
|
||||
|
@ -10612,19 +11004,7 @@
|
|||
"question": "In which geographical direction does this camera film?",
|
||||
"render": "Films to a compass heading of {camera:direction}"
|
||||
},
|
||||
"has_alpr": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "This is a camera without number plate recognition."
|
||||
},
|
||||
"1": {
|
||||
"then": "This is an ALPR (Automatic License Plate Reader)"
|
||||
}
|
||||
},
|
||||
"question": "Can this camera automatically detect license plates?",
|
||||
"questionHint": "An <b>ALPR</b> (Automatic License Plate Reader) typically has two lenses and an array of infrared LEDS in between."
|
||||
},
|
||||
"is_indoor": {
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "This camera is located indoors"
|
||||
|
@ -10636,7 +11016,19 @@
|
|||
"then": "This camera is probably located outdoors"
|
||||
}
|
||||
},
|
||||
"question": "Is the public space surveilled by this camera an indoor or outdoor space?"
|
||||
"question": "Is this camera located inside or outside?"
|
||||
},
|
||||
"has_alpr": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "This is a camera without number plate recognition."
|
||||
},
|
||||
"1": {
|
||||
"then": "This is an ALPR (Automatic License Plate Reader)"
|
||||
}
|
||||
},
|
||||
"question": "Can this camera automatically detect license plates?",
|
||||
"questionHint": "An <b>ALPR</b> (Automatic License Plate Reader) typically has two lenses and an array of infrared LEDS in between."
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -10575,6 +10575,19 @@
|
|||
"question": "¿En qué dirección geográfica graba esta cámara?",
|
||||
"render": "Graba hacia un rumbo de brújula de {camera:direction}"
|
||||
},
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Esta cámara está ubicada en interiores"
|
||||
},
|
||||
"1": {
|
||||
"then": "Esta cámara está ubicada en exteriores"
|
||||
},
|
||||
"2": {
|
||||
"then": "Esta cámara probablemente está ubicada en exteriores"
|
||||
}
|
||||
}
|
||||
},
|
||||
"has_alpr": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
|
@ -10586,20 +10599,6 @@
|
|||
},
|
||||
"question": "¿Puede esta cámara detectar automáticamente las matrículas?",
|
||||
"questionHint": "Un <b>ALPR</b> (lector automático de matrículas) suele tener dos lentes y una serie de LED infrarrojos entre ellas."
|
||||
},
|
||||
"is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Esta cámara está ubicada en interiores"
|
||||
},
|
||||
"1": {
|
||||
"then": "Esta cámara está ubicada en exteriores"
|
||||
},
|
||||
"2": {
|
||||
"then": "Esta cámara probablemente está ubicada en exteriores"
|
||||
}
|
||||
},
|
||||
"question": "¿El espacio público vigilado por esta cámara es interior o exterior?"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -6391,7 +6391,7 @@
|
|||
"question": "Dans quelle direction géographique cette caméra filme-t-elle ?",
|
||||
"render": "Filme dans une direction {camera:direction}"
|
||||
},
|
||||
"is_indoor": {
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Cette caméra est située à l'intérieur"
|
||||
|
@ -6402,8 +6402,7 @@
|
|||
"2": {
|
||||
"then": "Cette caméra est probablement située à l'extérieur"
|
||||
}
|
||||
},
|
||||
"question": "L'espace public surveillé par cette caméra est-il un espace intérieur ou extérieur ?"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -2810,7 +2810,7 @@
|
|||
"question": "In quale direzione geografica punta questa videocamera?",
|
||||
"render": "Punta in direzione {camera:direction}"
|
||||
},
|
||||
"is_indoor": {
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Questa videocamera si trova al chiuso"
|
||||
|
@ -2821,8 +2821,7 @@
|
|||
"2": {
|
||||
"then": "Questa videocamera si trova probabilmente all'esterno"
|
||||
}
|
||||
},
|
||||
"question": "Lo spazio pubblico sorvegliato da questa videocamera è all'aperto o al chiuso?"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -1730,6 +1730,9 @@
|
|||
},
|
||||
"title": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "{name}"
|
||||
},
|
||||
"1": {
|
||||
"then": "Vogelkijkhut {name}"
|
||||
},
|
||||
|
@ -5807,6 +5810,11 @@
|
|||
}
|
||||
},
|
||||
"title": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "{name}"
|
||||
}
|
||||
},
|
||||
"render": "Natuurgebied"
|
||||
}
|
||||
},
|
||||
|
@ -6352,6 +6360,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": {
|
||||
|
@ -7886,6 +7909,9 @@
|
|||
},
|
||||
"title": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "{name}"
|
||||
},
|
||||
"1": {
|
||||
"then": "Voetpad"
|
||||
},
|
||||
|
@ -8435,7 +8461,7 @@
|
|||
"question": "In welke geografische richting filmt deze camera?",
|
||||
"render": "Filmt in kompasrichting {camera:direction}"
|
||||
},
|
||||
"is_indoor": {
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Deze camera bevindt zich binnen"
|
||||
|
@ -8447,7 +8473,7 @@
|
|||
"then": "Deze camera bevindt zich waarschijnlijk buiten"
|
||||
}
|
||||
},
|
||||
"question": "Bevindt de bewaakte publieke ruimte camera zich binnen of buiten?"
|
||||
"question": "Bevindt de camera zich binnen of buiten?"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
@ -9898,13 +9924,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}"
|
||||
}
|
||||
|
@ -10134,4 +10172,4 @@
|
|||
"render": "windturbine"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1881,7 +1881,7 @@
|
|||
"camera:mount": {
|
||||
"question": "Как расположена эта камера?"
|
||||
},
|
||||
"is_indoor": {
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"1": {
|
||||
"then": "Эта камера расположена снаружи"
|
||||
|
|
|
@ -390,6 +390,19 @@
|
|||
"question": "V katero geografsko smer snema ta kamera?",
|
||||
"render": "Snema v smeri kompasa {camera:direction}"
|
||||
},
|
||||
"camera_is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Ta kamera je znotraj"
|
||||
},
|
||||
"1": {
|
||||
"then": "Ta kamera je zunaj"
|
||||
},
|
||||
"2": {
|
||||
"then": "Ta kamera je verjetno zunaj"
|
||||
}
|
||||
}
|
||||
},
|
||||
"has_alpr": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
|
@ -401,20 +414,6 @@
|
|||
},
|
||||
"question": "Ali ta kamera lahko samodejno prepoznava registrske tablice?",
|
||||
"questionHint": "Kamera za <b>prepoznavo registrskih tablic</b> ima običajno dve leči in med njima polje infrardečih LED svetil."
|
||||
},
|
||||
"is_indoor": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Ta kamera je znotraj"
|
||||
},
|
||||
"1": {
|
||||
"then": "Ta kamera je zunaj"
|
||||
},
|
||||
"2": {
|
||||
"then": "Ta kamera je verjetno zunaj"
|
||||
}
|
||||
},
|
||||
"question": "Ali je javni prostor, ki ga nadzoruje ta kamera, notranji ali zunanji?"
|
||||
}
|
||||
},
|
||||
"title": {
|
||||
|
|
|
@ -212,14 +212,6 @@
|
|||
},
|
||||
"pickLanguage": "Velg språk: ",
|
||||
"poweredByOsm": "Med data fra OpenStreetMap",
|
||||
"questions": {
|
||||
"emailIs": "E-postadressen til {category} er <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Hva er e-postadressen til {category}?",
|
||||
"phoneNumberIs": "Telefonnummeret til denne {category} er <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Hva er telefonnummeret til {category}?",
|
||||
"websiteIs": "Nettside: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Hva er nettsiden til {category}?"
|
||||
},
|
||||
"readYourMessages": "Les alle OpenStreetMap-meldingene dine før du legger til et nytt punkt.",
|
||||
"removeLocationHistory": "Slett posisjonshistorikken",
|
||||
"returnToTheMap": "Gå tilbake til kartet",
|
||||
|
|
|
@ -380,14 +380,6 @@
|
|||
"skippedMultiple": "Je hebt {skipped} vragen overgeslaan",
|
||||
"skippedOne": "Je hebt één vraag beantwoord"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "Het email-adres van {category} is <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Wat is het email-adres van {category}?",
|
||||
"phoneNumberIs": "Het telefoonnummer van {category} is <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Wat is het telefoonnummer van {category}?",
|
||||
"websiteIs": "Website: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Wat is de website van {category}?"
|
||||
},
|
||||
"readYourMessages": "Gelieve eerst je berichten op OpenStreetMap te lezen alvorens nieuwe objecten toe te voegen.",
|
||||
"removeLocationHistory": "Verwijder de geschiedenis aan locaties",
|
||||
"returnToTheMap": "Ga terug naar de kaart",
|
||||
|
|
|
@ -279,14 +279,6 @@
|
|||
"skippedMultiple": "Pominąłeś {skipped} pytania",
|
||||
"skippedOne": "Pominąłeś jedno pytanie"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "Adres e-mail {category} to <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Jaki jest adres e-mail {category}?",
|
||||
"phoneNumberIs": "Numer telefonu tej {category} to <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Jaki jest numer telefonu do {category}?",
|
||||
"websiteIs": "Strona internetowa: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Jaka jest strona internetowa {category}?"
|
||||
},
|
||||
"readYourMessages": "Proszę przeczytać wszystkie wiadomości OpenStreetMap przed dodaniem nowej funkcji.",
|
||||
"removeLocationHistory": "Usuń historię lokalizacji",
|
||||
"returnToTheMap": "Wróć do mapy",
|
||||
|
|
|
@ -366,14 +366,6 @@
|
|||
"skippedMultiple": "Saltou {skipped} questões",
|
||||
"skippedOne": "Saltou uma questão"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "O endereço de e-mail de {category} é <a href='mailto:{email}' target='_blank'>{email}</a>",
|
||||
"emailOf": "Qual é o endereço de e-mail de {category}?",
|
||||
"phoneNumberIs": "O número de telefone de {category} é <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Qual é o número de telefone de {category}?",
|
||||
"websiteIs": "Site: <a href='{website}' target='_blank'>{website}</a>",
|
||||
"websiteOf": "Qual é o site de {category}?"
|
||||
},
|
||||
"readYourMessages": "Por favor, leia todas as suas mensagens do OpenStreetMap antes de adicionar um novo elemento.",
|
||||
"removeLocationHistory": "Eliminar o histórico de localização",
|
||||
"returnToTheMap": "Voltar ao mapa",
|
||||
|
|
|
@ -80,14 +80,6 @@
|
|||
},
|
||||
"osmLinkTooltip": "Veja este objeto no OpenStreetMap para histórico e mais opções de edição",
|
||||
"pickLanguage": "Escolha um idioma: ",
|
||||
"questions": {
|
||||
"emailIs": "O endereço de e-mail deste {category} é <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Qual é o endereço de e-mail de {category}?",
|
||||
"phoneNumberIs": "O número de telefone deste {category} é <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "Qual é o número de telefone de {category}?",
|
||||
"websiteIs": "Site: <a href='{website}' target='_blank'>{website}</a>",
|
||||
"websiteOf": "Qual é o site de {category}?"
|
||||
},
|
||||
"readYourMessages": "Por favor, leia todas as suas mensagens do OpenStreetMap antes de adicionar um novo ponto.",
|
||||
"returnToTheMap": "Voltar ao mapa",
|
||||
"save": "Salvar",
|
||||
|
|
|
@ -124,14 +124,6 @@
|
|||
},
|
||||
"osmLinkTooltip": "Посмотрите этот объект на OpenStreetMap чтобы увидеть его историю или отредактировать",
|
||||
"pickLanguage": "Выберите язык: ",
|
||||
"questions": {
|
||||
"emailIs": "Адрес электронной почты у {category}: <a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "Какой адрес электронной почты у {category}?",
|
||||
"phoneNumberIs": "Телефонный номер {category}: <a target=\"_blank\">{phone}</a>",
|
||||
"phoneNumberOf": "Какой номер телефона у {category}?",
|
||||
"websiteIs": "Сайт: <a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "Какой сайт у {category}?"
|
||||
},
|
||||
"readYourMessages": "Пожалуйста, прочитайте все ваши сообщения на сайте OpenStreetMap перед тем как добавлять новую точку.",
|
||||
"returnToTheMap": "Вернуться на карту",
|
||||
"save": "Сохранить",
|
||||
|
|
|
@ -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 <b>{fixme}</b>"
|
||||
},
|
||||
"grb-housenumber": {
|
||||
"mappings": {
|
||||
"0": {
|
||||
"then": "Geen huisnummer"
|
||||
}
|
||||
},
|
||||
"question": "Wat is het huisnummer?",
|
||||
"render": "Het huisnummer is <b>{addr:housenumber}</b>"
|
||||
},
|
||||
"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 <b>{addr:street}</b>"
|
||||
},
|
||||
"grb-unit": {
|
||||
"render": "De wooneenheid-aanduiding is <b>{addr:unit}</b> "
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -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. <div class=subtle>Importeer eerst de gebouwen. Vernieuw dan de pagina om losse adressen toe te voegen</div>"
|
||||
}
|
||||
},
|
||||
"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. ",
|
||||
|
@ -1104,6 +1160,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",
|
||||
|
@ -1177,6 +1238,47 @@
|
|||
"description": "Alles om te skiën",
|
||||
"title": "Skipistes en kabelbanen"
|
||||
},
|
||||
"speelplekken": {
|
||||
"description": "<h3>Welkom bij de Groendoener!</h3>De Zuidrand dat is spelen, ravotten, chillen, wandelen,… in het groen. Meer dan <b>200 grote en kleine speelplekken</b> 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!<br/><br/>Het project groendoener kadert binnen het strategisch project <a href='https://www.provincieantwerpen.be/aanbod/dlm/samenwerkingsverbanden/zuidrand/projecten/strategisch-project-beleefbare-open-ruimte.html' target='_blank'>Beleefbare Open Ruimte in de Antwerpse Zuidrand</a> 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.<br/><img class='w-full md:w-1/2' src='./assets/themes/speelplekken/provincie_antwerpen.jpg'/><img class='w-full md:w-1/2' src='./assets/themes/speelplekken/Departement_Omgeving_Vlaanderen.png'/>",
|
||||
"layers": {
|
||||
"6": {
|
||||
"name": "Wandelroutes van provincie Antwerpen",
|
||||
"tagRenderings": {
|
||||
"walk-description": {
|
||||
"render": "<h3>Korte beschrijving:</h3>{description}"
|
||||
},
|
||||
"walk-length": {
|
||||
"render": "Deze wandeling is <b>{_length:km}km</b> 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 <a href='mailto:{operator:email}'>{operator:email}</a>"
|
||||
},
|
||||
"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",
|
||||
|
@ -1297,6 +1399,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",
|
||||
|
@ -1410,9 +1516,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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -373,14 +373,6 @@
|
|||
"skippedMultiple": "你跳過 {skipped} 問題",
|
||||
"skippedOne": "你跳過一個問題"
|
||||
},
|
||||
"questions": {
|
||||
"emailIs": "{category} 的電子郵件地址是<a href=\"mailto:{email}\" target=\"_blank\">{email}</a>",
|
||||
"emailOf": "{category} 的電子郵件地址是?",
|
||||
"phoneNumberIs": "此 {category} 的電話號碼為 <a href='tel:{phone}' target='_blank'>{phone}</a>",
|
||||
"phoneNumberOf": "{category} 的電話號碼是?",
|
||||
"websiteIs": "網站:<a href=\"{website}\" target=\"_blank\">{website}</a>",
|
||||
"websiteOf": "{category} 的網站網址是?"
|
||||
},
|
||||
"readYourMessages": "請先閱讀開放街圖訊息之前再來新增新圖徵。",
|
||||
"removeLocationHistory": "刪除位置歷史",
|
||||
"retry": "重試",
|
||||
|
|
|
@ -5067,7 +5067,7 @@ input[type="range"].range-lg::-moz-range-thumb {
|
|||
@font-face {
|
||||
font-family: "Source Sans Pro";
|
||||
|
||||
src: url("/assets/source-sans-pro.regular.ttf") format("woff");
|
||||
src: url("../assets/fonts/source-sans-pro.regular.ttf") format("woff");
|
||||
}
|
||||
|
||||
/***********************************************************************\
|
||||
|
|
|
@ -562,4 +562,14 @@ export default class UserRelatedState {
|
|||
|
||||
return amendedPrefs
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* The disabled questions for this theme and layer
|
||||
*/
|
||||
public getThemeDisabled(themeId: string, layerId: string): UIEventSource<string[]> {
|
||||
const flatSource = this.osmConnection.getPreference("disabled-questions-" + themeId + "-" + layerId, "[]")
|
||||
return UIEventSource.asObject<string[]>(flatSource, [])
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
export let open = new UIEventSource(false)
|
||||
export let dotsSize = `w-6 h-6`
|
||||
export let dotsPosition = `top-0 right-0`
|
||||
export let hideBackground = false
|
||||
export let hideBackground: boolean = false
|
||||
let menuPosition = ``
|
||||
if (dotsPosition.indexOf("left-0") >= 0) {
|
||||
menuPosition = "left-0"
|
||||
|
@ -50,7 +50,7 @@
|
|||
}
|
||||
|
||||
:global(.dots-menu > path) {
|
||||
fill: var(--interactive-background);
|
||||
fill: var(--button-background-hover);
|
||||
transition: fill 350ms linear;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@ -73,9 +73,9 @@
|
|||
background-color: white;
|
||||
}
|
||||
|
||||
.transition-background {
|
||||
transition: background-color 150ms linear;
|
||||
}
|
||||
.transition-background {
|
||||
transition: background-color 150ms linear;
|
||||
}
|
||||
|
||||
.transition-background.collapsed {
|
||||
background-color: #00000000;
|
||||
|
|
27
src/UI/Popup/DisabledQuestions.svelte
Normal file
27
src/UI/Popup/DisabledQuestions.svelte
Normal file
|
@ -0,0 +1,27 @@
|
|||
<script lang="ts">
|
||||
import DisabledQuestionsLayer from "./DisabledQuestionsLayer.svelte"
|
||||
import { Stores } from "../../Logic/UIEventSource"
|
||||
import Tr from "../Base/Tr.svelte"
|
||||
import Translations from "../i18n/Translations"
|
||||
|
||||
/**
|
||||
* Shows _all_ disabled questions
|
||||
*/
|
||||
export let state
|
||||
let layers = state.layout.layers.filter(l => l.isNormal())
|
||||
|
||||
let allDisabled = Stores.concat<string>(layers.map(l => state.userRelatedState.getThemeDisabled(state.layout.id, l.id))).map(l => [].concat(...l))
|
||||
const t = Translations.t.general.questions
|
||||
</script>
|
||||
|
||||
<h3>
|
||||
<Tr t={t.disabledTitle} />
|
||||
</h3>
|
||||
{#if $allDisabled.length === 0}
|
||||
<Tr t={t.noneDisabled} />
|
||||
{:else}
|
||||
<Tr t={t.disabledIntro} />
|
||||
{#each layers as layer (layer.id)}
|
||||
<DisabledQuestionsLayer {state} {layer} />
|
||||
{/each}
|
||||
{/if}
|
45
src/UI/Popup/DisabledQuestionsLayer.svelte
Normal file
45
src/UI/Popup/DisabledQuestionsLayer.svelte
Normal file
|
@ -0,0 +1,45 @@
|
|||
<script lang="ts">/**
|
||||
* Gives an overview of questions which are disabled for the given theme
|
||||
*/
|
||||
import UserRelatedState from "../../Logic/State/UserRelatedState"
|
||||
import LayerConfig from "../../Models/ThemeConfig/LayerConfig"
|
||||
import ThemeViewState from "../../Models/ThemeViewState"
|
||||
import Tr from "../Base/Tr.svelte"
|
||||
import { Translation } from "../i18n/Translation"
|
||||
import { XMarkIcon } from "@babeard/svelte-heroicons/mini"
|
||||
import ToSvelte from "../Base/ToSvelte.svelte"
|
||||
|
||||
export let layer: LayerConfig
|
||||
export let state: ThemeViewState
|
||||
|
||||
let disabledQuestions = state.userRelatedState.getThemeDisabled(state.layout.id, layer.id)
|
||||
|
||||
function getQuestion(id: string): Translation {
|
||||
return layer.tagRenderings.find(q => q.id === id).question.Subs({})
|
||||
}
|
||||
|
||||
function enable(idToEnable: string) {
|
||||
const newList = disabledQuestions.data.filter(id => id !== idToEnable)
|
||||
disabledQuestions.set(newList)
|
||||
}
|
||||
</script>
|
||||
|
||||
{#if $disabledQuestions.length > 0}
|
||||
<div class="low-interaction p-2">
|
||||
|
||||
<h4 class="flex my-2">
|
||||
<div class="no-image-background block h-6 w-6">
|
||||
<ToSvelte construct={() => layer.defaultIcon()} />
|
||||
</div>
|
||||
<Tr t={layer.name} />
|
||||
</h4>
|
||||
<div class="flex">
|
||||
{#each $disabledQuestions as id}
|
||||
<button class="badge button-unstyled" on:click={() => enable(id)}>
|
||||
<Tr cls="ml-2" t={getQuestion(id)} />
|
||||
<XMarkIcon class="w-4 h-4 mr-2" />
|
||||
</button>
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
|
@ -43,11 +43,20 @@
|
|||
}
|
||||
return true
|
||||
}
|
||||
|
||||
const baseQuestions = (layer?.tagRenderings ?? [])?.filter(
|
||||
(tr) => allowed(tr.labels) && tr.question !== undefined
|
||||
(tr) => allowed(tr.labels) && tr.question !== undefined,
|
||||
)
|
||||
|
||||
|
||||
/**
|
||||
* Ids of skipped questions
|
||||
*/
|
||||
let skippedQuestions = new UIEventSource<Set<string>>(new Set<string>())
|
||||
let layerDisabledForTheme = state.userRelatedState.getThemeDisabled(state.layout.id, layer.id)
|
||||
layerDisabledForTheme.addCallbackAndRunD(disabled => {
|
||||
skippedQuestions.set(new Set(disabled.concat(Array.from(skippedQuestions.data))))
|
||||
})
|
||||
let questionboxElem: HTMLDivElement
|
||||
let questionsToAsk = tags.map(
|
||||
(tags) => {
|
||||
|
@ -69,10 +78,10 @@
|
|||
}
|
||||
return questionsToAsk
|
||||
},
|
||||
[skippedQuestions]
|
||||
[skippedQuestions],
|
||||
)
|
||||
let firstQuestion: UIEventSource<TagRenderingConfig> = new UIEventSource<TagRenderingConfig>(
|
||||
undefined
|
||||
undefined,
|
||||
)
|
||||
let allQuestionsToAsk: UIEventSource<TagRenderingConfig[]> = new UIEventSource<
|
||||
TagRenderingConfig[]
|
||||
|
@ -95,6 +104,8 @@
|
|||
let skipped: number = 0
|
||||
|
||||
let loginEnabled = state.featureSwitches.featureSwitchEnableLogin
|
||||
let debug = state.featureSwitches.featureSwitchIsDebugging
|
||||
|
||||
|
||||
function skip(question: { id: string }, didAnswer: boolean = false) {
|
||||
skippedQuestions.data.add(question.id) // Must use ID, the config object might be a copy of the original
|
||||
|
@ -117,43 +128,84 @@
|
|||
class="marker-questionbox-root"
|
||||
class:hidden={$questionsToAsk.length === 0 && skipped === 0 && answered === 0}
|
||||
>
|
||||
{#if $showAllQuestionsAtOnce}
|
||||
<div class="flex flex-col gap-y-1">
|
||||
{#each $allQuestionsToAsk as question (question.id)}
|
||||
<TagRenderingQuestionDynamic
|
||||
config={question}
|
||||
{tags}
|
||||
{selectedElement}
|
||||
{state}
|
||||
{layer}
|
||||
/>
|
||||
{/each}
|
||||
</div>
|
||||
{:else if $firstQuestion !== undefined}
|
||||
<TagRenderingQuestionDynamic
|
||||
config={$firstQuestion}
|
||||
{layer}
|
||||
{selectedElement}
|
||||
{state}
|
||||
{tags}
|
||||
on:saved={() => {
|
||||
skip($firstQuestion, true)
|
||||
}}
|
||||
>
|
||||
<button
|
||||
class="secondary"
|
||||
on:click={() => {
|
||||
skip($firstQuestion)
|
||||
}}
|
||||
slot="cancel"
|
||||
>
|
||||
<Tr t={Translations.t.general.skip} />
|
||||
</button>
|
||||
</TagRenderingQuestionDynamic>
|
||||
{/if}
|
||||
|
||||
{#if $allQuestionsToAsk.length === 0}
|
||||
<div class="thanks">
|
||||
<Tr t={Translations.t.general.questionBox.done} />
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<div class="mt-4 mb-8">
|
||||
|
||||
{#if skipped + answered > 0}
|
||||
<div class="thanks">
|
||||
<Tr t={Translations.t.general.questionBox.done} />
|
||||
</div>
|
||||
{#if answered === 0}
|
||||
{#if skipped === 1}
|
||||
<Tr t={Translations.t.general.questionBox.skippedOne} />
|
||||
{:else}
|
||||
<Tr t={Translations.t.general.questionBox.skippedMultiple.Subs({ skipped })} />
|
||||
{/if}
|
||||
{:else if answered === 1}
|
||||
{#if skipped === 0}
|
||||
<Tr t={Translations.t.general.questionBox.answeredOne} />
|
||||
<div class="flex justify-center">
|
||||
{#if answered === 0}
|
||||
{#if skipped === 1}
|
||||
<Tr t={Translations.t.general.questionBox.skippedOne} />
|
||||
{:else}
|
||||
<Tr t={Translations.t.general.questionBox.skippedMultiple.Subs({ skipped })} />
|
||||
{/if}
|
||||
{:else if answered === 1}
|
||||
{#if skipped === 0}
|
||||
<Tr t={Translations.t.general.questionBox.answeredOne} />
|
||||
{:else if skipped === 1}
|
||||
<Tr t={Translations.t.general.questionBox.answeredOneSkippedOne} />
|
||||
{:else}
|
||||
<Tr
|
||||
t={Translations.t.general.questionBox.answeredOneSkippedMultiple.Subs({ skipped })}
|
||||
/>
|
||||
{/if}
|
||||
{:else if skipped === 0}
|
||||
<Tr t={Translations.t.general.questionBox.answeredMultiple.Subs({ answered })} />
|
||||
{:else if skipped === 1}
|
||||
<Tr t={Translations.t.general.questionBox.answeredOneSkippedOne} />
|
||||
<Tr
|
||||
t={Translations.t.general.questionBox.answeredMultipleSkippedOne.Subs({ answered })}
|
||||
/>
|
||||
{:else}
|
||||
<Tr
|
||||
t={Translations.t.general.questionBox.answeredOneSkippedMultiple.Subs({ skipped })}
|
||||
/>
|
||||
{/if}
|
||||
{:else if skipped === 0}
|
||||
<Tr t={Translations.t.general.questionBox.answeredMultiple.Subs({ answered })} />
|
||||
{:else if skipped === 1}
|
||||
<Tr
|
||||
t={Translations.t.general.questionBox.answeredMultipleSkippedOne.Subs({ answered })}
|
||||
/>
|
||||
{:else}
|
||||
<Tr
|
||||
t={Translations.t.general.questionBox.answeredMultipleSkippedMultiple.Subs({
|
||||
t={Translations.t.general.questionBox.answeredMultipleSkippedMultiple.Subs({
|
||||
answered,
|
||||
skipped,
|
||||
})}
|
||||
/>
|
||||
{/if}
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if skipped > 0}
|
||||
{#if skipped + $skippedQuestions.size > 0}
|
||||
<button
|
||||
class="w-full"
|
||||
on:click={() => {
|
||||
|
@ -163,45 +215,25 @@
|
|||
>
|
||||
<Tr t={Translations.t.general.questionBox.reactivate} />
|
||||
</button>
|
||||
|
||||
{/if}
|
||||
{/if}
|
||||
{:else}
|
||||
<div>
|
||||
{#if $showAllQuestionsAtOnce}
|
||||
<div class="flex flex-col gap-y-1">
|
||||
{#each $allQuestionsToAsk as question (question.id)}
|
||||
<TagRenderingQuestionDynamic
|
||||
config={question}
|
||||
{tags}
|
||||
{selectedElement}
|
||||
{state}
|
||||
{layer}
|
||||
/>
|
||||
{/each}
|
||||
</div>
|
||||
{:else if $firstQuestion !== undefined}
|
||||
<TagRenderingQuestionDynamic
|
||||
config={$firstQuestion}
|
||||
{layer}
|
||||
{selectedElement}
|
||||
{state}
|
||||
{tags}
|
||||
on:saved={() => {
|
||||
skip($firstQuestion, true)
|
||||
|
||||
{#if $skippedQuestions.size - skipped > 0}
|
||||
<button
|
||||
class="w-full"
|
||||
on:click={() => {
|
||||
skippedQuestions.setData(new Set())
|
||||
skipped = 0
|
||||
}}
|
||||
>
|
||||
<button
|
||||
class="secondary"
|
||||
on:click={() => {
|
||||
skip($firstQuestion)
|
||||
}}
|
||||
slot="cancel"
|
||||
>
|
||||
<Tr t={Translations.t.general.skip} />
|
||||
</button>
|
||||
</TagRenderingQuestionDynamic>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
>
|
||||
Show the disabled questions for this object
|
||||
</button>
|
||||
|
||||
{/if}
|
||||
{#if $debug}
|
||||
Skipped questions are {Array.from($skippedQuestions).join(", ")}
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
import { Modal } from "flowbite-svelte"
|
||||
import Popup from "../../Base/Popup.svelte"
|
||||
import If from "../../Base/If.svelte"
|
||||
import DotMenu from "../../Base/DotMenu.svelte"
|
||||
import SidebarUnit from "../../Base/SidebarUnit.svelte"
|
||||
|
||||
export let config: TagRenderingConfig
|
||||
export let tags: UIEventSource<Record<string, string>>
|
||||
|
@ -338,10 +340,41 @@
|
|||
.then((changes) => state.changes.applyChanges(changes))
|
||||
.catch(console.error)
|
||||
}
|
||||
|
||||
let disabledInTheme = state.userRelatedState.getThemeDisabled(state.layout.id, layer?.id)
|
||||
let menuIsOpened = new UIEventSource(false)
|
||||
|
||||
function disableQuestion() {
|
||||
const newList = Utils.Dedup([config.id, ...disabledInTheme.data])
|
||||
disabledInTheme.set(newList)
|
||||
menuIsOpened.set(false)
|
||||
}
|
||||
|
||||
function enableQuestion() {
|
||||
const newList = disabledInTheme.data?.filter(id => id !== config.id)
|
||||
disabledInTheme.set(newList)
|
||||
menuIsOpened.set(false)
|
||||
}
|
||||
</script>
|
||||
|
||||
{#if question !== undefined}
|
||||
<div class={clss}>
|
||||
|
||||
{#if layer.isNormal()}
|
||||
<DotMenu hideBackground={true} open={menuIsOpened}>
|
||||
<SidebarUnit>
|
||||
{#if $disabledInTheme.indexOf(config.id) >= 0}
|
||||
<button on:click={() => enableQuestion()}>
|
||||
<Tr t={Translations.t.general.questions.enable}/>
|
||||
</button>
|
||||
{:else}
|
||||
<button on:click={() => disableQuestion()}>
|
||||
<Tr t={Translations.t.general.questions.disable}/>
|
||||
</button>
|
||||
{/if}
|
||||
</SidebarUnit>
|
||||
</DotMenu>
|
||||
{/if}
|
||||
<form
|
||||
class="relative flex flex-col overflow-y-auto px-4"
|
||||
style="max-height: 75vh"
|
||||
|
|
|
@ -97,6 +97,7 @@ import ClearCaches from "./Popup/ClearCaches.svelte"
|
|||
import GroupedView from "./Popup/GroupedView.svelte"
|
||||
import { QuestionableTagRenderingConfigJson } from "../Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson"
|
||||
import NoteCommentElement from "./Popup/Notes/NoteCommentElement.svelte"
|
||||
import DisabledQuestions from "./Popup/DisabledQuestions.svelte"
|
||||
import FediverseLink from "./Popup/FediverseLink.svelte"
|
||||
import ImageCarousel from "./Image/ImageCarousel.svelte"
|
||||
|
||||
|
@ -2107,6 +2108,16 @@ export default class SpecialVisualizations {
|
|||
})
|
||||
},
|
||||
},
|
||||
{
|
||||
funcName: "disabled_questions",
|
||||
docs: "Shows which questions are disabled for every layer. Used in 'settings'",
|
||||
needsUrls: [],
|
||||
args: [],
|
||||
constr(state) {
|
||||
return new SvelteUIElement(DisabledQuestions, { state })
|
||||
},
|
||||
|
||||
},
|
||||
]
|
||||
|
||||
specialVisualizations.push(new AutoApplyButton(specialVisualizations))
|
||||
|
|
|
@ -68,7 +68,8 @@
|
|||
|
||||
@font-face {
|
||||
font-family: "Source Sans Pro";
|
||||
src: url("/assets/source-sans-pro.regular.ttf") format("woff");
|
||||
/*This path might seem incorrect. However, 'index.css' will be compiled and placed in 'public/css', from where this path _is_ correct*/
|
||||
src: url("../assets/fonts/source-sans-pro.regular.ttf") format("woff");
|
||||
}
|
||||
|
||||
/***********************************************************************\
|
||||
|
|
Loading…
Reference in a new issue