diff --git a/.github/workflows/deploy_pietervdvn.yml b/.github/workflows/deploy_pietervdvn.yml index 8f149957b..a548dc936 100644 --- a/.github/workflows/deploy_pietervdvn.yml +++ b/.github/workflows/deploy_pietervdvn.yml @@ -5,6 +5,7 @@ on: - develop - feature/* - theme/* + - refactoring/* jobs: build: runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index 3eea34f06..41f172fe8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ node_modules scratch assets/editor-layer-index.json assets/generated/* -assets/generated/images/* +src/assets/generated/ public/*.webmanifest /*.html !/index.html diff --git a/404.html b/404.html index 0ca7b4321..129c820db 100644 --- a/404.html +++ b/404.html @@ -49,7 +49,7 @@ Not found... - + diff --git a/assets/layers/atm/atm.json b/assets/layers/atm/atm.json index 78992371f..8975d62b0 100644 --- a/assets/layers/atm/atm.json +++ b/assets/layers/atm/atm.json @@ -291,7 +291,7 @@ "mappings": [ { "if": "cash_out:notes:denominations=5 EUR", - "icon": "./assets/tagRenderings/5euro.svg", + "icon": "./assets/layers/questions/5euro.svg", "then": { "en": "5 euro notes can be withdrawn", "nl": "Je kunt biljetten van 5 euro afhalen", @@ -301,7 +301,7 @@ }, { "if": "cash_out:notes:denominations=10 EUR", - "icon": "./assets/tagRenderings/10euro.svg", + "icon": "./assets/layers/questions/10euro.svg", "then": { "en": "10 euro notes can be withdrawn", "nl": "Je kunt biljetten van 10 euro afhalen", @@ -311,7 +311,7 @@ }, { "if": "cash_out:notes:denominations=20 EUR", - "icon": "./assets/tagRenderings/20euro.svg", + "icon": "./assets/layers/questions/20euro.svg", "then": { "en": "20 euro notes can be withdrawn", "nl": "Je kunt biljetten van 20 euro afhalen", @@ -321,7 +321,7 @@ }, { "if": "cash_out:notes:denominations=50 EUR", - "icon": "./assets/tagRenderings/50euro.svg", + "icon": "./assets/layers/questions/50euro.svg", "then": { "en": "50 euro notes can be withdrawn", "nl": "Je kunt biljetten van 50 euro afhalen", @@ -331,7 +331,7 @@ }, { "if": "cash_out:notes:denominations=100 EUR", - "icon": "./assets/tagRenderings/100euro.svg", + "icon": "./assets/layers/questions/100euro.svg", "then": { "en": "100 euro notes can be withdrawn", "nl": "Je kunt biljetten van 100 euro afhalen", @@ -341,7 +341,7 @@ }, { "if": "cash_out:notes:denominations=200 EUR", - "icon": "./assets/tagRenderings/200euro.svg", + "icon": "./assets/layers/questions/200euro.svg", "then": { "en": "200 euro notes can be withdrawn", "nl": "Je kunt biljetten van 200 euro afhalen", @@ -351,7 +351,7 @@ }, { "if": "cash_out:notes:denominations=500 EUR", - "icon": "./assets/tagRenderings/500euro.svg", + "icon": "./assets/layers/questions/500euro.svg", "then": { "en": "500 euro notes can be withdrawn", "nl": "Je kunt biljetten van 500 euro afhalen", diff --git a/assets/layers/charging_station/csvToJson.ts b/assets/layers/charging_station/csvToJson.ts index 419eaac06..ff1a50fb6 100644 --- a/assets/layers/charging_station/csvToJson.ts +++ b/assets/layers/charging_station/csvToJson.ts @@ -1,9 +1,9 @@ import {readFileSync, writeFileSync} from "fs"; -import {Utils} from "../../../Utils"; +import {Utils} from "../../../src/Utils"; import ScriptUtils from "../../../scripts/ScriptUtils"; -import {LayerConfigJson} from "../../../Models/ThemeConfig/Json/LayerConfigJson"; -import FilterConfigJson from "../../../Models/ThemeConfig/Json/FilterConfigJson"; -import {QuestionableTagRenderingConfigJson} from "../../../Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson"; +import {LayerConfigJson} from "../../../src/Models/ThemeConfig/Json/LayerConfigJson"; +import FilterConfigJson from "../../../src/Models/ThemeConfig/Json/FilterConfigJson"; +import {QuestionableTagRenderingConfigJson} from "../../../src/Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson"; function colonSplit(value: string): string[] { diff --git a/assets/layers/icons/icons.json b/assets/layers/icons/icons.json index daf7ed181..0d665fcac 100644 --- a/assets/layers/icons/icons.json +++ b/assets/layers/icons/icons.json @@ -66,7 +66,7 @@ "labels": [ "defaults" ], - "render": "phone", + "render": "phone", "condition": "phone~*" }, { @@ -74,7 +74,7 @@ "labels": [ "defaults" ], - "render": "email", + "render": "email", "condition": "email~*" }, { @@ -94,12 +94,12 @@ { "#": "ignore-image-in-then", "if": "smoking=no", - "then": "no-smoking" + "then": "no-smoking" }, { "#": "ignore-image-in-then", "if": "smoking=yes", - "then": "smoking-allowed" + "then": "smoking-allowed" } ] }, diff --git a/assets/layers/map/map.json b/assets/layers/map/map.json index 8cc8cae98..12447093c 100644 --- a/assets/layers/map/map.json +++ b/assets/layers/map/map.json @@ -105,7 +105,7 @@ { "if": "map_size=city", "then": { - "en": " A map of a city.", + "en": " A map of a city", "de": "Stadt" } }, diff --git a/assets/tagRenderings/100euro.svg b/assets/layers/questions/100euro.svg similarity index 100% rename from assets/tagRenderings/100euro.svg rename to assets/layers/questions/100euro.svg diff --git a/assets/tagRenderings/10cent.svg b/assets/layers/questions/10cent.svg similarity index 100% rename from assets/tagRenderings/10cent.svg rename to assets/layers/questions/10cent.svg diff --git a/assets/tagRenderings/10euro.svg b/assets/layers/questions/10euro.svg similarity index 100% rename from assets/tagRenderings/10euro.svg rename to assets/layers/questions/10euro.svg diff --git a/assets/tagRenderings/1cent.svg b/assets/layers/questions/1cent.svg similarity index 100% rename from assets/tagRenderings/1cent.svg rename to assets/layers/questions/1cent.svg diff --git a/assets/tagRenderings/1euro.svg b/assets/layers/questions/1euro.svg similarity index 100% rename from assets/tagRenderings/1euro.svg rename to assets/layers/questions/1euro.svg diff --git a/assets/tagRenderings/200euro.svg b/assets/layers/questions/200euro.svg similarity index 100% rename from assets/tagRenderings/200euro.svg rename to assets/layers/questions/200euro.svg diff --git a/assets/tagRenderings/20cent.svg b/assets/layers/questions/20cent.svg similarity index 100% rename from assets/tagRenderings/20cent.svg rename to assets/layers/questions/20cent.svg diff --git a/assets/tagRenderings/20euro.svg b/assets/layers/questions/20euro.svg similarity index 100% rename from assets/tagRenderings/20euro.svg rename to assets/layers/questions/20euro.svg diff --git a/assets/tagRenderings/2cent.svg b/assets/layers/questions/2cent.svg similarity index 100% rename from assets/tagRenderings/2cent.svg rename to assets/layers/questions/2cent.svg diff --git a/assets/tagRenderings/2euro.svg b/assets/layers/questions/2euro.svg similarity index 100% rename from assets/tagRenderings/2euro.svg rename to assets/layers/questions/2euro.svg diff --git a/assets/tagRenderings/500euro.svg b/assets/layers/questions/500euro.svg similarity index 100% rename from assets/tagRenderings/500euro.svg rename to assets/layers/questions/500euro.svg diff --git a/assets/tagRenderings/50cent.svg b/assets/layers/questions/50cent.svg similarity index 100% rename from assets/tagRenderings/50cent.svg rename to assets/layers/questions/50cent.svg diff --git a/assets/tagRenderings/50euro.svg b/assets/layers/questions/50euro.svg similarity index 100% rename from assets/tagRenderings/50euro.svg rename to assets/layers/questions/50euro.svg diff --git a/assets/tagRenderings/5cent.svg b/assets/layers/questions/5cent.svg similarity index 100% rename from assets/tagRenderings/5cent.svg rename to assets/layers/questions/5cent.svg diff --git a/assets/tagRenderings/5euro.svg b/assets/layers/questions/5euro.svg similarity index 100% rename from assets/tagRenderings/5euro.svg rename to assets/layers/questions/5euro.svg diff --git a/assets/tagRenderings/audio_induction_loop.svg b/assets/layers/questions/audio_induction_loop.svg similarity index 100% rename from assets/tagRenderings/audio_induction_loop.svg rename to assets/layers/questions/audio_induction_loop.svg diff --git a/assets/tagRenderings/audio_induction_loop_missing.svg b/assets/layers/questions/audio_induction_loop_missing.svg similarity index 100% rename from assets/tagRenderings/audio_induction_loop_missing.svg rename to assets/layers/questions/audio_induction_loop_missing.svg diff --git a/assets/tagRenderings/cash.svg b/assets/layers/questions/cash.svg similarity index 100% rename from assets/tagRenderings/cash.svg rename to assets/layers/questions/cash.svg diff --git a/assets/tagRenderings/coins.svg b/assets/layers/questions/coins.svg similarity index 100% rename from assets/tagRenderings/coins.svg rename to assets/layers/questions/coins.svg diff --git a/assets/tagRenderings/license_info.json b/assets/layers/questions/license_info.json similarity index 100% rename from assets/tagRenderings/license_info.json rename to assets/layers/questions/license_info.json diff --git a/assets/tagRenderings/nfc_card.svg b/assets/layers/questions/nfc_card.svg similarity index 100% rename from assets/tagRenderings/nfc_card.svg rename to assets/layers/questions/nfc_card.svg diff --git a/assets/tagRenderings/no_smoking.svg b/assets/layers/questions/no_smoking.svg similarity index 100% rename from assets/tagRenderings/no_smoking.svg rename to assets/layers/questions/no_smoking.svg diff --git a/assets/tagRenderings/notes.svg b/assets/layers/questions/notes.svg similarity index 100% rename from assets/tagRenderings/notes.svg rename to assets/layers/questions/notes.svg diff --git a/assets/tagRenderings/payment_card.svg b/assets/layers/questions/payment_card.svg similarity index 100% rename from assets/tagRenderings/payment_card.svg rename to assets/layers/questions/payment_card.svg diff --git a/assets/tagRenderings/phone.svg b/assets/layers/questions/phone.svg similarity index 100% rename from assets/tagRenderings/phone.svg rename to assets/layers/questions/phone.svg diff --git a/assets/tagRenderings/qrcode.svg b/assets/layers/questions/qrcode.svg similarity index 100% rename from assets/tagRenderings/qrcode.svg rename to assets/layers/questions/qrcode.svg diff --git a/assets/layers/questions/questions.json b/assets/layers/questions/questions.json new file mode 100644 index 000000000..1bdd43127 --- /dev/null +++ b/assets/layers/questions/questions.json @@ -0,0 +1,2178 @@ +{ + "id": "questions", + "description": "Special library layer which does not need a '.questions'-prefix before being imported", + "source": "special:library", + "mapRendering": null, + "tagRenderings": [ + { + "id": "questions", + "description": "Show the questions block at this location", + "render": { + "*": "{questions()}" + } + }, + { + "id": "images", + "description": "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", + "render": { + "*": "{image_carousel()}{image_upload()}" + } + }, + { + "id": "mapillary", + "description": "Shows a button to open Mapillary on this location", + "render": { + "*": "{mapillary()}" + } + }, + { + "id": "export_as_gpx", + "description": "Shows a button to export this feature as GPX. Especially useful for route relations", + "render": { + "*": "{export_as_gpx()}" + } + }, + { + "id": "export_as_geojson", + "description": "Shows a button to export this feature as geojson. Especially useful for debugging or using this in other programs", + "render": { + "*": "{export_as_geojson()}" + } + }, + { + "id": "wikipedia", + "description": "Shows a wikipedia box with the corresponding wikipedia article; the wikidata-item link can be changed by a contributor", + "render": { + "*": "{wikipedia():max-height:25rem}" + }, + "question": { + "en": "What is the corresponding Wikidata entity?", + "nl": "Welk Wikidata-item komt overeen met dit object?", + "de": "Wie lautet das zugehörige Wikidata Element?", + "pt": "Qual é a entidade Wikidata correspondente?", + "hu": "Mi a megfelelő Wikidata-elem?", + "it": "Qual è l’elemento Wikidata corrispondente?", + "nb_NO": "Hva er respektivt Wikipedia-element?", + "fr": "Quelle est l'entité Wikidata correspondante ?", + "ca": "Quina és la correspondent entitat a Wikidata?", + "sv": "Vad är den motsvarande Wikidata-enheten?", + "zh_Hant": "對應的維基資料項目是?", + "pl": "Jaki jest powiązany obiekt Wikidata?", + "ja": "対応するウィキデータのエンティティは何ですか?", + "fil": "Ano ang nau-ukol na entidad sa Wikidata?", + "es": "¿Cual es la entidad de Wikidata que se corresponde?", + "zh_Hans": "在Wikidata上对应的实体是什么?", + "da": "Hvad er den tilsvarende Wikidata-enhed?", + "id": "Apa entitas Wikidata yang sesuai?", + "cs": "Jaká je odpovídající entita Wikidata?" + }, + "mappings": [ + { + "if": "wikipedia~*", + "then": { + "*": "{wikipedia():max-height:25rem}", + "ca": "No hi ha cap enllaça a Viquipèdia encara", + "da": "Der er endnu ikke linket til nogen Wikipedia-side", + "de": "Es wurde noch keine Wikipedia-Seite verlinkt", + "en": "No Wikipedia page has been linked yet", + "es": "Todavía no se ha enlazado una página de wikipedia", + "fil": "Wala pang kawing ng Wikipedia page", + "fr": "Pas encore de lien vers une page Wikipedia", + "hu": "Még nincs Wikipédia-oldal belinkelve", + "it": "Nessuna pagina Wikipedia è ancora stata collegata", + "ja": "ウィキペディアのページはまだリンクされていません", + "nb_NO": "Ingen Wikipedia-side lenket enda", + "nl": "Er werd nog geen Wikipedia-pagina gekoppeld", + "pl": "Link do strony Wikipedii nie został jeszcze określony", + "pt": "Ainda não foi vinculada nenhuma página da Wikipédia", + "ru": "Никакой страницы на Википедии не было прикреплено", + "sv": "Ingen Wikipedia-sida har länkats än", + "zh_Hans": "尚未有连接到的维基百科页面", + "zh_Hant": "還沒有連結到維基百科頁面", + "id": "Belum ada halaman Wikipedia yang ditautkan", + "cs": "Žádná stránka na Wikipedii zatím nebyla propojena" + }, + "hideInAnswer": true + }, + { + "if": "wikidata=", + "then": { + "en": "No Wikipedia page has been linked yet", + "nl": "Er werd nog geen Wikipedia-pagina gekoppeld", + "de": "Es wurde noch keine Wikipedia-Seite verlinkt", + "pt": "Ainda não foi vinculada nenhuma página da Wikipédia", + "hu": "Még nincs Wikipédia-oldal belinkelve", + "it": "Nessuna pagina Wikipedia è ancora stata collegata", + "nb_NO": "Ingen Wikipedia-side lenket enda", + "fr": "Pas encore de lien vers une page Wikipedia", + "ca": "No hi ha cap enllaça a Viquipèdia encara", + "sv": "Ingen Wikipedia-sida har länkats än", + "zh_Hant": "還沒有連結到維基百科頁面", + "ru": "Никакой страницы на Википедии не было прикреплено", + "pl": "Link do strony Wikipedii nie został jeszcze określony", + "ja": "ウィキペディアのページはまだリンクされていません", + "fil": "Wala pang kawing ng Wikipedia page", + "es": "Todavía no se ha enlazado una página de wikipedia", + "zh_Hans": "尚未有连接到的维基百科页面", + "da": "Der er endnu ikke linket til nogen Wikipedia-side", + "id": "Belum ada halaman Wikipedia yang ditautkan", + "cs": "Žádná stránka na Wikipedii zatím nebyla propojena" + }, + "hideInAnswer": true + } + ], + "freeform": { + "key": "wikidata", + "type": "wikidata" + } + }, + { + "id": "reviews", + "description": "Shows the reviews module (including the possibility to leave a review)", + "render": { + "*": "{reviews()}" + } + }, + { + "id": "minimap", + "description": "Shows a small map with the feature. Added by default to every popup", + "render": { + "*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}" + } + }, + { + "id": "phone", + "labels": [ + "contact" + ], + "question": { + "en": "What is the phone number of {title()}?", + "nl": "Wat is het telefoonnummer van {title()}?", + "fr": "Quel est le numéro de téléphone de {title()} ?", + "de": "Wie lautet die Telefonnummer von {title()}?", + "nb_NO": "Hva er telefonnummeret til {title()}?", + "ru": "Какой номер телефона у {title()}?", + "sv": "Vad är telefonnumret till {title()}?", + "zh_Hant": "{title()} 的電話號碼是什麼?", + "it": "Qual è il numero di telefono di {title()}?", + "pt_BR": "Qual o número de telefone de {title()}?", + "id": "Berapa nomor telepon dari {title()}?", + "pl": "Jaki jest numer telefonu do {title()}?", + "pt": "Qual é o número de telefone de {title()}?", + "eo": "Kio estas la telefonnumero de {title()}?", + "hu": "Mi a telefonszáma ennek: {title()}?", + "ca": "Quin és el telèfon de {title()}?", + "ja": "{title()}の電話番号は?", + "sl": "Kakšno telefonsko številko ima {title()}?", + "fil": "Ano ang telepono ng {title()}?", + "es": "¿Cuál es el número de teléfono de {title()}?", + "zh_Hans": "{title()} 的电话号码为何?", + "da": "Hvad er telefonnummeret til {title()}?", + "cs": "Jaké je telefonní číslo {title()}?" + }, + "render": { + "*": "{phone}" + }, + "mappings": [ + { + "if": "contact:phone~*", + "then": "{contact:phone}", + "hideInAnswer": true + } + ], + "freeform": { + "key": "phone", + "type": "phone", + "addExtraTags": [ + "contact:phone=" + ] + } + }, + { + "id": "osmlink", + "render": { + "*": "" + }, + "mappings": [ + { + "if": "id~=-", + "then": "Uploading..." + } + ] + }, + { + "id": "email", + "render": { + "*": "{email}" + }, + "labels": [ + "contact" + ], + "question": { + "nl": "Wat is het e-mailadres van {title()}?", + "fr": "Quelle est l'adresse courriel de {title()} ?", + "en": "What is the email address of {title()}?", + "nb_NO": "Hva er e-postadressen til {title()}?", + "ru": "Какой адрес электронной почты у {title()}?", + "id": "Apa alamat surel dari {title()}?", + "zh_Hant": "{title()} 的電子郵件地址是什麼?", + "it": "Qual è l'indirizzo email di {title()}?", + "de": "Wie lautet die Mail-Adresse von {title()}?", + "pt_BR": "Qual o endereço de e-mail de {title()}?", + "pl": "Jaki jest adres e-mail do {title()}?", + "sv": "Vad är e-postadressen till {title()}?", + "pt": "Qual é o endereço de e-mail de {title()}?", + "eo": "Kio estas la retpoŝta adreso de {title()}?", + "hu": "Mi a(z) {title()} e-mail címe?", + "ca": "Quina és l'adreça de correu electrònic de {title()}?", + "ja": "{title()}のEメールアドレスは何ですか?", + "sl": "Kakšen naslov elektronske pošte ima {title()}?", + "fil": "Ano ang email address ng {title()}?", + "es": "¿Cual es la direccióm de correo electrónico de {title()}?", + "zh_Hans": "{title()} 的电子邮箱地址为何?", + "da": "Hvad er mailadressen på {title()}?", + "cs": "Jaká je e-mailová adresa {title()}?" + }, + "mappings": [ + { + "if": "contact:email~*", + "then": "{contact:email}", + "hideInAnswer": true + } + ], + "freeform": { + "key": "email", + "type": "email", + "addExtraTags": [ + "contact:email=" + ] + } + }, + { + "id": "website", + "labels": [ + "contact" + ], + "question": { + "en": "What is the website of {title()}?", + "nl": "Wat is de website van {title()}?", + "fr": "Quel est le site web de {title()} ?", + "gl": "Cal é a páxina web de {title()}?", + "nb_NO": "Hva er nettsiden til {title()}?", + "ru": "Какой сайт у {title()}?", + "id": "Apa situs web dari {title()}?", + "zh_Hant": "{title()} 網址是什麼?", + "it": "Qual è il sito web di {title()}?", + "de": "Wie lautet die Webseite von {title()}?", + "pt_BR": "Qual o site de {title()}?", + "pl": "Jaka jest strona internetowa {title()}?", + "sv": "Vad är webbplatsen för {title()}?", + "pt": "Qual é o sítio web de {title()}?", + "eo": "Kie estas la retejo de {title()}?", + "hu": "Mi a weboldala ennek: {title()}?", + "ca": "Quina és la web de {title()}?", + "ja": "{title()}のウェブサイトは?", + "fil": "Ano ang website ng {title()}?", + "es": "¿Cual es el sitio web de {title()}?", + "zh_Hans": "{title()} 的网站为何?", + "da": "Hvad er webstedet for {title()}?", + "cs": "Jaká je webová stránka {title()}?" + }, + "render": { + "*": "{website}" + }, + "freeform": { + "key": "website", + "type": "url", + "addExtraTags": [ + "contact:website=" + ] + }, + "mappings": [ + { + "if": "contact:website~*", + "then": "{contact:website}", + "hideInAnswer": true + } + ] + }, + { + "id": "wheelchair-access", + "question": { + "nl": "Is deze plaats rolstoeltoegankelijk?", + "en": "Is this place accessible with a wheelchair?", + "pt": "Este lugar é acessível a utilizadores de cadeiras de rodas?", + "pt_BR": "Este lugar é acessível com uma cadeira de rodas?", + "de": "Ist der Ort rollstuhlzugänglich?", + "fr": "Est-ce que cet endroit est accessible en chaise roulante ?", + "hu": "Akadálymentes-e ez a hely?", + "it": "Questo luogo è accessibile con una sedia a rotelle?", + "nb_NO": "Er dette stedet tilgjengelig for rullestoler?", + "ca": "Aquest lloc és accessible amb cadira de rodes?", + "sv": "Är det här stället tillgängligt med en rullstol?", + "zh_Hant": "這個地方可以坐輪椅到達嗎?", + "pl": "Czy to miejsce jest dostępne dla osób na wózkach inwalidzkich?", + "ja": "車いすでのアクセスは可能ですか?", + "fil": "Kaya bang abutin ang lugar na ito ng naka-wheelchair?", + "es": "¿Este lugar es accesible con una silla de ruedas?", + "da": "Er stedet tilgængeligt med en kørestol?", + "id": "Apakah tempat ini dapat diakses dengan kursi roda?", + "cs": "Je toto místo přístupné pro vozíčkáře?" + }, + "mappings": [ + { + "if": { + "and": [ + "wheelchair=designated" + ] + }, + "then": { + "nl": "Deze plaats is speciaal aangepast voor gebruikers van een rolstoel", + "en": "This place is specially adapted for wheelchair users", + "pt": "Este lugar está especialmente adaptado para utilizadores de cadeira de rodas", + "pt_BR": "Este lugar é especialmente adaptado para usuários de cadeira de rodas", + "de": "Der Ort ist speziell für Rollstuhlfahrer gestaltet", + "hu": "Ez a hely kifejezetten kerekesszékeseknek lett kialakítva", + "it": "Questo luogo è stato adattato per favorire le persone in sedia a rotelle", + "nb_NO": "Dette stedet er spesielt tilpasset rullestolsbrukere", + "fr": "Cet endroit est spécialement adapté pour les usagers de fauteuils roulants", + "ca": "Aquest lloc està especialment adaptat per a les cadires de rodes", + "sv": "Det här stället är speciellt anpassat för rullstolsburna användare", + "zh_Hant": "這個地方有特別設計給輪椅使用者", + "ru": "Это место подходит для людей на инвалидной коляске", + "pl": "W tym miejscu zainstalowane zostały udogodnienia dla osób na wózkach inwalidzkich", + "ja": "この場所は、車椅子の方のための特別仕様になっています", + "fil": "Ang lugar na ito ay angkop sa mga gumagamit ng wheelchair", + "es": "Este lugar está especialmente adaptado para usuarios en sillas de ruedas", + "da": "Dette sted er specielt indrettet til kørestolsbrugere", + "id": "Tempat ini dirancang khusus untuk pengguna kursi roda", + "cs": "Toto místo je speciálně upraveno pro vozíčkáře" + } + }, + { + "if": { + "and": [ + "wheelchair=yes" + ] + }, + "then": { + "nl": "Deze plaats is vlot bereikbaar met een rolstoel", + "en": "This place is easily reachable with a wheelchair", + "pt": "Este lugar é de fácil acesso com uma cadeira de rodas", + "pt_BR": "Este lugar é facilmente acessível com uma cadeira de rodas", + "de": "Der Ort ist rollstuhlzugänglich gestaltet", + "hu": "Ez a hely könnyedén elérhető kerekesszékkel", + "it": "Questo luogo è facilmente raggiungibile con una sedia a rotelle", + "nb_NO": "Dette stedet kan enkelt besøkes med rullestol", + "fr": "Cet endroit est facilement accessible avec un fauteuil roulant", + "ca": "És facilment arribable amb cadira de rodes", + "sv": "Denna plats är lätt att nå med rullstol", + "zh_Hant": "這個地方坐輪椅很容易到達", + "ru": "До этого места легко добраться на инвалидной коляске", + "pl": "To miejsce jest łatwo dostępne dla osób na wózkach inwalidzkich", + "ja": "この場所は、車いすで簡単に行くことができます", + "fil": "Ang lugar na ito ay kayang abutin ng mga naka-wheelchair", + "es": "Este lugar es fácilmente accesible con una silla de ruedas", + "da": "Dette sted er let tilgængeligt med en kørestol", + "id": "Tempat ini mudah dijangkau dengan kursi roda", + "cs": "Toto místo je snadno dosažitelné s invalidním vozíkem" + } + }, + { + "if": { + "and": [ + "wheelchair=limited" + ] + }, + "then": { + "nl": "Deze plaats is bereikbaar met een rolstoel, maar het is niet makkelijk", + "en": "It is possible to reach this place in a wheelchair, but it is not easy", + "pt": "É possível chegar a este local em cadeira de rodas, mas não é fácil", + "pt_BR": "É possível chegar a esse local em uma cadeira de rodas, mas não é fácil", + "de": "Der Ort ist nur eingeschränkt rollstuhlzugänglich", + "fr": "Il est possible d'accéder à cet endroit en chaise roulante, mais ce n'est pas facile", + "hu": "Ez a hely ugyan elérhető kerekesszékkel, de nehezen", + "it": "È possibile raggiungere questo luogo con una sedia a rotella ma non è semplice", + "nb_NO": "Det er mulig å besøke dette stedet i rullestol, men det er ikke lett", + "ca": "És possible fer servir cadira de rodes a aquest lloc però no és fàcil", + "sv": "Det är möjligt att nå den här platsen i en rullstol, men det är inte lätt", + "zh_Hant": "這個地方可以坐輪椅到達,但並不容易", + "ru": "До этого места можно добраться, но не просто", + "pl": "To miejsce jest dostępne dla osób na wózkach inwalidzkich, ale z pewnymi trudnościami", + "ja": "車いすでこの場所まで行くことは可能ですが、簡単ではありません", + "fil": "Kayang abutin ang lugar na ito ng mga naka-wheelchair, pero hindi madali", + "es": "Es posible llegar a este lugar con una silla de ruedas, pero no es fácil", + "da": "Det er muligt at komme til dette sted med en kørestol, men det er ikke let", + "id": "Dimungkinkan untuk mencapai tempat ini dengan kursi roda, tetapi tidak mudah", + "cs": "Na toto místo je možné se dostat na invalidním vozíku, ale není to snadné" + } + }, + { + "if": { + "and": [ + "wheelchair=no" + ] + }, + "then": { + "nl": "Niet rolstoeltoegankelijk", + "en": "This place is not reachable with a wheelchair", + "pt": "Este lugar não é acessível com uma cadeira de rodas", + "pt_BR": "Este lugar não é alcançável com uma cadeira de rodas", + "de": "Der Ort ist nicht rollstuhlzugänglich", + "fr": "Cet endroit n'est pas accessible en chaise roulante", + "hu": "Ez a hely kerekesszékkel elérhetetlen", + "it": "Questo luogo non è accessibile con una sedia a rotelle", + "nb_NO": "Dette stedet er ikke tilgjengelig for besøk med rullestol", + "ca": "Aquest lloc no és accessible amb cadira de rodes", + "sv": "Den här platsen kan inte nås med en rullstol", + "zh_Hant": "輪椅無法到達這個地方", + "pl": "To miejsce jest niedostępne dla osób na wózkach inwalidzkich", + "ja": "この場所は車いすでは行けません", + "fil": "Ang lugar na ito ay hindi kayang abutin ng naka-wheelchair", + "es": "No es posible llegar a este lugar con una silla de ruedas", + "da": "Dette sted er ikke tilgængeligt med kørestol", + "id": "Tempat ini tidak bisa dijangkau dengan kursi roda", + "cs": "Na toto místo se nelze dostat s invalidním vozíkem" + } + } + ] + }, + { + "id": "dog-access", + "question": { + "en": "Are dogs allowed in this business?", + "nl": "Zijn honden toegelaten in deze zaak?", + "pt": "Os cães são permitidos neste estabelecimento?", + "de": "Sind Hunde hier erlaubt?", + "fr": "Est-ce que les chiens sont admis ici ?", + "hu": "Be lehet-e vinni kutyát ebbe az üzletbe?", + "it": "I cani sono ammessi in quest’attività?", + "nb_NO": "Tillates hunder i denne forretningen?", + "ca": "S'accepten gossos en aquest negoci?", + "sv": "Tillåts hundar i den här affären?", + "zh_Hant": "這間商業空間是否允許犬隻?", + "ru": "Впускают ли собак в это здание?", + "pl": "Czy w tej firmie psy są dozwolone?", + "ja": "犬を飼うことができますか?", + "id": "Apakah anjing diperbolehkan dalam bisnis ini?", + "sl": "Ali so v tem podjetju dovoljeni psi?", + "fil": "Pinapayagan ba ang mga aso sa establisyementong ito?", + "es": "¿Están permitidos los perros en este negocio?", + "zh_Hans": "犬只是否在这个商业体中允许?", + "da": "Er hunde tilladt i denne virksomhed?", + "cs": "Jsou v tomto podniku povoleni psi?" + }, + "mappings": [ + { + "if": "dog=yes", + "then": { + "en": "Dogs are allowed", + "nl": "honden zijn toegelaten", + "pt": "Os cães são permitidos", + "de": "Hunde sind hier erlaubt", + "fr": "Chiens admis", + "eo": "Hundoj estas permesataj", + "hu": "Kutya bevihető", + "it": "Cani ammessi", + "nb_NO": "Hunder tillates", + "ca": "S'accepten gossos", + "ru": "Собаки разрешены", + "sv": "Hundar tillåts", + "zh_Hant": "允許犬隻", + "id": "Anjing diperbolehkan", + "pl": "Psy dozwolone", + "ja": "ペット同伴可能", + "es": "Se permiten perros", + "sl": "Psi so dovoljeni", + "fil": "Pinapayagan ang mga aso", + "zh_Hans": "允许犬只", + "da": "Hunde er tilladt", + "cs": "Psi jsou povoleni", + "pa_PK": "کُتیاں دی اِجازت اے" + } + }, + { + "if": "dog=no", + "then": { + "en": "Dogs are not allowed", + "nl": "honden zijn niet toegelaten", + "pt": "Os cães não são permitidos", + "de": "Hunde sind hier nicht erlaubt", + "fr": "Chiens non admis", + "eo": "Hundoj estas malpermesataj", + "hu": "Kutya nem vihető be", + "it": "I cani non sono ammessi", + "nb_NO": "Hunder tillates ikke", + "ca": "No s'accepten gossos", + "sv": "Hundar tillåts inte", + "zh_Hant": "允許犬隻", + "pl": "Psy nie dozwolone", + "ru": "С собаками не впускают", + "id": "Anjing tidak diperbolehkan", + "ja": "ペット同伴不可", + "es": "No se permiten perros", + "sl": "Psi niso dovoljeni", + "fil": "Hindi pinapayagan ang mga aso", + "zh_Hans": "允许犬只", + "da": "Hunde er ikke tilladt", + "cs": "Psi nejsou povoleni" + } + }, + { + "if": "dog=leashed", + "then": { + "en": "Dogs are allowed, but they have to be leashed", + "nl": "honden zijn enkel aan de leiband welkom", + "pt": "Os cães são permitidos, mas têm de ser presos pela trela", + "de": "Hunde sind hier erlaubt, müssen aber angeleint sein", + "fr": "Les chiens sont admis, mais ils doivent être tenus en laisse", + "hu": "Kutya bevihető, de csak pórázon", + "it": "Cani ammessi ma solo se tenuti al guinzaglio", + "nb_NO": "Hunder tillates, men de må være i bånd", + "ca": "S'accepten gossos però lligats", + "sv": "Hundar tillåts, men de måste vara kopplade", + "zh_Hant": "允許犬隻,但需要掛牽繩", + "ru": "Собак впускают, но на поводке", + "id": "Anjing diperbolehkan, tetapi mereka harus diikat", + "pl": "Psy dozwolone, ale muszą być na smyczy", + "ja": "ペット同伴可能。ただしリード着用", + "sl": "Psi so dovoljeni, vendar morajo biti na povodcu", + "fil": "Pinapayagan ang mga aso kung may tali", + "es": "Los perros están permitidos, pero tienen que llevar correa", + "zh_Hans": "允许犬只,但必须拴绳", + "da": "Hunde er tilladt, men de skal være i snor", + "cs": "Psi jsou povoleni, ale musí být na vodítku" + } + }, + { + "if": "dog=unleashed", + "then": { + "en": "Dogs are allowed and can run around freely", + "nl": "honden zijn welkom en mogen vrij rondlopen", + "pt": "Os cães são permitidos e podem correr livremente", + "de": "Hunde sind hier erlaubt und können frei herumlaufen", + "fr": "Les chiens sont admis et peuvent circuler librement", + "hu": "Kutya bevihető és szabadon szaladgálhat", + "it": "I cani sono ammessi e possono andare in giro liberamente", + "nb_NO": "Hunder tillates og kan gå fritt", + "ca": "S'accepten gossos lliures", + "sv": "Hundar tillåts och får springa fritt omkring", + "zh_Hant": "允許犬隻而且可以自由跑動", + "ru": "Собак свободно впускают", + "pl": "Psy dozwolone i mogą biegać bez ograniczeń", + "ja": "犬同伴可能、自由に走り回れる", + "id": "Anjing diperbolehkan dan dapat berkeliaran dengan bebas", + "sl": "Psi so dovoljeni in lahko prosto tekajo naokoli", + "fil": "Pinapayayagan ang mga aso, at malayang makatatakbo", + "es": "Los perros están permitidos y pueden estar sueltos", + "zh_Hans": "允许犬只,且可自由放养", + "da": "Hunde er tilladt og kan løbe frit rundt", + "cs": "Psi mají vstup povolen a mohou volně pobíhat" + } + } + ] + }, + { + "id": "description", + "question": { + "nl": "Zijn er nog andere relevante zaken die je niet in de bovenstaande vragen kwijt kon? Vul ze hier in.", + "fr": "Y a-t-il quelque chose de pertinent que vous n'avez pas pu donner à la dernière question ? Ajoutez-le ici.", + "en": "Is there still some relevant info that the previous questions did not cover? Feel free to add it here.", + "nb_NO": "Er det noe mer som er relevant du ikke kunne opplyse om i tidligere svar? Legg det til her.", + "ru": "Есть ли ещё что-то важное, о чём вы не смогли рассказать в предыдущих вопросах? Добавьте это здесь.", + "zh_Hant": "有什麼相關的資訊你無法在先前的問題回應的嗎?請加在這邊吧。", + "it": "C'è ancora qualche informazione importante che non è stato possibile fornire nelle domande precedenti? Aggiungila qui.", + "de": "Gibt es noch etwas, das die vorhergehenden Fragen nicht abgedeckt haben? Hier wäre Platz dafür.", + "pl": "Czy jest jeszcze coś istotnego, czego nie mogłeś podać w poprzednich pytaniach? Dodaj to tutaj.", + "pt_BR": "Ainda há algo de relevante que não pôde dar nas perguntas anteriores? Adicione aqui.", + "pt": "Ainda há algo de relevante que não tenha podido dar nas perguntas anteriores? Adicione-o aqui.", + "hu": "Van-e még valami lényeges, amit nem tudott megadni az előző kérdésekben? Itt megteheti.", + "ca": "Hi ha quelcom rellevant que no t'hem preguntat? Afegeix-ho aquí.", + "sv": "Finns det fortfarande någonting relevant som du inte kunde ge i de föregående frågorna? Lägg till det här.", + "id": "Apakah masih ada sesuatu yang relevan yang tidak dapat Anda berikan dalam pertanyaan sebelumnya? Tambahkan di sini. ", + "ja": "前の質問で伝えきれなかった関連事項がまだありますか?ここに追加してください。", + "es": "¿Aún hay algo relevante que no ha encajado en las preguntas anteriores? Compártalo aquí.", + "sl": "Ali je še kaj pomembnega, česar niste mogli povedati v prejšnjih vprašanjih? Dopišite tukaj.", + "fil": "Mayroon pa bang mga bagay na nau-ugnay at hindi mo maibigay sa mga nakaraang tanong? Idagdag dito.", + "da": "Er der stadig noget relevant, du ikke kunne give i de foregående spørgsmål? Tilføj det her.", + "cs": "Je ještě něco relevantního, co jste nemohli uvést v předchozích otázkách? Přidejte to sem." + }, + "render": { + "*": "{description}" + }, + "freeform": { + "key": "description" + }, + "questionHint": { + "nl": "Herhaal geen antwoorden die je reeds gaf", + "fr": "Ne répétez pas des réponses déjà données", + "en": "Please don't repeat already stated facts", + "nb_NO": "Ikke gjenta fakta som allerede er nevnt", + "ru": "Не повторяйте уже изложенные факты", + "zh_Hant": "不要重覆答覆已經知道的事情", + "it": "Non ripetere informazioni già fornite", + "de": "Bitte keine bereits erhobenen Informationen wiederholen", + "pl": "Nie powtarzaj już podanych faktów", + "pt_BR": " Não repita fatos já declarados", + "pt": "Não repita factos já declarados", + "hu": "Ne ismételjen meg már megadott tényeket", + "ca": "No repeteixis informació que ja hi és", + "sv": "Repetera inte redan angivna fakta", + "id": " Jangan ulangi fakta yang sudah dinyatakan ", + "ja": "今後表示しない", + "es": "No repita datos ya expresados", + "sl": "Ne ponavljajte že navedenih dejstev", + "fil": "Huwag ulitin ang mga nai-saad na", + "da": "Gentag ikke allerede nævnte fakta", + "cs": "Neopakujte již uvedená fakta" + } + }, + { + "id": "opening_hours", + "question": { + "en": "What are the opening hours of {title()}?", + "fr": "Quelles sont les horaires d'ouverture de {title()} ?", + "de": "Wie lauten die Öffnungszeiten von {title()}?", + "nl": "Wat zijn de openingstijden van {title()}?", + "nb_NO": "Hva er åpningstidene for {title()})", + "ru": "Какое время работы у {title()}?", + "zh_Hant": "{title()} 的開放時間是什麼?", + "it": "Quali sono gli orari di apertura di {title()}?", + "pt_BR": "Qual o horário de funcionamento de {title()}?", + "pl": "Jakie są godziny otwarcia {title()}?", + "sv": "Vilka är öppettiderna för {title()}?", + "pt": "Qual é o horário de funcionamento de {title()}?", + "hu": "Mikor van nyitva ez: {title()}?", + "ca": "Quin és l'horari d'obertura de {title()}?", + "ja": "{title()}の営業時間は?", + "sl": "Kakšen odpiralni čas ima {title()}?", + "fil": "Anong oras nagbubukas ang {title()}?", + "es": "¿Cuales son las horas de apertura de {title()}?", + "zh_Hans": "{title()} 的开放时间为何?", + "da": "Hvad er åbningstiderne for {title()}?", + "id": "Kapan jam buka {title()}?", + "cs": "Jaká je otevírací doba {title()}?" + }, + "render": { + "de": "

Öffnungszeiten

{opening_hours_table(opening_hours)}", + "fr": "

Horaires d'ouverture

{opening_hours_table(opening_hours)}", + "en": "

Opening hours

{opening_hours_table(opening_hours)}", + "nl": "

Openingstijden

{opening_hours_table(opening_hours)}", + "nb_NO": "

Åpningstider

{opening_hours_table(opening_hours)}", + "ru": "

Часы работы

{opening_hours_table(opening_hours)}", + "zh_Hant": "

開放時間

{opening_hours_table(opening_hours)}", + "it": "

Orari di apertura

{opening_hours_table(opening_hours)}", + "pl": "

Godziny otwarcia

{opening_hours_table(opening_hours)}", + "pt_BR": "

Horário de funcionamento

{opening_hours_table(opening_hours)}", + "sv": "

Öppettider

{opening_hours_table(opening_hours)}", + "pt": "

Horário de funcionamento

{opening_hours_table(opening_hours)}", + "eo": "

Malfermitaj horoj

{opening_hours_table(opening_hours)}", + "hu": "

Nyitva tartás

{opening_hours_table(opening_hours)}", + "ca": "

Horari d'obertura

{opening_hours_table(opening_hours)}", + "ja": "

営業時間

{opening_hours_table(opening_hours)}", + "sl": "

Odpiralni čas

{opening_hours_table(opening_hours)}", + "fil": "

Mga oras na bukas

{opening_hours_table(opening_hours)}", + "es": "

Horas de apertura

{opening_hours_table(opening_hours)}", + "zh_Hans": "

开放时间

{opening_hours_table(opening_hours)}", + "da": "

Åbningstider

{opening_hours_table(opening_hours)}", + "id": "

Jam buka

{opening_hours_table(opening_hours)}", + "pa_PK": "

کھُلھے گھنٹے

{opening_hours_table(opening_hours)}", + "cs": "

Otevírací hodiny

{opening_hours_table(opening_hours)}" + }, + "freeform": { + "key": "opening_hours", + "type": "opening_hours" + } + }, + { + "id": "opening_hours_24_7", + "builtin": "opening_hours", + "override": { + "mappings": [ + { + "if": "opening_hours=24/7", + "then": { + "en": "24/7 opened (including holidays)", + "de": "durchgehend geöffnet (auch an Feiertagen)", + "zh_Hant": "24/7 開放 (包括假日)", + "id": "Buka 24 jam (termasuk hari libur)", + "hu": "Éjjel-nappal nyitva (munkaszüneti napokon is)", + "es": "Abierta 24/7 (incluyendo festivos)", + "nl": "24/7 open (ook tijdens feestdagen)", + "fr": "Ouvert 24h/24 (jours fériés compris)", + "nb_NO": "Døgnåpent (inkludert helligdager)", + "cs": "Otevřeno 24/7 (včetně svátků)", + "ca": "Obert 24/7 (incloent-hi festius)", + "pl": "Otwarte 24/7 (również w święta)" + } + } + ] + } + }, + { + "id": "opening_hours_by_appointment", + "builtin": "opening_hours", + "override": { + "mappings": [ + { + "if": "opening_hours=\"by appointment\"", + "then": { + "en": "Only by appointment", + "de": "Nur nach Vereinbarung", + "nl": "Alleen op afspraak", + "fr": "Uniquement sur rendez-vous", + "ca": "Sols amb cita prèvia", + "es": "Sólo con cita previa", + "nb_NO": "Kun ved avtale", + "pl": "Tylko po wcześniejszym umówieniu się", + "cs": "Pouze po domluvě" + } + }, + { + "if": "opening_hours~i~\"by appointment\"|by appointment", + "then": { + "en": "Only by appointment", + "de": "Nur nach Vereinbarung", + "nl": "Alleen op afspraak", + "fr": "Uniquement sur rendez-vous", + "ca": "Sols amb cita prèvia", + "es": "Sólo con cita previa", + "nb_NO": "Kun ved avtale", + "pl": "Tylko po wcześniejszym umówieniu się", + "cs": "Pouze po domluvě" + }, + "hideInAnswer": true + } + ] + } + }, + { + "id": "service:electricity", + "#": "service:socket describes if a pub, restaurant or café offers electricity to their customers.", + "question": { + "en": "Does this amenity have electrical outlets, available to customers when they are inside?", + "nl": "Zijn er stekkers beschikbaar voor klanten die binnen zitten?", + "pt": "Esta infraestrutura tem tomadas elétricas, disponíveis para os clientes quando estão no interior?", + "ca": "Aquest servei té endolls elèctrics, disponibles pels clients quan hi són dins?", + "de": "Gibt es hier Steckdosen, an denen Kunden ihre Geräte laden können?", + "sv": "Har den här bekvämligheten eluttag tillgängliga för kunder när de är inne?", + "zh_Hant": "這個便利設施有電器設備,能給客戶使用嗎?", + "hu": "Van-e ebben a létesítményben olyan konnektor, amely a bent tartózkodó ügyfelek rendelkezésére áll?", + "fr": "Des prises sont elles à disposition des client·e·s en intérieur ?", + "pl": "Czy w tym przybytku znajdują się gniazdka elektryczne, gdzie klienci mogą naładować swoje urządzenia?", + "ja": "このアメニティにはコンセントがあり、お客様が店内にいるときにも利用できますか?", + "fil": "Merong bang mga intsupe (outlet) sa loob, para sa mga suki?", + "es": "¿Esta facilidad tiene enchufes eléctricos, disponibles para los clientes cuando están dentro?", + "nb_NO": "Har denne fasiliteten stikkontakter, tilgjengelig for kunder innendørs?", + "da": "Har denne faciliteter stikkontakter tilgængelige for kunder, når de er inde?", + "cs": "Má toto zařízení elektrické zásuvky, které jsou zákazníkům k dispozici, když jsou uvnitř?" + }, + "mappings": [ + { + "then": { + "en": "There are plenty of domestic sockets available to customers seated indoors, where they can charge their electronics", + "nl": "Er zijn binnen veel stekkers beschikbaar voor klanten die electronica wensen op te laden", + "pt": "Há muitas tomadas elétricas disponíveis para clientes sentados no interior, onde estes podem carregar os seus dispositivos eletrónicos", + "ca": "Està ple d'endolls pels clients de dins, on es poden carregar els aparells electrònics", + "de": "Im Innenraum stehen viele Steckdosen zur Verfügung, an denen Kunden ihre Geräte laden können", + "sv": "Det finns gott om hushållsuttag tillgängliga för kunder som sitter inomhus, där de kan ladda sin elektronik", + "zh_Hant": "這邊的客戶座位有不少個室內插座,而且可以為電器充電", + "hu": "Számos konnektor áll a belső térben ügyfelek rendelkezésére, ahol elektromos készülékeiket tölthetik", + "fr": "Il y a suffisamment de prises disponibles pour les client·e·s en intérieur souhaitant recharger leurs appareils", + "pl": "W budynku znajduje się wiele gniazdek elektrycznych, gdzie klienci mogą naładować swoje urządzenia", + "ja": "屋内の席に座っているお客様には、家庭用コンセントがたくさん用意されており、そこで電子機器を充電することができます", + "fil": "Maraming mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks", + "es": "Hay numerosos enchufes domésticos disponibles para los clientes sentados en el interior, donde pueden cargar sus dispositivos electrónicos", + "da": "Der er masser af stikkontakter til rådighed for kunder, der sidder indendørs, hvor de kan oplade deres elektroniske udstyr", + "nb_NO": "Det er massevis av stikkontakter tilgjengelig for kunder som sitter innendørs, der de kan lade elektronikken sin", + "cs": "V interiéru je k dispozici dostatek domácích zásuvek, kde si zákazníci mohou nabíjet elektroniku" + }, + "if": "service:electricity=yes" + }, + { + "then": { + "en": "There are a few domestic sockets available to customers seated indoors, where they can charge their electronics", + "nl": "Er zijn binnen enkele stekkers beschikbaar voor klanten die electronica wensen op te laden", + "pt": "Há algumas tomadas elétricas disponíveis para clientes sentados no interior, onde estes podem carregar os seus dispositivos eletrónicos", + "ca": "Hi ha alguns endolls disponibles per als clients de dins, on es poden carregar els aparells electrònics", + "de": "Im Innenraum stehen nur wenige Steckdosen zur Verfügung, an denen Kunden ihre Geräte laden können", + "sv": "Det finns ett fåtal hushållsuttag tillgängliga för kunder som sitter inomhus, där de kan ladda sin elektronik", + "zh_Hant": "這邊客戶座位有一些室內插座,可以為電器充電", + "hu": "Csupán néhány konnektor áll a belső térben ügyfelek rendelkezésére, ahol elektromos készülékeiket tölthetik", + "fr": "Il y a peu de prises disponibles pour les client·e·s en intérieur souhaitant recharger leurs appareils", + "pl": "W budynku znajduje się kilka gniazdek elektrycznych, gdzie klienci mogą naładować swoje urządzenia", + "ja": "屋内の席に座ったお客様が充電できるよう、コンセントがいくつか用意されています", + "fil": "May iilang mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks", + "es": "Hay algunos enchufes domésticos disponibles para los clientes sentados en el interior, donde pueden cargar sus dispositivos electrónicos", + "da": "Der er nogle få stikkontakter til rådighed for kunder, der sidder indendørs, hvor de kan oplade deres elektroniske udstyr", + "nb_NO": "Det er noen stikkontakter tilgjengelig for kunder som sitter innendørs, der de kan lagre elektronikken sin", + "cs": "V interiéru je zákazníkům k dispozici několik domácích zásuvek, kde si mohou nabít elektroniku" + }, + "if": "service:electricity=limited" + }, + { + "then": { + "en": "There are no sockets available indoors to customers, but charging might be possible if the staff is asked", + "nl": "Er zijn binnen geen stekkers beschikbaar, maar electronica opladen kan indien men dit aan het personeel vraagt", + "fr": "Il n'y a pas de prises disponibles à l'intérieur pour les clients, mais la recharge est peut-être possible sur demande auprès des employés", + "pt": "Não há tomadas elétricas disponíveis para clientes sentados no interior, mas pode-se pedir aos funcionários para carregar dispositivos eletrónicos", + "ca": "No hi ha endolls disponibles per als clients però es pot carregar si es demana als responsables", + "de": "Im Innenraum stehen keine Steckdosen zur Verfügung, aber Laden von Geräte könnte möglich sein, wenn das Personal gefragt wird", + "sv": "Det finns inga uttag tillgängliga inomhus för kunder, men att ladda kan vara möjligt om personalen tillfrågas", + "zh_Hant": "這邊沒有給客戶用的插座,因此可能需要詢問員工是否能充電", + "hu": "A belső térben nincs konnektor az ügyfeleknek, de lehetséges, hogy a személyzet segítségével lehet elektromos eszközt tölteni", + "pl": "W budynku nie ma gniazdek elektrycznych dostępnych dla klientów, ale mogą zostać one udostępnione po spytaniu obsługi", + "ja": "屋内にはコンセントがありませんが、スタッフに声をかければ充電できるかもしれません", + "fil": "Walang mga intsupe (socket) para sa mga suki, pero maaring tanungin ang kawani kung magpapa-karga", + "es": "No hay enchufes disponibles en el interior para los clientes, pero cargar puede ser posible si se pregunta al personal", + "da": "Der er ingen stikkontakter til rådighed indendørs for kunderne, men opladning kan være mulig, hvis man beder personalet om det", + "nb_NO": "Det er ingen tilgjengelige stikkontakter for kunder som sitter innendørs, men lading kan være mulig hvis man spør betjeningen", + "cs": "V interiéru nejsou zákazníkům k dispozici žádné zásuvky, ale na požádání personálu je možné je nabíjet" + }, + "if": "service:electricity=ask" + }, + { + "then": { + "en": "There are a no domestic sockets available to customers seated indoors", + "nl": "Er zijn binnen geen stekkers beschikbaar", + "fr": "Il n'y a pas de prises secteur disponibles pour les clients assis à l'intérieur", + "pt": "Não há tomadas elétricas disponíveis para clientes sentados no interior", + "ca": "No hi ha endolls disponibles per als clients", + "de": "Im Innenraum stehen keine Steckdosen für Kunden zur Verfügung", + "sv": "Det finns inga hushållsuttag tillgängliga för kunder som sitter inomhus", + "zh_Hant": "這裡客戶座位沒有室內插座", + "hu": "A belső térben ülő ügyfeleknek nem áll rendelkezésére konnektor", + "pl": "W budynku nie ma gniazdek elektrycznych dostępnych dla klientów", + "ja": "屋内の席には、家庭用コンセントはありません", + "fil": "Walang mga intsupe (socket) para sa mga suking nakaubo sa loob", + "es": "No hay enchufes domésticos disponibles para los clientes sentados en el interior", + "da": "Der er ingen stikkontakter til rådighed for kunder, der sidder indendørs", + "nb_NO": "Det er ingen stikkontakter tilgjengelig for kunder som sitter innendørs", + "cs": "Zákazníci v interiéru nemají k dispozici žádné domácí zásuvky" + }, + "if": "service:electricity=no" + } + ] + }, + { + "id": "payment-options", + "question": { + "en": "Which methods of payment are accepted here?", + "nl": "Welke betaalmiddelen worden hier geaccepteerd?", + "pt": "Que métodos de pagamento são aceites aqui?", + "pt_BR": "Quais métodos de pagamento são aceitos aqui?", + "id": "Metode pembayaran manakah yang di terima disini?", + "de": "Welche Zahlungsmethoden werden hier akzeptiert?", + "fr": "Quelles sont les méthodes de paiement acceptées ici ?", + "hu": "Milyen fizetési módokat fogadnak el itt?", + "it": "Quali metodi di pagamento sono accettati qui?", + "nb_NO": "Hvilke betalingsmetoder godtas her?", + "ca": "Quins mètodes de pagament s'accepten aquí?", + "sv": "Vilka betalningsmetoder accepteras här?", + "zh_Hant": "這邊接受那種付款方式?", + "pl": "Jakie metody płatności są tutaj dostępne?", + "ru": "Какие способы оплаты здесь принимают?", + "ja": "どのような支払い方法が可能ですか?", + "sl": "Kateri načini plačila so možni tu?", + "fil": "Anong mga paraang pambayad ang tinatanggap dito?", + "es": "¿Qué métodos de pago se aceptan aquí?", + "zh_Hans": "这里支持哪些支付方式?", + "da": "Hvilke betalingsmetoder accepteres her?", + "cs": "Jaké platební metody jsou zde přijímány?" + }, + "multiAnswer": true, + "mappings": [ + { + "if": "payment:cash=yes", + "ifnot": "payment:cash=no", + "icon": "./assets/layers/questions/cash.svg", + "then": { + "en": "Cash is accepted here", + "nl": "Cash geld wordt hier aanvaard", + "pt": "Aceitam pagamento com dinheiro aqui", + "pt_BR": "Dinheiro é aceito aqui", + "id": "Pembayaran tunai diterima di sini", + "de": "Hier wird Bargeld akzeptiert", + "fr": "Paiement en liquide accepté", + "hu": "Itt készpénzzel is lehet fizetni", + "it": "I contanti sono accettati", + "nb_NO": "Kontanter godtas her", + "ca": "S'accepten diners", + "sv": "Pengar accepteras här", + "zh_Hant": "這邊接受現金", + "pl": "Płatność gotówkowa jest tutaj dostępna", + "ru": "Здесь принимают наличными", + "ja": "現金利用可能", + "sl": "Tu sprejemajo gotovino", + "fil": "Tinatanggap ang salapi rito", + "es": "Aquí se acepta el pago en efectivo", + "zh_Hans": "可用现金", + "da": "Her modtages kontanter", + "cs": "Přijímá se zde hotovost" + } + }, + { + "if": "payment:cards=yes", + "ifnot": "payment:cards=no", + "icon": "./assets/layers/questions/payment_card.svg", + "then": { + "en": "Payment cards are accepted here", + "nl": "Betalen met bankkaarten kan hier", + "pt": "Aceitam pagamento com cartões bancários aqui", + "pt_BR": "Cartões de pagamento são aceitos aqui", + "id": "Kartu pembayaran diterima di sini", + "de": "Hier wird Kartenzahlung akzeptiert", + "fr": "Paiement par carte accepté", + "hu": "Itt fizetőkártyákkal is lehet fizetni", + "it": "I pagamenti con la carta sono accettati", + "nb_NO": "Betalingskort godtas her", + "ca": "S'accepten targetes de crèdit", + "sv": "Betalningskort accepteras här", + "zh_Hant": "這邊接受現金卡", + "pl": "Płatność kartą jest tutaj dostępna", + "ru": "Здесь принимают банковские карты", + "ja": "お支払いはこちらで承ります", + "sl": "Tukaj sprejemajo plačilne kartice", + "fil": "Tinatanggap ang mga tarhetang pambayad dito", + "es": "Aquí se acepta el pago por tarjeta", + "zh_Hans": "可用信用卡", + "da": "Betalingskort accepteres her", + "cs": "Jsou zde přijímány platební karty" + } + }, + { + "if": "payment:qr_code=yes", + "ifnot": "payment:qr_code=no", + "icon": "./assets/layers/questions/qrcode.svg", + "then": { + "en": "Payment by QR-code is possible here", + "nl": "Betalen via een QR-code is hier mogelijk", + "de": "Die Bezahlung per QR-Code ist hier möglich", + "es": "Aquí se puede pagar con código QR", + "ca": "Aquí es pot pagar amb codi QR" + } + } + ] + }, + { + "id": "payment-options-split", + "builtin": "payment-options", + "override": { + "mappings": [ + { + "hideInAnswer": true, + "ifnot": "payment:cash=" + }, + { + "hideInAnswer": true, + "ifnot": "payment:cards=" + } + ], + "mappings+": [ + { + "if": "payment:coins=yes", + "ifnot": "payment:coins=no", + "icon": "./assets/layers/questions/coins.svg", + "then": { + "en": "Coins are accepted here", + "nl": "Muntgeld wordt hier aanvaard", + "de": "Münzen werden hier akzeptiert", + "fr": "Les pièces sont acceptées ici", + "ca": "Aquí s'accepten monedes", + "es": "Aquí se aceptan monedas", + "nb_NO": "Mynter aksepteres her", + "pl": "Monety są tutaj akceptowane", + "cs": "Jsou zde přijímány mince" + } + }, + { + "if": "payment:notes=yes", + "ifnot": "payment:notes=no", + "icon": "./assets/layers/questions/notes.svg", + "then": { + "en": "Bank notes are accepted here", + "nl": "Bankbiljetten worden hier aanvaard", + "de": "Geldscheine werden hier akzeptiert", + "fr": "Les billets de banque sont acceptés ici", + "ca": "Aquí s'accepten bitllets", + "es": "Aquí se aceptan billetes", + "nb_NO": "Sedler aksepteres her", + "pl": "Banknoty są tutaj akceptowane", + "cs": "Jsou zde přijímány bankovky" + } + }, + { + "if": "payment:debit_cards=yes", + "ifnot": "payment:debit_cards=no", + "icon": "./assets/layers/questions/payment_card.svg", + "then": { + "en": "Debit cards are accepted here", + "nl": "Betalen met debetkaarten kan hier", + "de": "Debitkarten werden hier akzeptiert", + "fr": "Les cartes de débit sont acceptées ici", + "ca": "Aquí s'accepten targetes de dèbit", + "es": "Aquí se aceptan tarjetas de débito", + "nb_NO": "Debetkort aksepteres her", + "pl": "Akceptowane są tutaj karty debetowe", + "cs": "Jsou zde přijímány debetní karty" + } + }, + { + "if": "payment:credit_cards=yes", + "ifnot": "payment:credit_cards=no", + "icon": "./assets/layers/questions/payment_card.svg", + "then": { + "en": "Credit cards are accepted here", + "nl": "Betalen met creditkaarten kan hier", + "de": "Kreditkarten werden hier akzeptiert", + "fr": "Les cartes de crédit sont acceptées ici", + "ca": "Aquí s'accepten targetes de crèdit", + "es": "Aquí se aceptan tarjetas de crédito", + "nb_NO": "Kredittkort aksepteres her", + "pl": "Akceptowane są tutaj karty kredytowe", + "cs": "Jsou zde přijímány kreditní karty" + } + } + ] + } + }, + { + "id": "payment-options-advanced", + "builtin": "payment-options", + "override": { + "mappings+": [ + { + "if": "payment:app=yes", + "ifnot": "payment:app=no", + "icon": "./assets/layers/questions/smartphone.svg", + "then": { + "en": "Payment is done using a dedicated app", + "nl": "Betalen via een app van het netwerk", + "hu": "Fizetés erre a célra szolgáló alkalmazással", + "zh_Hant": "使用專用應用程式付款", + "de": "Die Bezahlung erfolgt über eine spezielle App", + "fr": "Paiement via une application", + "sl": "Plačilo se opravi z namensko aplikacijo", + "ca": "El pagament es fa amb una app dedicada", + "fil": "Binabayaran gamit ang sariling app", + "es": "El pago se realiza con una aplicación dedicada", + "zh_Hans": "使用专用APP支付", + "da": "Betaling sker ved hjælp af en dedikeret app", + "nb_NO": "Betaling utføres med et eget program", + "pt": "O pagamento é feito utilizando uma aplicação dedicada", + "it": "Pagamento effettuato utilizzando un'app dedicata", + "id": "Pembayaran dilakukan dengan aplikasi khusus", + "cs": "Platba se provádí pomocí speciální aplikace", + "pl": "Płatność odbywa się za pomocą dedykowanej aplikacji" + } + }, + { + "if": "payment:membership_card=yes", + "ifnot": "payment:membership_card=no", + "icon": "./assets/layers/questions/nfc_card.svg", + "then": { + "en": "Payment is done using a membership card", + "nl": "Betalen via een lidkaart van het netwerk", + "hu": "Fizetési tagsági kártyával", + "zh_Hant": "使用會員卡付款", + "de": "Die Bezahlung erfolgt mit einer Mitgliedskarte", + "fr": "Paiement via une carte de membre", + "sl": "Plačilo se izvede s člansko izkaznico", + "ca": "El pagament es fa amb una targeta de membre", + "fil": "Binabayaran gamit ang membership card", + "es": "El pago se realiza con una tarjeta de membresía", + "nb_NO": "Betaling utføres med et medlemskort", + "zh_Hans": "使用会员卡支付", + "da": "Betaling sker med medlemskort", + "pt": "O pagamento é feito usando um cartão de membro", + "id": "Pembayaran dilakukan dengan kartu anggota", + "cs": "Platba se provádí pomocí členské karty", + "pl": "Płatność odbywa się za pomocą karty członkowskiej" + } + } + ] + } + }, + { + "id": "denominations-coins", + "condition": { + "and": [ + { + "or": [ + "payment:coins=yes", + "payment:cash=yes" + ] + }, + { + "or": [ + "_country=at", + "_country=be", + "_country=cy", + "_country=de", + "_country=ee", + "_country=es", + "_country=fi", + "_country=fr", + "_country=gr", + "_country=hr", + "_country=ie", + "_country=it", + "_country=lt", + "_country=lu", + "_country=lv", + "_country=mt", + "_country=nl", + "_country=pt", + "_country=si", + "_country=sk" + ] + } + ] + }, + "question": { + "en": "What coins can you use to pay here?", + "de": "Mit welchen Münzen kann man hier bezahlen?", + "nl": "Met welke munten kan je hier betalen?", + "fr": "Quelles pièces peut-on utiliser pour payer ici ?", + "pl": "Jakimi monetami można tutaj zapłacić?", + "ca": "Quines monedes es poden utilitzar per a pagar aquí?", + "es": "¿Qué monedas se pueden usar aquí para pagar?", + "nb_NO": "Hvilke mynter kan brukes til betaling her?", + "cs": "Jakými mincemi zde lze platit?" + }, + "multiAnswer": true, + "mappings": [ + { + "if": "payment:coins:denominations=0.01 EUR", + "icon": "./assets/layers/questions/1cent.svg", + "then": { + "en": "1 cent coins are accepted", + "de": "1-Cent-Münzen werden akzeptiert", + "nl": "Munten van 1 cent worden geaccepteerd", + "nb_NO": "1-cent mynter aksepteres", + "fr": "Les pièces d'1 cent sont acceptées", + "pl": "Akceptowane są monety 1 centowe", + "ca": "S'accepten monedes de 1 cèntim", + "es": "Se aceptan monedas de 1 céntimo", + "cs": "Jsou přijímány mince v hodnotě 1 centu", + "id": "1 koin sen diterima" + } + }, + { + "if": "payment:coins:denominations=0.02 EUR", + "icon": "./assets/layers/questions/2cent.svg", + "then": { + "en": "2 cent coins are accepted", + "de": "2-Cent-Münzen werden akzeptiert", + "nl": "Munten van 2 cent worden geaccepteerd", + "nb_NO": "2-cent mynter aksepteres", + "fr": "Les pièces de 2 cents sont acceptées", + "pl": "Akceptowane są monety 2 centowe", + "ca": "S'accepten monedes de 2 cèntims", + "es": "Se aceptan monedas de 2 céntimos", + "cs": "Jsou přijímány mince v hodnotě 2 centů", + "id": "Koin 2 sen diterima" + } + }, + { + "if": "payment:coins:denominations=0.05 EUR", + "icon": "./assets/layers/questions/5cent.svg", + "then": { + "en": "5 cent coins are accepted", + "de": "5-Cent-Münzen werden akzeptiert", + "nl": "Munten van 5 cent worden geaccepteerd", + "nb_NO": "5-cent mynter aksepteres", + "fr": "Les pièces de 5 cents sont acceptées", + "pl": "Akceptowane są monety 5 centowe", + "ca": "S'accepten monedes de 5 cèntims", + "es": "Se aceptan monedas de 5 céntimos", + "cs": "Jsou přijímány mince v hodnotě 5 centů", + "id": "Koin 5 sen diterima" + } + }, + { + "if": "payment:coins:denominations=0.10 EUR", + "icon": "./assets/layers/questions/10cent.svg", + "then": { + "en": "10 cent coins are accepted", + "de": "10-Cent-Münzen werden akzeptiert", + "nl": "Munten van 10 cent worden geaccepteerd", + "nb_NO": "10-cent mynter aksepteres", + "fr": "Les pièces de 10 cents sont acceptées", + "pl": "Akceptowane są monety 10-centowe", + "ca": "S'accepten monedes de 10 cèntims", + "es": "Se aceptan monedas de 10 céntimos", + "cs": "Jsou přijímány mince v hodnotě 10 centů", + "id": "Koin 10 sen diterima" + } + }, + { + "if": "payment:coins:denominations=0.20 EUR", + "icon": "./assets/layers/questions/20cent.svg", + "then": { + "en": "20 cent coins are accepted", + "de": "20-Cent-Münzen werden akzeptiert", + "nl": "Munten van 20 cent worden geaccepteerd", + "nb_NO": "20-cent mynter aksepteres", + "fr": "Les pièces de 20 cents sont acceptées", + "pl": "Akceptowane są monety 20-centowe", + "ca": "S'accepten monedes de 20 cèntims", + "es": "Se aceptan monedas de 20 céntimos", + "cs": "Jsou přijímány mince v hodnotě 20 centů", + "id": "Koin 20 sen diterima" + } + }, + { + "if": "payment:coins:denominations=0.50 EUR", + "icon": "./assets/layers/questions/50cent.svg", + "then": { + "en": "50 cent coins are accepted", + "de": "50-Cent-Münzen werden akzeptiert", + "nl": "Munten van 50 cent worden geaccepteerd", + "nb_NO": "50-cent mynter aksepteres", + "fr": "Les pièces de 50 cents sont acceptées", + "pl": "Akceptowane są monety 50-centowe", + "ca": "S'accepten monedes de 50 cèntims", + "es": "Se aceptan monedas de 50 céntimos", + "cs": "Jsou přijímány mince v hodnotě 50 centů", + "id": "Koin 50 sen diterima" + } + }, + { + "if": "payment:coins:denominations=1 EUR", + "icon": "./assets/layers/questions/1euro.svg", + "then": { + "en": "1 euro coins are accepted", + "de": "1-Euro-Münzen werden akzeptiert", + "nl": "Munten van 1 euro worden geaccepteerd", + "nb_NO": "1-euro mynter aksepteres", + "fr": "Les pièces de 1 euro sont acceptées", + "pl": "Akceptowane są monety 1 euro", + "ca": "S'accepten monedes de 1 euro", + "es": "Se aceptan monedas de 1 euro", + "cs": "Jsou přijímány mince v hodnotě 1 eura" + } + }, + { + "if": "payment:coins:denominations=2 EUR", + "icon": "./assets/layers/questions/2euro.svg", + "then": { + "en": "2 euro coins are accepted", + "de": "2-Euro-Münzen werden akzeptiert", + "nl": "Munten van 2 euro worden geaccepteerd", + "nb_NO": "2-euro mynter aksepteres", + "fr": "Les pièces de 2 euros sont acceptées", + "pl": "Akceptowane są monety 2 euro", + "ca": "S'accepten monedes de 2 euros", + "es": "Se aceptan monedas de 2 euros", + "cs": "Jsou přijímány mince v hodnotě 2 euro" + } + } + ] + }, + { + "id": "denominations-notes", + "condition": { + "and": [ + { + "or": [ + "payment:notes=yes", + "payment:cash=yes" + ] + }, + { + "or": [ + "_country=at", + "_country=be", + "_country=cy", + "_country=de", + "_country=ee", + "_country=es", + "_country=fi", + "_country=fr", + "_country=gr", + "_country=hr", + "_country=ie", + "_country=it", + "_country=lt", + "_country=lu", + "_country=lv", + "_country=mt", + "_country=nl", + "_country=pt", + "_country=si", + "_country=sk" + ] + } + ] + }, + "question": { + "en": "what notes can you use to pay here?", + "nl": "Met welke bankbiljetten kan je hier betalen?", + "de": "Mit welchen Banknoten kann man hier bezahlen?", + "es": "¿con qué billetes se puede pagar aquí?", + "pl": "Jakimi banknotami można tu zapłacić?", + "cs": "Jakými bankovkami zde lze platit?", + "ca": "Amb quins bitllets pot pagar aquí?", + "fr": "quels billets pouvez vous utiliser pour payer ici ?" + }, + "multiAnswer": true, + "mappings": [ + { + "if": "payment:notes:denominations=5 EUR", + "icon": "./assets/layers/questions/5euro.svg", + "then": { + "en": "5 euro notes are accepted", + "nl": "Biljetten van 5 euro worden geaccepteerd", + "de": "5-Euro-Scheine werden angenommen", + "es": "Se aceptan billetes de 5 euros", + "pl": "Banknoty 5 euro są akceptowane", + "cs": "Jsou přijímány bankovky v hodnotě 5 euro", + "ca": "S'accepten billets de 5 euros", + "fr": "Les billets de 5 euros ne sont pas acceptés" + } + }, + { + "if": "payment:notes:denominations=10 EUR", + "icon": "./assets/layers/questions/10euro.svg", + "then": { + "en": "10 euro notes are accepted", + "nl": "Biljetten van 10 euro worden geaccepteerd", + "de": "10-Euro-Scheine werden angenommen", + "es": "Se aceptan billetes de 10 euros", + "pl": "Banknoty 10 euro są akceptowane", + "cs": "Jsou přijímány bankovky v hodnotě 10 euro", + "ca": "S'accepten bitllets de 10 euros", + "fr": "Les billets de 10 euros sont acceptés" + } + }, + { + "if": "payment:notes:denominations=20 EUR", + "icon": "./assets/layers/questions/20euro.svg", + "then": { + "en": "20 euro notes are accepted", + "nl": "Biljetten van 20 euro worden geaccepteerd", + "de": "20-Euro-Scheine werden angenommen", + "es": "Se aceptan billetes de 20 euros", + "pl": "Banknoty 20 euro są akceptowane", + "cs": "Jsou přijímány bankovky v hodnotě 20 euro", + "ca": "S'accepten bitllets de 20 euros", + "fr": "Les billets de 20 euros sont acceptés" + } + }, + { + "if": "payment:notes:denominations=50 EUR", + "icon": "./assets/layers/questions/50euro.svg", + "then": { + "en": "50 euro notes are accepted", + "nl": "Biljetten van 50 euro worden geaccepteerd", + "de": "50-Euro-Scheine werden angenommen", + "es": "Se aceptan billetes de 50 euros", + "pl": "Banknoty 50 euro są akceptowane", + "cs": "Jsou přijímány bankovky v hodnotě 50 euro", + "ca": "S'accepten bitllets de 50 euros", + "fr": "Les billets de 50 euros sont acceptés" + } + }, + { + "if": "payment:notes:denominations=100 EUR", + "icon": "./assets/layers/questions/100euro.svg", + "then": { + "en": "100 euro notes are accepted", + "nl": "Biljetten van 100 euro worden geaccepteerd", + "de": "100-Euro-Scheine werden angenommen", + "es": "Se aceptan billetes de 100 euros", + "pl": "Banknoty 100 euro są akceptowane", + "cs": "Jsou přijímány bankovky v hodnotě 100 euro", + "ca": "S'accepten bitllets de 100 euros", + "fr": "Les billets de 100 euros sont acceptés" + } + }, + { + "if": "payment:notes:denominations=200 EUR", + "icon": "./assets/layers/questions/200euro.svg", + "then": { + "en": "200 euro notes are accepted", + "nl": "Biljetten van 200 euro worden geaccepteerd", + "de": "200-Euro-Scheine werden angenommen", + "es": "Se aceptan billetes de 200 euros", + "pl": "Banknoty 200 euro są akceptowane", + "cs": "Jsou přijímány bankovky v hodnotě 200 euro", + "ca": "S'accepten bitllets de 200 euros", + "fr": "Les billets de 200 euros sont acceptés" + } + }, + { + "if": "payment:notes:denominations=500 EUR", + "icon": "./assets/layers/questions/500euro.svg", + "then": { + "en": "500 euro notes are accepted", + "nl": "Biljetten van 500 euro worden geaccepteerd", + "de": "500-Euro-Scheine werden angenommen", + "es": "Se aceptan billetes de 500 euros", + "pl": "Banknoty 500 euro są akceptowane", + "cs": "Jsou přijímány bankovky v hodnotě 500 euro", + "ca": "S'accepten bitllets de 500 euros", + "fr": "Les billets de 500 euros sont acceptés" + } + } + ] + }, + { + "id": "last_edit", + "description": "Gives some metainfo about the last edit and who did edit it - rendering only", + "condition": { + "and": [ + "_last_edit:contributor~*", + "_last_edit:changeset~*" + ] + }, + "metacondition": { + "or": [ + "__featureSwitchIsTesting=true", + "__featureSwitchIsDebugging=true", + "mapcomplete-show_debug=yes", + "_csCount>=10" + ] + }, + "render": { + "special": { + "type": "link", + "href": "{_backend}/changeset/{_last_edit:changeset}", + "text": { + "en": "Last edited on {_last_edit:timestamp} by {_last_edit:contributor}", + "nl": "Laatst gewijzigd op {_last_edit:timestamp} door {_last_edit:contributor} ", + "de": "Zuletzt bearbeitet am {_last_edit:timestamp} von {_last_edit:contributor}" + }, + "class": "subtle font-small" + } + } + }, + { + "id": "all_tags", + "description": "Shows a table with all the tags of the feature", + "render": { + "*": "{all_tags()}" + } + }, + { + "id": "just_created", + "description": "This element shows a 'thank you' that the contributor has recently created this element", + "classes": "rounded-xl thanks", + "mappings": [ + { + "if": "id~*", + "icon": "./assets/svg/party.svg", + "then": { + "ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.", + "de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.", + "en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.", + "fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.", + "nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen." + } + } + ], + "condition": { + "and": [ + "_backend~*", + "_last_edit:passed_time<300", + { + "or": [ + "_version_number=", + "_version_number=1" + ] + } + ] + }, + "metacondition": { + "and": [ + { + "#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet", + "or": [ + "_last_edit:contributor:uid:={_uid}", + "_last_edit:contributor:uid=" + ] + } + ] + } + }, + { + "id": "multilevels", + "builtin": "level", + "override": { + "question": { + "en": "What levels does this elevator go to?", + "de": "Auf welchen Geschossen hält dieser Aufzug?", + "fr": "Quels étages sont desservis par cet ascenceur ?", + "pt": "Para que pisos vai este elevador?", + "da": "Hvilke niveauer går denne elevator til?", + "id": "Pada lantai berapa saja lift ini berjalan?", + "cs": "Do jakých podlaží tento výtah jezdí?", + "nb_NO": "Hvilke etasjer går heisen til?", + "nl": "Naar welke verdiepingen gaat deze lift?", + "es": "¿A qué pisos va este ascensor?", + "ca": "A quins pisos va aquest ascensor?", + "pl": "Na jakie poziomy jedzie ta winda?" + }, + "render": { + "en": "This elevator goes to floors {level}", + "de": "Der Aufzug hält auf den Geschossen {level}", + "fr": "Cet ascenceur permet d’accéder aux étages {level}", + "pt": "Este elevador vai para os pisos {level}", + "da": "Denne elevator går til etager {level}", + "id": "Lift ini berjalan ke lantai {level}", + "cs": "Tento výtah jede do {level} patra", + "nb_NO": "Heisen går til etasje {level}", + "nl": "Deze lift gaat naar de verdiepingen {level}", + "es": "Este ascensor va a los pisos {level}", + "ca": "Aquest ascensor va als pisos {level}", + "pl": "Ta winda jedzie na piętra {level}" + }, + "freeform": { + "key": "level", + "type": "string" + }, + "multiAnswer": true + } + }, + { + "id": "level", + "question": { + "nl": "Op welke verdieping bevindt dit punt zich?", + "en": "On what level is this feature located?", + "de": "Auf welcher Ebene befindet sich das Objekt?", + "zh_Hant": "此圖徽位於哪個樓層/層級?", + "fr": "À quel étage se situe l’élément ?", + "pl": "Na jakim poziomie znajduje się ta funkcja?", + "pt_BR": "Em que nível esse recurso está localizado?", + "ru": "На каком этаже находится этот объект?", + "pt": "Em que nível se encontra este elemento?", + "id": "Pada tingkat apa fitur ini diletakkan?", + "hu": "Melyik szinten található ez a létesítmény?", + "it": "A quale piano si trova questo elemento?", + "ca": "A quina planta està situat aquest element?", + "sv": "På vilken nivå finns den här funktionen?", + "ja": "この機能は何階にあるのでしょうか?", + "fil": "Anong palapag matatagpuan ang tampók?", + "es": "¿En qué nivel se encuentra esta característica?", + "nb_NO": "Hvilken etasje befinner funksjonen seg i?", + "da": "På hvilket niveau er denne funktion placeret?", + "cs": "V jaké úrovni se tento prvek nachází?" + }, + "render": { + "en": "Located on the {level}th floor", + "nl": "Bevindt zich op de {level}de verdieping", + "de": "Das Objekt befindet sich im {level}. Geschoss", + "pt_BR": "Localizado no {level}o andar", + "ru": "Расположено на {level}ом этаже", + "zh_Hant": "位於 {level} 樓", + "fr": "Étage {level}", + "pl": "Znajduje się na {level} piętrze", + "sv": "Ligger på {level}:e våningen", + "pt": "Está no {level}º andar", + "eo": "En la {level}a etaĝo", + "hu": "A(z) {level}. emeleten", + "it": "Si trova al piano numero {level}", + "ca": "Situat a la planta {level}", + "ja": "{level}階にあります", + "sl": "Nahaja se v {level}. nadstropju", + "fil": "Natagpuan sa ika-{level} na palapag", + "es": "Localizada en la {level}° planta", + "da": "Beliggende på {level}. etage", + "nb_NO": "Ligger i {level} etasje", + "id": "Terletak di lantai {level}", + "cs": "Nachází se v {level}. patře" + }, + "freeform": { + "key": "level", + "type": "float" + }, + "mappings": [ + { + "if": "location=underground", + "then": { + "en": "Located underground", + "nl": "Bevindt zich ondergronds", + "pt_BR": "Localizado no subsolo", + "ru": "Расположено под землей", + "zh_Hant": "位於地下", + "fr": "En sous-sol", + "pl": "Znajduje się pod ziemią", + "sv": "Ligger under jorden", + "pt": "Está no subsolo", + "de": "Das Objekt befindet sich unter der Erde", + "hu": "A föld alatt", + "it": "Si trova sotto il livello stradale", + "nb_NO": "Under bakken", + "ca": "Situat a planta subterrani", + "ja": "地下にあります", + "id": "Terletak di bawah tanah", + "sl": "Nahaja se pod zemljo", + "fil": "Nasa ilalim ng lupa", + "es": "Localizado bajo tierra", + "da": "Placeret under jorden", + "cs": "Nachází se v podzemí" + }, + "hideInAnswer": true + }, + { + "if": "level=0", + "then": { + "en": "Located on the ground floor", + "nl": "Bevindt zich op de begane grond", + "de": "Das Objekt befindet sich im Erdgeschoss", + "pt_BR": "Localizado no térreo", + "ru": "Расположено на первом этаже", + "zh_Hant": "位於 1 樓", + "fr": "Rez-de-chaussée", + "pl": "Znajduje się na parterze", + "sv": "Ligger på bottenvåningen", + "pt": "Está ao nível do rés-do-chão", + "eo": "En la teretaĝo", + "hu": "A földszinten", + "it": "Si trova al pianoterra", + "nb_NO": "På gateplan", + "ca": "Situat a planta zero", + "ja": "1階にあります", + "id": "Terletak di lantai dasar", + "sl": "Nahaja se v pritličju", + "fil": "Nasa unang palapag", + "es": "Localizado en la planta baja", + "da": "Beliggende i stueetagen", + "cs": "Nachází se v přízemí" + } + }, + { + "if": "level=", + "hideInAnswer": true, + "then": { + "en": "Located on the ground floor", + "nl": "Bevindt zich gelijkvloers", + "de": "Das Objekt befindet sich im Erdgeschoss", + "pt_BR": "Localizado no térreo", + "ru": "Расположено на первом этаже", + "zh_Hant": "位於 1 樓", + "fr": "Rez-de-chaussée", + "pl": "Znajduje się na parterze", + "sv": "Ligger på bottenvåningen", + "pt": "Está ao nível do rés-do-chão", + "eo": "En la teretaĝo", + "hu": "A földszinten", + "it": "Si trova al pianoterra", + "nb_NO": "På gateplan", + "ca": "Situat a la planta zero", + "ja": "1階にあります", + "id": "Terletak di lantai dasar", + "sl": "Nahaja se v pritličju", + "fil": "Nasa unang palapag", + "es": "Localizado en la planta baja", + "da": "Beliggende i stueetagen", + "cs": "Nachází se v přízemí" + } + }, + { + "if": "level=1", + "then": { + "en": "Located on the first floor", + "nl": "Bevindt zich op de eerste verdieping", + "de": "Das Objekt befindet sich im 1. Obergeschoss", + "pt_BR": "Localizado no primeiro andar", + "ru": "Расположено на первом этаже", + "zh_Hant": "位於 2 樓", + "fr": "Premier étage", + "pl": "Znajduje się na pierwszym piętrze", + "sv": "Ligger på första våningen", + "pt": "Está no primeiro andar", + "id": "Berlokasi di lantai pertama", + "eo": "En la unua etaĝo", + "hu": "Az első emeleten", + "it": "Si trova al primo piano", + "nb_NO": "I andre etasje", + "ca": "Situat a primera planta", + "ja": "1階にあります", + "sl": "Nahaja se v prvem nadstropju", + "fil": "Nasa unang palapag", + "es": "Localizado en la primera planta", + "da": "Beliggende på første sal", + "cs": "Nachází se v prvním patře" + } + }, + { + "if": "level=-1", + "then": { + "en": "Located on the first basement level", + "nl": "Bevindt zich in de eerste kelderverdieping", + "zh_Hant": "位於地下一樓", + "de": "Das Objekt befindet sich im 1. Untergeschoss", + "hu": "Az első alagsori szinten", + "id": "Terletak di lantai basement pertama", + "fr": "Sous-sol", + "sl": "Nahaja se v prvi kletni etaži", + "ca": "Localitzat a la planta base", + "fil": "Nasa silong", + "es": "Localizada en el primer sótano", + "nb_NO": "Er å finne på første kjellernivå", + "pt": "Localizado no primeiro nível da cave", + "da": "Beliggende på første kælderetage", + "cs": "Nachází se v prvním suterénu", + "pl": "Położone na pierwszym poziomie piwnicy" + } + } + ] + }, + { + "id": "smoking", + "question": { + "en": "Is smoking allowed at {title()}?", + "de": "Ist das Rauchen in {title()} erlaubt?", + "es": "¿Está permitido fumar en {title()}?", + "fr": "Est-ce autorisé de fumer à {title()} ?", + "pt": "É permitido fumar em {title()}?", + "nb_NO": "Tillates røyking på {title()}?", + "da": "Er det tilladt at ryge på {title()}?", + "id": "Apa diizinkan untuk merokok di {title()}?", + "nl": "Is roken toegestaan bij {title()}?", + "cs": "Je na {title()} povoleno kouřit?", + "ca": "Està permés fumar a {title()}?", + "pl": "Czy w {title()} wolno palić?" + }, + "#condition": "Based on https://en.wikipedia.org/wiki/List_of_smoking_bans", + "condition": "_country!~al|be", + "mappings": [ + { + "if": "smoking=yes", + "icon": { + "path": "./assets/layers/questions/smoking.svg", + "size": "small" + }, + "then": { + "en": "Smoking is allowed", + "de": "Rauchen ist erlaubt", + "es": "Está permitido fumar", + "fr": "Il est autorisé de fumer", + "pt": "É permitido fumar", + "nb_NO": "Røyking er tillatt", + "da": "Rygning er tilladt", + "id": "Merokok diizinkan", + "nl": "Roken is toegestaan", + "cs": "Kouření je povoleno", + "pa_PK": "سِگرٹ پیݨ دی ‫‬؜اِجازت‬‫‬ ؜اے", + "ca": "Està permès fumar", + "pl": "Palenie jest dozwolone" + } + }, + { + "if": "smoking=no", + "icon": { + "path": "./assets/layers/questions/no_smoking.svg", + "size": "small" + }, + "then": { + "en": "Smoking is not allowed", + "de": "Rauchen ist nicht erlaubt", + "es": "No está permitido fumar", + "fr": "Il est interdit de fumer", + "pt": "Não é permitido fumar", + "nb_NO": "Røyking forbudt", + "da": "Rygning er ikke tilladt", + "id": "Merokok dilarang", + "nl": "Roken is niet toegestaan", + "cs": "Kouření není povoleno", + "ca": "No està permés fumar", + "pl": "Palenie jest zakazane" + } + }, + { + "if": "smoking=outside", + "then": { + "en": "Smoking is allowed outside.", + "de": "Rauchen ist draußen erlaubt.", + "es": "Está permitido fumar en el exterior.", + "fr": "Il est autorisé de fumer à l'extérieur.", + "pt": "É permitido fumar no exterior.", + "nb_NO": "Røyking tillates på utsiden.", + "da": "Rygning er tilladt udenfor.", + "id": "Merokok diizinkan di luar ruangan.", + "nl": "Roken is buiten toegestaan.", + "cs": "Kouření je povoleno venku.", + "ca": "Està permés fumar a l'exterior.", + "pl": "Palenie jest dozwolone na zewnątrz." + } + } + ] + }, + { + "id": "induction-loop", + "description": "An accessibility feature: induction loops are for hard-hearing persons which have an FM-receiver.", + "question": { + "en": "Does this place have an audio induction loop for people with reduced hearing?", + "de": "Hat dieser Ort eine induktive Höranlage für Hörgeschädigte?", + "fr": "Ce lieu dispose-t’il d’une boucle auditive pour les personnes malentendantes ?", + "da": "Har dette sted en lydinduktionssløjfe til personer med nedsat hørelse?", + "cs": "Má toto místo zvukovou indukční smyčku pro osoby se sluchovým postižením?", + "nb_NO": "Har stedet en teleslynge for folk med redusert hørsel?", + "nl": "Heeft deze plaats een ringleiding voor slechthorenden?", + "ca": "Aquest lloc té un bucle magnètic per a la gent amb dificultats auditives?", + "es": "¿Este lugar tiene un bucle auditivo para personas con discapacidad auditiva?", + "pl": "Czy to miejsce ma pętlę indukcyjną dźwięku dla osób niedosłyszących?" + }, + "mappings": [ + { + "if": "hearing_loop=yes", + "then": { + "en": "This place has an audio induction loop", + "de": "Dieser Ort hat eine induktive Höranlage", + "fr": "Ce lieu dispose d’une boucle auditive", + "da": "Dette sted har en lydinduktionssløjfe", + "cs": "Toto místo má zvukovou indukční smyčku", + "nb_NO": "Dette stedet har en teleslynge", + "nl": "Deze plaats heeft een ringleiding", + "pl": "To miejsce ma pętlę indukcyjną audio", + "ca": "El lloc té un bucle magnètic", + "es": "Este lugar tiene un bucle auditivo" + }, + "icon": { + "path": "./assets/layers/questions/audio_induction_loop.svg", + "class": "medium" + } + }, + { + "if": "hearing_loop=no", + "then": { + "en": "This place does not have an audio induction loop", + "de": "Dieser Ort hat keine induktive Höranlage", + "fr": "Ce lieu ne dispose pas de boucle auditive", + "da": "Dette sted har ikke en lydinduktionssløjfe", + "cs": "Toto místo nemá indukční zvukovou smyčku", + "nb_NO": "Dette stedet har ikke en teleslynge", + "nl": "Deze plaats heeft geen ringleiding", + "ca": "El lloc no té un bucle magnètic", + "es": "Este lugar no tiene bucle auditivo", + "pl": "To miejsce nie ma pętli indukcyjnej dźwięku" + }, + "icon": { + "path": "./assets/layers/questions/audio_induction_loop_missing.svg", + "class": "medium" + } + } + ] + }, + { + "id": "internet", + "question": { + "en": "Does this place offer internet access?", + "nl": "Biedt deze plaats internettoegang aan?", + "de": "Bietet dieser Ort Internetzugang?", + "pt": "Este lugar tem acesso à Internet?", + "da": "Tilbyder dette sted internetadgang?", + "id": "Apa tempat ini menyediakan jaringan internet?", + "cs": "Nabízí toto místo připojení k internetu?", + "nb_NO": "Tilbyr dette stedet tilgang til Internett?", + "es": "¿Ofrece este lugar acceso a internet?", + "fr": "Cet endroit offre-t-il un accès à Internet ?", + "ca": "Aquest lloc ofereix accés a internet?", + "pl": "Czy to miejsce oferuje dostęp do Internetu?" + }, + "mappings": [ + { + "if": "internet_access=wlan", + "then": { + "en": "This place offers wireless internet access", + "nl": "Deze plaats biedt draadloze internettoegang aan", + "de": "Dieser Ort bietet drahtlosen Internetzugang", + "fr": "Ce lieu propose un accès internet sans fil", + "pt": "Este lugar tem acesso à Internet sem fios", + "da": "Dette sted tilbyder trådløs internetadgang", + "id": "Tempat ini menyediakan jaringan internet nirkabel", + "cs": "Toto místo nabízí bezdrátové připojení k internetu", + "nb_NO": "Dette stedet tilbyr trådløs tilgang til Internett", + "es": "Este lugar ofrece acceso a internet inalámbrico", + "ca": "Aquest lloc ofereix accés a internet inalàmbric", + "pl": "To miejsce oferuje bezprzewodowy dostęp do Internetu" + } + }, + { + "if": "internet_access=no", + "then": { + "en": "This place does not offer internet access", + "nl": "Deze plaats biedt geen internettoegang aan", + "de": "Dieser Ort bietet keinen Internetzugang", + "fr": "Ce lieu ne propose pas d'accès internet", + "pt": "Este lugar não tem acesso à Internet", + "da": "Dette sted tilbyder ikke internetadgang", + "id": "Tempat ini tidak menyediakan jaringan internet", + "cs": "Toto místo neposkytuje připojení k internetu", + "nb_NO": "Dette stedet tilbyr ikke tilgang til Internett", + "es": "Este lugar no ofrece acceso a internet", + "ca": "Aquest lloc no ofereix accés a internet", + "pl": "To miejsce nie oferuje dostępu do Internetu" + } + }, + { + "if": "internet_access=yes", + "then": { + "en": "This place offers internet access", + "nl": "Deze plaats biedt internettoegang aan", + "de": "Dieser Ort bietet Internetzugang", + "fr": "Ce lieu propose un accès internet", + "pt": "Este lugar tem acesso à Internet", + "da": "Dette sted tilbyder internetadgang", + "id": "Tempat ini menyediakan jaringan internet", + "cs": "Toto místo nabízí přístup k internetu", + "nb_NO": "Dette stedet tilbyr tilgang til Internett", + "es": "Este lugar ofrece acceso a internet", + "ca": "Aquest lloc ofereix accés a internet", + "pl": "To miejsce oferuje dostęp do Internetu" + }, + "hideInAnswer": true + }, + { + "if": "internet_access=terminal", + "then": { + "en": "This place offers internet access via a terminal or computer", + "nl": "Deze plaats biedt internettoegang via een terminal of computer aan", + "de": "Dieser Ort bietet Internetzugang über ein Terminal oder einen Computer", + "pt": "Este lugar tem acesso à Internet através de um terminal ou computador", + "da": "Dette sted tilbyder internetadgang via en terminal eller computer", + "id": "Tempat ini menyediakan jaringan internet melalui terminal atau komputer", + "cs": "Toto místo nabízí přístup k internetu prostřednictvím terminálu nebo počítače", + "nb_NO": "Dette stedet tilbyr tilgang til Internett via en terminal eller datamaskin", + "es": "Este lugar ofrece acceso a internet a través de una terminal o un ordenador", + "fr": "Cet endroit offre un accès à Internet via un terminal ou un ordinateur", + "ca": "Aquest lloc ofereix accés a internet a través d'una terminal o ordinador", + "pl": "To miejsce oferuje dostęp do Internetu za pośrednictwem terminala lub komputera" + } + }, + { + "if": "internet_access=wired", + "then": { + "en": "This place offers wired internet access", + "nl": "Deze plaats biedt bedrade internettoegang aan", + "de": "Dieser Ort bietet kabelgebundenen Internetzugang", + "pt": "Este lugar tem acesso à Internet com fios/por cabo", + "da": "Dette sted tilbyder internetadgang via kabel", + "id": "Tempat ini menyediakan jaringan internet kabel", + "cs": "Toto místo nabízí kabelové připojení k internetu", + "nb_NO": "Dette stedet tilbyr trådbunden tilgang til Internett", + "es": "Este lugar ofrece acceso a internet por cable", + "fr": "Cet endroit offre un accès Internet filaire", + "ca": "Aquest lloc ofereix accés a internet per cable", + "pl": "To miejsce oferuje przewodowy dostęp do Internetu" + } + } + ] + }, + { + "id": "internet-fee", + "condition": { + "and": [ + "internet_access!=no", + "internet_access!=" + ] + }, + "question": { + "en": "Is there a fee for internet access?", + "nl": "Zijn er kosten voor internettoegang?", + "de": "Wird für den Internetzugang eine Gebühr erhoben?", + "pt": "Tem de se pagar para utilizar o acesso à Internet?", + "da": "Er der et gebyr for internetadgang?", + "cs": "Je přístup na internet zpoplatněn?", + "id": "Apakah ada biaya untuk akses internet?", + "nb_NO": "Er det et gebyr for bruk av Internett?", + "fr": "L'accès à l'internet est-il payant ?", + "ca": "Hi ha que pagar per a accedir a internet?", + "es": "¿Hay que pagar para acceder a internet?", + "pl": "Czy dostęp do Internetu jest płatny?" + }, + "mappings": [ + { + "if": "internet_access:fee=yes", + "then": { + "en": "There is a fee for the internet access at this place", + "nl": "Er zijn kosten voor internettoegang op deze plaats", + "de": "Der Internetzugang ist an diesem Ort gebührenpflichtig", + "pt": "Tem de se pagar para utilizar o acesso à Internet neste local", + "da": "Der er et gebyr for internetadgang på dette sted", + "cs": "Přístup na internet je zde zpoplatněn", + "id": "Ada biaya untuk akses internet di tempat ini", + "nb_NO": "Det er et gebyr for tilgang til Internett på dette stedet", + "fr": "L'accès à l'internet est payant à cet endroit", + "ca": "Aquí hi ha que pagar per a accedir a internet", + "es": "Hay que pagar para acceder a internet en este lugar", + "pl": "W tym miejscu dostęp do Internetu jest płatny" + } + }, + { + "if": "internet_access:fee=no", + "then": { + "en": "Internet access is free at this place", + "nl": "Internettoegang is gratis op deze plaats", + "de": "Der Internetzugang ist an diesem Ort kostenlos", + "pt": "O acesso à Internet é gratuito neste local", + "da": "Internetadgang er gratis på dette sted", + "id": "Jaringan internet tersedia gratis di tempat ini", + "cs": "Přístup k internetu je zde zdarma", + "nb_NO": "Tilgang til Internett er gratis på dette stedet", + "es": "El acceso a internet es gratuito en este lugar", + "fr": "L'accès à Internet est gratuit dans cet endroit", + "ca": "Aquí l'accés a internet és gratuït", + "pl": "Dostęp do Internetu jest w tym miejscu bezpłatny" + } + }, + { + "if": "internet_access:fee=customers", + "then": { + "en": "Internet access is free at this place, for customers only", + "nl": "Internettoegang is gratis op deze plaats, alleen voor klanten", + "de": "Der Internetzugang ist an diesem Ort kostenlos, aber nur für Kunden", + "pt": "O acesso à Internet é gratuito neste local, apenas para clientes", + "da": "Internetadgang er gratis på dette sted, kun for kunder", + "id": "Jaringan internet tersedia gratis di tempat ini, hanya untuk pelanggan", + "cs": "Přístup k internetu je na tomto místě zdarma, pouze pro zákazníky", + "nb_NO": "Tilgang til Internett på dette stedet er gratis, men kun for kunder", + "es": "El acceso a internet es gratis en este lugar, solamente para clientes", + "fr": "L'accès à l'internet dans cet endroit est gratuit pour les clients uniquement", + "ca": "Aquí l'accés a internet és gratuït sols per als clients", + "pl": "Dostęp do Internetu jest w tym miejscu bezpłatny, tylko dla klientów" + } + } + ] + }, + { + "id": "internet-ssid", + "condition": "internet_access=wlan", + "question": { + "en": "What is the network name for the wireless internet access?", + "nl": "Wat is de netwerknaam voor de draadloze internettoegang?", + "de": "Wie lautet der Netzwerkname für den drahtlosen Internetzugang?", + "pt": "Qual é o nome da rede para o acesso sem fios à Internet?", + "da": "Hvad er netværksnavnet for den trådløse internetadgang?", + "id": "Apa nama jaringan internet nirkabelnya?", + "cs": "Jaký je název sítě pro bezdrátový přístup k internetu?", + "nb_NO": "Hva er nettverksnavnet for det trådløse nettverket?", + "es": "¿Cuál es el nombre de red para el acceso inalámbrico a internet?", + "fr": "Quel est le nom du réseau pour l'accès Internet sans fil ?", + "ca": "Quin és el nom de la xarxa per a l'accés inalàmbric a internet?", + "pl": "Jaka jest nazwa sieci dla bezprzewodowego dostępu do Internetu?" + }, + "freeform": { + "key": "internet_access:ssid", + "type": "string", + "placeholder": { + "en": "Enter the network name", + "nl": "Voer de netwerknaam in", + "de": "Geben Sie den Netzwerknamen ein", + "pt": "Introduza o nome da rede", + "da": "Indtast netværksnavnet", + "id": "Masukkan nama jaringan", + "cs": "Zadejte název sítě", + "nb_NO": "Skriv inn nettverksnavnet", + "pa_PK": "نیٹورک دا ناں پایو", + "es": "Introduzca el nombre de red", + "fr": "Entrez le nom du réseau", + "ca": "Intruduixca el nom de la xarxa", + "pl": "Wprowadź nazwę sieci" + } + }, + "mappings": [ + { + "if": "internet_access:ssid=Telekom", + "then": "Telekom", + "hideInAnswer": "_country!=de" + } + ], + "render": { + "en": "The network name is {internet_access:ssid}", + "nl": "De netwerknaam is {internet_access:ssid}", + "de": "Der Netzwerkname lautet {internet_access:ssid}", + "pt": "O nome da rede é {internet_access:ssid}", + "da": "Netværksnavnet er {internet_access:ssid}", + "id": "Nama jaringan ini adalah {internet_access:ssid}", + "cs": "Název sítě je {internet_access:ssid}", + "nb_NO": "Nettverksnavnet er {internet_access:ssid}", + "es": "El nombre de red es {internet_access:ssid}", + "fr": "Le nom du réseau est {internet_access:ssid}", + "ca": "El nom de la xarxa és {internet_access:ssid}", + "pl": "Nazwa sieci to {internet_access:ssid}" + } + }, + { + "id": "luminous_or_lit", + "question": { + "en": "Is this object lit or does it emit light?", + "ca": "Aquest objecte està il·luminat o emet llum?", + "cs": "Je tento objekt osvětlený nebo vyzařuje světlo?", + "de": "Wird das Objekt beleuchtet oder leuchtet es selbst?", + "es": "¿Está este objeto iluminado o emite luz?", + "fr": "Cet objet est-il éclairé ou émet-il de la lumière ?", + "pl": "Czy ten obiekt jest oświetlony lub emituje światło?" + }, + "mappings": [ + { + "if": { + "and": [ + "lit=yes", + "luminous=yes" + ] + }, + "then": { + "en": "This object both emits light and is lighted by an external light source", + "ca": "Aquest objecte emet llum i també està il·luminat externament", + "cs": "Tento objekt vyzařuje světlo a je osvětlen vnějším zdrojem světla", + "de": "Das Objekt leuchtet selbst und wird von außen beleuchtet", + "es": "Este objeto emite luz y es también iluminado por una fuente de luz externa", + "fr": "Cet objet émet de la lumière et est éclairé par l'extérieur", + "pl": "Ten obiekt zarówno emituje światło, jak i jest oświetlany przez zewnętrzne źródło światła" + } + }, + { + "if": "luminous=yes", + "then": { + "en": "This object emits light", + "ca": "Aquest objecte emet llum", + "cs": "Tento objekt vyzařuje světlo", + "de": "Das Objekt leuchtet selbst", + "es": "Este objeto emite luz", + "fr": "Cet objet émet de la lumière", + "pl": "Ten obiekt emituje światło" + }, + "addExtraTags": [ + "lit=no" + ] + }, + { + "if": "lit=yes", + "then": { + "en": "This object is lit externally, e.g. by a spotlight or other lights", + "ca": "Aquest objecte està il·luminat externament, p.e. amb un focus o altres llums", + "cs": "Tento objekt je osvětlen zvenčí, např. pomocí reflektoru nebo jiných světel", + "de": "Das Objekt wird von außen beleuchtet, z. B. durch Scheinwerfer oder andere Lichter", + "es": "Este objeto recibe iluminación, por ejemplo por un foco u otras luces", + "fr": "Cet objet est éclairé par l'extérieur, par ex. par un projecteur ou d'autres lumières", + "pl": "Ten obiekt jest oświetlony zewnętrznie, np. przez reflektor lub inne światła" + }, + "addExtraTags": [ + "luminous=no" + ] + }, + { + "if": { + "and": [ + "lit=no", + "luminous=no" + ] + }, + "then": { + "en": "This object does not emit light and is not lighted by externally", + "ca": "Aquest objecte no emet llum i no està il·luminat externament", + "cs": "Tento objekt nevyzařuje světlo a není osvětlen zvenčí", + "de": "Das Objekt wird weder von außen beleuchtet, noch leuchtet es selbst", + "es": "Este objeto ni emite luz ni es iluminado", + "fr": "Cet objet n'émet pas de lumière et n'est pas éclairé par l'extérieur", + "pl": "Obiekt ten nie emituje światła i nie jest oświetlany z zewnątrz" + } + } + ] + } + ] +} diff --git a/assets/tagRenderings/send_email.svg b/assets/layers/questions/send_email.svg similarity index 100% rename from assets/tagRenderings/send_email.svg rename to assets/layers/questions/send_email.svg diff --git a/assets/tagRenderings/smartphone.svg b/assets/layers/questions/smartphone.svg similarity index 100% rename from assets/tagRenderings/smartphone.svg rename to assets/layers/questions/smartphone.svg diff --git a/assets/tagRenderings/smoking.svg b/assets/layers/questions/smoking.svg similarity index 100% rename from assets/tagRenderings/smoking.svg rename to assets/layers/questions/smoking.svg diff --git a/assets/layers/usersettings/usersettings.json b/assets/layers/usersettings/usersettings.json index 11432bde6..9b79a82af 100644 --- a/assets/layers/usersettings/usersettings.json +++ b/assets/layers/usersettings/usersettings.json @@ -221,7 +221,8 @@ } ] }, - {"id": "mangrove-keys", + { + "id": "mangrove-keys", "render": { "en": "Download the private key for your Mangrove Account

Anyone possessing this file can make reviews with your identity

" } diff --git a/assets/tagRenderings/questions.json b/assets/tagRenderings/questions.json deleted file mode 100644 index e3e70bfc5..000000000 --- a/assets/tagRenderings/questions.json +++ /dev/null @@ -1,2138 +0,0 @@ -{ - "id": "questions", - "questions": { - "description": "Show the images block at this location", - "render": { - "*": "{questions()}" - } - }, - "images": { - "description": "This block shows the known images which are linked with the `image`-keys, but also via `mapillary` and `wikidata`", - "render": { - "*": "{image_carousel()}{image_upload()}" - } - }, - "mapillary": { - "description": "Shows a button to open Mapillary on this location", - "render": { - "*": "{mapillary()}" - } - }, - "export_as_gpx": { - "description": "Shows a button to export this feature as GPX. Especially useful for route relations", - "render": { - "*": "{export_as_gpx()}" - } - }, - "export_as_geojson": { - "description": "Shows a button to export this feature as geojson. Especially useful for debugging or using this in other programs", - "render": { - "*": "{export_as_geojson()}" - } - }, - "wikipedia": { - "description": "Shows a wikipedia box with the corresponding wikipedia article; the wikidata-item link can be changed by a contributor", - "render": { - "*": "{wikipedia():max-height:25rem}" - }, - "question": { - "en": "What is the corresponding Wikidata entity?", - "nl": "Welk Wikidata-item komt overeen met dit object?", - "de": "Wie lautet das zugehörige Wikidata Element?", - "pt": "Qual é a entidade Wikidata correspondente?", - "hu": "Mi a megfelelő Wikidata-elem?", - "it": "Qual è l’elemento Wikidata corrispondente?", - "nb_NO": "Hva er respektivt Wikipedia-element?", - "fr": "Quelle est l'entité Wikidata correspondante ?", - "ca": "Quina és la correspondent entitat a Wikidata?", - "sv": "Vad är den motsvarande Wikidata-enheten?", - "zh_Hant": "對應的維基資料項目是?", - "pl": "Jaki jest powiązany obiekt Wikidata?", - "ja": "対応するウィキデータのエンティティは何ですか?", - "fil": "Ano ang nau-ukol na entidad sa Wikidata?", - "es": "¿Cual es la entidad de Wikidata que se corresponde?", - "zh_Hans": "在Wikidata上对应的实体是什么?", - "da": "Hvad er den tilsvarende Wikidata-enhed?", - "id": "Apa entitas Wikidata yang sesuai?", - "cs": "Jaká je odpovídající entita Wikidata?" - }, - "mappings": [ - { - "if": "wikipedia~*", - "then": { - "*": "{wikipedia():max-height:25rem}", - "ca": "No hi ha cap enllaça a Viquipèdia encara", - "da": "Der er endnu ikke linket til nogen Wikipedia-side", - "de": "Es wurde noch keine Wikipedia-Seite verlinkt", - "en": "No Wikipedia page has been linked yet", - "es": "Todavía no se ha enlazado una página de wikipedia", - "fil": "Wala pang kawing ng Wikipedia page", - "fr": "Pas encore de lien vers une page Wikipedia", - "hu": "Még nincs Wikipédia-oldal belinkelve", - "it": "Nessuna pagina Wikipedia è ancora stata collegata", - "ja": "ウィキペディアのページはまだリンクされていません", - "nb_NO": "Ingen Wikipedia-side lenket enda", - "nl": "Er werd nog geen Wikipedia-pagina gekoppeld", - "pl": "Link do strony Wikipedii nie został jeszcze określony", - "pt": "Ainda não foi vinculada nenhuma página da Wikipédia", - "ru": "Никакой страницы на Википедии не было прикреплено", - "sv": "Ingen Wikipedia-sida har länkats än", - "zh_Hans": "尚未有连接到的维基百科页面", - "zh_Hant": "還沒有連結到維基百科頁面", - "id": "Belum ada halaman Wikipedia yang ditautkan", - "cs": "Žádná stránka na Wikipedii zatím nebyla propojena" - }, - "hideInAnswer": true - }, - { - "if": "wikidata=", - "then": { - "en": "No Wikipedia page has been linked yet", - "nl": "Er werd nog geen Wikipedia-pagina gekoppeld", - "de": "Es wurde noch keine Wikipedia-Seite verlinkt", - "pt": "Ainda não foi vinculada nenhuma página da Wikipédia", - "hu": "Még nincs Wikipédia-oldal belinkelve", - "it": "Nessuna pagina Wikipedia è ancora stata collegata", - "nb_NO": "Ingen Wikipedia-side lenket enda", - "fr": "Pas encore de lien vers une page Wikipedia", - "ca": "No hi ha cap enllaça a Viquipèdia encara", - "sv": "Ingen Wikipedia-sida har länkats än", - "zh_Hant": "還沒有連結到維基百科頁面", - "ru": "Никакой страницы на Википедии не было прикреплено", - "pl": "Link do strony Wikipedii nie został jeszcze określony", - "ja": "ウィキペディアのページはまだリンクされていません", - "fil": "Wala pang kawing ng Wikipedia page", - "es": "Todavía no se ha enlazado una página de wikipedia", - "zh_Hans": "尚未有连接到的维基百科页面", - "da": "Der er endnu ikke linket til nogen Wikipedia-side", - "id": "Belum ada halaman Wikipedia yang ditautkan", - "cs": "Žádná stránka na Wikipedii zatím nebyla propojena" - }, - "hideInAnswer": true - } - ], - "freeform": { - "key": "wikidata", - "type": "wikidata" - } - }, - "reviews": { - "description": "Shows the reviews module (including the possibility to leave a review)", - "render": { - "*": "{reviews()}" - } - }, - "minimap": { - "description": "Shows a small map with the feature. Added by default to every popup", - "render": { - "*": "{minimap(18, id): width:100%; height:8rem; border-radius:2rem; overflow: hidden; pointer-events: none;}" - } - }, - "phone": { - "labels": [ - "contact" - ], - "question": { - "en": "What is the phone number of {title()}?", - "nl": "Wat is het telefoonnummer van {title()}?", - "fr": "Quel est le numéro de téléphone de {title()} ?", - "de": "Wie lautet die Telefonnummer von {title()}?", - "nb_NO": "Hva er telefonnummeret til {title()}?", - "ru": "Какой номер телефона у {title()}?", - "sv": "Vad är telefonnumret till {title()}?", - "zh_Hant": "{title()} 的電話號碼是什麼?", - "it": "Qual è il numero di telefono di {title()}?", - "pt_BR": "Qual o número de telefone de {title()}?", - "id": "Berapa nomor telepon dari {title()}?", - "pl": "Jaki jest numer telefonu do {title()}?", - "pt": "Qual é o número de telefone de {title()}?", - "eo": "Kio estas la telefonnumero de {title()}?", - "hu": "Mi a telefonszáma ennek: {title()}?", - "ca": "Quin és el telèfon de {title()}?", - "ja": "{title()}の電話番号は?", - "sl": "Kakšno telefonsko številko ima {title()}?", - "fil": "Ano ang telepono ng {title()}?", - "es": "¿Cuál es el número de teléfono de {title()}?", - "zh_Hans": "{title()} 的电话号码为何?", - "da": "Hvad er telefonnummeret til {title()}?", - "cs": "Jaké je telefonní číslo {title()}?" - }, - "render": { - "*": "{phone}" - }, - "mappings": [ - { - "if": "contact:phone~*", - "then": "{contact:phone}", - "hideInAnswer": true - } - ], - "freeform": { - "key": "phone", - "type": "phone", - "addExtraTags": [ - "contact:phone=" - ] - } - }, - "osmlink": { - "render": { - "*": "" - }, - "mappings": [ - { - "if": "id~=-", - "then": "Uploading..." - } - ] - }, - "email": { - "render": { - "*": "{email}" - }, - "labels": [ - "contact" - ], - "question": { - "nl": "Wat is het e-mailadres van {title()}?", - "fr": "Quelle est l'adresse courriel de {title()} ?", - "en": "What is the email address of {title()}?", - "nb_NO": "Hva er e-postadressen til {title()}?", - "ru": "Какой адрес электронной почты у {title()}?", - "id": "Apa alamat surel dari {title()}?", - "zh_Hant": "{title()} 的電子郵件地址是什麼?", - "it": "Qual è l'indirizzo email di {title()}?", - "de": "Wie lautet die Mail-Adresse von {title()}?", - "pt_BR": "Qual o endereço de e-mail de {title()}?", - "pl": "Jaki jest adres e-mail do {title()}?", - "sv": "Vad är e-postadressen till {title()}?", - "pt": "Qual é o endereço de e-mail de {title()}?", - "eo": "Kio estas la retpoŝta adreso de {title()}?", - "hu": "Mi a(z) {title()} e-mail címe?", - "ca": "Quina és l'adreça de correu electrònic de {title()}?", - "ja": "{title()}のEメールアドレスは何ですか?", - "sl": "Kakšen naslov elektronske pošte ima {title()}?", - "fil": "Ano ang email address ng {title()}?", - "es": "¿Cual es la direccióm de correo electrónico de {title()}?", - "zh_Hans": "{title()} 的电子邮箱地址为何?", - "da": "Hvad er mailadressen på {title()}?", - "cs": "Jaká je e-mailová adresa {title()}?" - }, - "mappings": [ - { - "if": "contact:email~*", - "then": "{contact:email}", - "hideInAnswer": true - } - ], - "freeform": { - "key": "email", - "type": "email", - "addExtraTags": [ - "contact:email=" - ] - } - }, - "website": { - "labels": [ - "contact" - ], - "question": { - "en": "What is the website of {title()}?", - "nl": "Wat is de website van {title()}?", - "fr": "Quel est le site web de {title()} ?", - "gl": "Cal é a páxina web de {title()}?", - "nb_NO": "Hva er nettsiden til {title()}?", - "ru": "Какой сайт у {title()}?", - "id": "Apa situs web dari {title()}?", - "zh_Hant": "{title()} 網址是什麼?", - "it": "Qual è il sito web di {title()}?", - "de": "Wie lautet die Webseite von {title()}?", - "pt_BR": "Qual o site de {title()}?", - "pl": "Jaka jest strona internetowa {title()}?", - "sv": "Vad är webbplatsen för {title()}?", - "pt": "Qual é o sítio web de {title()}?", - "eo": "Kie estas la retejo de {title()}?", - "hu": "Mi a weboldala ennek: {title()}?", - "ca": "Quina és la web de {title()}?", - "ja": "{title()}のウェブサイトは?", - "fil": "Ano ang website ng {title()}?", - "es": "¿Cual es el sitio web de {title()}?", - "zh_Hans": "{title()} 的网站为何?", - "da": "Hvad er webstedet for {title()}?", - "cs": "Jaká je webová stránka {title()}?" - }, - "render": { - "*": "{website}" - }, - "freeform": { - "key": "website", - "type": "url", - "addExtraTags": [ - "contact:website=" - ] - }, - "mappings": [ - { - "if": "contact:website~*", - "then": "{contact:website}", - "hideInAnswer": true - } - ] - }, - "wheelchair-access": { - "question": { - "nl": "Is deze plaats rolstoeltoegankelijk?", - "en": "Is this place accessible with a wheelchair?", - "pt": "Este lugar é acessível a utilizadores de cadeiras de rodas?", - "pt_BR": "Este lugar é acessível com uma cadeira de rodas?", - "de": "Ist der Ort rollstuhlzugänglich?", - "fr": "Est-ce que cet endroit est accessible en chaise roulante ?", - "hu": "Akadálymentes-e ez a hely?", - "it": "Questo luogo è accessibile con una sedia a rotelle?", - "nb_NO": "Er dette stedet tilgjengelig for rullestoler?", - "ca": "Aquest lloc és accessible amb cadira de rodes?", - "sv": "Är det här stället tillgängligt med en rullstol?", - "zh_Hant": "這個地方可以坐輪椅到達嗎?", - "pl": "Czy to miejsce jest dostępne dla osób na wózkach inwalidzkich?", - "ja": "車いすでのアクセスは可能ですか?", - "fil": "Kaya bang abutin ang lugar na ito ng naka-wheelchair?", - "es": "¿Este lugar es accesible con una silla de ruedas?", - "da": "Er stedet tilgængeligt med en kørestol?", - "id": "Apakah tempat ini dapat diakses dengan kursi roda?", - "cs": "Je toto místo přístupné pro vozíčkáře?" - }, - "mappings": [ - { - "if": { - "and": [ - "wheelchair=designated" - ] - }, - "then": { - "nl": "Deze plaats is speciaal aangepast voor gebruikers van een rolstoel", - "en": "This place is specially adapted for wheelchair users", - "pt": "Este lugar está especialmente adaptado para utilizadores de cadeira de rodas", - "pt_BR": "Este lugar é especialmente adaptado para usuários de cadeira de rodas", - "de": "Der Ort ist speziell für Rollstuhlfahrer gestaltet", - "hu": "Ez a hely kifejezetten kerekesszékeseknek lett kialakítva", - "it": "Questo luogo è stato adattato per favorire le persone in sedia a rotelle", - "nb_NO": "Dette stedet er spesielt tilpasset rullestolsbrukere", - "fr": "Cet endroit est spécialement adapté pour les usagers de fauteuils roulants", - "ca": "Aquest lloc està especialment adaptat per a les cadires de rodes", - "sv": "Det här stället är speciellt anpassat för rullstolsburna användare", - "zh_Hant": "這個地方有特別設計給輪椅使用者", - "ru": "Это место подходит для людей на инвалидной коляске", - "pl": "W tym miejscu zainstalowane zostały udogodnienia dla osób na wózkach inwalidzkich", - "ja": "この場所は、車椅子の方のための特別仕様になっています", - "fil": "Ang lugar na ito ay angkop sa mga gumagamit ng wheelchair", - "es": "Este lugar está especialmente adaptado para usuarios en sillas de ruedas", - "da": "Dette sted er specielt indrettet til kørestolsbrugere", - "id": "Tempat ini dirancang khusus untuk pengguna kursi roda", - "cs": "Toto místo je speciálně upraveno pro vozíčkáře" - } - }, - { - "if": { - "and": [ - "wheelchair=yes" - ] - }, - "then": { - "nl": "Deze plaats is vlot bereikbaar met een rolstoel", - "en": "This place is easily reachable with a wheelchair", - "pt": "Este lugar é de fácil acesso com uma cadeira de rodas", - "pt_BR": "Este lugar é facilmente acessível com uma cadeira de rodas", - "de": "Der Ort ist rollstuhlzugänglich gestaltet", - "hu": "Ez a hely könnyedén elérhető kerekesszékkel", - "it": "Questo luogo è facilmente raggiungibile con una sedia a rotelle", - "nb_NO": "Dette stedet kan enkelt besøkes med rullestol", - "fr": "Cet endroit est facilement accessible avec un fauteuil roulant", - "ca": "És facilment arribable amb cadira de rodes", - "sv": "Denna plats är lätt att nå med rullstol", - "zh_Hant": "這個地方坐輪椅很容易到達", - "ru": "До этого места легко добраться на инвалидной коляске", - "pl": "To miejsce jest łatwo dostępne dla osób na wózkach inwalidzkich", - "ja": "この場所は、車いすで簡単に行くことができます", - "fil": "Ang lugar na ito ay kayang abutin ng mga naka-wheelchair", - "es": "Este lugar es fácilmente accesible con una silla de ruedas", - "da": "Dette sted er let tilgængeligt med en kørestol", - "id": "Tempat ini mudah dijangkau dengan kursi roda", - "cs": "Toto místo je snadno dosažitelné s invalidním vozíkem" - } - }, - { - "if": { - "and": [ - "wheelchair=limited" - ] - }, - "then": { - "nl": "Deze plaats is bereikbaar met een rolstoel, maar het is niet makkelijk", - "en": "It is possible to reach this place in a wheelchair, but it is not easy", - "pt": "É possível chegar a este local em cadeira de rodas, mas não é fácil", - "pt_BR": "É possível chegar a esse local em uma cadeira de rodas, mas não é fácil", - "de": "Der Ort ist nur eingeschränkt rollstuhlzugänglich", - "fr": "Il est possible d'accéder à cet endroit en chaise roulante, mais ce n'est pas facile", - "hu": "Ez a hely ugyan elérhető kerekesszékkel, de nehezen", - "it": "È possibile raggiungere questo luogo con una sedia a rotella ma non è semplice", - "nb_NO": "Det er mulig å besøke dette stedet i rullestol, men det er ikke lett", - "ca": "És possible fer servir cadira de rodes a aquest lloc però no és fàcil", - "sv": "Det är möjligt att nå den här platsen i en rullstol, men det är inte lätt", - "zh_Hant": "這個地方可以坐輪椅到達,但並不容易", - "ru": "До этого места можно добраться, но не просто", - "pl": "To miejsce jest dostępne dla osób na wózkach inwalidzkich, ale z pewnymi trudnościami", - "ja": "車いすでこの場所まで行くことは可能ですが、簡単ではありません", - "fil": "Kayang abutin ang lugar na ito ng mga naka-wheelchair, pero hindi madali", - "es": "Es posible llegar a este lugar con una silla de ruedas, pero no es fácil", - "da": "Det er muligt at komme til dette sted med en kørestol, men det er ikke let", - "id": "Dimungkinkan untuk mencapai tempat ini dengan kursi roda, tetapi tidak mudah", - "cs": "Na toto místo je možné se dostat na invalidním vozíku, ale není to snadné" - } - }, - { - "if": { - "and": [ - "wheelchair=no" - ] - }, - "then": { - "nl": "Niet rolstoeltoegankelijk", - "en": "This place is not reachable with a wheelchair", - "pt": "Este lugar não é acessível com uma cadeira de rodas", - "pt_BR": "Este lugar não é alcançável com uma cadeira de rodas", - "de": "Der Ort ist nicht rollstuhlzugänglich", - "fr": "Cet endroit n'est pas accessible en chaise roulante", - "hu": "Ez a hely kerekesszékkel elérhetetlen", - "it": "Questo luogo non è accessibile con una sedia a rotelle", - "nb_NO": "Dette stedet er ikke tilgjengelig for besøk med rullestol", - "ca": "Aquest lloc no és accessible amb cadira de rodes", - "sv": "Den här platsen kan inte nås med en rullstol", - "zh_Hant": "輪椅無法到達這個地方", - "pl": "To miejsce jest niedostępne dla osób na wózkach inwalidzkich", - "ja": "この場所は車いすでは行けません", - "fil": "Ang lugar na ito ay hindi kayang abutin ng naka-wheelchair", - "es": "No es posible llegar a este lugar con una silla de ruedas", - "da": "Dette sted er ikke tilgængeligt med kørestol", - "id": "Tempat ini tidak bisa dijangkau dengan kursi roda", - "cs": "Na toto místo se nelze dostat s invalidním vozíkem" - } - } - ] - }, - "dog-access": { - "question": { - "en": "Are dogs allowed in this business?", - "nl": "Zijn honden toegelaten in deze zaak?", - "pt": "Os cães são permitidos neste estabelecimento?", - "de": "Sind Hunde hier erlaubt?", - "fr": "Est-ce que les chiens sont admis ici ?", - "hu": "Be lehet-e vinni kutyát ebbe az üzletbe?", - "it": "I cani sono ammessi in quest’attività?", - "nb_NO": "Tillates hunder i denne forretningen?", - "ca": "S'accepten gossos en aquest negoci?", - "sv": "Tillåts hundar i den här affären?", - "zh_Hant": "這間商業空間是否允許犬隻?", - "ru": "Впускают ли собак в это здание?", - "pl": "Czy w tej firmie psy są dozwolone?", - "ja": "犬を飼うことができますか?", - "id": "Apakah anjing diperbolehkan dalam bisnis ini?", - "sl": "Ali so v tem podjetju dovoljeni psi?", - "fil": "Pinapayagan ba ang mga aso sa establisyementong ito?", - "es": "¿Están permitidos los perros en este negocio?", - "zh_Hans": "犬只是否在这个商业体中允许?", - "da": "Er hunde tilladt i denne virksomhed?", - "cs": "Jsou v tomto podniku povoleni psi?" - }, - "mappings": [ - { - "if": "dog=yes", - "then": { - "en": "Dogs are allowed", - "nl": "honden zijn toegelaten", - "pt": "Os cães são permitidos", - "de": "Hunde sind hier erlaubt", - "fr": "Chiens admis", - "eo": "Hundoj estas permesataj", - "hu": "Kutya bevihető", - "it": "Cani ammessi", - "nb_NO": "Hunder tillates", - "ca": "S'accepten gossos", - "ru": "Собаки разрешены", - "sv": "Hundar tillåts", - "zh_Hant": "允許犬隻", - "id": "Anjing diperbolehkan", - "pl": "Psy dozwolone", - "ja": "ペット同伴可能", - "es": "Se permiten perros", - "sl": "Psi so dovoljeni", - "fil": "Pinapayagan ang mga aso", - "zh_Hans": "允许犬只", - "da": "Hunde er tilladt", - "cs": "Psi jsou povoleni", - "pa_PK": "کُتیاں دی اِجازت اے" - } - }, - { - "if": "dog=no", - "then": { - "en": "Dogs are not allowed", - "nl": "honden zijn niet toegelaten", - "pt": "Os cães não são permitidos", - "de": "Hunde sind hier nicht erlaubt", - "fr": "Chiens non admis", - "eo": "Hundoj estas malpermesataj", - "hu": "Kutya nem vihető be", - "it": "I cani non sono ammessi", - "nb_NO": "Hunder tillates ikke", - "ca": "No s'accepten gossos", - "sv": "Hundar tillåts inte", - "zh_Hant": "允許犬隻", - "pl": "Psy nie dozwolone", - "ru": "С собаками не впускают", - "id": "Anjing tidak diperbolehkan", - "ja": "ペット同伴不可", - "es": "No se permiten perros", - "sl": "Psi niso dovoljeni", - "fil": "Hindi pinapayagan ang mga aso", - "zh_Hans": "允许犬只", - "da": "Hunde er ikke tilladt", - "cs": "Psi nejsou povoleni" - } - }, - { - "if": "dog=leashed", - "then": { - "en": "Dogs are allowed, but they have to be leashed", - "nl": "honden zijn enkel aan de leiband welkom", - "pt": "Os cães são permitidos, mas têm de ser presos pela trela", - "de": "Hunde sind hier erlaubt, müssen aber angeleint sein", - "fr": "Les chiens sont admis, mais ils doivent être tenus en laisse", - "hu": "Kutya bevihető, de csak pórázon", - "it": "Cani ammessi ma solo se tenuti al guinzaglio", - "nb_NO": "Hunder tillates, men de må være i bånd", - "ca": "S'accepten gossos però lligats", - "sv": "Hundar tillåts, men de måste vara kopplade", - "zh_Hant": "允許犬隻,但需要掛牽繩", - "ru": "Собак впускают, но на поводке", - "id": "Anjing diperbolehkan, tetapi mereka harus diikat", - "pl": "Psy dozwolone, ale muszą być na smyczy", - "ja": "ペット同伴可能。ただしリード着用", - "sl": "Psi so dovoljeni, vendar morajo biti na povodcu", - "fil": "Pinapayagan ang mga aso kung may tali", - "es": "Los perros están permitidos, pero tienen que llevar correa", - "zh_Hans": "允许犬只,但必须拴绳", - "da": "Hunde er tilladt, men de skal være i snor", - "cs": "Psi jsou povoleni, ale musí být na vodítku" - } - }, - { - "if": "dog=unleashed", - "then": { - "en": "Dogs are allowed and can run around freely", - "nl": "honden zijn welkom en mogen vrij rondlopen", - "pt": "Os cães são permitidos e podem correr livremente", - "de": "Hunde sind hier erlaubt und können frei herumlaufen", - "fr": "Les chiens sont admis et peuvent circuler librement", - "hu": "Kutya bevihető és szabadon szaladgálhat", - "it": "I cani sono ammessi e possono andare in giro liberamente", - "nb_NO": "Hunder tillates og kan gå fritt", - "ca": "S'accepten gossos lliures", - "sv": "Hundar tillåts och får springa fritt omkring", - "zh_Hant": "允許犬隻而且可以自由跑動", - "ru": "Собак свободно впускают", - "pl": "Psy dozwolone i mogą biegać bez ograniczeń", - "ja": "犬同伴可能、自由に走り回れる", - "id": "Anjing diperbolehkan dan dapat berkeliaran dengan bebas", - "sl": "Psi so dovoljeni in lahko prosto tekajo naokoli", - "fil": "Pinapayayagan ang mga aso, at malayang makatatakbo", - "es": "Los perros están permitidos y pueden estar sueltos", - "zh_Hans": "允许犬只,且可自由放养", - "da": "Hunde er tilladt og kan løbe frit rundt", - "cs": "Psi mají vstup povolen a mohou volně pobíhat" - } - } - ] - }, - "description": { - "question": { - "nl": "Zijn er nog andere relevante zaken die je niet in de bovenstaande vragen kwijt kon? Vul ze hier in.", - "fr": "Y a-t-il quelque chose de pertinent que vous n'avez pas pu donner à la dernière question ? Ajoutez-le ici.", - "en": "Is there still some relevant info that the previous questions did not cover? Feel free to add it here.", - "nb_NO": "Er det noe mer som er relevant du ikke kunne opplyse om i tidligere svar? Legg det til her.", - "ru": "Есть ли ещё что-то важное, о чём вы не смогли рассказать в предыдущих вопросах? Добавьте это здесь.", - "zh_Hant": "有什麼相關的資訊你無法在先前的問題回應的嗎?請加在這邊吧。", - "it": "C'è ancora qualche informazione importante che non è stato possibile fornire nelle domande precedenti? Aggiungila qui.", - "de": "Gibt es noch etwas, das die vorhergehenden Fragen nicht abgedeckt haben? Hier wäre Platz dafür.", - "pl": "Czy jest jeszcze coś istotnego, czego nie mogłeś podać w poprzednich pytaniach? Dodaj to tutaj.", - "pt_BR": "Ainda há algo de relevante que não pôde dar nas perguntas anteriores? Adicione aqui.", - "pt": "Ainda há algo de relevante que não tenha podido dar nas perguntas anteriores? Adicione-o aqui.", - "hu": "Van-e még valami lényeges, amit nem tudott megadni az előző kérdésekben? Itt megteheti.", - "ca": "Hi ha quelcom rellevant que no t'hem preguntat? Afegeix-ho aquí.", - "sv": "Finns det fortfarande någonting relevant som du inte kunde ge i de föregående frågorna? Lägg till det här.", - "id": "Apakah masih ada sesuatu yang relevan yang tidak dapat Anda berikan dalam pertanyaan sebelumnya? Tambahkan di sini. ", - "ja": "前の質問で伝えきれなかった関連事項がまだありますか?ここに追加してください。", - "es": "¿Aún hay algo relevante que no ha encajado en las preguntas anteriores? Compártalo aquí.", - "sl": "Ali je še kaj pomembnega, česar niste mogli povedati v prejšnjih vprašanjih? Dopišite tukaj.", - "fil": "Mayroon pa bang mga bagay na nau-ugnay at hindi mo maibigay sa mga nakaraang tanong? Idagdag dito.", - "da": "Er der stadig noget relevant, du ikke kunne give i de foregående spørgsmål? Tilføj det her.", - "cs": "Je ještě něco relevantního, co jste nemohli uvést v předchozích otázkách? Přidejte to sem." - }, - "render": { - "*": "{description}" - }, - "freeform": { - "key": "description" - }, - "questionHint": { - "nl": "Herhaal geen antwoorden die je reeds gaf", - "fr": "Ne répétez pas des réponses déjà données", - "en": "Please don't repeat already stated facts", - "nb_NO": "Ikke gjenta fakta som allerede er nevnt", - "ru": "Не повторяйте уже изложенные факты", - "zh_Hant": "不要重覆答覆已經知道的事情", - "it": "Non ripetere informazioni già fornite", - "de": "Bitte keine bereits erhobenen Informationen wiederholen", - "pl": "Nie powtarzaj już podanych faktów", - "pt_BR": " Não repita fatos já declarados", - "pt": "Não repita factos já declarados", - "hu": "Ne ismételjen meg már megadott tényeket", - "ca": "No repeteixis informació que ja hi és", - "sv": "Repetera inte redan angivna fakta", - "id": " Jangan ulangi fakta yang sudah dinyatakan ", - "ja": "今後表示しない", - "es": "No repita datos ya expresados", - "sl": "Ne ponavljajte že navedenih dejstev", - "fil": "Huwag ulitin ang mga nai-saad na", - "da": "Gentag ikke allerede nævnte fakta", - "cs": "Neopakujte již uvedená fakta" - } - }, - "opening_hours": { - "question": { - "en": "What are the opening hours of {title()}?", - "fr": "Quelles sont les horaires d'ouverture de {title()} ?", - "de": "Wie lauten die Öffnungszeiten von {title()}?", - "nl": "Wat zijn de openingstijden van {title()}?", - "nb_NO": "Hva er åpningstidene for {title()})", - "ru": "Какое время работы у {title()}?", - "zh_Hant": "{title()} 的開放時間是什麼?", - "it": "Quali sono gli orari di apertura di {title()}?", - "pt_BR": "Qual o horário de funcionamento de {title()}?", - "pl": "Jakie są godziny otwarcia {title()}?", - "sv": "Vilka är öppettiderna för {title()}?", - "pt": "Qual é o horário de funcionamento de {title()}?", - "hu": "Mikor van nyitva ez: {title()}?", - "ca": "Quin és l'horari d'obertura de {title()}?", - "ja": "{title()}の営業時間は?", - "sl": "Kakšen odpiralni čas ima {title()}?", - "fil": "Anong oras nagbubukas ang {title()}?", - "es": "¿Cuales son las horas de apertura de {title()}?", - "zh_Hans": "{title()} 的开放时间为何?", - "da": "Hvad er åbningstiderne for {title()}?", - "id": "Kapan jam buka {title()}?", - "cs": "Jaká je otevírací doba {title()}?" - }, - "render": { - "de": "

Öffnungszeiten

{opening_hours_table(opening_hours)}", - "fr": "

Horaires d'ouverture

{opening_hours_table(opening_hours)}", - "en": "

Opening hours

{opening_hours_table(opening_hours)}", - "nl": "

Openingstijden

{opening_hours_table(opening_hours)}", - "nb_NO": "

Åpningstider

{opening_hours_table(opening_hours)}", - "ru": "

Часы работы

{opening_hours_table(opening_hours)}", - "zh_Hant": "

開放時間

{opening_hours_table(opening_hours)}", - "it": "

Orari di apertura

{opening_hours_table(opening_hours)}", - "pl": "

Godziny otwarcia

{opening_hours_table(opening_hours)}", - "pt_BR": "

Horário de funcionamento

{opening_hours_table(opening_hours)}", - "sv": "

Öppettider

{opening_hours_table(opening_hours)}", - "pt": "

Horário de funcionamento

{opening_hours_table(opening_hours)}", - "eo": "

Malfermitaj horoj

{opening_hours_table(opening_hours)}", - "hu": "

Nyitva tartás

{opening_hours_table(opening_hours)}", - "ca": "

Horari d'obertura

{opening_hours_table(opening_hours)}", - "ja": "

営業時間

{opening_hours_table(opening_hours)}", - "sl": "

Odpiralni čas

{opening_hours_table(opening_hours)}", - "fil": "

Mga oras na bukas

{opening_hours_table(opening_hours)}", - "es": "

Horas de apertura

{opening_hours_table(opening_hours)}", - "zh_Hans": "

开放时间

{opening_hours_table(opening_hours)}", - "da": "

Åbningstider

{opening_hours_table(opening_hours)}", - "id": "

Jam buka

{opening_hours_table(opening_hours)}", - "pa_PK": "

کھُلھے گھنٹے

{opening_hours_table(opening_hours)}", - "cs": "

Otevírací hodiny

{opening_hours_table(opening_hours)}" - }, - "freeform": { - "key": "opening_hours", - "type": "opening_hours" - } - }, - "opening_hours_24_7": { - "builtin": "opening_hours", - "override": { - "mappings": [ - { - "if": "opening_hours=24/7", - "then": { - "en": "24/7 opened (including holidays)", - "de": "durchgehend geöffnet (auch an Feiertagen)", - "zh_Hant": "24/7 開放 (包括假日)", - "id": "Buka 24 jam (termasuk hari libur)", - "hu": "Éjjel-nappal nyitva (munkaszüneti napokon is)", - "es": "Abierta 24/7 (incluyendo festivos)", - "nl": "24/7 open (ook tijdens feestdagen)", - "fr": "Ouvert 24h/24 (jours fériés compris)", - "nb_NO": "Døgnåpent (inkludert helligdager)", - "cs": "Otevřeno 24/7 (včetně svátků)", - "ca": "Obert 24/7 (incloent-hi festius)", - "pl": "Otwarte 24/7 (również w święta)" - } - } - ] - } - }, - "opening_hours_by_appointment": { - "builtin": "opening_hours", - "override": { - "mappings": [ - { - "if": "opening_hours=\"by appointment\"", - "then": { - "en": "Only by appointment", - "de": "Nur nach Vereinbarung", - "nl": "Alleen op afspraak", - "fr": "Uniquement sur rendez-vous", - "ca": "Sols amb cita prèvia", - "es": "Sólo con cita previa", - "nb_NO": "Kun ved avtale", - "pl": "Tylko po wcześniejszym umówieniu się", - "cs": "Pouze po domluvě" - } - }, - { - "if": "opening_hours~i~\"by appointment\"|by appointment", - "then": { - "en": "Only by appointment", - "de": "Nur nach Vereinbarung", - "nl": "Alleen op afspraak", - "fr": "Uniquement sur rendez-vous", - "ca": "Sols amb cita prèvia", - "es": "Sólo con cita previa", - "nb_NO": "Kun ved avtale", - "pl": "Tylko po wcześniejszym umówieniu się", - "cs": "Pouze po domluvě" - }, - "hideInAnswer": true - } - ] - } - }, - "service:electricity": { - "#": "service:socket describes if a pub, restaurant or café offers electricity to their customers.", - "question": { - "en": "Does this amenity have electrical outlets, available to customers when they are inside?", - "nl": "Zijn er stekkers beschikbaar voor klanten die binnen zitten?", - "pt": "Esta infraestrutura tem tomadas elétricas, disponíveis para os clientes quando estão no interior?", - "ca": "Aquest servei té endolls elèctrics, disponibles pels clients quan hi són dins?", - "de": "Gibt es hier Steckdosen, an denen Kunden ihre Geräte laden können?", - "sv": "Har den här bekvämligheten eluttag tillgängliga för kunder när de är inne?", - "zh_Hant": "這個便利設施有電器設備,能給客戶使用嗎?", - "hu": "Van-e ebben a létesítményben olyan konnektor, amely a bent tartózkodó ügyfelek rendelkezésére áll?", - "fr": "Des prises sont elles à disposition des client·e·s en intérieur ?", - "pl": "Czy w tym przybytku znajdują się gniazdka elektryczne, gdzie klienci mogą naładować swoje urządzenia?", - "ja": "このアメニティにはコンセントがあり、お客様が店内にいるときにも利用できますか?", - "fil": "Merong bang mga intsupe (outlet) sa loob, para sa mga suki?", - "es": "¿Esta facilidad tiene enchufes eléctricos, disponibles para los clientes cuando están dentro?", - "nb_NO": "Har denne fasiliteten stikkontakter, tilgjengelig for kunder innendørs?", - "da": "Har denne faciliteter stikkontakter tilgængelige for kunder, når de er inde?", - "cs": "Má toto zařízení elektrické zásuvky, které jsou zákazníkům k dispozici, když jsou uvnitř?" - }, - "mappings": [ - { - "then": { - "en": "There are plenty of domestic sockets available to customers seated indoors, where they can charge their electronics", - "nl": "Er zijn binnen veel stekkers beschikbaar voor klanten die electronica wensen op te laden", - "pt": "Há muitas tomadas elétricas disponíveis para clientes sentados no interior, onde estes podem carregar os seus dispositivos eletrónicos", - "ca": "Està ple d'endolls pels clients de dins, on es poden carregar els aparells electrònics", - "de": "Im Innenraum stehen viele Steckdosen zur Verfügung, an denen Kunden ihre Geräte laden können", - "sv": "Det finns gott om hushållsuttag tillgängliga för kunder som sitter inomhus, där de kan ladda sin elektronik", - "zh_Hant": "這邊的客戶座位有不少個室內插座,而且可以為電器充電", - "hu": "Számos konnektor áll a belső térben ügyfelek rendelkezésére, ahol elektromos készülékeiket tölthetik", - "fr": "Il y a suffisamment de prises disponibles pour les client·e·s en intérieur souhaitant recharger leurs appareils", - "pl": "W budynku znajduje się wiele gniazdek elektrycznych, gdzie klienci mogą naładować swoje urządzenia", - "ja": "屋内の席に座っているお客様には、家庭用コンセントがたくさん用意されており、そこで電子機器を充電することができます", - "fil": "Maraming mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks", - "es": "Hay numerosos enchufes domésticos disponibles para los clientes sentados en el interior, donde pueden cargar sus dispositivos electrónicos", - "da": "Der er masser af stikkontakter til rådighed for kunder, der sidder indendørs, hvor de kan oplade deres elektroniske udstyr", - "nb_NO": "Det er massevis av stikkontakter tilgjengelig for kunder som sitter innendørs, der de kan lade elektronikken sin", - "cs": "V interiéru je k dispozici dostatek domácích zásuvek, kde si zákazníci mohou nabíjet elektroniku" - }, - "if": "service:electricity=yes" - }, - { - "then": { - "en": "There are a few domestic sockets available to customers seated indoors, where they can charge their electronics", - "nl": "Er zijn binnen enkele stekkers beschikbaar voor klanten die electronica wensen op te laden", - "pt": "Há algumas tomadas elétricas disponíveis para clientes sentados no interior, onde estes podem carregar os seus dispositivos eletrónicos", - "ca": "Hi ha alguns endolls disponibles per als clients de dins, on es poden carregar els aparells electrònics", - "de": "Im Innenraum stehen nur wenige Steckdosen zur Verfügung, an denen Kunden ihre Geräte laden können", - "sv": "Det finns ett fåtal hushållsuttag tillgängliga för kunder som sitter inomhus, där de kan ladda sin elektronik", - "zh_Hant": "這邊客戶座位有一些室內插座,可以為電器充電", - "hu": "Csupán néhány konnektor áll a belső térben ügyfelek rendelkezésére, ahol elektromos készülékeiket tölthetik", - "fr": "Il y a peu de prises disponibles pour les client·e·s en intérieur souhaitant recharger leurs appareils", - "pl": "W budynku znajduje się kilka gniazdek elektrycznych, gdzie klienci mogą naładować swoje urządzenia", - "ja": "屋内の席に座ったお客様が充電できるよう、コンセントがいくつか用意されています", - "fil": "May iilang mga intsupe (sockets) na maaring gamitin ng mga suki na nakaupo sa loob, pang-karga ng kanilang mga elektroniks", - "es": "Hay algunos enchufes domésticos disponibles para los clientes sentados en el interior, donde pueden cargar sus dispositivos electrónicos", - "da": "Der er nogle få stikkontakter til rådighed for kunder, der sidder indendørs, hvor de kan oplade deres elektroniske udstyr", - "nb_NO": "Det er noen stikkontakter tilgjengelig for kunder som sitter innendørs, der de kan lagre elektronikken sin", - "cs": "V interiéru je zákazníkům k dispozici několik domácích zásuvek, kde si mohou nabít elektroniku" - }, - "if": "service:electricity=limited" - }, - { - "then": { - "en": "There are no sockets available indoors to customers, but charging might be possible if the staff is asked", - "nl": "Er zijn binnen geen stekkers beschikbaar, maar electronica opladen kan indien men dit aan het personeel vraagt", - "fr": "Il n'y a pas de prises disponibles à l'intérieur pour les clients, mais la recharge est peut-être possible sur demande auprès des employés", - "pt": "Não há tomadas elétricas disponíveis para clientes sentados no interior, mas pode-se pedir aos funcionários para carregar dispositivos eletrónicos", - "ca": "No hi ha endolls disponibles per als clients però es pot carregar si es demana als responsables", - "de": "Im Innenraum stehen keine Steckdosen zur Verfügung, aber Laden von Geräte könnte möglich sein, wenn das Personal gefragt wird", - "sv": "Det finns inga uttag tillgängliga inomhus för kunder, men att ladda kan vara möjligt om personalen tillfrågas", - "zh_Hant": "這邊沒有給客戶用的插座,因此可能需要詢問員工是否能充電", - "hu": "A belső térben nincs konnektor az ügyfeleknek, de lehetséges, hogy a személyzet segítségével lehet elektromos eszközt tölteni", - "pl": "W budynku nie ma gniazdek elektrycznych dostępnych dla klientów, ale mogą zostać one udostępnione po spytaniu obsługi", - "ja": "屋内にはコンセントがありませんが、スタッフに声をかければ充電できるかもしれません", - "fil": "Walang mga intsupe (socket) para sa mga suki, pero maaring tanungin ang kawani kung magpapa-karga", - "es": "No hay enchufes disponibles en el interior para los clientes, pero cargar puede ser posible si se pregunta al personal", - "da": "Der er ingen stikkontakter til rådighed indendørs for kunderne, men opladning kan være mulig, hvis man beder personalet om det", - "nb_NO": "Det er ingen tilgjengelige stikkontakter for kunder som sitter innendørs, men lading kan være mulig hvis man spør betjeningen", - "cs": "V interiéru nejsou zákazníkům k dispozici žádné zásuvky, ale na požádání personálu je možné je nabíjet" - }, - "if": "service:electricity=ask" - }, - { - "then": { - "en": "There are a no domestic sockets available to customers seated indoors", - "nl": "Er zijn binnen geen stekkers beschikbaar", - "fr": "Il n'y a pas de prises secteur disponibles pour les clients assis à l'intérieur", - "pt": "Não há tomadas elétricas disponíveis para clientes sentados no interior", - "ca": "No hi ha endolls disponibles per als clients", - "de": "Im Innenraum stehen keine Steckdosen für Kunden zur Verfügung", - "sv": "Det finns inga hushållsuttag tillgängliga för kunder som sitter inomhus", - "zh_Hant": "這裡客戶座位沒有室內插座", - "hu": "A belső térben ülő ügyfeleknek nem áll rendelkezésére konnektor", - "pl": "W budynku nie ma gniazdek elektrycznych dostępnych dla klientów", - "ja": "屋内の席には、家庭用コンセントはありません", - "fil": "Walang mga intsupe (socket) para sa mga suking nakaubo sa loob", - "es": "No hay enchufes domésticos disponibles para los clientes sentados en el interior", - "da": "Der er ingen stikkontakter til rådighed for kunder, der sidder indendørs", - "nb_NO": "Det er ingen stikkontakter tilgjengelig for kunder som sitter innendørs", - "cs": "Zákazníci v interiéru nemají k dispozici žádné domácí zásuvky" - }, - "if": "service:electricity=no" - } - ] - }, - "payment-options": { - "question": { - "en": "Which methods of payment are accepted here?", - "nl": "Welke betaalmiddelen worden hier geaccepteerd?", - "pt": "Que métodos de pagamento são aceites aqui?", - "pt_BR": "Quais métodos de pagamento são aceitos aqui?", - "id": "Metode pembayaran manakah yang di terima disini?", - "de": "Welche Zahlungsmethoden werden hier akzeptiert?", - "fr": "Quelles sont les méthodes de paiement acceptées ici ?", - "hu": "Milyen fizetési módokat fogadnak el itt?", - "it": "Quali metodi di pagamento sono accettati qui?", - "nb_NO": "Hvilke betalingsmetoder godtas her?", - "ca": "Quins mètodes de pagament s'accepten aquí?", - "sv": "Vilka betalningsmetoder accepteras här?", - "zh_Hant": "這邊接受那種付款方式?", - "pl": "Jakie metody płatności są tutaj dostępne?", - "ru": "Какие способы оплаты здесь принимают?", - "ja": "どのような支払い方法が可能ですか?", - "sl": "Kateri načini plačila so možni tu?", - "fil": "Anong mga paraang pambayad ang tinatanggap dito?", - "es": "¿Qué métodos de pago se aceptan aquí?", - "zh_Hans": "这里支持哪些支付方式?", - "da": "Hvilke betalingsmetoder accepteres her?", - "cs": "Jaké platební metody jsou zde přijímány?" - }, - "multiAnswer": true, - "mappings": [ - { - "if": "payment:cash=yes", - "ifnot": "payment:cash=no", - "icon": "./assets/tagRenderings/cash.svg", - "then": { - "en": "Cash is accepted here", - "nl": "Cash geld wordt hier aanvaard", - "pt": "Aceitam pagamento com dinheiro aqui", - "pt_BR": "Dinheiro é aceito aqui", - "id": "Pembayaran tunai diterima di sini", - "de": "Hier wird Bargeld akzeptiert", - "fr": "Paiement en liquide accepté", - "hu": "Itt készpénzzel is lehet fizetni", - "it": "I contanti sono accettati", - "nb_NO": "Kontanter godtas her", - "ca": "S'accepten diners", - "sv": "Pengar accepteras här", - "zh_Hant": "這邊接受現金", - "pl": "Płatność gotówkowa jest tutaj dostępna", - "ru": "Здесь принимают наличными", - "ja": "現金利用可能", - "sl": "Tu sprejemajo gotovino", - "fil": "Tinatanggap ang salapi rito", - "es": "Aquí se acepta el pago en efectivo", - "zh_Hans": "可用现金", - "da": "Her modtages kontanter", - "cs": "Přijímá se zde hotovost" - } - }, - { - "if": "payment:cards=yes", - "ifnot": "payment:cards=no", - "icon": "./assets/tagRenderings/payment_card.svg", - "then": { - "en": "Payment cards are accepted here", - "nl": "Betalen met bankkaarten kan hier", - "pt": "Aceitam pagamento com cartões bancários aqui", - "pt_BR": "Cartões de pagamento são aceitos aqui", - "id": "Kartu pembayaran diterima di sini", - "de": "Hier wird Kartenzahlung akzeptiert", - "fr": "Paiement par carte accepté", - "hu": "Itt fizetőkártyákkal is lehet fizetni", - "it": "I pagamenti con la carta sono accettati", - "nb_NO": "Betalingskort godtas her", - "ca": "S'accepten targetes de crèdit", - "sv": "Betalningskort accepteras här", - "zh_Hant": "這邊接受現金卡", - "pl": "Płatność kartą jest tutaj dostępna", - "ru": "Здесь принимают банковские карты", - "ja": "お支払いはこちらで承ります", - "sl": "Tukaj sprejemajo plačilne kartice", - "fil": "Tinatanggap ang mga tarhetang pambayad dito", - "es": "Aquí se acepta el pago por tarjeta", - "zh_Hans": "可用信用卡", - "da": "Betalingskort accepteres her", - "cs": "Jsou zde přijímány platební karty" - } - }, - { - "if": "payment:qr_code=yes", - "ifnot": "payment:qr_code=no", - "icon": "./assets/tagRenderings/qrcode.svg", - "then": { - "en": "Payment by QR-code is possible here", - "nl": "Betalen via een QR-code is hier mogelijk", - "de": "Die Bezahlung per QR-Code ist hier möglich", - "es": "Aquí se puede pagar con código QR", - "ca": "Aquí es pot pagar amb codi QR" - } - } - ] - }, - "payment-options-split": { - "builtin": "payment-options", - "override": { - "mappings": [ - { - "hideInAnswer": true, - "ifnot": "payment:cash=" - }, - { - "hideInAnswer": true, - "ifnot": "payment:cards=" - } - ], - "mappings+": [ - { - "if": "payment:coins=yes", - "ifnot": "payment:coins=no", - "icon": "./assets/tagRenderings/coins.svg", - "then": { - "en": "Coins are accepted here", - "nl": "Muntgeld wordt hier aanvaard", - "de": "Münzen werden hier akzeptiert", - "fr": "Les pièces sont acceptées ici", - "ca": "Aquí s'accepten monedes", - "es": "Aquí se aceptan monedas", - "nb_NO": "Mynter aksepteres her", - "pl": "Monety są tutaj akceptowane", - "cs": "Jsou zde přijímány mince" - } - }, - { - "if": "payment:notes=yes", - "ifnot": "payment:notes=no", - "icon": "./assets/tagRenderings/notes.svg", - "then": { - "en": "Bank notes are accepted here", - "nl": "Bankbiljetten worden hier aanvaard", - "de": "Geldscheine werden hier akzeptiert", - "fr": "Les billets de banque sont acceptés ici", - "ca": "Aquí s'accepten bitllets", - "es": "Aquí se aceptan billetes", - "nb_NO": "Sedler aksepteres her", - "pl": "Banknoty są tutaj akceptowane", - "cs": "Jsou zde přijímány bankovky" - } - }, - { - "if": "payment:debit_cards=yes", - "ifnot": "payment:debit_cards=no", - "icon": "./assets/tagRenderings/payment_card.svg", - "then": { - "en": "Debit cards are accepted here", - "nl": "Betalen met debetkaarten kan hier", - "de": "Debitkarten werden hier akzeptiert", - "fr": "Les cartes de débit sont acceptées ici", - "ca": "Aquí s'accepten targetes de dèbit", - "es": "Aquí se aceptan tarjetas de débito", - "nb_NO": "Debetkort aksepteres her", - "pl": "Akceptowane są tutaj karty debetowe", - "cs": "Jsou zde přijímány debetní karty" - } - }, - { - "if": "payment:credit_cards=yes", - "ifnot": "payment:credit_cards=no", - "icon": "./assets/tagRenderings/payment_card.svg", - "then": { - "en": "Credit cards are accepted here", - "nl": "Betalen met creditkaarten kan hier", - "de": "Kreditkarten werden hier akzeptiert", - "fr": "Les cartes de crédit sont acceptées ici", - "ca": "Aquí s'accepten targetes de crèdit", - "es": "Aquí se aceptan tarjetas de crédito", - "nb_NO": "Kredittkort aksepteres her", - "pl": "Akceptowane są tutaj karty kredytowe", - "cs": "Jsou zde přijímány kreditní karty" - } - } - ] - } - }, - "payment-options-advanced": { - "builtin": "payment-options", - "override": { - "mappings+": [ - { - "if": "payment:app=yes", - "ifnot": "payment:app=no", - "icon": "./assets/tagRenderings/smartphone.svg", - "then": { - "en": "Payment is done using a dedicated app", - "nl": "Betalen via een app van het netwerk", - "hu": "Fizetés erre a célra szolgáló alkalmazással", - "zh_Hant": "使用專用應用程式付款", - "de": "Die Bezahlung erfolgt über eine spezielle App", - "fr": "Paiement via une application", - "sl": "Plačilo se opravi z namensko aplikacijo", - "ca": "El pagament es fa amb una app dedicada", - "fil": "Binabayaran gamit ang sariling app", - "es": "El pago se realiza con una aplicación dedicada", - "zh_Hans": "使用专用APP支付", - "da": "Betaling sker ved hjælp af en dedikeret app", - "nb_NO": "Betaling utføres med et eget program", - "pt": "O pagamento é feito utilizando uma aplicação dedicada", - "it": "Pagamento effettuato utilizzando un'app dedicata", - "id": "Pembayaran dilakukan dengan aplikasi khusus", - "cs": "Platba se provádí pomocí speciální aplikace", - "pl": "Płatność odbywa się za pomocą dedykowanej aplikacji" - } - }, - { - "if": "payment:membership_card=yes", - "ifnot": "payment:membership_card=no", - "icon": "./assets/tagRenderings/nfc_card.svg", - "then": { - "en": "Payment is done using a membership card", - "nl": "Betalen via een lidkaart van het netwerk", - "hu": "Fizetési tagsági kártyával", - "zh_Hant": "使用會員卡付款", - "de": "Die Bezahlung erfolgt mit einer Mitgliedskarte", - "fr": "Paiement via une carte de membre", - "sl": "Plačilo se izvede s člansko izkaznico", - "ca": "El pagament es fa amb una targeta de membre", - "fil": "Binabayaran gamit ang membership card", - "es": "El pago se realiza con una tarjeta de membresía", - "nb_NO": "Betaling utføres med et medlemskort", - "zh_Hans": "使用会员卡支付", - "da": "Betaling sker med medlemskort", - "pt": "O pagamento é feito usando um cartão de membro", - "id": "Pembayaran dilakukan dengan kartu anggota", - "cs": "Platba se provádí pomocí členské karty", - "pl": "Płatność odbywa się za pomocą karty członkowskiej" - } - } - ] - } - }, - "denominations-coins": { - "condition": { - "and": [ - { - "or": [ - "payment:coins=yes", - "payment:cash=yes" - ] - }, - { - "or": [ - "_country=at", - "_country=be", - "_country=cy", - "_country=de", - "_country=ee", - "_country=es", - "_country=fi", - "_country=fr", - "_country=gr", - "_country=hr", - "_country=ie", - "_country=it", - "_country=lt", - "_country=lu", - "_country=lv", - "_country=mt", - "_country=nl", - "_country=pt", - "_country=si", - "_country=sk" - ] - } - ] - }, - "question": { - "en": "What coins can you use to pay here?", - "de": "Mit welchen Münzen kann man hier bezahlen?", - "nl": "Met welke munten kan je hier betalen?", - "fr": "Quelles pièces peut-on utiliser pour payer ici ?", - "pl": "Jakimi monetami można tutaj zapłacić?", - "ca": "Quines monedes es poden utilitzar per a pagar aquí?", - "es": "¿Qué monedas se pueden usar aquí para pagar?", - "nb_NO": "Hvilke mynter kan brukes til betaling her?", - "cs": "Jakými mincemi zde lze platit?" - }, - "multiAnswer": true, - "mappings": [ - { - "if": "payment:coins:denominations=0.01 EUR", - "icon": "./assets/tagRenderings/1cent.svg", - "then": { - "en": "1 cent coins are accepted", - "de": "1-Cent-Münzen werden akzeptiert", - "nl": "Munten van 1 cent worden geaccepteerd", - "nb_NO": "1-cent mynter aksepteres", - "fr": "Les pièces d'1 cent sont acceptées", - "pl": "Akceptowane są monety 1 centowe", - "ca": "S'accepten monedes de 1 cèntim", - "es": "Se aceptan monedas de 1 céntimo", - "cs": "Jsou přijímány mince v hodnotě 1 centu", - "id": "1 koin sen diterima" - } - }, - { - "if": "payment:coins:denominations=0.02 EUR", - "icon": "./assets/tagRenderings/2cent.svg", - "then": { - "en": "2 cent coins are accepted", - "de": "2-Cent-Münzen werden akzeptiert", - "nl": "Munten van 2 cent worden geaccepteerd", - "nb_NO": "2-cent mynter aksepteres", - "fr": "Les pièces de 2 cents sont acceptées", - "pl": "Akceptowane są monety 2 centowe", - "ca": "S'accepten monedes de 2 cèntims", - "es": "Se aceptan monedas de 2 céntimos", - "cs": "Jsou přijímány mince v hodnotě 2 centů", - "id": "Koin 2 sen diterima" - } - }, - { - "if": "payment:coins:denominations=0.05 EUR", - "icon": "./assets/tagRenderings/5cent.svg", - "then": { - "en": "5 cent coins are accepted", - "de": "5-Cent-Münzen werden akzeptiert", - "nl": "Munten van 5 cent worden geaccepteerd", - "nb_NO": "5-cent mynter aksepteres", - "fr": "Les pièces de 5 cents sont acceptées", - "pl": "Akceptowane są monety 5 centowe", - "ca": "S'accepten monedes de 5 cèntims", - "es": "Se aceptan monedas de 5 céntimos", - "cs": "Jsou přijímány mince v hodnotě 5 centů", - "id": "Koin 5 sen diterima" - } - }, - { - "if": "payment:coins:denominations=0.10 EUR", - "icon": "./assets/tagRenderings/10cent.svg", - "then": { - "en": "10 cent coins are accepted", - "de": "10-Cent-Münzen werden akzeptiert", - "nl": "Munten van 10 cent worden geaccepteerd", - "nb_NO": "10-cent mynter aksepteres", - "fr": "Les pièces de 10 cents sont acceptées", - "pl": "Akceptowane są monety 10-centowe", - "ca": "S'accepten monedes de 10 cèntims", - "es": "Se aceptan monedas de 10 céntimos", - "cs": "Jsou přijímány mince v hodnotě 10 centů", - "id": "Koin 10 sen diterima" - } - }, - { - "if": "payment:coins:denominations=0.20 EUR", - "icon": "./assets/tagRenderings/20cent.svg", - "then": { - "en": "20 cent coins are accepted", - "de": "20-Cent-Münzen werden akzeptiert", - "nl": "Munten van 20 cent worden geaccepteerd", - "nb_NO": "20-cent mynter aksepteres", - "fr": "Les pièces de 20 cents sont acceptées", - "pl": "Akceptowane są monety 20-centowe", - "ca": "S'accepten monedes de 20 cèntims", - "es": "Se aceptan monedas de 20 céntimos", - "cs": "Jsou přijímány mince v hodnotě 20 centů", - "id": "Koin 20 sen diterima" - } - }, - { - "if": "payment:coins:denominations=0.50 EUR", - "icon": "./assets/tagRenderings/50cent.svg", - "then": { - "en": "50 cent coins are accepted", - "de": "50-Cent-Münzen werden akzeptiert", - "nl": "Munten van 50 cent worden geaccepteerd", - "nb_NO": "50-cent mynter aksepteres", - "fr": "Les pièces de 50 cents sont acceptées", - "pl": "Akceptowane są monety 50-centowe", - "ca": "S'accepten monedes de 50 cèntims", - "es": "Se aceptan monedas de 50 céntimos", - "cs": "Jsou přijímány mince v hodnotě 50 centů", - "id": "Koin 50 sen diterima" - } - }, - { - "if": "payment:coins:denominations=1 EUR", - "icon": "./assets/tagRenderings/1euro.svg", - "then": { - "en": "1 euro coins are accepted", - "de": "1-Euro-Münzen werden akzeptiert", - "nl": "Munten van 1 euro worden geaccepteerd", - "nb_NO": "1-euro mynter aksepteres", - "fr": "Les pièces de 1 euro sont acceptées", - "pl": "Akceptowane są monety 1 euro", - "ca": "S'accepten monedes de 1 euro", - "es": "Se aceptan monedas de 1 euro", - "cs": "Jsou přijímány mince v hodnotě 1 eura" - } - }, - { - "if": "payment:coins:denominations=2 EUR", - "icon": "./assets/tagRenderings/2euro.svg", - "then": { - "en": "2 euro coins are accepted", - "de": "2-Euro-Münzen werden akzeptiert", - "nl": "Munten van 2 euro worden geaccepteerd", - "nb_NO": "2-euro mynter aksepteres", - "fr": "Les pièces de 2 euros sont acceptées", - "pl": "Akceptowane są monety 2 euro", - "ca": "S'accepten monedes de 2 euros", - "es": "Se aceptan monedas de 2 euros", - "cs": "Jsou přijímány mince v hodnotě 2 euro" - } - } - ] - }, - "denominations-notes": { - "condition": { - "and": [ - { - "or": [ - "payment:notes=yes", - "payment:cash=yes" - ] - }, - { - "or": [ - "_country=at", - "_country=be", - "_country=cy", - "_country=de", - "_country=ee", - "_country=es", - "_country=fi", - "_country=fr", - "_country=gr", - "_country=hr", - "_country=ie", - "_country=it", - "_country=lt", - "_country=lu", - "_country=lv", - "_country=mt", - "_country=nl", - "_country=pt", - "_country=si", - "_country=sk" - ] - } - ] - }, - "question": { - "en": "what notes can you use to pay here?", - "nl": "Met welke bankbiljetten kan je hier betalen?", - "de": "Mit welchen Banknoten kann man hier bezahlen?", - "es": "¿con qué billetes se puede pagar aquí?", - "pl": "Jakimi banknotami można tu zapłacić?", - "cs": "Jakými bankovkami zde lze platit?", - "ca": "Amb quins bitllets pot pagar aquí?", - "fr": "quels billets pouvez vous utiliser pour payer ici ?" - }, - "multiAnswer": true, - "mappings": [ - { - "if": "payment:notes:denominations=5 EUR", - "icon": "./assets/tagRenderings/5euro.svg", - "then": { - "en": "5 euro notes are accepted", - "nl": "Biljetten van 5 euro worden geaccepteerd", - "de": "5-Euro-Scheine werden angenommen", - "es": "Se aceptan billetes de 5 euros", - "pl": "Banknoty 5 euro są akceptowane", - "cs": "Jsou přijímány bankovky v hodnotě 5 euro", - "ca": "S'accepten billets de 5 euros", - "fr": "Les billets de 5 euros ne sont pas acceptés" - } - }, - { - "if": "payment:notes:denominations=10 EUR", - "icon": "./assets/tagRenderings/10euro.svg", - "then": { - "en": "10 euro notes are accepted", - "nl": "Biljetten van 10 euro worden geaccepteerd", - "de": "10-Euro-Scheine werden angenommen", - "es": "Se aceptan billetes de 10 euros", - "pl": "Banknoty 10 euro są akceptowane", - "cs": "Jsou přijímány bankovky v hodnotě 10 euro", - "ca": "S'accepten bitllets de 10 euros", - "fr": "Les billets de 10 euros sont acceptés" - } - }, - { - "if": "payment:notes:denominations=20 EUR", - "icon": "./assets/tagRenderings/20euro.svg", - "then": { - "en": "20 euro notes are accepted", - "nl": "Biljetten van 20 euro worden geaccepteerd", - "de": "20-Euro-Scheine werden angenommen", - "es": "Se aceptan billetes de 20 euros", - "pl": "Banknoty 20 euro są akceptowane", - "cs": "Jsou přijímány bankovky v hodnotě 20 euro", - "ca": "S'accepten bitllets de 20 euros", - "fr": "Les billets de 20 euros sont acceptés" - } - }, - { - "if": "payment:notes:denominations=50 EUR", - "icon": "./assets/tagRenderings/50euro.svg", - "then": { - "en": "50 euro notes are accepted", - "nl": "Biljetten van 50 euro worden geaccepteerd", - "de": "50-Euro-Scheine werden angenommen", - "es": "Se aceptan billetes de 50 euros", - "pl": "Banknoty 50 euro są akceptowane", - "cs": "Jsou přijímány bankovky v hodnotě 50 euro", - "ca": "S'accepten bitllets de 50 euros", - "fr": "Les billets de 50 euros sont acceptés" - } - }, - { - "if": "payment:notes:denominations=100 EUR", - "icon": "./assets/tagRenderings/100euro.svg", - "then": { - "en": "100 euro notes are accepted", - "nl": "Biljetten van 100 euro worden geaccepteerd", - "de": "100-Euro-Scheine werden angenommen", - "es": "Se aceptan billetes de 100 euros", - "pl": "Banknoty 100 euro są akceptowane", - "cs": "Jsou přijímány bankovky v hodnotě 100 euro", - "ca": "S'accepten bitllets de 100 euros", - "fr": "Les billets de 100 euros sont acceptés" - } - }, - { - "if": "payment:notes:denominations=200 EUR", - "icon": "./assets/tagRenderings/200euro.svg", - "then": { - "en": "200 euro notes are accepted", - "nl": "Biljetten van 200 euro worden geaccepteerd", - "de": "200-Euro-Scheine werden angenommen", - "es": "Se aceptan billetes de 200 euros", - "pl": "Banknoty 200 euro są akceptowane", - "cs": "Jsou přijímány bankovky v hodnotě 200 euro", - "ca": "S'accepten bitllets de 200 euros", - "fr": "Les billets de 200 euros sont acceptés" - } - }, - { - "if": "payment:notes:denominations=500 EUR", - "icon": "./assets/tagRenderings/500euro.svg", - "then": { - "en": "500 euro notes are accepted", - "nl": "Biljetten van 500 euro worden geaccepteerd", - "de": "500-Euro-Scheine werden angenommen", - "es": "Se aceptan billetes de 500 euros", - "pl": "Banknoty 500 euro są akceptowane", - "cs": "Jsou přijímány bankovky v hodnotě 500 euro", - "ca": "S'accepten bitllets de 500 euros", - "fr": "Les billets de 500 euros sont acceptés" - } - } - ] - }, - "last_edit": { - "description": "Gives some metainfo about the last edit and who did edit it - rendering only", - "condition": { - "and": [ - "_last_edit:contributor~*", - "_last_edit:changeset~*" - ] - }, - "metacondition": { - "or": [ - "__featureSwitchIsTesting=true", - "__featureSwitchIsDebugging=true", - "mapcomplete-show_debug=yes", - "_csCount>=10" - ] - }, - "render": { - "special": { - "type": "link", - "href": "{_backend}/changeset/{_last_edit:changeset}", - "text": { - "en": "Last edited on {_last_edit:timestamp} by {_last_edit:contributor}", - "nl": "Laatst gewijzigd op {_last_edit:timestamp} door {_last_edit:contributor} ", - "de": "Zuletzt bearbeitet am {_last_edit:timestamp} von {_last_edit:contributor}" - }, - "class": "subtle font-small" - } - } - }, - "all_tags": { - "description": "Shows a table with all the tags of the feature", - "render": { - "*": "{all_tags()}" - } - }, - "just_created": { - "description": "This element shows a 'thank you' that the contributor has recently created this element", - "classes": "rounded-xl thanks", - "mappings": [ - { - "if": "id~*", - "icon": "./assets/svg/party.svg", - "then": { - "ca": "Acabeu de crear aquest element! Gràcies per compartir aquesta informació amb el mon i ajudar a persones al voltant del món.", - "de": "Sie haben gerade dieses Element erstellt! Vielen Dank, dass Sie diese Informationen mit der Welt teilen und Menschen weltweit helfen.", - "en": "You just created this element! Thanks for sharing this info with the world and helping people worldwide.", - "fr": "Vous venez de créer cet élément ! Merci d'avoir partagé cette information avec le monde et d'aider les autres personnes.", - "nl": "Je hebt dit punt net toegevoegd! Bedankt om deze info met iedereen te delen en om de mensen wereldwijd te helpen." - } - } - ], - "condition": { - "and": [ - "_backend~*", - "_last_edit:passed_time<300", - { - "or": [ - "_version_number=", - "_version_number=1" - ] - } - ] - }, - "metacondition": { - "and": [ - { - "#": "if _last_edit:contributor:uid is unset, then the point hasn't been uploaded yet", - "or": [ - "_last_edit:contributor:uid:={_uid}", - "_last_edit:contributor:uid=" - ] - } - ] - } - }, - "multilevels": { - "builtin": "level", - "override": { - "question": { - "en": "What levels does this elevator go to?", - "de": "Auf welchen Geschossen hält dieser Aufzug?", - "fr": "Quels étages sont desservis par cet ascenceur ?", - "pt": "Para que pisos vai este elevador?", - "da": "Hvilke niveauer går denne elevator til?", - "id": "Pada lantai berapa saja lift ini berjalan?", - "cs": "Do jakých podlaží tento výtah jezdí?", - "nb_NO": "Hvilke etasjer går heisen til?", - "nl": "Naar welke verdiepingen gaat deze lift?", - "es": "¿A qué pisos va este ascensor?", - "ca": "A quins pisos va aquest ascensor?", - "pl": "Na jakie poziomy jedzie ta winda?" - }, - "render": { - "en": "This elevator goes to floors {level}", - "de": "Der Aufzug hält auf den Geschossen {level}", - "fr": "Cet ascenceur permet d’accéder aux étages {level}", - "pt": "Este elevador vai para os pisos {level}", - "da": "Denne elevator går til etager {level}", - "id": "Lift ini berjalan ke lantai {level}", - "cs": "Tento výtah jede do {level} patra", - "nb_NO": "Heisen går til etasje {level}", - "nl": "Deze lift gaat naar de verdiepingen {level}", - "es": "Este ascensor va a los pisos {level}", - "ca": "Aquest ascensor va als pisos {level}", - "pl": "Ta winda jedzie na piętra {level}" - }, - "freeform": { - "key": "level", - "type": "string" - }, - "multiAnswer": true - } - }, - "level": { - "question": { - "nl": "Op welke verdieping bevindt dit punt zich?", - "en": "On what level is this feature located?", - "de": "Auf welcher Ebene befindet sich das Objekt?", - "zh_Hant": "此圖徽位於哪個樓層/層級?", - "fr": "À quel étage se situe l’élément ?", - "pl": "Na jakim poziomie znajduje się ta funkcja?", - "pt_BR": "Em que nível esse recurso está localizado?", - "ru": "На каком этаже находится этот объект?", - "pt": "Em que nível se encontra este elemento?", - "id": "Pada tingkat apa fitur ini diletakkan?", - "hu": "Melyik szinten található ez a létesítmény?", - "it": "A quale piano si trova questo elemento?", - "ca": "A quina planta està situat aquest element?", - "sv": "På vilken nivå finns den här funktionen?", - "ja": "この機能は何階にあるのでしょうか?", - "fil": "Anong palapag matatagpuan ang tampók?", - "es": "¿En qué nivel se encuentra esta característica?", - "nb_NO": "Hvilken etasje befinner funksjonen seg i?", - "da": "På hvilket niveau er denne funktion placeret?", - "cs": "V jaké úrovni se tento prvek nachází?" - }, - "render": { - "en": "Located on the {level}th floor", - "nl": "Bevindt zich op de {level}de verdieping", - "de": "Das Objekt befindet sich im {level}. Geschoss", - "pt_BR": "Localizado no {level}o andar", - "ru": "Расположено на {level}ом этаже", - "zh_Hant": "位於 {level} 樓", - "fr": "Étage {level}", - "pl": "Znajduje się na {level} piętrze", - "sv": "Ligger på {level}:e våningen", - "pt": "Está no {level}º andar", - "eo": "En la {level}a etaĝo", - "hu": "A(z) {level}. emeleten", - "it": "Si trova al piano numero {level}", - "ca": "Situat a la planta {level}", - "ja": "{level}階にあります", - "sl": "Nahaja se v {level}. nadstropju", - "fil": "Natagpuan sa ika-{level} na palapag", - "es": "Localizada en la {level}° planta", - "da": "Beliggende på {level}. etage", - "nb_NO": "Ligger i {level} etasje", - "id": "Terletak di lantai {level}", - "cs": "Nachází se v {level}. patře" - }, - "freeform": { - "key": "level", - "type": "float" - }, - "mappings": [ - { - "if": "location=underground", - "then": { - "en": "Located underground", - "nl": "Bevindt zich ondergronds", - "pt_BR": "Localizado no subsolo", - "ru": "Расположено под землей", - "zh_Hant": "位於地下", - "fr": "En sous-sol", - "pl": "Znajduje się pod ziemią", - "sv": "Ligger under jorden", - "pt": "Está no subsolo", - "de": "Das Objekt befindet sich unter der Erde", - "hu": "A föld alatt", - "it": "Si trova sotto il livello stradale", - "nb_NO": "Under bakken", - "ca": "Situat a planta subterrani", - "ja": "地下にあります", - "id": "Terletak di bawah tanah", - "sl": "Nahaja se pod zemljo", - "fil": "Nasa ilalim ng lupa", - "es": "Localizado bajo tierra", - "da": "Placeret under jorden", - "cs": "Nachází se v podzemí" - }, - "hideInAnswer": true - }, - { - "if": "level=0", - "then": { - "en": "Located on the ground floor", - "nl": "Bevindt zich op de begane grond", - "de": "Das Objekt befindet sich im Erdgeschoss", - "pt_BR": "Localizado no térreo", - "ru": "Расположено на первом этаже", - "zh_Hant": "位於 1 樓", - "fr": "Rez-de-chaussée", - "pl": "Znajduje się na parterze", - "sv": "Ligger på bottenvåningen", - "pt": "Está ao nível do rés-do-chão", - "eo": "En la teretaĝo", - "hu": "A földszinten", - "it": "Si trova al pianoterra", - "nb_NO": "På gateplan", - "ca": "Situat a planta zero", - "ja": "1階にあります", - "id": "Terletak di lantai dasar", - "sl": "Nahaja se v pritličju", - "fil": "Nasa unang palapag", - "es": "Localizado en la planta baja", - "da": "Beliggende i stueetagen", - "cs": "Nachází se v přízemí" - } - }, - { - "if": "level=", - "hideInAnswer": true, - "then": { - "en": "Located on the ground floor", - "nl": "Bevindt zich gelijkvloers", - "de": "Das Objekt befindet sich im Erdgeschoss", - "pt_BR": "Localizado no térreo", - "ru": "Расположено на первом этаже", - "zh_Hant": "位於 1 樓", - "fr": "Rez-de-chaussée", - "pl": "Znajduje się na parterze", - "sv": "Ligger på bottenvåningen", - "pt": "Está ao nível do rés-do-chão", - "eo": "En la teretaĝo", - "hu": "A földszinten", - "it": "Si trova al pianoterra", - "nb_NO": "På gateplan", - "ca": "Situat a la planta zero", - "ja": "1階にあります", - "id": "Terletak di lantai dasar", - "sl": "Nahaja se v pritličju", - "fil": "Nasa unang palapag", - "es": "Localizado en la planta baja", - "da": "Beliggende i stueetagen", - "cs": "Nachází se v přízemí" - } - }, - { - "if": "level=1", - "then": { - "en": "Located on the first floor", - "nl": "Bevindt zich op de eerste verdieping", - "de": "Das Objekt befindet sich im 1. Obergeschoss", - "pt_BR": "Localizado no primeiro andar", - "ru": "Расположено на первом этаже", - "zh_Hant": "位於 2 樓", - "fr": "Premier étage", - "pl": "Znajduje się na pierwszym piętrze", - "sv": "Ligger på första våningen", - "pt": "Está no primeiro andar", - "id": "Berlokasi di lantai pertama", - "eo": "En la unua etaĝo", - "hu": "Az első emeleten", - "it": "Si trova al primo piano", - "nb_NO": "I andre etasje", - "ca": "Situat a primera planta", - "ja": "1階にあります", - "sl": "Nahaja se v prvem nadstropju", - "fil": "Nasa unang palapag", - "es": "Localizado en la primera planta", - "da": "Beliggende på første sal", - "cs": "Nachází se v prvním patře" - } - }, - { - "if": "level=-1", - "then": { - "en": "Located on the first basement level", - "nl": "Bevindt zich in de eerste kelderverdieping", - "zh_Hant": "位於地下一樓", - "de": "Das Objekt befindet sich im 1. Untergeschoss", - "hu": "Az első alagsori szinten", - "id": "Terletak di lantai basement pertama", - "fr": "Sous-sol", - "sl": "Nahaja se v prvi kletni etaži", - "ca": "Localitzat a la planta base", - "fil": "Nasa silong", - "es": "Localizada en el primer sótano", - "nb_NO": "Er å finne på første kjellernivå", - "pt": "Localizado no primeiro nível da cave", - "da": "Beliggende på første kælderetage", - "cs": "Nachází se v prvním suterénu", - "pl": "Położone na pierwszym poziomie piwnicy" - } - } - ] - }, - "smoking": { - "question": { - "en": "Is smoking allowed at {title()}?", - "de": "Ist das Rauchen in {title()} erlaubt?", - "es": "¿Está permitido fumar en {title()}?", - "fr": "Est-ce autorisé de fumer à {title()} ?", - "pt": "É permitido fumar em {title()}?", - "nb_NO": "Tillates røyking på {title()}?", - "da": "Er det tilladt at ryge på {title()}?", - "id": "Apa diizinkan untuk merokok di {title()}?", - "nl": "Is roken toegestaan bij {title()}?", - "cs": "Je na {title()} povoleno kouřit?", - "ca": "Està permés fumar a {title()}?", - "pl": "Czy w {title()} wolno palić?" - }, - "#condition": "Based on https://en.wikipedia.org/wiki/List_of_smoking_bans", - "condition": "_country!~al|be", - "mappings": [ - { - "if": "smoking=yes", - "icon": { - "path": "./assets/tagRenderings/smoking.svg", - "size": "small" - }, - "then": { - "en": "Smoking is allowed", - "de": "Rauchen ist erlaubt", - "es": "Está permitido fumar", - "fr": "Il est autorisé de fumer", - "pt": "É permitido fumar", - "nb_NO": "Røyking er tillatt", - "da": "Rygning er tilladt", - "id": "Merokok diizinkan", - "nl": "Roken is toegestaan", - "cs": "Kouření je povoleno", - "pa_PK": "سِگرٹ پیݨ دی ‫‬؜اِجازت‬‫‬ ؜اے", - "ca": "Està permès fumar", - "pl": "Palenie jest dozwolone" - } - }, - { - "if": "smoking=no", - "icon": { - "path": "./assets/tagRenderings/no_smoking.svg", - "size": "small" - }, - "then": { - "en": "Smoking is not allowed", - "de": "Rauchen ist nicht erlaubt", - "es": "No está permitido fumar", - "fr": "Il est interdit de fumer", - "pt": "Não é permitido fumar", - "nb_NO": "Røyking forbudt", - "da": "Rygning er ikke tilladt", - "id": "Merokok dilarang", - "nl": "Roken is niet toegestaan", - "cs": "Kouření není povoleno", - "ca": "No està permés fumar", - "pl": "Palenie jest zakazane" - } - }, - { - "if": "smoking=outside", - "then": { - "en": "Smoking is allowed outside.", - "de": "Rauchen ist draußen erlaubt.", - "es": "Está permitido fumar en el exterior.", - "fr": "Il est autorisé de fumer à l'extérieur.", - "pt": "É permitido fumar no exterior.", - "nb_NO": "Røyking tillates på utsiden.", - "da": "Rygning er tilladt udenfor.", - "id": "Merokok diizinkan di luar ruangan.", - "nl": "Roken is buiten toegestaan.", - "cs": "Kouření je povoleno venku.", - "ca": "Està permés fumar a l'exterior.", - "pl": "Palenie jest dozwolone na zewnątrz." - } - } - ] - }, - "induction-loop": { - "description": "An accessibility feature: induction loops are for hard-hearing persons which have an FM-receiver.", - "question": { - "en": "Does this place have an audio induction loop for people with reduced hearing?", - "de": "Hat dieser Ort eine induktive Höranlage für Hörgeschädigte?", - "fr": "Ce lieu dispose-t’il d’une boucle auditive pour les personnes malentendantes ?", - "da": "Har dette sted en lydinduktionssløjfe til personer med nedsat hørelse?", - "cs": "Má toto místo zvukovou indukční smyčku pro osoby se sluchovým postižením?", - "nb_NO": "Har stedet en teleslynge for folk med redusert hørsel?", - "nl": "Heeft deze plaats een ringleiding voor slechthorenden?", - "ca": "Aquest lloc té un bucle magnètic per a la gent amb dificultats auditives?", - "es": "¿Este lugar tiene un bucle auditivo para personas con discapacidad auditiva?", - "pl": "Czy to miejsce ma pętlę indukcyjną dźwięku dla osób niedosłyszących?" - }, - "mappings": [ - { - "if": "hearing_loop=yes", - "then": { - "en": "This place has an audio induction loop", - "de": "Dieser Ort hat eine induktive Höranlage", - "fr": "Ce lieu dispose d’une boucle auditive", - "da": "Dette sted har en lydinduktionssløjfe", - "cs": "Toto místo má zvukovou indukční smyčku", - "nb_NO": "Dette stedet har en teleslynge", - "nl": "Deze plaats heeft een ringleiding", - "pl": "To miejsce ma pętlę indukcyjną audio", - "ca": "El lloc té un bucle magnètic", - "es": "Este lugar tiene un bucle auditivo" - }, - "icon": { - "path": "./assets/tagRenderings/audio_induction_loop.svg", - "class": "medium" - } - }, - { - "if": "hearing_loop=no", - "then": { - "en": "This place does not have an audio induction loop", - "de": "Dieser Ort hat keine induktive Höranlage", - "fr": "Ce lieu ne dispose pas de boucle auditive", - "da": "Dette sted har ikke en lydinduktionssløjfe", - "cs": "Toto místo nemá indukční zvukovou smyčku", - "nb_NO": "Dette stedet har ikke en teleslynge", - "nl": "Deze plaats heeft geen ringleiding", - "ca": "El lloc no té un bucle magnètic", - "es": "Este lugar no tiene bucle auditivo", - "pl": "To miejsce nie ma pętli indukcyjnej dźwięku" - }, - "icon": { - "path": "./assets/tagRenderings/audio_induction_loop_missing.svg", - "class": "medium" - } - } - ] - }, - "internet": { - "question": { - "en": "Does this place offer internet access?", - "nl": "Biedt deze plaats internettoegang aan?", - "de": "Bietet dieser Ort Internetzugang?", - "pt": "Este lugar tem acesso à Internet?", - "da": "Tilbyder dette sted internetadgang?", - "id": "Apa tempat ini menyediakan jaringan internet?", - "cs": "Nabízí toto místo připojení k internetu?", - "nb_NO": "Tilbyr dette stedet tilgang til Internett?", - "es": "¿Ofrece este lugar acceso a internet?", - "fr": "Cet endroit offre-t-il un accès à Internet ?", - "ca": "Aquest lloc ofereix accés a internet?", - "pl": "Czy to miejsce oferuje dostęp do Internetu?" - }, - "mappings": [ - { - "if": "internet_access=wlan", - "then": { - "en": "This place offers wireless internet access", - "nl": "Deze plaats biedt draadloze internettoegang aan", - "de": "Dieser Ort bietet drahtlosen Internetzugang", - "fr": "Ce lieu propose un accès internet sans fil", - "pt": "Este lugar tem acesso à Internet sem fios", - "da": "Dette sted tilbyder trådløs internetadgang", - "id": "Tempat ini menyediakan jaringan internet nirkabel", - "cs": "Toto místo nabízí bezdrátové připojení k internetu", - "nb_NO": "Dette stedet tilbyr trådløs tilgang til Internett", - "es": "Este lugar ofrece acceso a internet inalámbrico", - "ca": "Aquest lloc ofereix accés a internet inalàmbric", - "pl": "To miejsce oferuje bezprzewodowy dostęp do Internetu" - } - }, - { - "if": "internet_access=no", - "then": { - "en": "This place does not offer internet access", - "nl": "Deze plaats biedt geen internettoegang aan", - "de": "Dieser Ort bietet keinen Internetzugang", - "fr": "Ce lieu ne propose pas d'accès internet", - "pt": "Este lugar não tem acesso à Internet", - "da": "Dette sted tilbyder ikke internetadgang", - "id": "Tempat ini tidak menyediakan jaringan internet", - "cs": "Toto místo neposkytuje připojení k internetu", - "nb_NO": "Dette stedet tilbyr ikke tilgang til Internett", - "es": "Este lugar no ofrece acceso a internet", - "ca": "Aquest lloc no ofereix accés a internet", - "pl": "To miejsce nie oferuje dostępu do Internetu" - } - }, - { - "if": "internet_access=yes", - "then": { - "en": "This place offers internet access", - "nl": "Deze plaats biedt internettoegang aan", - "de": "Dieser Ort bietet Internetzugang", - "fr": "Ce lieu propose un accès internet", - "pt": "Este lugar tem acesso à Internet", - "da": "Dette sted tilbyder internetadgang", - "id": "Tempat ini menyediakan jaringan internet", - "cs": "Toto místo nabízí přístup k internetu", - "nb_NO": "Dette stedet tilbyr tilgang til Internett", - "es": "Este lugar ofrece acceso a internet", - "ca": "Aquest lloc ofereix accés a internet", - "pl": "To miejsce oferuje dostęp do Internetu" - }, - "hideInAnswer": true - }, - { - "if": "internet_access=terminal", - "then": { - "en": "This place offers internet access via a terminal or computer", - "nl": "Deze plaats biedt internettoegang via een terminal of computer aan", - "de": "Dieser Ort bietet Internetzugang über ein Terminal oder einen Computer", - "pt": "Este lugar tem acesso à Internet através de um terminal ou computador", - "da": "Dette sted tilbyder internetadgang via en terminal eller computer", - "id": "Tempat ini menyediakan jaringan internet melalui terminal atau komputer", - "cs": "Toto místo nabízí přístup k internetu prostřednictvím terminálu nebo počítače", - "nb_NO": "Dette stedet tilbyr tilgang til Internett via en terminal eller datamaskin", - "es": "Este lugar ofrece acceso a internet a través de una terminal o un ordenador", - "fr": "Cet endroit offre un accès à Internet via un terminal ou un ordinateur", - "ca": "Aquest lloc ofereix accés a internet a través d'una terminal o ordinador", - "pl": "To miejsce oferuje dostęp do Internetu za pośrednictwem terminala lub komputera" - } - }, - { - "if": "internet_access=wired", - "then": { - "en": "This place offers wired internet access", - "nl": "Deze plaats biedt bedrade internettoegang aan", - "de": "Dieser Ort bietet kabelgebundenen Internetzugang", - "pt": "Este lugar tem acesso à Internet com fios/por cabo", - "da": "Dette sted tilbyder internetadgang via kabel", - "id": "Tempat ini menyediakan jaringan internet kabel", - "cs": "Toto místo nabízí kabelové připojení k internetu", - "nb_NO": "Dette stedet tilbyr trådbunden tilgang til Internett", - "es": "Este lugar ofrece acceso a internet por cable", - "fr": "Cet endroit offre un accès Internet filaire", - "ca": "Aquest lloc ofereix accés a internet per cable", - "pl": "To miejsce oferuje przewodowy dostęp do Internetu" - } - } - ] - }, - "internet-fee": { - "condition": { - "and": [ - "internet_access!=no", - "internet_access!=" - ] - }, - "question": { - "en": "Is there a fee for internet access?", - "nl": "Zijn er kosten voor internettoegang?", - "de": "Wird für den Internetzugang eine Gebühr erhoben?", - "pt": "Tem de se pagar para utilizar o acesso à Internet?", - "da": "Er der et gebyr for internetadgang?", - "cs": "Je přístup na internet zpoplatněn?", - "id": "Apakah ada biaya untuk akses internet?", - "nb_NO": "Er det et gebyr for bruk av Internett?", - "fr": "L'accès à l'internet est-il payant ?", - "ca": "Hi ha que pagar per a accedir a internet?", - "es": "¿Hay que pagar para acceder a internet?", - "pl": "Czy dostęp do Internetu jest płatny?" - }, - "mappings": [ - { - "if": "internet_access:fee=yes", - "then": { - "en": "There is a fee for the internet access at this place", - "nl": "Er zijn kosten voor internettoegang op deze plaats", - "de": "Der Internetzugang ist an diesem Ort gebührenpflichtig", - "pt": "Tem de se pagar para utilizar o acesso à Internet neste local", - "da": "Der er et gebyr for internetadgang på dette sted", - "cs": "Přístup na internet je zde zpoplatněn", - "id": "Ada biaya untuk akses internet di tempat ini", - "nb_NO": "Det er et gebyr for tilgang til Internett på dette stedet", - "fr": "L'accès à l'internet est payant à cet endroit", - "ca": "Aquí hi ha que pagar per a accedir a internet", - "es": "Hay que pagar para acceder a internet en este lugar", - "pl": "W tym miejscu dostęp do Internetu jest płatny" - } - }, - { - "if": "internet_access:fee=no", - "then": { - "en": "Internet access is free at this place", - "nl": "Internettoegang is gratis op deze plaats", - "de": "Der Internetzugang ist an diesem Ort kostenlos", - "pt": "O acesso à Internet é gratuito neste local", - "da": "Internetadgang er gratis på dette sted", - "id": "Jaringan internet tersedia gratis di tempat ini", - "cs": "Přístup k internetu je zde zdarma", - "nb_NO": "Tilgang til Internett er gratis på dette stedet", - "es": "El acceso a internet es gratuito en este lugar", - "fr": "L'accès à Internet est gratuit dans cet endroit", - "ca": "Aquí l'accés a internet és gratuït", - "pl": "Dostęp do Internetu jest w tym miejscu bezpłatny" - } - }, - { - "if": "internet_access:fee=customers", - "then": { - "en": "Internet access is free at this place, for customers only", - "nl": "Internettoegang is gratis op deze plaats, alleen voor klanten", - "de": "Der Internetzugang ist an diesem Ort kostenlos, aber nur für Kunden", - "pt": "O acesso à Internet é gratuito neste local, apenas para clientes", - "da": "Internetadgang er gratis på dette sted, kun for kunder", - "id": "Jaringan internet tersedia gratis di tempat ini, hanya untuk pelanggan", - "cs": "Přístup k internetu je na tomto místě zdarma, pouze pro zákazníky", - "nb_NO": "Tilgang til Internett på dette stedet er gratis, men kun for kunder", - "es": "El acceso a internet es gratis en este lugar, solamente para clientes", - "fr": "L'accès à l'internet dans cet endroit est gratuit pour les clients uniquement", - "ca": "Aquí l'accés a internet és gratuït sols per als clients", - "pl": "Dostęp do Internetu jest w tym miejscu bezpłatny, tylko dla klientów" - } - } - ] - }, - "internet-ssid": { - "condition": "internet_access=wlan", - "question": { - "en": "What is the network name for the wireless internet access?", - "nl": "Wat is de netwerknaam voor de draadloze internettoegang?", - "de": "Wie lautet der Netzwerkname für den drahtlosen Internetzugang?", - "pt": "Qual é o nome da rede para o acesso sem fios à Internet?", - "da": "Hvad er netværksnavnet for den trådløse internetadgang?", - "id": "Apa nama jaringan internet nirkabelnya?", - "cs": "Jaký je název sítě pro bezdrátový přístup k internetu?", - "nb_NO": "Hva er nettverksnavnet for det trådløse nettverket?", - "es": "¿Cuál es el nombre de red para el acceso inalámbrico a internet?", - "fr": "Quel est le nom du réseau pour l'accès Internet sans fil ?", - "ca": "Quin és el nom de la xarxa per a l'accés inalàmbric a internet?", - "pl": "Jaka jest nazwa sieci dla bezprzewodowego dostępu do Internetu?" - }, - "freeform": { - "key": "internet_access:ssid", - "type": "string", - "placeholder": { - "en": "Enter the network name", - "nl": "Voer de netwerknaam in", - "de": "Geben Sie den Netzwerknamen ein", - "pt": "Introduza o nome da rede", - "da": "Indtast netværksnavnet", - "id": "Masukkan nama jaringan", - "cs": "Zadejte název sítě", - "nb_NO": "Skriv inn nettverksnavnet", - "pa_PK": "نیٹورک دا ناں پایو", - "es": "Introduzca el nombre de red", - "fr": "Entrez le nom du réseau", - "ca": "Intruduixca el nom de la xarxa", - "pl": "Wprowadź nazwę sieci" - } - }, - "mappings": [ - { - "if": "internet_access:ssid=Telekom", - "then": "Telekom", - "hideInAnswer": "_country!=de" - } - ], - "render": { - "en": "The network name is {internet_access:ssid}", - "nl": "De netwerknaam is {internet_access:ssid}", - "de": "Der Netzwerkname lautet {internet_access:ssid}", - "pt": "O nome da rede é {internet_access:ssid}", - "da": "Netværksnavnet er {internet_access:ssid}", - "id": "Nama jaringan ini adalah {internet_access:ssid}", - "cs": "Název sítě je {internet_access:ssid}", - "nb_NO": "Nettverksnavnet er {internet_access:ssid}", - "es": "El nombre de red es {internet_access:ssid}", - "fr": "Le nom du réseau est {internet_access:ssid}", - "ca": "El nom de la xarxa és {internet_access:ssid}", - "pl": "Nazwa sieci to {internet_access:ssid}" - } - }, - "luminous_or_lit": { - "question": { - "en": "Is this object lit or does it emit light?", - "ca": "Aquest objecte està il·luminat o emet llum?", - "cs": "Je tento objekt osvětlený nebo vyzařuje světlo?", - "de": "Wird das Objekt beleuchtet oder leuchtet es selbst?", - "es": "¿Está este objeto iluminado o emite luz?", - "fr": "Cet objet est-il éclairé ou émet-il de la lumière ?", - "pl": "Czy ten obiekt jest oświetlony lub emituje światło?" - }, - "mappings": [ - { - "if": { - "and": [ - "lit=yes", - "luminous=yes" - ] - }, - "then": { - "en": "This object both emits light and is lighted by an external light source", - "ca": "Aquest objecte emet llum i també està il·luminat externament", - "cs": "Tento objekt vyzařuje světlo a je osvětlen vnějším zdrojem světla", - "de": "Das Objekt leuchtet selbst und wird von außen beleuchtet", - "es": "Este objeto emite luz y es también iluminado por una fuente de luz externa", - "fr": "Cet objet émet de la lumière et est éclairé par l'extérieur", - "pl": "Ten obiekt zarówno emituje światło, jak i jest oświetlany przez zewnętrzne źródło światła" - } - }, - { - "if": "luminous=yes", - "then": { - "en": "This object emits light", - "ca": "Aquest objecte emet llum", - "cs": "Tento objekt vyzařuje světlo", - "de": "Das Objekt leuchtet selbst", - "es": "Este objeto emite luz", - "fr": "Cet objet émet de la lumière", - "pl": "Ten obiekt emituje światło" - }, - "addExtraTags": [ - "lit=no" - ] - }, - { - "if": "lit=yes", - "then": { - "en": "This object is lit externally, e.g. by a spotlight or other lights", - "ca": "Aquest objecte està il·luminat externament, p.e. amb un focus o altres llums", - "cs": "Tento objekt je osvětlen zvenčí, např. pomocí reflektoru nebo jiných světel", - "de": "Das Objekt wird von außen beleuchtet, z. B. durch Scheinwerfer oder andere Lichter", - "es": "Este objeto recibe iluminación, por ejemplo por un foco u otras luces", - "fr": "Cet objet est éclairé par l'extérieur, par ex. par un projecteur ou d'autres lumières", - "pl": "Ten obiekt jest oświetlony zewnętrznie, np. przez reflektor lub inne światła" - }, - "addExtraTags": [ - "luminous=no" - ] - }, - { - "if": { - "and": [ - "lit=no", - "luminous=no" - ] - }, - "then": { - "en": "This object does not emit light and is not lighted by externally", - "ca": "Aquest objecte no emet llum i no està il·luminat externament", - "cs": "Tento objekt nevyzařuje světlo a není osvětlen zvenčí", - "de": "Das Objekt wird weder von außen beleuchtet, noch leuchtet es selbst", - "es": "Este objeto ni emite luz ni es iluminado", - "fr": "Cet objet n'émet pas de lumière et n'est pas éclairé par l'extérieur", - "pl": "Obiekt ten nie emituje światła i nie jest oświetlany z zewnątrz" - } - } - ] - } -} diff --git a/index.html b/index.html index 4175e853d..b58e3157d 100644 --- a/index.html +++ b/index.html @@ -50,7 +50,7 @@
- + ', - `` + '', + `` ) return output @@ -296,7 +298,8 @@ async function createLandingPage(layout: LayoutConfig, manifest, whiteIcons, alr async function createIndexFor(theme: LayoutConfig) { const filename = "index_" + theme.id + ".ts" - writeFileSync(filename, `import layout from "./assets/generated/themes/${theme.id}.json"\n`) + writeFileSync(filename, `import layout from "./src/assets/generated/themes/${theme.id}.json"\n`) + appendFileSync(filename, codeTemplate) } @@ -308,9 +311,6 @@ function createDir(path) { async function main(): Promise { const alreadyWritten = [] - createDir("./assets/generated") - createDir("./assets/generated/layers") - createDir("./assets/generated/themes") createDir("./public/assets/") createDir("./public/assets/generated") createDir("./public/assets/generated/images") @@ -359,6 +359,7 @@ async function main(): Promise { // Create a landing page for the given theme const landing = await createLandingPage(layout, manifest, whiteIcons, alreadyWritten) + writeFile(enc(layout.id) + ".html", landing, err) await createIndexFor(layout) } diff --git a/scripts/generateLicenseInfo.ts b/scripts/generateLicenseInfo.ts index dace97364..d45a8ad99 100644 --- a/scripts/generateLicenseInfo.ts +++ b/scripts/generateLicenseInfo.ts @@ -1,5 +1,5 @@ import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs" -import SmallLicense from "../Models/smallLicense" +import SmallLicense from "../src/Models/smallLicense" import ScriptUtils from "./ScriptUtils" import Script from "./Script" @@ -280,7 +280,7 @@ export class GenerateLicenseInfo extends Script { } writeFileSync( - "./assets/generated/license_info.json", + "./src/assets/generated/license_info.json", JSON.stringify(allLicenses, null, " ") ) } @@ -288,13 +288,13 @@ export class GenerateLicenseInfo extends Script { async main(args: string[]) { console.log("Checking and compiling license info") - if (!existsSync("./assets/generated")) { - mkdirSync("./assets/generated") + if (!existsSync("./src/assets/generated")) { + mkdirSync("./src/assets/generated") } - let contents = ScriptUtils.readDirRecSync("./assets") - .filter((p) => !p.startsWith("./assets/templates/")) - .filter((entry) => entry.indexOf("./assets/generated") != 0) + let contents = ScriptUtils.readDirRecSync("./assets").filter( + (entry) => entry.indexOf("./assets/generated") != 0 + ) let licensePaths = contents.filter((entry) => entry.indexOf("license_info.json") >= 0) let licenseInfos = this.generateLicenseInfos(licensePaths) diff --git a/scripts/generateStats.ts b/scripts/generateStats.ts index 8e83170e6..1dd5ced37 100644 --- a/scripts/generateStats.ts +++ b/scripts/generateStats.ts @@ -1,7 +1,7 @@ -import known_layers from "../assets/generated/known_layers.json" -import { LayerConfigJson } from "../Models/ThemeConfig/Json/LayerConfigJson" -import { TagUtils } from "../Logic/Tags/TagUtils" -import { Utils } from "../Utils" +import known_layers from "../src/assets/generated/known_layers.json" +import { LayerConfigJson } from "../src/Models/ThemeConfig/Json/LayerConfigJson" +import { TagUtils } from "../src/Logic/Tags/TagUtils" +import { Utils } from "../src/Utils" import { writeFileSync } from "fs" import ScriptUtils from "./ScriptUtils" @@ -65,7 +65,7 @@ async function main(includeTags = true) { }) ) writeFileSync( - "./assets/key_totals.json", + "./src/assets/key_totals.json", JSON.stringify( { keys: Utils.MapToObj(keyTotal, (t) => t), diff --git a/scripts/generateTranslations.ts b/scripts/generateTranslations.ts index a02eab36e..21460c6b5 100644 --- a/scripts/generateTranslations.ts +++ b/scripts/generateTranslations.ts @@ -1,6 +1,6 @@ import * as fs from "fs" import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs" -import { Utils } from "../Utils" +import { Utils } from "../src/Utils" import ScriptUtils from "./ScriptUtils" const knownLanguages = ["en", "nl", "de", "fr", "es", "gl", "ca"] @@ -460,8 +460,11 @@ function formatFile(path) { * Generates the big compiledTranslations file */ function genTranslations() { + if (!fs.existsSync("./src/assets/generated/")) { + fs.mkdirSync("./src/assets/generated/") + } const translations = JSON.parse( - fs.readFileSync("./assets/generated/translations.json", "utf-8") + fs.readFileSync("./src/assets/generated/translations.json", "utf-8") ) const transformed = transformTranslation(translations) @@ -469,7 +472,7 @@ function genTranslations() { module += " public static t = " + transformed module += "\n }" - fs.writeFileSync("./assets/generated/CompiledTranslations.ts", module) + fs.writeFileSync("./src/assets/generated/CompiledTranslations.ts", module) } /** @@ -497,7 +500,7 @@ function compileTranslationsFromWeblate() { } writeFileSync( - "./assets/generated/translations.json", + "./src/assets/generated/translations.json", JSON.stringify(JSON.parse(allTranslations.toJson()), null, " ") ) } @@ -692,22 +695,9 @@ if (!existsSync("./langs/themes")) { mkdirSync("./langs/themes") } const themeOverwritesWeblate = process.argv[2] === "--ignore-weblate" -const questionsPath = "assets/tagRenderings/questions.json" -const questionsParsed = JSON.parse(readFileSync(questionsPath, "utf8")) if (!themeOverwritesWeblate) { mergeLayerTranslations() mergeThemeTranslations() - - mergeLayerTranslation( - questionsParsed, - questionsPath, - loadTranslationFilesFrom("shared-questions") - ) - const endsWithNewline = readFileSync(questionsPath, { encoding: "utf8" }).endsWith("\n") - writeFileSync( - questionsPath, - JSON.stringify(questionsParsed, null, " ") + (endsWithNewline ? "\n" : "") - ) } else { console.log("Ignore weblate") } @@ -717,14 +707,10 @@ const l2 = generateTranslationsObjectFrom( ScriptUtils.getThemeFiles().filter((th) => th.parsed.mustHaveLanguage === undefined), "themes" ) -const l3 = generateTranslationsObjectFrom( - [{ path: questionsPath, parsed: questionsParsed }], - "shared-questions" -) -const usedLanguages: string[] = Utils.Dedup(l1.concat(l2).concat(l3)).filter((v) => v !== "*") +const usedLanguages: string[] = Utils.Dedup(l1.concat(l2)).filter((v) => v !== "*") usedLanguages.sort() -fs.writeFileSync("./assets/used_languages.json", JSON.stringify({ languages: usedLanguages })) +fs.writeFileSync("./src/assets/used_languages.json", JSON.stringify({ languages: usedLanguages })) if (!themeOverwritesWeblate) { // Generates the core translations @@ -742,5 +728,4 @@ for (const path of allTranslationFiles) { TranslationPart.fromDirectory("./langs").validateStrict("./langs") TranslationPart.fromDirectory("./langs/layers").validateStrict("layers") TranslationPart.fromDirectory("./langs/themes").validateStrict("themes") -TranslationPart.fromDirectory("./langs/shared-questions").validateStrict("shared-questions") console.log("All done!") diff --git a/Customizations/AllKnownLayouts.ts b/src/Customizations/AllKnownLayouts.ts similarity index 100% rename from Customizations/AllKnownLayouts.ts rename to src/Customizations/AllKnownLayouts.ts diff --git a/Customizations/AllSharedLayers.ts b/src/Customizations/AllSharedLayers.ts similarity index 100% rename from Customizations/AllSharedLayers.ts rename to src/Customizations/AllSharedLayers.ts diff --git a/Customizations/SharedTagRenderings.ts b/src/Customizations/SharedTagRenderings.ts similarity index 68% rename from Customizations/SharedTagRenderings.ts rename to src/Customizations/SharedTagRenderings.ts index 85877b7e5..dcd7e2bda 100644 --- a/Customizations/SharedTagRenderings.ts +++ b/src/Customizations/SharedTagRenderings.ts @@ -1,4 +1,3 @@ -import questions from "../assets/tagRenderings/questions.json" import { Utils } from "../Utils" import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig" import { TagRenderingConfigJson } from "../Models/ThemeConfig/Json/TagRenderingConfigJson" @@ -40,39 +39,7 @@ export default class SharedTagRenderings { private static generatedSharedFieldsJsons(): Map { const dict = new Map() - for (const key in questions) { - if (key === "id") { - continue - } - dict.set(key, questions[key]) - } - - dict.forEach((value, key) => { - if (key === "id") { - return - } - value.id = value.id ?? key - if (value["builtin"] !== undefined) { - if (value["override"] == undefined) { - throw ( - "HUH? Why whould you want to reuse a builtin if one doesn't override? In questions.json/" + - key - ) - } - if (typeof value["builtin"] !== "string") { - return - } - // This is a really funny situation: we extend another tagRendering! - const parent = Utils.Clone(dict.get(value["builtin"])) - delete parent.id - Utils.Merge(value["override"], parent) - delete value["builtin"] - delete value["override"] - for (const pkey in parent) { - value[pkey] = parent[pkey] - } - } - }) + // TODO FIXME return dict } diff --git a/Logic/Actors/BackgroundLayerResetter.ts b/src/Logic/Actors/BackgroundLayerResetter.ts similarity index 100% rename from Logic/Actors/BackgroundLayerResetter.ts rename to src/Logic/Actors/BackgroundLayerResetter.ts diff --git a/Logic/Actors/ChangeToElementsActor.ts b/src/Logic/Actors/ChangeToElementsActor.ts similarity index 100% rename from Logic/Actors/ChangeToElementsActor.ts rename to src/Logic/Actors/ChangeToElementsActor.ts diff --git a/Logic/Actors/GeoLocationHandler.ts b/src/Logic/Actors/GeoLocationHandler.ts similarity index 100% rename from Logic/Actors/GeoLocationHandler.ts rename to src/Logic/Actors/GeoLocationHandler.ts diff --git a/Logic/Actors/InitialMapPositioning.ts b/src/Logic/Actors/InitialMapPositioning.ts similarity index 100% rename from Logic/Actors/InitialMapPositioning.ts rename to src/Logic/Actors/InitialMapPositioning.ts diff --git a/Logic/Actors/NoElementsInViewDetector.ts b/src/Logic/Actors/NoElementsInViewDetector.ts similarity index 100% rename from Logic/Actors/NoElementsInViewDetector.ts rename to src/Logic/Actors/NoElementsInViewDetector.ts diff --git a/Logic/Actors/PendingChangesUploader.ts b/src/Logic/Actors/PendingChangesUploader.ts similarity index 100% rename from Logic/Actors/PendingChangesUploader.ts rename to src/Logic/Actors/PendingChangesUploader.ts diff --git a/Logic/Actors/Readme.md b/src/Logic/Actors/Readme.md similarity index 100% rename from Logic/Actors/Readme.md rename to src/Logic/Actors/Readme.md diff --git a/Logic/Actors/SelectedElementTagsUpdater.ts b/src/Logic/Actors/SelectedElementTagsUpdater.ts similarity index 100% rename from Logic/Actors/SelectedElementTagsUpdater.ts rename to src/Logic/Actors/SelectedElementTagsUpdater.ts diff --git a/Logic/Actors/TitleHandler.ts b/src/Logic/Actors/TitleHandler.ts similarity index 100% rename from Logic/Actors/TitleHandler.ts rename to src/Logic/Actors/TitleHandler.ts diff --git a/Logic/BBox.ts b/src/Logic/BBox.ts similarity index 100% rename from Logic/BBox.ts rename to src/Logic/BBox.ts diff --git a/Logic/ContributorCount.ts b/src/Logic/ContributorCount.ts similarity index 100% rename from Logic/ContributorCount.ts rename to src/Logic/ContributorCount.ts diff --git a/Logic/DetermineLayout.ts b/src/Logic/DetermineLayout.ts similarity index 91% rename from Logic/DetermineLayout.ts rename to src/Logic/DetermineLayout.ts index 5fb17f8fd..550b9de32 100644 --- a/Logic/DetermineLayout.ts +++ b/src/Logic/DetermineLayout.ts @@ -17,6 +17,7 @@ import licenses from "../assets/generated/license_info.json" import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig" import { FixImages } from "../Models/ThemeConfig/Conversion/FixImages" import Svg from "../Svg" +import questions from "../assets/generated/layers/questions.json" import { DoesImageExist, PrevalidateTheme, @@ -26,7 +27,6 @@ import { import { DesugaringContext } from "../Models/ThemeConfig/Conversion/Conversion" import { RewriteSpecial } from "../Models/ThemeConfig/Conversion/PrepareLayer" import { TagRenderingConfigJson } from "../Models/ThemeConfig/Json/TagRenderingConfigJson" -import questions from "../assets/tagRenderings/questions.json" import Hash from "./Web/Hash" export default class DetermineLayout { @@ -156,33 +156,10 @@ export default class DetermineLayout { private static getSharedTagRenderings(): Map { const dict = new Map() - const prep = new RewriteSpecial() - const validator = new ValidateTagRenderings() - for (const key in questions) { - if (key === "id") { - continue - } - questions[key].id = key - questions[key]["source"] = "shared-questions" - const config = prep.convertStrict( - questions[key], - "questions.json:" + key - ) - delete config["#"] - validator.convertStrict( - config, - "generate-layer-overview:tagRenderings/questions.json:" + key - ) - dict.set(key, config) + for (const tagRendering of questions.tagRenderings) { + dict.set(tagRendering.id, tagRendering) } - dict.forEach((value, key) => { - if (key === "id") { - return - } - value.id = value.id ?? key - }) - return dict } diff --git a/Logic/ExtraFunctions.ts b/src/Logic/ExtraFunctions.ts similarity index 100% rename from Logic/ExtraFunctions.ts rename to src/Logic/ExtraFunctions.ts diff --git a/Logic/FeatureSource/Actors/FeaturePropertiesStore.ts b/src/Logic/FeatureSource/Actors/FeaturePropertiesStore.ts similarity index 100% rename from Logic/FeatureSource/Actors/FeaturePropertiesStore.ts rename to src/Logic/FeatureSource/Actors/FeaturePropertiesStore.ts diff --git a/Logic/FeatureSource/Actors/GeoIndexedStore.ts b/src/Logic/FeatureSource/Actors/GeoIndexedStore.ts similarity index 100% rename from Logic/FeatureSource/Actors/GeoIndexedStore.ts rename to src/Logic/FeatureSource/Actors/GeoIndexedStore.ts diff --git a/Logic/FeatureSource/Actors/SaveFeatureSourceToLocalStorage.ts b/src/Logic/FeatureSource/Actors/SaveFeatureSourceToLocalStorage.ts similarity index 100% rename from Logic/FeatureSource/Actors/SaveFeatureSourceToLocalStorage.ts rename to src/Logic/FeatureSource/Actors/SaveFeatureSourceToLocalStorage.ts diff --git a/Logic/FeatureSource/Actors/TileLocalStorage.ts b/src/Logic/FeatureSource/Actors/TileLocalStorage.ts similarity index 100% rename from Logic/FeatureSource/Actors/TileLocalStorage.ts rename to src/Logic/FeatureSource/Actors/TileLocalStorage.ts diff --git a/Logic/FeatureSource/FeatureSource.ts b/src/Logic/FeatureSource/FeatureSource.ts similarity index 100% rename from Logic/FeatureSource/FeatureSource.ts rename to src/Logic/FeatureSource/FeatureSource.ts diff --git a/Logic/FeatureSource/PerLayerFeatureSourceSplitter.ts b/src/Logic/FeatureSource/PerLayerFeatureSourceSplitter.ts similarity index 100% rename from Logic/FeatureSource/PerLayerFeatureSourceSplitter.ts rename to src/Logic/FeatureSource/PerLayerFeatureSourceSplitter.ts diff --git a/Logic/FeatureSource/Sources/ChangeGeometryApplicator.ts b/src/Logic/FeatureSource/Sources/ChangeGeometryApplicator.ts similarity index 100% rename from Logic/FeatureSource/Sources/ChangeGeometryApplicator.ts rename to src/Logic/FeatureSource/Sources/ChangeGeometryApplicator.ts diff --git a/Logic/FeatureSource/Sources/ClippedFeatureSource.ts b/src/Logic/FeatureSource/Sources/ClippedFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/ClippedFeatureSource.ts rename to src/Logic/FeatureSource/Sources/ClippedFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/FeatureSourceMerger.ts b/src/Logic/FeatureSource/Sources/FeatureSourceMerger.ts similarity index 100% rename from Logic/FeatureSource/Sources/FeatureSourceMerger.ts rename to src/Logic/FeatureSource/Sources/FeatureSourceMerger.ts diff --git a/Logic/FeatureSource/Sources/FilteringFeatureSource.ts b/src/Logic/FeatureSource/Sources/FilteringFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/FilteringFeatureSource.ts rename to src/Logic/FeatureSource/Sources/FilteringFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/GeoJsonSource.ts b/src/Logic/FeatureSource/Sources/GeoJsonSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/GeoJsonSource.ts rename to src/Logic/FeatureSource/Sources/GeoJsonSource.ts diff --git a/Logic/FeatureSource/Sources/LastClickFeatureSource.ts b/src/Logic/FeatureSource/Sources/LastClickFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/LastClickFeatureSource.ts rename to src/Logic/FeatureSource/Sources/LastClickFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/LayoutSource.ts b/src/Logic/FeatureSource/Sources/LayoutSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/LayoutSource.ts rename to src/Logic/FeatureSource/Sources/LayoutSource.ts diff --git a/Logic/FeatureSource/Sources/NewGeometryFromChangesFeatureSource.ts b/src/Logic/FeatureSource/Sources/NewGeometryFromChangesFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/NewGeometryFromChangesFeatureSource.ts rename to src/Logic/FeatureSource/Sources/NewGeometryFromChangesFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/OsmFeatureSource.ts b/src/Logic/FeatureSource/Sources/OsmFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/OsmFeatureSource.ts rename to src/Logic/FeatureSource/Sources/OsmFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/OverpassFeatureSource.ts b/src/Logic/FeatureSource/Sources/OverpassFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/OverpassFeatureSource.ts rename to src/Logic/FeatureSource/Sources/OverpassFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/SimpleFeatureSource.ts b/src/Logic/FeatureSource/Sources/SimpleFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/SimpleFeatureSource.ts rename to src/Logic/FeatureSource/Sources/SimpleFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/SnappingFeatureSource.ts b/src/Logic/FeatureSource/Sources/SnappingFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/SnappingFeatureSource.ts rename to src/Logic/FeatureSource/Sources/SnappingFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/StaticFeatureSource.ts b/src/Logic/FeatureSource/Sources/StaticFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/StaticFeatureSource.ts rename to src/Logic/FeatureSource/Sources/StaticFeatureSource.ts diff --git a/Logic/FeatureSource/Sources/TouchesBboxFeatureSource.ts b/src/Logic/FeatureSource/Sources/TouchesBboxFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/Sources/TouchesBboxFeatureSource.ts rename to src/Logic/FeatureSource/Sources/TouchesBboxFeatureSource.ts diff --git a/Logic/FeatureSource/TiledFeatureSource/DynamicGeoJsonTileSource.ts b/src/Logic/FeatureSource/TiledFeatureSource/DynamicGeoJsonTileSource.ts similarity index 100% rename from Logic/FeatureSource/TiledFeatureSource/DynamicGeoJsonTileSource.ts rename to src/Logic/FeatureSource/TiledFeatureSource/DynamicGeoJsonTileSource.ts diff --git a/Logic/FeatureSource/TiledFeatureSource/DynamicTileSource.ts b/src/Logic/FeatureSource/TiledFeatureSource/DynamicTileSource.ts similarity index 100% rename from Logic/FeatureSource/TiledFeatureSource/DynamicTileSource.ts rename to src/Logic/FeatureSource/TiledFeatureSource/DynamicTileSource.ts diff --git a/Logic/FeatureSource/TiledFeatureSource/FullNodeDatabaseSource.ts b/src/Logic/FeatureSource/TiledFeatureSource/FullNodeDatabaseSource.ts similarity index 100% rename from Logic/FeatureSource/TiledFeatureSource/FullNodeDatabaseSource.ts rename to src/Logic/FeatureSource/TiledFeatureSource/FullNodeDatabaseSource.ts diff --git a/Logic/FeatureSource/TiledFeatureSource/LocalStorageFeatureSource.ts b/src/Logic/FeatureSource/TiledFeatureSource/LocalStorageFeatureSource.ts similarity index 100% rename from Logic/FeatureSource/TiledFeatureSource/LocalStorageFeatureSource.ts rename to src/Logic/FeatureSource/TiledFeatureSource/LocalStorageFeatureSource.ts diff --git a/Logic/GeoOperations.ts b/src/Logic/GeoOperations.ts similarity index 100% rename from Logic/GeoOperations.ts rename to src/Logic/GeoOperations.ts diff --git a/Logic/ImageProviders/AllImageProviders.ts b/src/Logic/ImageProviders/AllImageProviders.ts similarity index 100% rename from Logic/ImageProviders/AllImageProviders.ts rename to src/Logic/ImageProviders/AllImageProviders.ts diff --git a/Logic/ImageProviders/GenericImageProvider.ts b/src/Logic/ImageProviders/GenericImageProvider.ts similarity index 100% rename from Logic/ImageProviders/GenericImageProvider.ts rename to src/Logic/ImageProviders/GenericImageProvider.ts diff --git a/Logic/ImageProviders/ImageProvider.ts b/src/Logic/ImageProviders/ImageProvider.ts similarity index 100% rename from Logic/ImageProviders/ImageProvider.ts rename to src/Logic/ImageProviders/ImageProvider.ts diff --git a/Logic/ImageProviders/Imgur.ts b/src/Logic/ImageProviders/Imgur.ts similarity index 100% rename from Logic/ImageProviders/Imgur.ts rename to src/Logic/ImageProviders/Imgur.ts diff --git a/Logic/ImageProviders/ImgurUploader.ts b/src/Logic/ImageProviders/ImgurUploader.ts similarity index 100% rename from Logic/ImageProviders/ImgurUploader.ts rename to src/Logic/ImageProviders/ImgurUploader.ts diff --git a/Logic/ImageProviders/LicenseInfo.ts b/src/Logic/ImageProviders/LicenseInfo.ts similarity index 100% rename from Logic/ImageProviders/LicenseInfo.ts rename to src/Logic/ImageProviders/LicenseInfo.ts diff --git a/Logic/ImageProviders/Mapillary.ts b/src/Logic/ImageProviders/Mapillary.ts similarity index 100% rename from Logic/ImageProviders/Mapillary.ts rename to src/Logic/ImageProviders/Mapillary.ts diff --git a/Logic/ImageProviders/WikidataImageProvider.ts b/src/Logic/ImageProviders/WikidataImageProvider.ts similarity index 100% rename from Logic/ImageProviders/WikidataImageProvider.ts rename to src/Logic/ImageProviders/WikidataImageProvider.ts diff --git a/Logic/ImageProviders/WikimediaImageProvider.ts b/src/Logic/ImageProviders/WikimediaImageProvider.ts similarity index 100% rename from Logic/ImageProviders/WikimediaImageProvider.ts rename to src/Logic/ImageProviders/WikimediaImageProvider.ts diff --git a/Logic/Maproulette.ts b/src/Logic/Maproulette.ts similarity index 100% rename from Logic/Maproulette.ts rename to src/Logic/Maproulette.ts diff --git a/Logic/MetaTagging.ts b/src/Logic/MetaTagging.ts similarity index 100% rename from Logic/MetaTagging.ts rename to src/Logic/MetaTagging.ts diff --git a/Logic/Osm/Actions/ChangeDescription.ts b/src/Logic/Osm/Actions/ChangeDescription.ts similarity index 100% rename from Logic/Osm/Actions/ChangeDescription.ts rename to src/Logic/Osm/Actions/ChangeDescription.ts diff --git a/Logic/Osm/Actions/ChangeLocationAction.ts b/src/Logic/Osm/Actions/ChangeLocationAction.ts similarity index 100% rename from Logic/Osm/Actions/ChangeLocationAction.ts rename to src/Logic/Osm/Actions/ChangeLocationAction.ts diff --git a/Logic/Osm/Actions/ChangeTagAction.ts b/src/Logic/Osm/Actions/ChangeTagAction.ts similarity index 100% rename from Logic/Osm/Actions/ChangeTagAction.ts rename to src/Logic/Osm/Actions/ChangeTagAction.ts diff --git a/Logic/Osm/Actions/CreateMultiPolygonWithPointReuseAction.ts b/src/Logic/Osm/Actions/CreateMultiPolygonWithPointReuseAction.ts similarity index 100% rename from Logic/Osm/Actions/CreateMultiPolygonWithPointReuseAction.ts rename to src/Logic/Osm/Actions/CreateMultiPolygonWithPointReuseAction.ts diff --git a/Logic/Osm/Actions/CreateNewNodeAction.ts b/src/Logic/Osm/Actions/CreateNewNodeAction.ts similarity index 100% rename from Logic/Osm/Actions/CreateNewNodeAction.ts rename to src/Logic/Osm/Actions/CreateNewNodeAction.ts diff --git a/Logic/Osm/Actions/CreateNewWayAction.ts b/src/Logic/Osm/Actions/CreateNewWayAction.ts similarity index 100% rename from Logic/Osm/Actions/CreateNewWayAction.ts rename to src/Logic/Osm/Actions/CreateNewWayAction.ts diff --git a/Logic/Osm/Actions/CreateWayWithPointReuseAction.ts b/src/Logic/Osm/Actions/CreateWayWithPointReuseAction.ts similarity index 100% rename from Logic/Osm/Actions/CreateWayWithPointReuseAction.ts rename to src/Logic/Osm/Actions/CreateWayWithPointReuseAction.ts diff --git a/Logic/Osm/Actions/DeleteAction.ts b/src/Logic/Osm/Actions/DeleteAction.ts similarity index 100% rename from Logic/Osm/Actions/DeleteAction.ts rename to src/Logic/Osm/Actions/DeleteAction.ts diff --git a/Logic/Osm/Actions/OsmChangeAction.ts b/src/Logic/Osm/Actions/OsmChangeAction.ts similarity index 100% rename from Logic/Osm/Actions/OsmChangeAction.ts rename to src/Logic/Osm/Actions/OsmChangeAction.ts diff --git a/Logic/Osm/Actions/RelationSplitHandler.ts b/src/Logic/Osm/Actions/RelationSplitHandler.ts similarity index 100% rename from Logic/Osm/Actions/RelationSplitHandler.ts rename to src/Logic/Osm/Actions/RelationSplitHandler.ts diff --git a/Logic/Osm/Actions/ReplaceGeometryAction.ts b/src/Logic/Osm/Actions/ReplaceGeometryAction.ts similarity index 100% rename from Logic/Osm/Actions/ReplaceGeometryAction.ts rename to src/Logic/Osm/Actions/ReplaceGeometryAction.ts diff --git a/Logic/Osm/Actions/SplitAction.ts b/src/Logic/Osm/Actions/SplitAction.ts similarity index 100% rename from Logic/Osm/Actions/SplitAction.ts rename to src/Logic/Osm/Actions/SplitAction.ts diff --git a/Logic/Osm/Changes.ts b/src/Logic/Osm/Changes.ts similarity index 100% rename from Logic/Osm/Changes.ts rename to src/Logic/Osm/Changes.ts diff --git a/Logic/Osm/ChangesetHandler.ts b/src/Logic/Osm/ChangesetHandler.ts similarity index 100% rename from Logic/Osm/ChangesetHandler.ts rename to src/Logic/Osm/ChangesetHandler.ts diff --git a/Logic/Osm/Geocoding.ts b/src/Logic/Osm/Geocoding.ts similarity index 100% rename from Logic/Osm/Geocoding.ts rename to src/Logic/Osm/Geocoding.ts diff --git a/Logic/Osm/OsmConnection.ts b/src/Logic/Osm/OsmConnection.ts similarity index 100% rename from Logic/Osm/OsmConnection.ts rename to src/Logic/Osm/OsmConnection.ts diff --git a/Logic/Osm/OsmObject.ts b/src/Logic/Osm/OsmObject.ts similarity index 100% rename from Logic/Osm/OsmObject.ts rename to src/Logic/Osm/OsmObject.ts diff --git a/Logic/Osm/OsmObjectDownloader.ts b/src/Logic/Osm/OsmObjectDownloader.ts similarity index 100% rename from Logic/Osm/OsmObjectDownloader.ts rename to src/Logic/Osm/OsmObjectDownloader.ts diff --git a/Logic/Osm/OsmPreferences.ts b/src/Logic/Osm/OsmPreferences.ts similarity index 100% rename from Logic/Osm/OsmPreferences.ts rename to src/Logic/Osm/OsmPreferences.ts diff --git a/Logic/Osm/Overpass.ts b/src/Logic/Osm/Overpass.ts similarity index 100% rename from Logic/Osm/Overpass.ts rename to src/Logic/Osm/Overpass.ts diff --git a/Logic/Osm/aspectedRouting.ts b/src/Logic/Osm/aspectedRouting.ts similarity index 100% rename from Logic/Osm/aspectedRouting.ts rename to src/Logic/Osm/aspectedRouting.ts diff --git a/Logic/SimpleMetaTagger.ts b/src/Logic/SimpleMetaTagger.ts similarity index 100% rename from Logic/SimpleMetaTagger.ts rename to src/Logic/SimpleMetaTagger.ts diff --git a/Logic/State/FeatureSwitchState.ts b/src/Logic/State/FeatureSwitchState.ts similarity index 100% rename from Logic/State/FeatureSwitchState.ts rename to src/Logic/State/FeatureSwitchState.ts diff --git a/Logic/State/GeoLocationState.ts b/src/Logic/State/GeoLocationState.ts similarity index 100% rename from Logic/State/GeoLocationState.ts rename to src/Logic/State/GeoLocationState.ts diff --git a/Logic/State/LayerState.ts b/src/Logic/State/LayerState.ts similarity index 100% rename from Logic/State/LayerState.ts rename to src/Logic/State/LayerState.ts diff --git a/Logic/State/UserRelatedState.ts b/src/Logic/State/UserRelatedState.ts similarity index 92% rename from Logic/State/UserRelatedState.ts rename to src/Logic/State/UserRelatedState.ts index 2f6840b4b..fc0729710 100644 --- a/Logic/State/UserRelatedState.ts +++ b/src/Logic/State/UserRelatedState.ts @@ -1,16 +1,16 @@ import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig" -import {OsmConnection} from "../Osm/OsmConnection" -import {MangroveIdentity} from "../Web/MangroveReviews" -import {Store, Stores, UIEventSource} from "../UIEventSource" +import { OsmConnection } from "../Osm/OsmConnection" +import { MangroveIdentity } from "../Web/MangroveReviews" +import { Store, Stores, UIEventSource } from "../UIEventSource" import StaticFeatureSource from "../FeatureSource/Sources/StaticFeatureSource" -import {FeatureSource} from "../FeatureSource/FeatureSource" -import {Feature} from "geojson" -import {Utils} from "../../Utils" +import { FeatureSource } from "../FeatureSource/FeatureSource" +import { Feature } from "geojson" +import { Utils } from "../../Utils" import translators from "../../assets/translators.json" import codeContributors from "../../assets/contributors.json" import LayerConfig from "../../Models/ThemeConfig/LayerConfig" -import {LayerConfigJson} from "../../Models/ThemeConfig/Json/LayerConfigJson" -import usersettings from "../../assets/generated/layers/usersettings.json" +import { LayerConfigJson } from "../../Models/ThemeConfig/Json/LayerConfigJson" +import usersettings from "../../../src/assets/generated/layers/usersettings.json" import Locale from "../../UI/i18n/Locale" import LinkToWeblate from "../../UI/Base/LinkToWeblate" import FeatureSwitchState from "./FeatureSwitchState" @@ -111,13 +111,13 @@ export default class UserRelatedState { public GetUnofficialTheme(id: string): | { - id: string - icon: string - title: any - shortDescription: any - definition?: any - isOfficial: boolean - } + id: string + icon: string + title: any + shortDescription: any + definition?: any + isOfficial: boolean + } | undefined { console.log("GETTING UNOFFICIAL THEME") const pref = this.osmConnection.GetLongPreference("unofficial-theme-" + id) @@ -142,8 +142,8 @@ export default class UserRelatedState { } catch (e) { console.warn( "Removing theme " + - id + - " as it could not be parsed from the preferences; the content is:", + id + + " as it could not be parsed from the preferences; the content is:", str ) pref.setData(null) @@ -257,7 +257,6 @@ export default class UserRelatedState { combined += newPrefs[key + i] } amendedPrefs.data[key.substring(0, key.length - "-combined-".length)] = combined - } else { amendedPrefs.data[k] = newPrefs[k] } @@ -287,13 +286,13 @@ export default class UserRelatedState { const zenLinks: { link: string; id: string }[] = Utils.NoNull([ hasMissingTheme ? { - id: "theme:" + layout.id, - link: LinkToWeblate.hrefToWeblateZen( - language, - "themes", - layout.id - ), - } + id: "theme:" + layout.id, + link: LinkToWeblate.hrefToWeblateZen( + language, + "themes", + layout.id + ), + } : undefined, ...missingLayers.map((id) => ({ id: "layer:" + id, @@ -365,7 +364,7 @@ export default class UserRelatedState { // Language is managed seperately continue } - this.osmConnection.GetPreference(key, undefined, {prefix: ""}).setData(tags[key]) + this.osmConnection.GetPreference(key, undefined, { prefix: "" }).setData(tags[key]) } }) diff --git a/Logic/Tags/And.ts b/src/Logic/Tags/And.ts similarity index 100% rename from Logic/Tags/And.ts rename to src/Logic/Tags/And.ts diff --git a/Logic/Tags/ComparingTag.ts b/src/Logic/Tags/ComparingTag.ts similarity index 100% rename from Logic/Tags/ComparingTag.ts rename to src/Logic/Tags/ComparingTag.ts diff --git a/Logic/Tags/Or.ts b/src/Logic/Tags/Or.ts similarity index 100% rename from Logic/Tags/Or.ts rename to src/Logic/Tags/Or.ts diff --git a/Logic/Tags/RegexTag.ts b/src/Logic/Tags/RegexTag.ts similarity index 100% rename from Logic/Tags/RegexTag.ts rename to src/Logic/Tags/RegexTag.ts diff --git a/Logic/Tags/SubstitutingTag.ts b/src/Logic/Tags/SubstitutingTag.ts similarity index 100% rename from Logic/Tags/SubstitutingTag.ts rename to src/Logic/Tags/SubstitutingTag.ts diff --git a/Logic/Tags/Tag.ts b/src/Logic/Tags/Tag.ts similarity index 100% rename from Logic/Tags/Tag.ts rename to src/Logic/Tags/Tag.ts diff --git a/Logic/Tags/TagUtils.ts b/src/Logic/Tags/TagUtils.ts similarity index 100% rename from Logic/Tags/TagUtils.ts rename to src/Logic/Tags/TagUtils.ts diff --git a/Logic/Tags/TagsFilter.ts b/src/Logic/Tags/TagsFilter.ts similarity index 100% rename from Logic/Tags/TagsFilter.ts rename to src/Logic/Tags/TagsFilter.ts diff --git a/Logic/UIEventSource.ts b/src/Logic/UIEventSource.ts similarity index 100% rename from Logic/UIEventSource.ts rename to src/Logic/UIEventSource.ts diff --git a/Logic/Web/Hash.ts b/src/Logic/Web/Hash.ts similarity index 100% rename from Logic/Web/Hash.ts rename to src/Logic/Web/Hash.ts diff --git a/Logic/Web/IdbLocalStorage.ts b/src/Logic/Web/IdbLocalStorage.ts similarity index 100% rename from Logic/Web/IdbLocalStorage.ts rename to src/Logic/Web/IdbLocalStorage.ts diff --git a/Logic/Web/LiveQueryHandler.ts b/src/Logic/Web/LiveQueryHandler.ts similarity index 100% rename from Logic/Web/LiveQueryHandler.ts rename to src/Logic/Web/LiveQueryHandler.ts diff --git a/Logic/Web/LocalStorageSource.ts b/src/Logic/Web/LocalStorageSource.ts similarity index 100% rename from Logic/Web/LocalStorageSource.ts rename to src/Logic/Web/LocalStorageSource.ts diff --git a/Logic/Web/MangroveReviews.ts b/src/Logic/Web/MangroveReviews.ts similarity index 100% rename from Logic/Web/MangroveReviews.ts rename to src/Logic/Web/MangroveReviews.ts diff --git a/Logic/Web/PlantNet.ts b/src/Logic/Web/PlantNet.ts similarity index 100% rename from Logic/Web/PlantNet.ts rename to src/Logic/Web/PlantNet.ts diff --git a/Logic/Web/QueryParameters.ts b/src/Logic/Web/QueryParameters.ts similarity index 100% rename from Logic/Web/QueryParameters.ts rename to src/Logic/Web/QueryParameters.ts diff --git a/Logic/Web/ThemeViewStateHashActor.ts b/src/Logic/Web/ThemeViewStateHashActor.ts similarity index 100% rename from Logic/Web/ThemeViewStateHashActor.ts rename to src/Logic/Web/ThemeViewStateHashActor.ts diff --git a/Logic/Web/Wikidata.ts b/src/Logic/Web/Wikidata.ts similarity index 100% rename from Logic/Web/Wikidata.ts rename to src/Logic/Web/Wikidata.ts diff --git a/Logic/Web/Wikimedia.ts b/src/Logic/Web/Wikimedia.ts similarity index 100% rename from Logic/Web/Wikimedia.ts rename to src/Logic/Web/Wikimedia.ts diff --git a/Logic/Web/Wikipedia.ts b/src/Logic/Web/Wikipedia.ts similarity index 100% rename from Logic/Web/Wikipedia.ts rename to src/Logic/Web/Wikipedia.ts diff --git a/Models/Constants.ts b/src/Models/Constants.ts similarity index 99% rename from Models/Constants.ts rename to src/Models/Constants.ts index 610dde3bb..ad7e9a62d 100644 --- a/Models/Constants.ts +++ b/src/Models/Constants.ts @@ -1,5 +1,5 @@ import { Utils } from "../Utils" -import * as meta from "../package.json" +import * as meta from "../../package.json" export type PriviligedLayerType = (typeof Constants.priviliged_layers)[number] diff --git a/Models/Denomination.ts b/src/Models/Denomination.ts similarity index 100% rename from Models/Denomination.ts rename to src/Models/Denomination.ts diff --git a/Models/FilteredLayer.ts b/src/Models/FilteredLayer.ts similarity index 100% rename from Models/FilteredLayer.ts rename to src/Models/FilteredLayer.ts diff --git a/Models/GlobalFilter.ts b/src/Models/GlobalFilter.ts similarity index 100% rename from Models/GlobalFilter.ts rename to src/Models/GlobalFilter.ts diff --git a/Models/MapProperties.ts b/src/Models/MapProperties.ts similarity index 100% rename from Models/MapProperties.ts rename to src/Models/MapProperties.ts diff --git a/Models/MenuState.ts b/src/Models/MenuState.ts similarity index 100% rename from Models/MenuState.ts rename to src/Models/MenuState.ts diff --git a/Models/OsmFeature.ts b/src/Models/OsmFeature.ts similarity index 100% rename from Models/OsmFeature.ts rename to src/Models/OsmFeature.ts diff --git a/Models/RasterLayerProperties.ts b/src/Models/RasterLayerProperties.ts similarity index 100% rename from Models/RasterLayerProperties.ts rename to src/Models/RasterLayerProperties.ts diff --git a/Models/RasterLayers.ts b/src/Models/RasterLayers.ts similarity index 100% rename from Models/RasterLayers.ts rename to src/Models/RasterLayers.ts diff --git a/Models/ThemeConfig/Conversion/AddContextToTranslations.ts b/src/Models/ThemeConfig/Conversion/AddContextToTranslations.ts similarity index 100% rename from Models/ThemeConfig/Conversion/AddContextToTranslations.ts rename to src/Models/ThemeConfig/Conversion/AddContextToTranslations.ts diff --git a/Models/ThemeConfig/Conversion/Conversion.ts b/src/Models/ThemeConfig/Conversion/Conversion.ts similarity index 100% rename from Models/ThemeConfig/Conversion/Conversion.ts rename to src/Models/ThemeConfig/Conversion/Conversion.ts diff --git a/Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts b/src/Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts similarity index 100% rename from Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts rename to src/Models/ThemeConfig/Conversion/CreateNoteImportLayer.ts diff --git a/Models/ThemeConfig/Conversion/FixImages.ts b/src/Models/ThemeConfig/Conversion/FixImages.ts similarity index 98% rename from Models/ThemeConfig/Conversion/FixImages.ts rename to src/Models/ThemeConfig/Conversion/FixImages.ts index 83be16804..4e70ac0b4 100644 --- a/Models/ThemeConfig/Conversion/FixImages.ts +++ b/src/Models/ThemeConfig/Conversion/FixImages.ts @@ -1,8 +1,8 @@ import { Conversion, DesugaringStep } from "./Conversion" import { LayoutConfigJson } from "../Json/LayoutConfigJson" import { Utils } from "../../../Utils" -import metapaths from "../../../assets/layoutconfigmeta.json" -import tagrenderingmetapaths from "../../../assets/questionabletagrenderingconfigmeta.json" +import metapaths from "../../../assets/schemas/layoutconfigmeta.json" +import tagrenderingmetapaths from "../../../assets/schemas/questionabletagrenderingconfigmeta.json" import Translations from "../../../UI/i18n/Translations" import { parse as parse_html } from "node-html-parser" diff --git a/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts b/src/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts similarity index 100% rename from Models/ThemeConfig/Conversion/LegacyJsonConvert.ts rename to src/Models/ThemeConfig/Conversion/LegacyJsonConvert.ts diff --git a/Models/ThemeConfig/Conversion/PrepareLayer.ts b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts similarity index 98% rename from Models/ThemeConfig/Conversion/PrepareLayer.ts rename to src/Models/ThemeConfig/Conversion/PrepareLayer.ts index 3709de67e..c022081e7 100644 --- a/Models/ThemeConfig/Conversion/PrepareLayer.ts +++ b/src/Models/ThemeConfig/Conversion/PrepareLayer.ts @@ -16,10 +16,10 @@ import RewritableConfigJson from "../Json/RewritableConfigJson" import SpecialVisualizations from "../../../UI/SpecialVisualizations" import Translations from "../../../UI/i18n/Translations" import { Translation } from "../../../UI/i18n/Translation" -import tagrenderingconfigmeta from "../../../assets/tagrenderingconfigmeta.json" +import tagrenderingconfigmeta from "../../../../src/assets/schemas/tagrenderingconfigmeta.json" import { AddContextToTranslations } from "./AddContextToTranslations" import FilterConfigJson from "../Json/FilterConfigJson" -import predifined_filters from "../../../assets/layers/filters/filters.json" +import predifined_filters from "../../../../assets/layers/filters/filters.json" import { TagConfigJson } from "../Json/TagConfigJson" import PointRenderingConfigJson from "../Json/PointRenderingConfigJson" import LineRenderingConfigJson from "../Json/LineRenderingConfigJson" @@ -147,7 +147,7 @@ class ExpandTagRendering extends Conversion< this._self = self this._options = options this._tagRenderingsByLabel = new Map() - for (const trconfig of state.tagRenderings.values()) { + for (const trconfig of state.tagRenderings?.values() ?? []) { for (const label of trconfig.labels ?? []) { let withLabel = this._tagRenderingsByLabel.get(label) if (withLabel === undefined) { @@ -219,12 +219,12 @@ class ExpandTagRendering extends Conversion< } const spl = name.split(".") - let layer = state.sharedLayers.get(spl[0]) + let layer = state.sharedLayers?.get(spl[0]) if (spl[0] === this._self.id) { layer = this._self } - if (spl.length !== 2 || layer === undefined) { + if (spl.length !== 2 || !layer) { return undefined } @@ -276,10 +276,13 @@ class ExpandTagRendering extends Conversion< const state = this._state if (typeof tr === "string") { - const lookup = this.lookup(tr) + let lookup + if (this._state.tagRenderings !== null) { + lookup = this.lookup(tr) + } if (lookup === undefined) { const isTagRendering = ctx.indexOf("On(mapRendering") < 0 - if (isTagRendering && this._state.sharedLayers.size > 0) { + if (isTagRendering && this._state.sharedLayers?.size > 0) { warnings.push( `${ctx}: A literal rendering was detected: ${tr} Did you perhaps forgot to add a layer name as 'layername.${tr}'? ` + @@ -287,7 +290,7 @@ class ExpandTagRendering extends Conversion< ) } - if (this._options?.noHardcodedStrings && this._state.sharedLayers.size > 0) { + if (this._options?.noHardcodedStrings && this._state?.sharedLayers?.size > 0) { errors.push( ctx + "Detected an invocation to a builtin tagRendering, but this tagrendering was not found: " + @@ -314,6 +317,10 @@ class ExpandTagRendering extends Conversion< names = [names] } + if (this._state.tagRenderings === null) { + return [] + } + for (const key of Object.keys(tr)) { if ( key === "builtin" || @@ -391,6 +398,9 @@ class ExpandTagRendering extends Conversion< for (let foundTr of lookup) { foundTr = Utils.Clone(foundTr) Utils.Merge(tr["override"] ?? {}, foundTr) + if (names.length == 1) { + foundTr["id"] = tr["id"] ?? foundTr["id"] + } trs.push(foundTr) } } @@ -606,6 +616,9 @@ export class AddEditingElements extends DesugaringStep { json: LayerConfigJson, context: string ): { result: LayerConfigJson; errors?: string[]; warnings?: string[]; information?: string[] } { + if (this._desugaring.tagRenderings === null) { + return { result: json } + } json = JSON.parse(JSON.stringify(json)) if ( diff --git a/Models/ThemeConfig/Conversion/PrepareTheme.ts b/src/Models/ThemeConfig/Conversion/PrepareTheme.ts similarity index 100% rename from Models/ThemeConfig/Conversion/PrepareTheme.ts rename to src/Models/ThemeConfig/Conversion/PrepareTheme.ts diff --git a/Models/ThemeConfig/Conversion/Validation.ts b/src/Models/ThemeConfig/Conversion/Validation.ts similarity index 99% rename from Models/ThemeConfig/Conversion/Validation.ts rename to src/Models/ThemeConfig/Conversion/Validation.ts index f386244be..6588e5edf 100644 --- a/Models/ThemeConfig/Conversion/Validation.ts +++ b/src/Models/ThemeConfig/Conversion/Validation.ts @@ -719,7 +719,7 @@ export class ValidateLayer extends DesugaringStep { } if (json.tagRenderings !== undefined && json.tagRenderings.length > 0) { - if (json.title === undefined) { + if (json.title === undefined && json.source !== "special:library") { errors.push( context + ": this layer does not have a title defined but it does have tagRenderings. Not having a title will disable the popups, resulting in an unclickable element. Please add a title. If not having a popup is intended and the tagrenderings need to be kept (e.g. in a library layer), set `title: null` to disable this error." @@ -750,8 +750,9 @@ export class ValidateLayer extends DesugaringStep { // duplicate ids in tagrenderings check const duplicates = Utils.Dedup( Utils.Dupiclates(Utils.NoNull((json.tagRenderings ?? []).map((tr) => tr["id"]))) - ).filter((dupl) => dupl !== "questions") + ) if (duplicates.length > 0) { + console.log(json.tagRenderings) errors.push( "At " + context + diff --git a/Models/ThemeConfig/Conversion/ValidationUtils.ts b/src/Models/ThemeConfig/Conversion/ValidationUtils.ts similarity index 100% rename from Models/ThemeConfig/Conversion/ValidationUtils.ts rename to src/Models/ThemeConfig/Conversion/ValidationUtils.ts diff --git a/Models/ThemeConfig/DeleteConfig.ts b/src/Models/ThemeConfig/DeleteConfig.ts similarity index 100% rename from Models/ThemeConfig/DeleteConfig.ts rename to src/Models/ThemeConfig/DeleteConfig.ts diff --git a/Models/ThemeConfig/DependencyCalculator.ts b/src/Models/ThemeConfig/DependencyCalculator.ts similarity index 100% rename from Models/ThemeConfig/DependencyCalculator.ts rename to src/Models/ThemeConfig/DependencyCalculator.ts diff --git a/Models/ThemeConfig/ExtraLinkConfig.ts b/src/Models/ThemeConfig/ExtraLinkConfig.ts similarity index 100% rename from Models/ThemeConfig/ExtraLinkConfig.ts rename to src/Models/ThemeConfig/ExtraLinkConfig.ts diff --git a/Models/ThemeConfig/FilterConfig.ts b/src/Models/ThemeConfig/FilterConfig.ts similarity index 100% rename from Models/ThemeConfig/FilterConfig.ts rename to src/Models/ThemeConfig/FilterConfig.ts diff --git a/Models/ThemeConfig/Json/DeleteConfigJson.ts b/src/Models/ThemeConfig/Json/DeleteConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/DeleteConfigJson.ts rename to src/Models/ThemeConfig/Json/DeleteConfigJson.ts diff --git a/Models/ThemeConfig/Json/ExtraLinkConfigJson.ts b/src/Models/ThemeConfig/Json/ExtraLinkConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/ExtraLinkConfigJson.ts rename to src/Models/ThemeConfig/Json/ExtraLinkConfigJson.ts diff --git a/Models/ThemeConfig/Json/FilterConfigJson.ts b/src/Models/ThemeConfig/Json/FilterConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/FilterConfigJson.ts rename to src/Models/ThemeConfig/Json/FilterConfigJson.ts diff --git a/Models/ThemeConfig/Json/LayerConfigJson.ts b/src/Models/ThemeConfig/Json/LayerConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/LayerConfigJson.ts rename to src/Models/ThemeConfig/Json/LayerConfigJson.ts diff --git a/Models/ThemeConfig/Json/LayoutConfigJson.ts b/src/Models/ThemeConfig/Json/LayoutConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/LayoutConfigJson.ts rename to src/Models/ThemeConfig/Json/LayoutConfigJson.ts diff --git a/Models/ThemeConfig/Json/LineRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/LineRenderingConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/LineRenderingConfigJson.ts rename to src/Models/ThemeConfig/Json/LineRenderingConfigJson.ts diff --git a/Models/ThemeConfig/Json/MoveConfigJson.ts b/src/Models/ThemeConfig/Json/MoveConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/MoveConfigJson.ts rename to src/Models/ThemeConfig/Json/MoveConfigJson.ts diff --git a/Models/ThemeConfig/Json/PointRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/PointRenderingConfigJson.ts rename to src/Models/ThemeConfig/Json/PointRenderingConfigJson.ts diff --git a/Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson.ts rename to src/Models/ThemeConfig/Json/QuestionableTagRenderingConfigJson.ts diff --git a/Models/ThemeConfig/Json/RewritableConfigJson.ts b/src/Models/ThemeConfig/Json/RewritableConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/RewritableConfigJson.ts rename to src/Models/ThemeConfig/Json/RewritableConfigJson.ts diff --git a/Models/ThemeConfig/Json/TagConfigJson.ts b/src/Models/ThemeConfig/Json/TagConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/TagConfigJson.ts rename to src/Models/ThemeConfig/Json/TagConfigJson.ts diff --git a/Models/ThemeConfig/Json/TagRenderingConfigJson.ts b/src/Models/ThemeConfig/Json/TagRenderingConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/TagRenderingConfigJson.ts rename to src/Models/ThemeConfig/Json/TagRenderingConfigJson.ts diff --git a/Models/ThemeConfig/Json/UnitConfigJson.ts b/src/Models/ThemeConfig/Json/UnitConfigJson.ts similarity index 100% rename from Models/ThemeConfig/Json/UnitConfigJson.ts rename to src/Models/ThemeConfig/Json/UnitConfigJson.ts diff --git a/Models/ThemeConfig/LayerConfig.ts b/src/Models/ThemeConfig/LayerConfig.ts similarity index 100% rename from Models/ThemeConfig/LayerConfig.ts rename to src/Models/ThemeConfig/LayerConfig.ts diff --git a/Models/ThemeConfig/LayoutConfig.ts b/src/Models/ThemeConfig/LayoutConfig.ts similarity index 100% rename from Models/ThemeConfig/LayoutConfig.ts rename to src/Models/ThemeConfig/LayoutConfig.ts diff --git a/Models/ThemeConfig/LineRenderingConfig.ts b/src/Models/ThemeConfig/LineRenderingConfig.ts similarity index 100% rename from Models/ThemeConfig/LineRenderingConfig.ts rename to src/Models/ThemeConfig/LineRenderingConfig.ts diff --git a/Models/ThemeConfig/MoveConfig.ts b/src/Models/ThemeConfig/MoveConfig.ts similarity index 100% rename from Models/ThemeConfig/MoveConfig.ts rename to src/Models/ThemeConfig/MoveConfig.ts diff --git a/Models/ThemeConfig/PointRenderingConfig.ts b/src/Models/ThemeConfig/PointRenderingConfig.ts similarity index 100% rename from Models/ThemeConfig/PointRenderingConfig.ts rename to src/Models/ThemeConfig/PointRenderingConfig.ts diff --git a/Models/ThemeConfig/PresetConfig.ts b/src/Models/ThemeConfig/PresetConfig.ts similarity index 100% rename from Models/ThemeConfig/PresetConfig.ts rename to src/Models/ThemeConfig/PresetConfig.ts diff --git a/Models/ThemeConfig/SourceConfig.ts b/src/Models/ThemeConfig/SourceConfig.ts similarity index 100% rename from Models/ThemeConfig/SourceConfig.ts rename to src/Models/ThemeConfig/SourceConfig.ts diff --git a/Models/ThemeConfig/TagRenderingConfig.ts b/src/Models/ThemeConfig/TagRenderingConfig.ts similarity index 100% rename from Models/ThemeConfig/TagRenderingConfig.ts rename to src/Models/ThemeConfig/TagRenderingConfig.ts diff --git a/Models/ThemeConfig/WithContextLoader.ts b/src/Models/ThemeConfig/WithContextLoader.ts similarity index 100% rename from Models/ThemeConfig/WithContextLoader.ts rename to src/Models/ThemeConfig/WithContextLoader.ts diff --git a/Models/ThemeViewState.ts b/src/Models/ThemeViewState.ts similarity index 100% rename from Models/ThemeViewState.ts rename to src/Models/ThemeViewState.ts diff --git a/Models/TileRange.ts b/src/Models/TileRange.ts similarity index 100% rename from Models/TileRange.ts rename to src/Models/TileRange.ts diff --git a/Models/Unit.ts b/src/Models/Unit.ts similarity index 100% rename from Models/Unit.ts rename to src/Models/Unit.ts diff --git a/Models/smallLicense.ts b/src/Models/smallLicense.ts similarity index 100% rename from Models/smallLicense.ts rename to src/Models/smallLicense.ts diff --git a/StylesheetTestGui.ts b/src/StylesheetTestGui.ts similarity index 100% rename from StylesheetTestGui.ts rename to src/StylesheetTestGui.ts diff --git a/UI/AllThemesGui.ts b/src/UI/AllThemesGui.ts similarity index 100% rename from UI/AllThemesGui.ts rename to src/UI/AllThemesGui.ts diff --git a/UI/Base/AsyncLazy.ts b/src/UI/Base/AsyncLazy.ts similarity index 100% rename from UI/Base/AsyncLazy.ts rename to src/UI/Base/AsyncLazy.ts diff --git a/UI/Base/BackButton.svelte b/src/UI/Base/BackButton.svelte similarity index 100% rename from UI/Base/BackButton.svelte rename to src/UI/Base/BackButton.svelte diff --git a/UI/Base/Button.ts b/src/UI/Base/Button.ts similarity index 100% rename from UI/Base/Button.ts rename to src/UI/Base/Button.ts diff --git a/UI/Base/CenterFlexedElement.ts b/src/UI/Base/CenterFlexedElement.ts similarity index 100% rename from UI/Base/CenterFlexedElement.ts rename to src/UI/Base/CenterFlexedElement.ts diff --git a/UI/Base/ChartJs.ts b/src/UI/Base/ChartJs.ts similarity index 100% rename from UI/Base/ChartJs.ts rename to src/UI/Base/ChartJs.ts diff --git a/UI/Base/Checkbox.svelte b/src/UI/Base/Checkbox.svelte similarity index 100% rename from UI/Base/Checkbox.svelte rename to src/UI/Base/Checkbox.svelte diff --git a/UI/Base/Combine.ts b/src/UI/Base/Combine.ts similarity index 100% rename from UI/Base/Combine.ts rename to src/UI/Base/Combine.ts diff --git a/UI/Base/DivContainer.ts b/src/UI/Base/DivContainer.ts similarity index 100% rename from UI/Base/DivContainer.ts rename to src/UI/Base/DivContainer.ts diff --git a/UI/Base/DragInvitation.svelte b/src/UI/Base/DragInvitation.svelte similarity index 100% rename from UI/Base/DragInvitation.svelte rename to src/UI/Base/DragInvitation.svelte diff --git a/UI/Base/Dropdown.svelte b/src/UI/Base/Dropdown.svelte similarity index 100% rename from UI/Base/Dropdown.svelte rename to src/UI/Base/Dropdown.svelte diff --git a/UI/Base/FilteredCombine.ts b/src/UI/Base/FilteredCombine.ts similarity index 100% rename from UI/Base/FilteredCombine.ts rename to src/UI/Base/FilteredCombine.ts diff --git a/UI/Base/FixedUiElement.ts b/src/UI/Base/FixedUiElement.ts similarity index 100% rename from UI/Base/FixedUiElement.ts rename to src/UI/Base/FixedUiElement.ts diff --git a/UI/Base/FloatOver.svelte b/src/UI/Base/FloatOver.svelte similarity index 100% rename from UI/Base/FloatOver.svelte rename to src/UI/Base/FloatOver.svelte diff --git a/UI/Base/FromHtml.svelte b/src/UI/Base/FromHtml.svelte similarity index 100% rename from UI/Base/FromHtml.svelte rename to src/UI/Base/FromHtml.svelte diff --git a/UI/Base/Hotkeys.ts b/src/UI/Base/Hotkeys.ts similarity index 100% rename from UI/Base/Hotkeys.ts rename to src/UI/Base/Hotkeys.ts diff --git a/UI/Base/If.svelte b/src/UI/Base/If.svelte similarity index 100% rename from UI/Base/If.svelte rename to src/UI/Base/If.svelte diff --git a/UI/Base/IfHidden.svelte b/src/UI/Base/IfHidden.svelte similarity index 100% rename from UI/Base/IfHidden.svelte rename to src/UI/Base/IfHidden.svelte diff --git a/UI/Base/IfNot.svelte b/src/UI/Base/IfNot.svelte similarity index 100% rename from UI/Base/IfNot.svelte rename to src/UI/Base/IfNot.svelte diff --git a/UI/Base/Img.ts b/src/UI/Base/Img.ts similarity index 100% rename from UI/Base/Img.ts rename to src/UI/Base/Img.ts diff --git a/UI/Base/Lazy.ts b/src/UI/Base/Lazy.ts similarity index 100% rename from UI/Base/Lazy.ts rename to src/UI/Base/Lazy.ts diff --git a/UI/Base/Link.ts b/src/UI/Base/Link.ts similarity index 100% rename from UI/Base/Link.ts rename to src/UI/Base/Link.ts diff --git a/UI/Base/LinkToWeblate.ts b/src/UI/Base/LinkToWeblate.ts similarity index 100% rename from UI/Base/LinkToWeblate.ts rename to src/UI/Base/LinkToWeblate.ts diff --git a/UI/Base/List.ts b/src/UI/Base/List.ts similarity index 100% rename from UI/Base/List.ts rename to src/UI/Base/List.ts diff --git a/UI/Base/Loading.svelte b/src/UI/Base/Loading.svelte similarity index 100% rename from UI/Base/Loading.svelte rename to src/UI/Base/Loading.svelte diff --git a/UI/Base/Loading.ts b/src/UI/Base/Loading.ts similarity index 100% rename from UI/Base/Loading.ts rename to src/UI/Base/Loading.ts diff --git a/UI/Base/LoginButton.svelte b/src/UI/Base/LoginButton.svelte similarity index 100% rename from UI/Base/LoginButton.svelte rename to src/UI/Base/LoginButton.svelte diff --git a/UI/Base/LoginToggle.svelte b/src/UI/Base/LoginToggle.svelte similarity index 100% rename from UI/Base/LoginToggle.svelte rename to src/UI/Base/LoginToggle.svelte diff --git a/UI/Base/MapControlButton.svelte b/src/UI/Base/MapControlButton.svelte similarity index 100% rename from UI/Base/MapControlButton.svelte rename to src/UI/Base/MapControlButton.svelte diff --git a/UI/Base/ModalRight.svelte b/src/UI/Base/ModalRight.svelte similarity index 100% rename from UI/Base/ModalRight.svelte rename to src/UI/Base/ModalRight.svelte diff --git a/UI/Base/NextButton.svelte b/src/UI/Base/NextButton.svelte similarity index 100% rename from UI/Base/NextButton.svelte rename to src/UI/Base/NextButton.svelte diff --git a/UI/Base/Paragraph.ts b/src/UI/Base/Paragraph.ts similarity index 100% rename from UI/Base/Paragraph.ts rename to src/UI/Base/Paragraph.ts diff --git a/UI/Base/ShareButton.svelte b/src/UI/Base/ShareButton.svelte similarity index 100% rename from UI/Base/ShareButton.svelte rename to src/UI/Base/ShareButton.svelte diff --git a/UI/Base/SubtleButton.svelte b/src/UI/Base/SubtleButton.svelte similarity index 100% rename from UI/Base/SubtleButton.svelte rename to src/UI/Base/SubtleButton.svelte diff --git a/UI/Base/SubtleButton.ts b/src/UI/Base/SubtleButton.ts similarity index 100% rename from UI/Base/SubtleButton.ts rename to src/UI/Base/SubtleButton.ts diff --git a/UI/Base/SubtleLink.svelte b/src/UI/Base/SubtleLink.svelte similarity index 100% rename from UI/Base/SubtleLink.svelte rename to src/UI/Base/SubtleLink.svelte diff --git a/UI/Base/SvelteUIElement.ts b/src/UI/Base/SvelteUIElement.ts similarity index 100% rename from UI/Base/SvelteUIElement.ts rename to src/UI/Base/SvelteUIElement.ts diff --git a/UI/Base/TabbedGroup.svelte b/src/UI/Base/TabbedGroup.svelte similarity index 100% rename from UI/Base/TabbedGroup.svelte rename to src/UI/Base/TabbedGroup.svelte diff --git a/UI/Base/Table.ts b/src/UI/Base/Table.ts similarity index 100% rename from UI/Base/Table.ts rename to src/UI/Base/Table.ts diff --git a/UI/Base/TableOfContents.ts b/src/UI/Base/TableOfContents.ts similarity index 100% rename from UI/Base/TableOfContents.ts rename to src/UI/Base/TableOfContents.ts diff --git a/UI/Base/Title.ts b/src/UI/Base/Title.ts similarity index 100% rename from UI/Base/Title.ts rename to src/UI/Base/Title.ts diff --git a/UI/Base/ToSvelte.svelte b/src/UI/Base/ToSvelte.svelte similarity index 100% rename from UI/Base/ToSvelte.svelte rename to src/UI/Base/ToSvelte.svelte diff --git a/UI/Base/Tr.svelte b/src/UI/Base/Tr.svelte similarity index 100% rename from UI/Base/Tr.svelte rename to src/UI/Base/Tr.svelte diff --git a/UI/Base/VariableUIElement.ts b/src/UI/Base/VariableUIElement.ts similarity index 100% rename from UI/Base/VariableUIElement.ts rename to src/UI/Base/VariableUIElement.ts diff --git a/UI/Base/WeblateLink.svelte b/src/UI/Base/WeblateLink.svelte similarity index 100% rename from UI/Base/WeblateLink.svelte rename to src/UI/Base/WeblateLink.svelte diff --git a/UI/BaseUIElement.ts b/src/UI/BaseUIElement.ts similarity index 100% rename from UI/BaseUIElement.ts rename to src/UI/BaseUIElement.ts diff --git a/UI/BigComponents/BackgroundSwitcher.svelte b/src/UI/BigComponents/BackgroundSwitcher.svelte similarity index 100% rename from UI/BigComponents/BackgroundSwitcher.svelte rename to src/UI/BigComponents/BackgroundSwitcher.svelte diff --git a/UI/BigComponents/CommunityIndexView.svelte b/src/UI/BigComponents/CommunityIndexView.svelte similarity index 100% rename from UI/BigComponents/CommunityIndexView.svelte rename to src/UI/BigComponents/CommunityIndexView.svelte diff --git a/UI/BigComponents/ContactLink.svelte b/src/UI/BigComponents/ContactLink.svelte similarity index 100% rename from UI/BigComponents/ContactLink.svelte rename to src/UI/BigComponents/ContactLink.svelte diff --git a/UI/BigComponents/CopyrightPanel.ts b/src/UI/BigComponents/CopyrightPanel.ts similarity index 100% rename from UI/BigComponents/CopyrightPanel.ts rename to src/UI/BigComponents/CopyrightPanel.ts diff --git a/UI/BigComponents/ExtraLinkButton.ts b/src/UI/BigComponents/ExtraLinkButton.ts similarity index 100% rename from UI/BigComponents/ExtraLinkButton.ts rename to src/UI/BigComponents/ExtraLinkButton.ts diff --git a/UI/BigComponents/Filterview.svelte b/src/UI/BigComponents/Filterview.svelte similarity index 100% rename from UI/BigComponents/Filterview.svelte rename to src/UI/BigComponents/Filterview.svelte diff --git a/UI/BigComponents/FilterviewWithFields.svelte b/src/UI/BigComponents/FilterviewWithFields.svelte similarity index 100% rename from UI/BigComponents/FilterviewWithFields.svelte rename to src/UI/BigComponents/FilterviewWithFields.svelte diff --git a/UI/BigComponents/GeolocationControl.ts b/src/UI/BigComponents/GeolocationControl.ts similarity index 100% rename from UI/BigComponents/GeolocationControl.ts rename to src/UI/BigComponents/GeolocationControl.ts diff --git a/UI/BigComponents/Geosearch.svelte b/src/UI/BigComponents/Geosearch.svelte similarity index 100% rename from UI/BigComponents/Geosearch.svelte rename to src/UI/BigComponents/Geosearch.svelte diff --git a/UI/BigComponents/HiddenThemeList.svelte b/src/UI/BigComponents/HiddenThemeList.svelte similarity index 100% rename from UI/BigComponents/HiddenThemeList.svelte rename to src/UI/BigComponents/HiddenThemeList.svelte diff --git a/UI/BigComponents/Histogram.ts b/src/UI/BigComponents/Histogram.ts similarity index 100% rename from UI/BigComponents/Histogram.ts rename to src/UI/BigComponents/Histogram.ts diff --git a/UI/BigComponents/IndexText.ts b/src/UI/BigComponents/IndexText.ts similarity index 100% rename from UI/BigComponents/IndexText.ts rename to src/UI/BigComponents/IndexText.ts diff --git a/UI/BigComponents/LevelSelector.svelte b/src/UI/BigComponents/LevelSelector.svelte similarity index 100% rename from UI/BigComponents/LevelSelector.svelte rename to src/UI/BigComponents/LevelSelector.svelte diff --git a/UI/BigComponents/MapillaryLink.svelte b/src/UI/BigComponents/MapillaryLink.svelte similarity index 100% rename from UI/BigComponents/MapillaryLink.svelte rename to src/UI/BigComponents/MapillaryLink.svelte diff --git a/UI/BigComponents/MoreScreen.ts b/src/UI/BigComponents/MoreScreen.ts similarity index 100% rename from UI/BigComponents/MoreScreen.ts rename to src/UI/BigComponents/MoreScreen.ts diff --git a/UI/BigComponents/NewPointLocationInput.svelte b/src/UI/BigComponents/NewPointLocationInput.svelte similarity index 100% rename from UI/BigComponents/NewPointLocationInput.svelte rename to src/UI/BigComponents/NewPointLocationInput.svelte diff --git a/UI/BigComponents/NoThemeResultButton.svelte b/src/UI/BigComponents/NoThemeResultButton.svelte similarity index 100% rename from UI/BigComponents/NoThemeResultButton.svelte rename to src/UI/BigComponents/NoThemeResultButton.svelte diff --git a/UI/BigComponents/OpenBackgroundSelectorButton.svelte b/src/UI/BigComponents/OpenBackgroundSelectorButton.svelte similarity index 100% rename from UI/BigComponents/OpenBackgroundSelectorButton.svelte rename to src/UI/BigComponents/OpenBackgroundSelectorButton.svelte diff --git a/UI/BigComponents/OpenIdEditor.svelte b/src/UI/BigComponents/OpenIdEditor.svelte similarity index 100% rename from UI/BigComponents/OpenIdEditor.svelte rename to src/UI/BigComponents/OpenIdEditor.svelte diff --git a/UI/BigComponents/OpenJosm.ts b/src/UI/BigComponents/OpenJosm.ts similarity index 100% rename from UI/BigComponents/OpenJosm.ts rename to src/UI/BigComponents/OpenJosm.ts diff --git a/UI/BigComponents/OverlayToggle.svelte b/src/UI/BigComponents/OverlayToggle.svelte similarity index 100% rename from UI/BigComponents/OverlayToggle.svelte rename to src/UI/BigComponents/OverlayToggle.svelte diff --git a/UI/BigComponents/PlantNetSpeciesSearch.ts b/src/UI/BigComponents/PlantNetSpeciesSearch.ts similarity index 100% rename from UI/BigComponents/PlantNetSpeciesSearch.ts rename to src/UI/BigComponents/PlantNetSpeciesSearch.ts diff --git a/UI/BigComponents/PrivacyPolicy.ts b/src/UI/BigComponents/PrivacyPolicy.ts similarity index 100% rename from UI/BigComponents/PrivacyPolicy.ts rename to src/UI/BigComponents/PrivacyPolicy.ts diff --git a/UI/BigComponents/SelectedElementTitle.svelte b/src/UI/BigComponents/SelectedElementTitle.svelte similarity index 100% rename from UI/BigComponents/SelectedElementTitle.svelte rename to src/UI/BigComponents/SelectedElementTitle.svelte diff --git a/UI/BigComponents/SelectedElementView.svelte b/src/UI/BigComponents/SelectedElementView.svelte similarity index 100% rename from UI/BigComponents/SelectedElementView.svelte rename to src/UI/BigComponents/SelectedElementView.svelte diff --git a/UI/BigComponents/ShareScreen.ts b/src/UI/BigComponents/ShareScreen.ts similarity index 100% rename from UI/BigComponents/ShareScreen.ts rename to src/UI/BigComponents/ShareScreen.ts diff --git a/UI/BigComponents/SimpleAddUI.ts b/src/UI/BigComponents/SimpleAddUI.ts similarity index 100% rename from UI/BigComponents/SimpleAddUI.ts rename to src/UI/BigComponents/SimpleAddUI.ts diff --git a/UI/BigComponents/StateIndicator.svelte b/src/UI/BigComponents/StateIndicator.svelte similarity index 100% rename from UI/BigComponents/StateIndicator.svelte rename to src/UI/BigComponents/StateIndicator.svelte diff --git a/UI/BigComponents/StatisticsPanel.ts b/src/UI/BigComponents/StatisticsPanel.ts similarity index 100% rename from UI/BigComponents/StatisticsPanel.ts rename to src/UI/BigComponents/StatisticsPanel.ts diff --git a/UI/BigComponents/TagRenderingChart.ts b/src/UI/BigComponents/TagRenderingChart.ts similarity index 100% rename from UI/BigComponents/TagRenderingChart.ts rename to src/UI/BigComponents/TagRenderingChart.ts diff --git a/UI/BigComponents/ThemeButton.svelte b/src/UI/BigComponents/ThemeButton.svelte similarity index 97% rename from UI/BigComponents/ThemeButton.svelte rename to src/UI/BigComponents/ThemeButton.svelte index 4dfe0aeb7..2dfabd2be 100644 --- a/UI/BigComponents/ThemeButton.svelte +++ b/src/UI/BigComponents/ThemeButton.svelte @@ -1,6 +1,6 @@ + diff --git a/style_test.html b/style_test.html index 4a8c6f538..0362bc620 100644 --- a/style_test.html +++ b/style_test.html @@ -7,6 +7,6 @@
- + diff --git a/test.html b/test.html index aece23274..e87f422e5 100644 --- a/test.html +++ b/test.html @@ -20,7 +20,7 @@
'maindiv' not attached
'extradiv' not attached
- + - +