Merge branch 'master' into develop
This commit is contained in:
commit
62c4f0a928
8 changed files with 312 additions and 47 deletions
|
@ -16,7 +16,7 @@ export class PersonalLayout extends Layout {
|
|||
0,
|
||||
Translations.t.favourite.description,
|
||||
);
|
||||
|
||||
this.maintainer = "MapComplete"
|
||||
this.description = "The personal theme allows to select one or more layers from all the layouts, creating a truly personal editor"
|
||||
this.icon = "./assets/add.svg"
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
|
|||
|
||||
|
||||
private readonly _question: string | Translation;
|
||||
private readonly _mapping: { k: TagsFilter, txt: string | Translation, priority?: number }[];
|
||||
private readonly _mapping: { k: TagsFilter, txt: string | Translation }[];
|
||||
|
||||
private readonly currentTags: UIEventSource<any>;
|
||||
|
||||
|
@ -68,12 +68,17 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
|
|||
},
|
||||
tagsPreprocessor?: ((tags: any) => any),
|
||||
multiAnswer?: boolean,
|
||||
mappings?: { k: TagsFilter, txt: string | Translation, priority?: number, substitute?: boolean, hideInAnswer?: boolean }[]
|
||||
mappings?: { k: TagsFilter, txt: string | Translation, substitute?: boolean, hideInAnswer?: boolean }[]
|
||||
}) {
|
||||
super(tags);
|
||||
if (tags === undefined) {
|
||||
throw "No tags given for a tagrendering..."
|
||||
}
|
||||
if (options.question !== undefined) {
|
||||
if ((options.mappings?.length ?? 0) === 0 && options.freeform.key === undefined) {
|
||||
throw "Error: question without mappings or key"
|
||||
}
|
||||
}
|
||||
this.ListenTo(Locale.language);
|
||||
this.ListenTo(this._editMode);
|
||||
this.ListenTo(this._questionSkipped);
|
||||
|
@ -83,7 +88,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
|
|||
|
||||
this.currentTags = tags.map(tags => {
|
||||
|
||||
if (options.tagsPreprocessor === undefined) {
|
||||
if (options.tagsPreprocessor === undefined) {
|
||||
return tags;
|
||||
}
|
||||
// we clone the tags...
|
||||
|
@ -111,7 +116,6 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
|
|||
let choiceSubbed = {
|
||||
k: choice.k?.substituteValues(this.currentTags.data),
|
||||
txt: choice.txt,
|
||||
priority: choice.priority
|
||||
}
|
||||
|
||||
|
||||
|
@ -202,7 +206,7 @@ export class TagRendering extends UIElement implements TagDependantUIElement {
|
|||
extraTags?: TagsFilter,
|
||||
},
|
||||
multiAnswer?: boolean,
|
||||
mappings?: { k: TagsFilter, txt: string | Translation, priority?: number, substitute?: boolean, hideInAnswer?: boolean }[]
|
||||
mappings?: { k: TagsFilter, txt: string | Translation, substitute?: boolean, hideInAnswer?: boolean }[]
|
||||
}):
|
||||
InputElement<TagsFilter> {
|
||||
|
||||
|
|
|
@ -123,16 +123,22 @@ export default class Translations {
|
|||
dontDelete: new T({
|
||||
"nl":"Terug",
|
||||
"en":"Cancel",
|
||||
"ca":"Cancel·lar",
|
||||
"es":"Cancelar",
|
||||
"de": "Abbrechen"
|
||||
}),
|
||||
doDelete: new T({
|
||||
"nl":"Verwijder afbeelding",
|
||||
"en":"Remove image",
|
||||
"ca":"Esborrar imatge",
|
||||
"es":"Borrar imagen",
|
||||
"de": "Bild entfernen"
|
||||
}),
|
||||
isDeleted: new T({
|
||||
"nl":"Verwijderd",
|
||||
"en":"Deleted",
|
||||
"ca":"Esborrada",
|
||||
"es":"Borrada",
|
||||
"de": "Gelöscht"
|
||||
})
|
||||
},
|
||||
|
@ -382,12 +388,16 @@ export default class Translations {
|
|||
}),
|
||||
openLayerControl: new T({
|
||||
"en": "Open the layer control box",
|
||||
"ca": "Obrir el control de capes",
|
||||
"es": "Abrir el control de capas",
|
||||
"nl": "Open de laag-instellingen",
|
||||
"de": "Das Ebenen-Kontrollkästchen öffnen"
|
||||
})
|
||||
,
|
||||
layerNotEnabled: new T({
|
||||
"en": "The layer {layer} is not enabled. Enable this layer to add a point",
|
||||
"ca": "La capa {layer} no està habilitada. Fes-ho per poder afegir un punt a aquesta capa",
|
||||
"es": "La capa {layer} no está habilitada. Hazlo para poder añadir un punto en esta capa",
|
||||
"nl": "De laag {layer} is gedeactiveerd. Activeer deze om een punt toe te voegn",
|
||||
"de": "Die Ebene {layer} ist nicht aktiviert. Aktivieren Sie diese Ebene, um einen Punkt hinzuzufügen"
|
||||
})
|
||||
|
@ -573,48 +583,64 @@ export default class Translations {
|
|||
}),
|
||||
copiedToClipboard: new T({
|
||||
en: "Link copied to clipboard",
|
||||
ca: "Enllaç copiat al portapapers",
|
||||
es: "Enlace copiado en el portapapeles",
|
||||
gl: "Ligazón copiada ó portapapeis",
|
||||
nl: "Link gekopieerd naar klembord",
|
||||
de: "Link in die Zwischenablage kopiert"
|
||||
}),
|
||||
thanksForSharing: new T({
|
||||
en: "Thanks for sharing!",
|
||||
ca: "Gràcies per compartir",
|
||||
es: "Gracias por compartir",
|
||||
gl: "Grazas por compartir!",
|
||||
nl: "Bedankt om te delen!",
|
||||
de: "Danke für das Teilen!"
|
||||
}),
|
||||
editThisTheme: new T({
|
||||
en: "Edit this theme",
|
||||
ca: "Editar aquest repte",
|
||||
es: "Editar este reto",
|
||||
gl: "Editar este tema",
|
||||
nl: "Pas dit thema aan",
|
||||
de: "Dieses Thema bearbeiten"
|
||||
}),
|
||||
editThemeDescription: new T({
|
||||
en: "Add or change questions to this map theme",
|
||||
ca: "Afegir o canviar preguntes d'aquest repte",
|
||||
es: "Añadir o cambiar preguntas de este reto",
|
||||
gl: "Engadir ou mudar preguntas a este tema do mapa",
|
||||
nl: "Pas vragen aan of voeg vragen toe aan dit kaartthema",
|
||||
de: "Fragen zu diesem Kartenthema hinzufügen oder ändern"
|
||||
}),
|
||||
fsUserbadge: new T({
|
||||
en: "Enable the login-button",
|
||||
ca: "Activar el botó d'entrada",
|
||||
es: "Activar el botón de entrada",
|
||||
gl: "Activar botón de inicio de sesión",
|
||||
nl: "Activeer de login-knop",
|
||||
de:" Anmelde-Knopf aktivieren"
|
||||
}),
|
||||
fsSearch: new T({
|
||||
en: "Enable the search bar",
|
||||
ca: "Activar la barra de cerca",
|
||||
es: "Activar la barra de búsqueda",
|
||||
gl: "Activar a barra de procura",
|
||||
nl: "Activeer de zoekbalk",
|
||||
de: " Suchleiste aktivieren"
|
||||
}),
|
||||
fsWelcomeMessage: new T({
|
||||
en: "Show the welcome message popup and associated tabs",
|
||||
ca: "Mostra el missatge emergent de benvinguda i pestanyes associades",
|
||||
es: "Muestra el mensaje emergente de bienvenida y pestañas asociadas",
|
||||
gl: "Amosar a xanela emerxente da mensaxe de benvida e as lapelas asociadas",
|
||||
nl: "Toon het welkomstbericht en de bijhorende tabbladen",
|
||||
de: "Popup der Begrüßungsnachricht und zugehörige Registerkarten anzeigen"
|
||||
}),
|
||||
fsLayers: new T({
|
||||
en: "Enable thelayer control",
|
||||
ca: "Activar el control de capes",
|
||||
es: "Activar el control de capas",
|
||||
gl: "Activar o control de capas",
|
||||
nl: "Toon de knop voor laagbediening",
|
||||
de: "Aktivieren der Layersteuerung"
|
||||
|
@ -623,33 +649,45 @@ export default class Translations {
|
|||
fsLayerControlToggle: new T({
|
||||
en: "Start with the layer control expanded",
|
||||
gl: "Comenza co control de capas expandido",
|
||||
ca: "Iniciar el control de capes avançat",
|
||||
es: "Iniciar el control de capas avanzado",
|
||||
nl: "Toon de laagbediening meteen volledig",
|
||||
de: "Mit der erweiterten Ebenenkontrolle beginnen"
|
||||
}),
|
||||
fsAddNew: new T({
|
||||
en: "Enable the 'add new POI' button",
|
||||
ca: "Activar el botó d'afegir nou PDI'",
|
||||
es: "Activar el botón de añadir nuevo PDI'",
|
||||
nl: "Activeer het toevoegen van nieuwe POI",
|
||||
gl: "Activar o botón de 'engadir novo PDI'",
|
||||
de: "Schaltfläche 'neuen POI hinzufügen' aktivieren",
|
||||
}),
|
||||
fsGeolocation: new T({
|
||||
en: "Enable the 'geolocate-me' button (mobile only)",
|
||||
ca: "Activar el botó de 'geolocalitza'm' (només mòbil)",
|
||||
es: "Activar el botón de 'geolocalízame' (només mòbil)",
|
||||
gl: "Activar o botón de 'xeolocalizarme' (só móbil)",
|
||||
nl: "Toon het knopje voor geolocalisatie (enkel op mobiel)",
|
||||
de: "Die Schaltfläche 'Mich geolokalisieren' aktivieren (nur für Mobil)",
|
||||
}),
|
||||
fsIncludeCurrentBackgroundMap: new T({
|
||||
en: "Include the current background choice <b>{name}</b>",
|
||||
ca: "Incloure l'opció de fons actual <b>{name}</b>",
|
||||
es: "Incluir la opción de fondo actual <b>{name}</b>",
|
||||
nl: "Gebruik de huidige achtergrond <b>{name}</b>",
|
||||
de: "Die aktuelle Hintergrundwahl einschließen <b>{name}</b>",
|
||||
}),
|
||||
fsIncludeCurrentLayers: new T({
|
||||
en: "Include the current layer choices",
|
||||
ca: "Incloure les opcions de capa actual",
|
||||
es: "Incluir las opciones de capa actual",
|
||||
nl: "Toon enkel de huidig getoonde lagen",
|
||||
de: "Die aktuelle Ebenenauswahl einbeziehen"
|
||||
}),
|
||||
fsIncludeCurrentLocation: new T({
|
||||
en: "Include current location",
|
||||
es: "Incluir localización actual",
|
||||
ca: "Incloure localització actual",
|
||||
nl: "Start op de huidige locatie",
|
||||
de: "Aktuelle Position einbeziehen"
|
||||
})
|
||||
|
@ -800,11 +838,15 @@ export default class Translations {
|
|||
}),
|
||||
backgroundMap: new T({
|
||||
"en": "Background map",
|
||||
"ca": "Mapa de fons",
|
||||
"es": "Mapa de fondo",
|
||||
"nl": "Achtergrondkaart",
|
||||
"de": "Hintergrundkarte"
|
||||
}),
|
||||
zoomInToSeeThisLayer: new T({
|
||||
"en": "Zoom in to see this layer",
|
||||
"ca": "Amplia per veure aquesta capa",
|
||||
"es": "Amplía para ver esta capa",
|
||||
"nl": "Vergroot de kaart om deze laag te zien",
|
||||
"de": "Vergrößern, um diese Ebene zu sehen"
|
||||
}),
|
||||
|
@ -812,72 +854,100 @@ export default class Translations {
|
|||
abbreviations:{
|
||||
monday: new T({
|
||||
"en": "Mon",
|
||||
"ca": "Dil",
|
||||
"es": "Lun",
|
||||
"nl": "Maan",
|
||||
"fr": "Lun",
|
||||
}),
|
||||
tuesday: new T({
|
||||
"en": "Tue",
|
||||
"ca": "Dim",
|
||||
"es": "Mar",
|
||||
"nl": "Din",
|
||||
"fr": "Mar",
|
||||
}),
|
||||
wednesday: new T({
|
||||
"en": "Wed",
|
||||
"ca": "Dic",
|
||||
"es": "Mie",
|
||||
"nl": "Woe",
|
||||
"fr": "Mercr",
|
||||
}),
|
||||
thursday: new T({
|
||||
"en": "Thu",
|
||||
"ca": "Dij",
|
||||
"es": "Jue",
|
||||
"nl": "Don",
|
||||
"fr": "Jeudi",
|
||||
}),
|
||||
friday: new T({
|
||||
"en": "Fri",
|
||||
"ca": "Div",
|
||||
"es": "Vie",
|
||||
"nl": "Vrij",
|
||||
"fr": "Vendr",
|
||||
}),
|
||||
saturday: new T({
|
||||
"en": "Sat",
|
||||
"ca": "Dis",
|
||||
"es": "Sab",
|
||||
"nl": "Zat",
|
||||
"fr": "Sam",
|
||||
}),
|
||||
sunday: new T({
|
||||
"en": "Sun",
|
||||
"ca": "Diu",
|
||||
"es": "Dom",
|
||||
"nl": "Zon",
|
||||
"fr": "Dim",
|
||||
})
|
||||
},
|
||||
monday: new T({
|
||||
"en": "Monday",
|
||||
"ca": "Dilluns",
|
||||
"es": "Lunes",
|
||||
"nl": "Maandag",
|
||||
"fr": "Lundi",
|
||||
}),
|
||||
tuesday: new T({
|
||||
"en": "Tuesdday",
|
||||
"en": "Tuesday",
|
||||
"ca": "Dimarts",
|
||||
"es": "Martes",
|
||||
"nl": "Dinsdag",
|
||||
"fr": "Mardi",
|
||||
}),
|
||||
wednesday: new T({
|
||||
"en": "Wednesday",
|
||||
"ca": "Dimecres",
|
||||
"es": "Miércoles",
|
||||
"nl": "Woensdag",
|
||||
"fr": "Mercredi",
|
||||
}),
|
||||
thursday: new T({
|
||||
"en": "Thursday",
|
||||
"ca": "Dijous",
|
||||
"es": "Jueves",
|
||||
"nl": "Donderdag",
|
||||
"fr": "Jeudi",
|
||||
}),
|
||||
friday: new T({
|
||||
"en": "Friday",
|
||||
"ca": "Divendres",
|
||||
"es": "Viernes",
|
||||
"nl": "Vrijdag",
|
||||
"fr": "Vendredi",
|
||||
}),
|
||||
saturday: new T({
|
||||
"en": "Saturday",
|
||||
"ca": "Dissabte",
|
||||
"es": "Sábado",
|
||||
"nl": "Zaterdag",
|
||||
"fr": "Samedi",
|
||||
}),
|
||||
sunday: new T({
|
||||
"en": "Sunday",
|
||||
"ca": "Diumenge",
|
||||
"es": "Domingo",
|
||||
"nl": "Zondag",
|
||||
"fr": "Dimance",
|
||||
})
|
||||
|
@ -885,36 +955,54 @@ export default class Translations {
|
|||
opening_hours: {
|
||||
open_during_ph: new T({
|
||||
"nl": "Op een feestdag is deze zaak",
|
||||
"ca": "Durant festes aquest servei és",
|
||||
"es": "Durante fiestas este servicio está",
|
||||
"en":"During a public holiday, this amenity is"
|
||||
}),
|
||||
opensAt: new T({
|
||||
"en": "from",
|
||||
"ca": "des de",
|
||||
"es": "desde",
|
||||
"nl": "vanaf"
|
||||
}), openTill: new T({
|
||||
"en": "till",
|
||||
"ca": "fins",
|
||||
"es": " hasta",
|
||||
"nl": "tot"
|
||||
}),
|
||||
not_all_rules_parsed: new T({
|
||||
"en": "The openin hours of this shop are complicated. The following rules are ignored in the input element:"
|
||||
"en": "The opening hours of this shop are complicated. The following rules are ignored in the input element:",
|
||||
"ca": "L'horari d'aquesta botiga és complicat. Les normes següents seran ignorades en l'entrada:",
|
||||
"es": "El horario de esta tienda es complejo. Las normas siguientes serán ignoradas en la entrada:"
|
||||
}),
|
||||
closed_until: new T({
|
||||
"en": "Closed until {date}",
|
||||
"ca": "Tancat fins {date}",
|
||||
"es": "Cerrado hasta {date}",
|
||||
"nl": "Gesloten - open op {date}"
|
||||
}),
|
||||
|
||||
closed_permanently: new T({
|
||||
"en": "Closed - no opening day known",
|
||||
"ca": "Tancat - sense dia d'obertura conegut",
|
||||
"es": "Cerrado - sin día de apertura conocido",
|
||||
"nl": "Gesloten"
|
||||
}),
|
||||
ph_not_known: new T({
|
||||
"en": " ",
|
||||
"ca": " ",
|
||||
"es": " ",
|
||||
"nl": " "
|
||||
}),
|
||||
ph_closed: new T({
|
||||
"en": "closed",
|
||||
"ca": "tancat",
|
||||
"es": "cerrado",
|
||||
"nl": "gesloten"
|
||||
}), ph_open: new T({
|
||||
"en": "opened",
|
||||
"ca": "tancat",
|
||||
"es": "abierto",
|
||||
"nl": "open"
|
||||
})
|
||||
|
||||
|
@ -953,8 +1041,8 @@ export default class Translations {
|
|||
}),
|
||||
reload: new T({
|
||||
en: "Reload the data",
|
||||
es: "Recarga los datos",
|
||||
ca: "Recarrega les dades",
|
||||
es: "Recargar datos",
|
||||
ca: "Recarregar dades",
|
||||
gl: "Recargar os datos",
|
||||
de: "Daten neu laden"
|
||||
})
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
"id": "aed",
|
||||
"title": {
|
||||
"en": "Open AED Map",
|
||||
"ca": "Mapa obert de desfibril·ladors (DEA)",
|
||||
"es": "Mapa abierto de desfibriladores (DEA)",
|
||||
"fr": "Carte AED",
|
||||
"nl": "Open AED-kaart",
|
||||
"de": "AED-Karte öffnen"
|
||||
|
@ -10,12 +12,16 @@
|
|||
"icon": "./assets/themes/aed/aed.svg",
|
||||
"description": {
|
||||
"en": "On this map, one can find and mark nearby defibrillators",
|
||||
"ca": "En aquest mapa , qualsevol pot trobar i marcar els desfibril·ladors externs automàtics més propers",
|
||||
"en": "En este mapa , cualquiera puede encontrar y marcar los desfibriladores externos automáticos más cercanos",
|
||||
"fr": "Sur cette carte, vous pouvez trouver et améliorer les informations sur les défibrillateurs",
|
||||
"nl": "Op deze kaart kan je informatie over AEDs vinden en verbeteren",
|
||||
"de": "Auf dieser Karte kann man nahe gelegene Defibrillatoren finden und markieren"
|
||||
},
|
||||
"language": [
|
||||
"en",
|
||||
"ca",
|
||||
"es",
|
||||
"fr",
|
||||
"nl",
|
||||
"de"
|
||||
|
@ -29,6 +35,8 @@
|
|||
"id": "Defibrillator",
|
||||
"name": {
|
||||
"en": "Defibrillators",
|
||||
"ca": "Desfibril·ladors",
|
||||
"es": "Desfibriladores",
|
||||
"fr": "Défibrillateurs",
|
||||
"nl": "Defibrillatoren",
|
||||
"de": "Defibrillatoren"
|
||||
|
@ -38,6 +46,8 @@
|
|||
"title": {
|
||||
"render": {
|
||||
"en": "Defibrillator",
|
||||
"ca": "Desfibril·lador",
|
||||
"es": "Desfibrilador",
|
||||
"fr": "Défibrillateur",
|
||||
"nl": "Defibrillator",
|
||||
"de": "Defibrillator"
|
||||
|
@ -49,6 +59,8 @@
|
|||
{
|
||||
"title": {
|
||||
"en": "Defibrillator",
|
||||
"ca": "Desfibril·lador",
|
||||
"es": "Desfibrilador",
|
||||
"fr": "Défibrillateur",
|
||||
"nl": "Defibrillator",
|
||||
"de": "Defibrillator"
|
||||
|
@ -63,6 +75,8 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "Is this defibrillator located indoors?",
|
||||
"ca": "Està el desfibril·lador a l'interior?",
|
||||
"en": "¿Esté el desfibrilador en interior?",
|
||||
"fr": "Ce défibrillateur est-il disposé en intérieur ?",
|
||||
"nl": "Hangt deze defibrillator binnen of buiten?",
|
||||
"de": "Befindet sich dieser Defibrillator im Gebäude?"
|
||||
|
@ -72,6 +86,8 @@
|
|||
"if": "indoor=yes",
|
||||
"then": {
|
||||
"en": "This defibrillator is located indoors",
|
||||
"ca": "Aquest desfibril·lador està a l'interior",
|
||||
"es": "Este desfibrilador está en interior",
|
||||
"fr": "Ce défibrillateur est en intérieur (dans un batiment)",
|
||||
"nl": "Deze defibrillator bevindt zich in een gebouw",
|
||||
"de": "Dieser Defibrillator befindet sich im Gebäude"
|
||||
|
@ -81,6 +97,8 @@
|
|||
"if": "indoor=no",
|
||||
"then": {
|
||||
"en": "This defibrillator is located outdoors",
|
||||
"ca": "Aquest desfibril·lador està a l'exterior",
|
||||
"es": "Este desfibrilador está en exterior",
|
||||
"fr": "Ce défibrillateur est situé en extérieur",
|
||||
"nl": "Deze defibrillator hangt buiten",
|
||||
"de": "Dieser Defibrillator befindet sich im Freien"
|
||||
|
@ -91,12 +109,16 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "Is this defibrillator freely accessible?",
|
||||
"ca": "Està el desfibril·lador accessible lliurement?",
|
||||
"es": "¿Está el desfibrilador accesible libremente?",
|
||||
"fr": "Ce défibrillateur est-il librement accessible?",
|
||||
"nl": "Is deze defibrillator vrij toegankelijk?",
|
||||
"de": "Ist dieser Defibrillator frei zugänglich?"
|
||||
},
|
||||
"render": {
|
||||
"en": "Access is {access}",
|
||||
"ca": "L'accés és {access}",
|
||||
"es": "El acceso es {access}",
|
||||
"fr": "{access} accessible",
|
||||
"nl": "Toegankelijkheid is {access}",
|
||||
"de": "Zugang ist {access}"
|
||||
|
@ -113,6 +135,8 @@
|
|||
"if": "access=yes",
|
||||
"then": {
|
||||
"en": "Publicly accessible",
|
||||
"ca": "Accés lliure",
|
||||
"es": "Acceso libre",
|
||||
"fr": "Librement accessible",
|
||||
"nl": "Publiek toegankelijk",
|
||||
"de": "Öffentlich zugänglich"
|
||||
|
@ -122,6 +146,8 @@
|
|||
"if": "access=public",
|
||||
"then": {
|
||||
"en": "Publicly accessible",
|
||||
"ca": "Publicament accessible",
|
||||
"es": "Publicament accesible",
|
||||
"fr": "Librement accessible",
|
||||
"nl": "Publiek toegankelijk",
|
||||
"de": "Öffentlich zugänglich"
|
||||
|
@ -132,6 +158,8 @@
|
|||
"if": "access=customers",
|
||||
"then": {
|
||||
"en": "Only accessible to customers",
|
||||
"ca": "Només accessible a clients",
|
||||
"es": "Sólo accesible a clientes",
|
||||
"fr": "Réservé aux clients du lieu",
|
||||
"nl": "Enkel toegankeleijk voor klanten",
|
||||
"de": "Nur für Kunden zugänglich"
|
||||
|
@ -141,6 +169,8 @@
|
|||
"if": "access=private",
|
||||
"then": {
|
||||
"en": "Not accessible to the general public (e.g. only accesible to staff, the owners, ...)",
|
||||
"ca": "No accessible al públic en general (ex. només accesible a treballadors, propietaris, ...)",
|
||||
"es": "No accesible al público en general (ex. sólo accesible a trabajadores, propietarios, ...)",
|
||||
"fr": "Non accessible au public (par exemple réservé au personnel, au propriétaire, ...)",
|
||||
"nl": "Niet toegankelijk voor het publiek (bv. enkel voor personneel, de eigenaar, ...)",
|
||||
"de": "Nicht für die Öffentlichkeit zugänglich (z.B. nur für das Personal, die Eigentümer, ...)"
|
||||
|
@ -151,6 +181,8 @@
|
|||
{
|
||||
"question": {
|
||||
"en": "On which floor is this defibrillator located?",
|
||||
"ca": "A quina planta està el desfibril·lador localitzat?",
|
||||
"es": "¿En qué planta se encuentra el defibrilador localizado?",
|
||||
"fr": "À quel étage est situé ce défibrillateur?",
|
||||
"nl": "Op welke verdieping bevindt deze defibrillator zich?",
|
||||
"de": "In welchem Stockwerk befindet sich dieser Defibrillator?"
|
||||
|
@ -167,6 +199,8 @@
|
|||
},
|
||||
"render": {
|
||||
"en": "This defibrallator is on floor {level}",
|
||||
"ca": "Aquest desfibril·lador és a la planta {level}",
|
||||
"es": "El desfibrilador se encuentra en la planta {level}",
|
||||
"fr": "Ce défibrillateur est à l'étage {level}",
|
||||
"nl": "De defibrillator bevindt zicht op verdieping {level}",
|
||||
"de": "Dieser Defibrallator befindet sich im {level}. Stockwerk"
|
||||
|
@ -176,6 +210,8 @@
|
|||
"render": "{defibrillator:location}",
|
||||
"question": {
|
||||
"en": "Please give some explanation on where the defibrillator can be found",
|
||||
"ca": "Dóna detalls d'on es pot trobar el desfibril·lador",
|
||||
"es": "Da detalles de dónde se puede encontrar el desfibrilador",
|
||||
"fr": "Veuillez indiquez plus précisément où se situe le défibrillateur",
|
||||
"nl": "Gelieve meer informatie te geven over de exacte locatie van de defibrillator",
|
||||
"de": "Bitte geben Sie einige Erläuterungen dazu, wo der Defibrillator zu finden ist"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
"version": "2020-10-23",
|
||||
"startLat": 0,
|
||||
"startLon": 0,
|
||||
"startZoom": 12,
|
||||
"startZoom": 1,
|
||||
"widenFactor": 0.05,
|
||||
"socialImage": "",
|
||||
"layers": [
|
||||
|
@ -108,6 +108,62 @@
|
|||
"key": "material",
|
||||
"addExtraTags": []
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": {
|
||||
"and": ["material=wood"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Material: wood",
|
||||
"de": "Material: Holz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["material=metal"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Material: metal",
|
||||
"de": "Material: Metall"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["material=stone"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Material: stone",
|
||||
"de": "Material: Stein"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["material=concrete"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Material: concrete",
|
||||
"de": "Material: Beton"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["material=plastic"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Material: plastic",
|
||||
"de": "Material: Kunststoff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["material=steel"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Material: steel",
|
||||
"de": "Material: Stahl"
|
||||
}
|
||||
}
|
||||
],
|
||||
"question": {
|
||||
"en": "What is the bench (seating) made from?",
|
||||
"de": "Aus welchem Material besteht die Sitzbank (Sitzfläche)?"
|
||||
|
@ -115,16 +171,90 @@
|
|||
},
|
||||
{
|
||||
"render": {
|
||||
"en": "Color: {colour}",
|
||||
"en": "Colour: {colour}",
|
||||
"de": "Farbe: {colour}"
|
||||
},
|
||||
"question": {
|
||||
"en": "Which color does this bench have?",
|
||||
"en": "Which colour does this bench have?",
|
||||
"de": "Welche Farbe hat diese Sitzbank?"
|
||||
},
|
||||
"freeform": {
|
||||
"key": "colour"
|
||||
}
|
||||
},
|
||||
"mappings": [
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=brown"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: brown",
|
||||
"de": "Farbe: braun"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=green"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: green",
|
||||
"de": "Farbe: grün"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=gray"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: gray",
|
||||
"de": "Farbe: grau"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=white"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: white",
|
||||
"de": "Farbe: weiß"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=red"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: red",
|
||||
"de": "Farbe: rot"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=black"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: black",
|
||||
"de": "Farbe: schwarz"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=blue"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: blue",
|
||||
"de": "Farbe: blau"
|
||||
}
|
||||
},
|
||||
{
|
||||
"if": {
|
||||
"and": ["colour=yellow"]
|
||||
},
|
||||
"then": {
|
||||
"en": "Colour: yellow",
|
||||
"de": "Farbe: gelb"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"hideUnderlayingFeaturesMinPercentage": 0,
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"startLat": 51.2095,
|
||||
"startZoom": 14,
|
||||
"startLon": 3.2228,
|
||||
"maintainer": "MapComlete",
|
||||
"maintainer": "MapComplete",
|
||||
"widenfactor": 0.05,
|
||||
"roamingRenderings": [
|
||||
{
|
||||
|
|
|
@ -81,34 +81,19 @@ function generateWikiEntry(layout: Layout){
|
|||
if(layout.hideFromOverview){
|
||||
return "";
|
||||
}
|
||||
let image = "MapComplete_Screenshot.png";
|
||||
if(layout.socialImage){
|
||||
// image = layout.socialImage;
|
||||
const languages = layout.supportedLanguages.map(ln => `{{#language:${ln}|en}}`).join(", ")
|
||||
let auth = "Yes";
|
||||
if(layout.maintainer !== "" && layout.maintainer !== "MapComplete"){
|
||||
auth=`Yes, by ${layout.maintainer};`
|
||||
}
|
||||
|
||||
|
||||
if(!image.startsWith("http")){
|
||||
// image = "https://pietervdvn.github.io/MapComplete/"+image
|
||||
}
|
||||
|
||||
return `{{Software
|
||||
|name = ${layout.id}
|
||||
|author = ${layout.maintainer ?? "MapComplete builtin"}
|
||||
|web = https://pietervdvn.github.io/MapComplete/${layout.id}.html
|
||||
|repo = https://github.com/pietervdvn/MapComplete
|
||||
|platform = web
|
||||
|code = Typescript;HTML;CSS
|
||||
|languages = ${layout.supportedLanguages.join(";")}
|
||||
|genre = display;editor
|
||||
|screenshot = ${image}
|
||||
|description = A MapComplete theme: ${Translations.W(layout.description)?.InnerRender() ?? ""}
|
||||
|map = yes
|
||||
|findLocation = yes
|
||||
|findNearbyPOI = yes
|
||||
|addPOI = yes
|
||||
|editPOI = yes
|
||||
|editTags = yes
|
||||
|
|
||||
return `{{service_item
|
||||
|name= [https://pietervdvn.github.io/MapComplete/${layout.id}.html ${layout.id}]
|
||||
|region= Worldwide
|
||||
|lang= ${languages}
|
||||
|descr= A MapComplete theme: ${Translations.W(layout.description).InnerRender()}
|
||||
|material= {{yes|[https://github.com/pietervdvn/MapComplete ${auth}]}}
|
||||
|image= MapComplete_Screenshot.png
|
||||
|genre= POI, editor, ${layout.id}
|
||||
}}`
|
||||
}
|
||||
|
||||
|
@ -240,7 +225,9 @@ function createLandingPage(layout: Layout) {
|
|||
const blacklist = ["", "test", ".", "..", "manifest", "index", "land", "preferences", "account", "openstreetmap"]
|
||||
const all = AllKnownLayouts.allSets;
|
||||
|
||||
let wikiPage = "";
|
||||
let wikiPage = "{|class=\"wikitable sortable\"\n" +
|
||||
"! Name, link !! Genre !! Covered region !! Language !! Description !! Free materials !! Image\n" +
|
||||
"|-";
|
||||
|
||||
for (const layoutName in all) {
|
||||
if (blacklist.indexOf(layoutName.toLowerCase()) >= 0) {
|
||||
|
@ -262,8 +249,11 @@ for (const layoutName in all) {
|
|||
const landing = createLandingPage(layout);
|
||||
writeFile(enc(layout.id) + ".html", landing, err)
|
||||
|
||||
wikiPage += "\n\n"+generateWikiEntry(layout);
|
||||
wikiPage += "\n"+generateWikiEntry(layout);
|
||||
}
|
||||
|
||||
wikiPage += "|}"
|
||||
|
||||
writeFile("./assets/generated/wikiIndex", wikiPage, (err) => {
|
||||
if (err !== null) {
|
||||
console.log("Could not save wikiindex", err);
|
||||
|
|
23
test.ts
23
test.ts
|
@ -1,15 +1,32 @@
|
|||
/*
|
||||
|
||||
|
||||
|
||||
import OpeningHoursPickerTable from "./UI/Input/OpeningHours/OpeningHoursPickerTable";
|
||||
import {UIElement} from "./UI/UIElement";
|
||||
import {UIEventSource} from "./Logic/UIEventSource";
|
||||
import {OpeningHour} from "./Logic/OpeningHours";
|
||||
import {TagRendering} from "./UI/Popup/TagRendering";
|
||||
import {Tag} from "./Logic/Tags";
|
||||
|
||||
new OpeningHoursPickerTable(new UIEventSource<UIElement[]>([]), new UIEventSource<OpeningHour[]>([]))
|
||||
.AttachTo("maindiv")
|
||||
|
||||
const tr = new TagRendering(
|
||||
new UIEventSource<any>({
|
||||
id: "node/-1",
|
||||
amenity: "bench"
|
||||
}),
|
||||
{
|
||||
question: "Does this bench have a backrest?",
|
||||
mappings: [{
|
||||
k: new Tag("backrest", "yes"),
|
||||
txt: "Has backrest"
|
||||
},
|
||||
{
|
||||
k: new Tag("backrest", "no"),
|
||||
txt: "Has no backrest"
|
||||
}]
|
||||
}
|
||||
)
|
||||
tr.AttachTo("maindiv")
|
||||
|
||||
/*/
|
||||
|
||||
|
|
Loading…
Reference in a new issue