Merge branch 'master' into develop

This commit is contained in:
Pieter Vander Vennet 2024-01-16 21:54:37 +01:00
commit f117ab64e5
11 changed files with 905 additions and 540 deletions

View file

@ -752,7 +752,7 @@
"deletion": {
"softDeletionTags": {
"and": [
"disused:emergency:=defibrillator}",
"disused:emergency:=defibrillator",
"emergency="
]
},

View file

@ -18,7 +18,7 @@
}
]
},
"color": "red"
"color": "black"
}
]
}
@ -43,5 +43,6 @@
},
"tagRenderings": [
]
],
"syncSelection": "global"
}

View file

@ -26,7 +26,7 @@
"source": {
"osmTags": "amenity=toilets"
},
"minzoom": 12,
"minzoom": 10,
"title": {
"render": {
"en": "Toilet",
@ -683,6 +683,7 @@
}
}
],
"multiAnswer": true,
"id": "toilet-changing_table:location"
},
{

View file

@ -60,12 +60,13 @@
"unmark": "Von persönlicher Liste bevorzugter Standorte entfernen",
"unmarkNotDeleted": "Dieser Punkt wird nicht gelöscht und ist weiterhin auf der entsprechenden Karte für dich und andere sichtbar"
},
"downloadGeojson": "Lade deine Favoriten als geojson herunter",
"downloadGpx": "Lade deine Favoriten als GPX herunter",
"intro": "Du hast {length} Orte als Lieblingsort markiert.",
"downloadGeojson": "Favoriten als geojson herunterladen",
"downloadGpx": "Favoriten als GPX herunterladen",
"intro": "Du hast {length} Orte als Favorit markiert.",
"introPrivacy": "Diese Liste ist nur für dich sichtbar",
"loginToSeeList": "Melde dich an, um die Liste der Orte zu sehen, die du als Favoriten markiert hast",
"tab": "Deine Favoriten"
"tab": "Deine Favoriten",
"title": "Ausgewählte Orte"
},
"flyer": {
"aerial": "Diese Karte verwendet einen anderen Hintergrund, nämlich Luftaufnahmen der Agentschap Informatie Vlaanderen",
@ -173,12 +174,14 @@
"openIssueTracker": "Fehler melden",
"openMapillary": "Mapillary öffnen",
"openOsmcha": "Neueste Bearbeitungen mit {theme} ansehen",
"seeOnMapillary": "Dieses Bild auf Mapillary ansehen",
"themeBy": "Dieses Thema wurde erstellt von {author}",
"title": "Copyright und Urheberrechtsangabe",
"translatedBy": "MapComplete wurde übersetzt von {contributors} und <a href='https://github.com/pietervdvn/MapComplete/graphs/contributors' target='_blank'>{hiddenCount} weiteren Personen</a>"
},
"back": "Zurück",
"backToIndex": "Zur Übersicht aller Themenkarten",
"backToMap": "Zurück zur Karte",
"backgroundMap": "Hintergrundkarte auswählen",
"backgroundSwitch": "Hintergrund wechseln",
"cancel": "Abbrechen",
@ -224,6 +227,13 @@
"histogram": {
"error_loading": "Das Histogramm konnte nicht geladen werden"
},
"labels": {
"background": "Hintergrund ändern",
"filter": "Daten filtern",
"menu": "Menü",
"zoomIn": "Hineinzoomen",
"zoomOut": "Herauszoomen"
},
"layerSelection": {
"title": "Ebenen auswählen",
"zoomInToSeeThisLayer": "Ausschnitt vergrößern, um Ebene anzuzeigen"
@ -272,7 +282,9 @@
"closed_permanently": "Geschlossen auf unbestimmte Zeit",
"closed_until": "Geschlossen bis {date}",
"error_loading": "Fehler: Diese Öffnungszeiten können nicht angezeigt werden.",
"friday": "Am Freitag {ranges}",
"loadingCountry": "Land ermitteln…",
"monday": "Am Montag {ranges}",
"not_all_rules_parsed": "Die Öffnungszeiten sind kompliziert. Folgenden Regeln werden im Eingabefenster ignoriert:",
"openTill": "bis",
"open_24_7": "Durchgehend geöffnet",
@ -281,7 +293,15 @@
"ph_closed": "geschlossen",
"ph_not_known": " ",
"ph_open": "geöffnet",
"ph_open_as_usual": "geöffnet wie üblich"
"ph_open_as_usual": "geöffnet wie üblich",
"ranges": "von {starttime} bis {endtime}",
"rangescombined": "{range0} und {range1}",
"saturday": "Am Samstag {ranges}",
"sunday": "Am Sonntag {ranges}",
"thursday": "Am Donnerstag {ranges}",
"tuesday": "Am Dienstag {ranges}",
"unknown": "Die Öffnungszeiten sind unbekannt",
"wednesday": "Am Mittwoch {ranges}"
},
"osmLinkTooltip": "Dieses Element auf OpenStreetMap öffnen, um Verlauf und Bearbeitungsmöglichkeiten anzuzeigen",
"pdf": {
@ -290,7 +310,7 @@
"generatedWith": "Erstellt mit mapcomplete.org/{layoutid}",
"versionInfo": "v{version} - erstellt am {date}"
},
"pickLanguage": "Sprache auswählen: ",
"pickLanguage": "Sprache auswählen",
"poweredByOsm": "Unterstützt von OpenStreetMap",
"questionBox": {
"answeredMultiple": "Du hast {answered} Fragen beantwortet",
@ -324,6 +344,7 @@
"searchShort": "Suche…",
"searching": "Suchen …"
},
"share": "Teilen",
"sharescreen": {
"copiedToClipboard": "Verknüpfung in Zwischenablage kopiert",
"documentation": "Für weitere Informationen über verfügbare URL-Parameter, <a href='https://github.com/pietervdvn/MapComplete/blob/develop/Docs/URL_Parameters.md' target='_blank'>siehe Dokumentation</a>",
@ -369,6 +390,27 @@
"uploadingChanges": "Änderungen werden hochgeladen…",
"useSearch": "Verwenden Sie die Suche oben, um Voreinstellungen anzuzeigen",
"useSearchForMore": "Verwenden Sie die Suchfunktion, um innerhalb von {total} weitere Werte zu suchen…",
"visualFeedback": {
"directionsAbsolute": {
"E": "Ost",
"N": "Nord",
"NE": "Nordost",
"NW": "Nordwest",
"S": "Süd",
"SE": "Südost",
"SW": "Südwest",
"W": "West"
},
"directionsRelative": {
"left": "links",
"right": "rechts",
"sharp_left": "scharf links",
"sharp_right": "scharf rechts",
"slight_left": "leicht links",
"slight_right": "leicht rechts",
"straight": "geradeaus"
}
},
"waitingForGeopermission": "Warten auf Ihre Erlaubnis, Standortdaten zu verwenden…",
"waitingForLocation": "Ihr Standort wird gesucht…",
"weekdays": {
@ -416,12 +458,16 @@
"hotkeyDocumentation": {
"action": "Aktion",
"closeSidebar": "Seitenleiste schließen",
"geolocate": "Verschieben Sie die Karte auf den aktuellen Standort oder zoomen Sie die Karte auf den aktuellen Standort. Beantragt Standortberechtigung",
"geolocate": "Karte auf den aktuellen Standort verschieben oder zoomen. Erfordert Standortberechtigung",
"intro": "MapComplete unterstützt folgende Tastaturbefehle:",
"key": "Tastenkombination",
"openLayersPanel": "Öffnet das Menü für Ebenen und Filter",
"openLayersPanel": "Auswahl für Hintergrundebenen öffnen",
"selectAerial": "Hintergrund als Luftbild oder Satellitenbild einstellen. Wechselt zwischen den zwei besten verfügbaren Ebenen",
"selectItem": "Wähle das POI, das dem Kartenmittelpunkt (Fadenkreuz) am nächsten liegt. Nur wenn die Tastaturnavigation verwendet wird",
"selectFavourites": "Favoriten anzeigen",
"selectItem": "Objekt auswählen, das dem Kartenmittelpunkt (Fadenkreuz) am nächsten liegt. Nur wenn die Tastaturnavigation verwendet wird",
"selectItem2": "Objekt auswählen, das dem Kartenmittelpunkt (Fadenkreuz) am zweitnächsten liegt. Nur wenn die Tastaturnavigation verwendet wird",
"selectItem3": "Objekt auswählen, das dem Kartenmittelpunkt (Fadenkreuz) am drittnächsten liegt. Nur wenn die Tastaturnavigation verwendet wird",
"selectItemI": "Objekt auswählen, das dem Kartenmittelpunkt (Fadenkreuz) am viertnächsten liegt. Nur wenn die Tastaturnavigation verwendet wird",
"selectMap": "Karte aus externer Quelle als Hintergrund wählen. Wechselt zwischen den zwei besten verfügbaren Ebenen",
"selectMapnik": "OpenStreetMap-carto als Hintergrundebene wählen",
"selectOsmbasedmap": "OpenStreetMap-basierte Karte als Hintergrund auswählen (oder Hintergrundebene deaktivieren)",

View file

@ -366,7 +366,7 @@
"testing": "Testing - changes won't be saved",
"uploadError": "Error while uploading changes: {error}",
"uploadGpx": {
"choosePermission": "Choose below if your track should be shared:",
"choosePermission": "Choose below how your track should be shared:",
"confirm": "Confirm upload",
"gpxServiceOffline": "The GPX-service is currently offline - uploading is currently not possible. Try again later.",
"intro0": "By uploading your track, OpenStreetMap.org will retain a full copy of the track.",

File diff suppressed because it is too large Load diff

View file

@ -69,6 +69,15 @@
"1": {
"then": "Murale"
},
"10": {
"then": "Azulejo (ornamento decorativo piastrellato spagnolo)"
},
"11": {
"then": "Mosaico di piastrelle"
},
"12": {
"then": "Scultura in legno"
},
"2": {
"then": "Dipinto"
},
@ -92,12 +101,6 @@
},
"9": {
"then": "Rilievo"
},
"10": {
"then": "Azulejo (ornamento decorativo piastrellato spagnolo)"
},
"11": {
"then": "Mosaico di piastrelle"
}
},
"question": "Che tipo di opera darte è questo?",
@ -110,6 +113,24 @@
"text": "Ulteriori informazioni su questo sito web"
}
}
},
"artwork_subject": {
"question": "Che cosa rappresenta quest'opera d'arte?",
"render": "Quest'opera d'arte rappresenta {wikidata_label(subject:wikidata)}{wikipedia(subject:wikidata)}"
},
"doubles_as_bench": {
"mappings": {
"0": {
"then": "Quest'opera d'arte funge anche da panchina"
},
"1": {
"then": "Quest'opera d'arte non funge anche da panchina"
},
"2": {
"then": "Quest'opera d'arte non funge anche da panchina"
}
},
"question": "Quest'opera d'arte funge da panchina?"
}
},
"title": {
@ -121,6 +142,79 @@
"render": "Opera darte"
}
},
"atm": {
"description": "Sportello Bancomat per prelevare denaro",
"name": "Sportelli Bancomat",
"presets": {
"0": {
"title": "Uno sportello bancomat"
}
},
"tagRenderings": {
"cash_in": {
"mappings": {
"0": {
"then": "Probabilmente non puoi depositare dei contanti in questo sportello bancomat"
},
"1": {
"then": "Puoi depositare dei contanti in questo sportello bancomat"
},
"2": {
"then": "Non puoi depositare dei contanti in questo sportello bancomat"
}
},
"question": "Puoi depositare dei contanti in questo sportello bancomat?"
},
"cash_out": {
"mappings": {
"0": {
"then": "Puoi prelevare dei contanti da questo sportello bancomat"
},
"1": {
"then": "Puoi prelevare dei contanti da questo sportello bancomat"
},
"2": {
"then": "Non puoi prelevare dei contanti da questo sportello bancomat"
}
},
"question": "Puoi prelevare dei contanti da questo sportello bancomat?"
},
"cash_out-denominations-notes": {
"mappings": {
"0": {
"then": "Si possono prelevare banconote da 5 euro"
},
"1": {
"then": "Si possono prelevare banconote da 10 euro"
},
"2": {
"then": "Si possono prelevare banconote da 20 euro"
},
"3": {
"then": "Si possono prelevare banconote da 50 euro"
},
"4": {
"then": "Si possono prelevare banconote da 100 euro"
},
"5": {
"then": "Non si possono prelevare banconote da 200 euro"
},
"6": {
"then": "Non si possono prelevare banconote da 500 euro"
}
},
"question": "Quali banconote si possono ritirare qui?"
},
"name": {
"render": "Il nome di questo sportello bancomat è {name}"
},
"operator": {
"freeform": {
"placeholder": "Operatore"
}
}
}
},
"bench": {
"name": "Panchine",
"presets": {
@ -1898,27 +1992,6 @@
"1": {
"question": "Riciclo di batterie"
},
"2": {
"question": "Riciclo di confezioni per bevande"
},
"3": {
"question": "Riciclo di lattine"
},
"4": {
"question": "Riciclo di abiti"
},
"5": {
"question": "Riciclo di olio da cucina"
},
"6": {
"question": "Riciclo di olio da motore"
},
"8": {
"question": "Riciclo di umido"
},
"9": {
"question": "Riciclo di bottiglie di vetro"
},
"10": {
"question": "Riciclo di vetro"
},
@ -1946,8 +2019,29 @@
"19": {
"question": "Riciclo di secco"
},
"2": {
"question": "Riciclo di confezioni per bevande"
},
"20": {
"question": "Riciclo di secco"
},
"3": {
"question": "Riciclo di lattine"
},
"4": {
"question": "Riciclo di abiti"
},
"5": {
"question": "Riciclo di olio da cucina"
},
"6": {
"question": "Riciclo di olio da motore"
},
"8": {
"question": "Riciclo di umido"
},
"9": {
"question": "Riciclo di bottiglie di vetro"
}
}
},
@ -2000,27 +2094,6 @@
"1": {
"then": "Cartoni per bevande"
},
"2": {
"then": "Lattine"
},
"3": {
"then": "Abiti"
},
"4": {
"then": "Olio da cucina"
},
"5": {
"then": "Olio di motore"
},
"7": {
"then": "Verde"
},
"8": {
"then": "Umido"
},
"9": {
"then": "Bottiglie di vetro"
},
"10": {
"then": "Vetro"
},
@ -2045,6 +2118,9 @@
"19": {
"then": "Scarpe"
},
"2": {
"then": "Lattine"
},
"20": {
"then": "Piccoli elettrodomestici"
},
@ -2056,6 +2132,24 @@
},
"23": {
"then": "Secco"
},
"3": {
"then": "Abiti"
},
"4": {
"then": "Olio da cucina"
},
"5": {
"then": "Olio di motore"
},
"7": {
"then": "Verde"
},
"8": {
"then": "Umido"
},
"9": {
"then": "Bottiglie di vetro"
}
},
"question": "Cosa si può riciclare qui?"
@ -2856,4 +2950,4 @@
"render": "pala eolica"
}
}
}
}

View file

@ -842,7 +842,7 @@
"hackerspaces": {
"description": "Auf dieser Karte können Sie Hackerspaces sehen, einen neuen Hackerspace hinzufügen oder Daten direkt aktualisieren",
"shortDescription": "Eine Karte von Hackerspaces",
"title": "Hackerspaces"
"title": "Hackerspaces und Makerspaces"
},
"hailhydrant": {
"description": "Auf dieser Karte können Sie Hydranten, Feuerwachen, Krankenwagen und Feuerlöscher in Ihren bevorzugten Stadtvierteln finden und aktualisieren.",
@ -918,6 +918,13 @@
}
}
},
"10": {
"options": {
"0": {
"question": "Etymologie-Thema ausschließen"
}
}
},
"2": {
"options": {
"0": {
@ -973,13 +980,6 @@
"question": "GRB-Theme ausschließen"
}
}
},
"10": {
"options": {
"0": {
"question": "Etymologie-Thema ausschließen"
}
}
}
},
"name": "Zentrum der Änderungssätze",
@ -1056,6 +1056,33 @@
"onwheels": {
"description": "Auf dieser Karte können Sie öffentlich zugängliche Orte für Rollstuhlfahrer ansehen, bearbeiten oder hinzufügen",
"layers": {
"19": {
"override": {
"=title": {
"render": "Statistik"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Import"
}
}
},
"1": {
"render": {
"special": {
"message": "Alle vorgeschlagenen Tags hinzufügen"
}
}
}
}
}
},
"4": {
"override": {
"filter": {
@ -1098,33 +1125,6 @@
"override": {
"name": "Barrierefreie Parkplätze"
}
},
"19": {
"override": {
"=title": {
"render": "Statistik"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Import"
}
}
},
"1": {
"render": {
"special": {
"message": "Alle vorgeschlagenen Tags hinzufügen"
}
}
}
}
}
}
},
"title": "Auf Rädern"
@ -1285,10 +1285,6 @@
"stations": {
"description": "Bahnhofsdetails ansehen, bearbeiten und hinzufügen",
"layers": {
"3": {
"description": "Ebene mit Bahnhöfen",
"name": "Bahnhöfe"
},
"16": {
"description": "Anzeigen der Züge, die von diesem Bahnhof abfahren",
"name": "Abfahrtstafeln",
@ -1320,6 +1316,10 @@
"title": {
"render": "Abfahrtstafel"
}
},
"3": {
"description": "Ebene mit Bahnhöfen",
"name": "Bahnhöfe"
}
},
"title": "Bahnhöfe"
@ -1498,4 +1498,4 @@
"shortDescription": "Eine Karte mit Abfalleimern",
"title": "Abfalleimer"
}
}
}

View file

@ -842,7 +842,7 @@
"hackerspaces": {
"description": "On this map you can see hackerspaces, add a new hackerspace or update data directly",
"shortDescription": "A map of hackerspaces",
"title": "Hackerspaces"
"title": "Hackerspaces and makerspaces"
},
"hailhydrant": {
"description": "On this map you can find and update hydrants, fire stations, ambulance stations, and extinguishers in your favorite neighborhoods.",
@ -918,6 +918,13 @@
}
}
},
"10": {
"options": {
"0": {
"question": "Exclude etymology theme"
}
}
},
"2": {
"options": {
"0": {
@ -973,13 +980,6 @@
"question": "Exclude GRB theme"
}
}
},
"10": {
"options": {
"0": {
"question": "Exclude etymology theme"
}
}
}
},
"name": "Changeset centers",
@ -1056,6 +1056,33 @@
"onwheels": {
"description": "On this map, publicly weelchair accessible places are shown and can be easily added",
"layers": {
"19": {
"override": {
"=title": {
"render": "Statistics"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Import"
}
}
},
"1": {
"render": {
"special": {
"message": "Add all the suggested tags"
}
}
}
}
}
},
"4": {
"override": {
"filter": {
@ -1098,33 +1125,6 @@
"override": {
"name": "Disabled parking spaces"
}
},
"19": {
"override": {
"=title": {
"render": "Statistics"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Import"
}
}
},
"1": {
"render": {
"special": {
"message": "Add all the suggested tags"
}
}
}
}
}
}
},
"title": "OnWheels"
@ -1285,10 +1285,6 @@
"stations": {
"description": "View, edit and add details to a train station",
"layers": {
"3": {
"description": "Layer showing train stations",
"name": "Train Stations"
},
"16": {
"description": "Displays showing the trains that will leave from this station",
"name": "Departures boards",
@ -1320,6 +1316,10 @@
"title": {
"render": "Departures board"
}
},
"3": {
"description": "Layer showing train stations",
"name": "Train Stations"
}
},
"title": "Train Stations"
@ -1498,4 +1498,4 @@
"shortDescription": "A map with waste baskets",
"title": "Waste Basket"
}
}
}

View file

@ -464,7 +464,7 @@
"description": "Este mapa muestra redes de nodos ciclistas y te permita añadir nodos nuevos de manera sencilla",
"layers": {
"0": {
"name": "enlaces nodo a nodo",
"name": "Vínculos entre nodos",
"tagRenderings": {
"node2node-survey:date": {
"override": {
@ -476,19 +476,34 @@
"title": {
"mappings": {
"0": {
"then": "enlace nodo a nodo <strong>{ref}</strong>"
"then": "Vínculos entre nodos <strong>{ref}</strong>"
}
},
"render": "enlace nodo a nodo"
"render": "Vínculos entre nodos"
}
},
"1": {
"name": "nodos",
"name": "Nodos",
"presets": {
"0": {
"title": "un nodo cíclico"
}
},
"tagRenderings": {
"node-expected_rcn_route_relations": {
"freeform": {
"placeholder": "Por ejemplo, 3"
},
"question": "¿A cuántos otros nodos ciclistas enlaza este nodo?",
"render": "Este nodo enlaza a {expected_rcn_route_relations} otros nodos ciclistas."
},
"node-rxn_ref": {
"freeform": {
"placeholder": "Por ejemplo, 1"
},
"question": "¿Cuál es el número de referencia de este nodo cíclico?",
"render": "Este nodo cíclico tiene el número de referencia {rcn_ref}"
},
"node-survey:date": {
"override": {
"question": "¿Cuándo fue sondeado este nodo ciclista por última vez?",
@ -500,10 +515,30 @@
"mappings": {
"0": {
"then": "nodo ciclista <strong>{rcn_ref}</strong>"
},
"1": {
"then": "Nodo de ciclo propuesto <strong>{proposed:rcn_ref}</strong>"
}
},
"render": "nodo ciclista"
}
},
"2": {
"override": {
"name": "Indicadores de ciclismo",
"title": {
"render": "Hito ciclista"
}
}
},
"3": {
"override": {
"presets": {
"0": {
"title": "Un marcador de ruta para un enlace de nodo a nodo"
}
}
}
}
},
"title": "Redes de Nodos Ciclistas"
@ -746,6 +781,21 @@
"layers": {
"0": {
"override": {
"filter+": {
"0": {
"options": {
"0": {
"question": "No se prefiere ningún tipo de aceite"
},
"1": {
"question": "Solo muestra freiduras que utilizan aceite vegetal"
},
"2": {
"question": "Solo muestra freiduras que utilizan aceite animal"
}
}
}
},
"name": "Tienda de patatas fritas"
}
}
@ -792,7 +842,7 @@
"hackerspaces": {
"description": "En este mapa puedes ver hackerspaces, añadir un nuevo hackerspace o actualizar datos directamente",
"shortDescription": "Un mapa de hackerspaces",
"title": "Hackerspaces"
"title": "Hackerspaces and makerspaces"
},
"hailhydrant": {
"description": "En este mapa puedes encontrar y actualizar hidrantes contra incendios, estaciones de bomberos, estaciones de ambulancias y extintores en tus vecindarios favoritos.",
@ -824,6 +874,10 @@
"description": "En este mapa encontrarás hoteles en tu zona",
"title": "Hoteles"
},
"icecream": {
"description": "Mapa de heladerías y máquinas expendedoras de helados",
"title": "Helado"
},
"indoors": {
"description": "En este mapa se muestran los lugares cubiertos de acceso público",
"title": "En interiores"
@ -844,6 +898,23 @@
},
"title": "Bordillos y cruces"
},
"mapcomplete-changes": {
"description": "Este mapa muestra todos los cambios realizados con MapComplete",
"layers": {
"0": {
"description": "Muestra todos los cambios de MapComplete",
"filter": {
"0": {
"options": {
"0": {
"question": "El nombre del tema contiene {search}"
}
}
}
}
}
}
},
"maproulette": {
"description": "Tema que muestra las tareas de MapRoulette, permitiendo buscarlas, filtrarlas y arreglarlas.",
"title": "Tareas de MapRoulette"
@ -875,6 +946,33 @@
"onwheels": {
"description": "En este mapa se muestran los lugares accesibles al público en silla de ruedas, que pueden añadirse fácilmente",
"layers": {
"19": {
"override": {
"=title": {
"render": "Estadísticas"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Importar"
}
}
},
"1": {
"render": {
"special": {
"message": "Añadir todas las etiquetas sugeridas"
}
}
}
}
}
},
"4": {
"override": {
"filter": {
@ -917,33 +1015,6 @@
"override": {
"name": "Plazas de aparcamiento para discapacitados"
}
},
"19": {
"override": {
"=title": {
"render": "Estadísticas"
}
}
},
"20": {
"override": {
"+tagRenderings": {
"0": {
"render": {
"special": {
"text": "Importar"
}
}
},
"1": {
"render": {
"special": {
"message": "Añadir todas las etiquetas sugeridas"
}
}
}
}
}
}
},
"title": "Sobre ruedas"
@ -1104,10 +1175,6 @@
"stations": {
"description": "Ver, editar y añadir detalles a una estación de tren",
"layers": {
"3": {
"description": "Capa que muestra las estaciones de tren",
"name": "Estación de Tren"
},
"16": {
"description": "Pantallas que muestran los trenes que saldrán de esta estación",
"name": "Tableros de salidas",
@ -1139,6 +1206,10 @@
"title": {
"render": "Tablero de salidas"
}
},
"3": {
"description": "Capa que muestra las estaciones de tren",
"name": "Estación de Tren"
}
},
"title": "Estaciones de tren"
@ -1260,4 +1331,4 @@
"shortDescription": "Un mapa con papeleras",
"title": "Papeleras"
}
}
}

View file

@ -35,6 +35,10 @@ export default class PhoneValidator extends Validator {
if (country !== undefined) {
countryCode = country()?.toUpperCase()
}
if (this.isShortCode(str, countryCode)) {
return true
}
return parsePhoneNumberFromString(str, countryCode)?.isValid() ?? false
}
@ -46,9 +50,28 @@ export default class PhoneValidator extends Validator {
if (country) {
countryCode = country()
}
if (this.isShortCode(str, countryCode?.toUpperCase())) {
return str
}
return parsePhoneNumberFromString(
str,
countryCode?.toUpperCase() as any
)?.formatInternational()
}
/**
* Indicates if the given string is a special 'short code' valid in the given country
* see https://nl.wikipedia.org/wiki/Short_code
* @param str a possible phone number
* @param country the upper case, two-letter code for a country
* @private
*/
private isShortCode(str: string, country: string) {
if (country == "BE" && str.length === 4 && str.match(/[0-9]{4}/)) {
return true
}
if (country == "NL" && str.length === 4 && str.match(/14[0-9]{3}/)) {
return true
}
}
}