forked from MapComplete/MapComplete
		
	Merge branch 'master' into develop
This commit is contained in:
		
						commit
						f117ab64e5
					
				
					 11 changed files with 905 additions and 540 deletions
				
			
		|  | @ -752,7 +752,7 @@ | |||
|   "deletion": { | ||||
|     "softDeletionTags": { | ||||
|       "and": [ | ||||
|         "disused:emergency:=defibrillator}", | ||||
|         "disused:emergency:=defibrillator", | ||||
|         "emergency=" | ||||
|       ] | ||||
|     }, | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ | |||
|               } | ||||
|             ] | ||||
|           }, | ||||
|           "color": "red" | ||||
|           "color": "black" | ||||
|         } | ||||
|       ] | ||||
|     } | ||||
|  | @ -43,5 +43,6 @@ | |||
|   }, | ||||
|   "tagRenderings": [ | ||||
|      | ||||
|   ] | ||||
|   ], | ||||
|   "syncSelection": "global" | ||||
| } | ||||
|  |  | |||
|  | @ -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" | ||||
|     }, | ||||
|     { | ||||
|  |  | |||
|  | @ -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)", | ||||
|  |  | |||
|  | @ -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
											
										
									
								
							|  | @ -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 d’arte è 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 d’arte" | ||||
|         } | ||||
|     }, | ||||
|     "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?" | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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 | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue