forked from MapComplete/MapComplete
		
	Fix: fix reverse tabnabbing in most cases, add rel=noopener to most links to untrusted content
This commit is contained in:
		
							parent
							
								
									fd39f66e2e
								
							
						
					
					
						commit
						d9b8257e47
					
				
					 25 changed files with 462 additions and 77 deletions
				
			
		|  | @ -184,14 +184,20 @@ | ||||||
|         "ca": "En quina pàgina web es pot trobar més informació sobre la bicicleta blanca o l'accident?" |         "ca": "En quina pàgina web es pot trobar més informació sobre la bicicleta blanca o l'accident?" | ||||||
|       }, |       }, | ||||||
|       "render": { |       "render": { | ||||||
|         "en": "<a href='{source}' target='_blank'>More info available</a>", |         "special": { | ||||||
|         "nl": "<a href='{source}' target='_blank'>Meer informatie</a>", |           "type": "link", | ||||||
|         "de": "<a href='{source}' target='_blank'>Mehr Informationen</a>", |           "href": "{source}", | ||||||
|         "it": "<a href='{source}' target='_blank'>Sono disponibili ulteriori informazioni</a>", |           "text": { | ||||||
|         "ru": "<a href='{source}' target='_blank'>Доступна более подробная информация</a>", |             "en": "More info available", | ||||||
|         "fr": "<a href='{source}' target='_blank'>Plus d'informations sont disponibles</a>", |             "nl": "Meer informatie", | ||||||
|         "id": "<a href='{source}' target='_blank'>Informasi lanjut tersedia</a>", |             "de": "Mehr Informationen", | ||||||
|         "ca": "<a href='{source}' target='_blank'>Més informació disponible</a>" |             "it": "Sono disponibili ulteriori informazioni", | ||||||
|  |             "ru": "Доступна более подробная информация", | ||||||
|  |             "fr": "Plus d'informations sont disponibles", | ||||||
|  |             "id": "Informasi lanjut tersedia", | ||||||
|  |             "ca": "Més informació disponible" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       }, |       }, | ||||||
|       "freeform": { |       "freeform": { | ||||||
|         "type": "url", |         "type": "url", | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ | ||||||
|       "labels": [ |       "labels": [ | ||||||
|         "defaults" |         "defaults" | ||||||
|       ], |       ], | ||||||
|       "render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>", |       "render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank' rel='noopener'><img src='./assets/svg/wikipedia.svg' textmode='📖' alt='Wikipedia'/></a>", | ||||||
|       "condition": { |       "condition": { | ||||||
|         "or": [ |         "or": [ | ||||||
|           "wikipedia~*", |           "wikipedia~*", | ||||||
|  | @ -23,7 +23,7 @@ | ||||||
|         { |         { | ||||||
|           "#": "ignore-image-in-then", |           "#": "ignore-image-in-then", | ||||||
|           "if": "wikipedia=", |           "if": "wikipedia=", | ||||||
|           "then": "<a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'><img src='./assets/svg/wikidata.svg' alt='WD'/></a>" |           "then": "<a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank' rel='noopener'><img src='./assets/svg/wikidata.svg' alt='WD'/></a>" | ||||||
|         } |         } | ||||||
|       ] |       ] | ||||||
|     }, |     }, | ||||||
|  | @ -106,7 +106,7 @@ | ||||||
|       "labels": [ |       "labels": [ | ||||||
|         "defaults" |         "defaults" | ||||||
|       ], |       ], | ||||||
|       "render": "<a href='{website}' target='_blank'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>", |       "render": "<a href='{website}' target='_blank' rel='noopener'><img textmode='🌐' alt='website' src='./assets/layers/icons/website.svg'/></a>", | ||||||
|       "condition": "website~*" |       "condition": "website~*" | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|  | @ -140,7 +140,7 @@ | ||||||
|       "labels": [ |       "labels": [ | ||||||
|         "defaults" |         "defaults" | ||||||
|       ], |       ], | ||||||
|       "render": "<a href='https://openstreetmap.org/{id}' target='_blank'><img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/></a>", |       "render": "<a href='https://openstreetmap.org/{id}' target='_blank' rel='noopener'><img alt='on osm' textmode='🗺️' src='./assets/svg/osm-logo-us.svg'/></a>", | ||||||
|       "mappings": [ |       "mappings": [ | ||||||
|         { |         { | ||||||
|           "if": "id~.*/-.*", |           "if": "id~.*/-.*", | ||||||
|  | @ -149,7 +149,7 @@ | ||||||
|         { |         { | ||||||
|           "#": "ignore-image-in-then", |           "#": "ignore-image-in-then", | ||||||
|           "if": "_backend~*", |           "if": "_backend~*", | ||||||
|           "then": "<a href='{_backend}/{id}' target='_blank'><img src='./assets/svg/osm-logo-us.svg'/></a>" |           "then": "<a href='{_backend}/{id}' target='_blank' rel='noopener'><img src='./assets/svg/osm-logo-us.svg'/></a>" | ||||||
|         } |         } | ||||||
|       ], |       ], | ||||||
|       "condition": "id~(node|way|relation)/[0-9]*" |       "condition": "id~(node|way|relation)/[0-9]*" | ||||||
|  |  | ||||||
|  | @ -438,13 +438,19 @@ | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       "render": { |       "render": { | ||||||
|         "en": "More info on <a href='{website}' target='_blank'>the website</a>", |         "special": { | ||||||
|         "nl": "Meer info op <a href='{website}' target='_blank'>de website</a>", |           "type": "link", | ||||||
|         "de": "Weitere Informationen auf <a href='{website}' target='_blank'>der Webseite</a>", |           "href": "{website}", | ||||||
|         "fr": "Plus d'infos sur <a href='{website}' target='_blank'>le site web</a>", |           "text": { | ||||||
|         "ru": "Более подробная информация <a href='{website}' target='_blank'>на сайте</a>", |             "en": "More info on the website", | ||||||
|         "it": "Maggiori informazioni sul <a href='{website}' target='_blank'>sito web</a>", |             "nl": "Meer info op de website", | ||||||
|         "hu": "További információ <a href='{website}' target='_blank'>ezen a weboldalon</a>" |             "de": "Weitere Informationen auf der Webseite", | ||||||
|  |             "fr": "Plus d'infos sur le site web", | ||||||
|  |             "ru": "Более подробная информация на сайте", | ||||||
|  |             "it": "Maggiori informazioni sul sito web", | ||||||
|  |             "hu": "További információ ezen a weboldalon" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|       }, |       }, | ||||||
|       "question": { |       "question": { | ||||||
|         "en": "Is there a website with more information about this public bookcase?", |         "en": "Is there a website with more information about this public bookcase?", | ||||||
|  |  | ||||||
|  | @ -1,13 +1,21 @@ | ||||||
| { | { | ||||||
|   "id": "mapcomplete-changes", |   "id": "mapcomplete-changes", | ||||||
|   "title": { |   "title": { | ||||||
|     "en": "Changes made with MapComplete" |     "en": "Changes made with MapComplete", | ||||||
|  |     "de": "Mit MapComplete erstellte Änderungen", | ||||||
|  |     "fr": "Changements faits avec MapComplete", | ||||||
|  |     "nl": "Wijzigingen gemaakt met MapComplete" | ||||||
|   }, |   }, | ||||||
|   "shortDescription": { |   "shortDescription": { | ||||||
|     "en": "Shows changes made by MapComplete" |     "en": "Show changes made with MapComplete", | ||||||
|  |     "de": "Mit MapComplete erstellte Änderungen anzeigen", | ||||||
|  |     "nl": "Toon wijzigingen gemaakt met MapComplete" | ||||||
|   }, |   }, | ||||||
|   "description": { |   "description": { | ||||||
|     "en": "This maps shows all the changes made with MapComplete" |     "en": "This maps shows all the changes made with MapComplete", | ||||||
|  |     "de": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", | ||||||
|  |     "fr": "Cette carte montre tous les changements faits avec MapComplete", | ||||||
|  |     "nl": "Deze kaart toont alle wijzigingen die met MapComplete gemaakt werden" | ||||||
|   }, |   }, | ||||||
|   "icon": "./assets/svg/logo.svg", |   "icon": "./assets/svg/logo.svg", | ||||||
|   "hideFromOverview": true, |   "hideFromOverview": true, | ||||||
|  | @ -20,7 +28,9 @@ | ||||||
|     { |     { | ||||||
|       "id": "mapcomplete-changes", |       "id": "mapcomplete-changes", | ||||||
|       "name": { |       "name": { | ||||||
|         "en": "Changeset centers" |         "en": "Changeset centers", | ||||||
|  |         "de": "Zentrum der Änderungssätze", | ||||||
|  |         "nl": "Centerpunt van changeset" | ||||||
|       }, |       }, | ||||||
|       "minzoom": 0, |       "minzoom": 0, | ||||||
|       "source": { |       "source": { | ||||||
|  | @ -31,41 +41,57 @@ | ||||||
|       }, |       }, | ||||||
|       "title": { |       "title": { | ||||||
|         "render": { |         "render": { | ||||||
|           "en": "Changeset for {theme}" |           "en": "Changeset for {theme}", | ||||||
|  |           "de": "Änderungssatz für {theme}", | ||||||
|  |           "fr": "Groupe de modifications pour {theme}" | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       "description": { |       "description": { | ||||||
|         "en": "Shows all MapComplete changes" |         "en": "Show all MapComplete changes", | ||||||
|  |         "de": "Alle MapComplete-Änderungen anzeigen", | ||||||
|  |         "nl": "Toon alle MapComplete wijzigingen" | ||||||
|       }, |       }, | ||||||
|       "tagRenderings": [ |       "tagRenderings": [ | ||||||
|         { |         { | ||||||
|           "id": "show_changeset_id", |           "id": "show_changeset_id", | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>" |             "en": "Changeset <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", | ||||||
|  |             "de": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>", | ||||||
|  |             "fr": "Groupe de modifications <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>" | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "contributor", |           "id": "contributor", | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What contributor did make this change?" |             "en": "Which contributor made this change?", | ||||||
|  |             "de": "Welcher Mitwirkende hat diese Änderung vorgenommen?", | ||||||
|  |             "fr": "Quel contributeur a fait cette modification ?", | ||||||
|  |             "nl": "Welke bijdrager maakte deze wijziging?" | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "user" |             "key": "user" | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" |             "en": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", | ||||||
|  |             "de": "Änderung gemacht von <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", | ||||||
|  |             "fr": "Modification faite par <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>", | ||||||
|  |             "nl": "Wijziging gemaakt door  <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "theme-id", |           "id": "theme-id", | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What theme was used to make this change?" |             "en": "What theme was used to make this change?", | ||||||
|  |             "de": "Welches Thema wurde für diese Änderung verwendet?", | ||||||
|  |             "fr": "Quel thème a été utilisé pour faire cette modification ?" | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "theme" |             "key": "theme" | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Change with theme <a href='https://mapcomplete.org/{theme}'>{theme}</a>" |             "en": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", | ||||||
|  |             "de": "Geändert mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>", | ||||||
|  |             "fr": "Modifié avec le thème <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>" | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|  | @ -74,19 +100,29 @@ | ||||||
|             "key": "locale" |             "key": "locale" | ||||||
|           }, |           }, | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What locale (language) was this change made in?" |             "en": "What locale (language) was this change made in?", | ||||||
|  |             "de": "In welcher Sprache wurde diese Änderung vorgenommen?", | ||||||
|  |             "fr": "En quelle langue est-ce que ce changement a été fait ?", | ||||||
|  |             "nl": "In welke locale (taal) werd deze wijziging gemaakt?" | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "User locale is {locale}" |             "en": "User locale is {locale}", | ||||||
|  |             "de": "Usersprache ist {locale}", | ||||||
|  |             "nl": "De gebruikerstaal is {locale}" | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         { |         { | ||||||
|           "id": "host", |           "id": "host", | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Change with with <a href='{host}'>{host}</a>" |             "en": "Change made with <a href='{host}'>{host}</a>", | ||||||
|  |             "de": "Änderung vorgenommen mit <a href='{host}'>{host}</a>", | ||||||
|  |             "fr": "Modification faite avec <a href='{host}'>{host}</a>", | ||||||
|  |             "nl": "Wijziging gemaakt met <a href='{host}'>{host}</a>" | ||||||
|           }, |           }, | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What host (website) was this change made with?" |             "en": "What host (website) was this change made with?", | ||||||
|  |             "de": "Mit welchem Host / welcher Website wurde diese Änderung gemacht?", | ||||||
|  |             "nl": "Met welke host (website) werd deze wijziging gemaakt?" | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "host" |             "key": "host" | ||||||
|  | @ -107,10 +143,14 @@ | ||||||
|         { |         { | ||||||
|           "id": "version", |           "id": "version", | ||||||
|           "question": { |           "question": { | ||||||
|             "en": "What version of MapComplete was used to make this change?" |             "en": "What version of MapComplete was used to make this change?", | ||||||
|  |             "de": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?", | ||||||
|  |             "fr": "Quelle version de MapComplete a été utilisée pour faire cette modification ?" | ||||||
|           }, |           }, | ||||||
|           "render": { |           "render": { | ||||||
|             "en": "Made with {editor}" |             "en": "Made with {editor}", | ||||||
|  |             "de": "Erstellt mit {editor}", | ||||||
|  |             "fr": "Fait avec {editor}" | ||||||
|           }, |           }, | ||||||
|           "freeform": { |           "freeform": { | ||||||
|             "key": "editor" |             "key": "editor" | ||||||
|  | @ -452,7 +492,9 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Themename contains {search}" |                 "en": "Theme name contains {search}", | ||||||
|  |                 "de": "Themenname enthält {search}", | ||||||
|  |                 "nl": "Themenaam bevat {search}" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -468,7 +510,9 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made by contributor {search}" |                 "en": "Made by contributor {search}", | ||||||
|  |                 "de": "Erstellt von {search}", | ||||||
|  |                 "nl": "Gemaakt door bijdrager {search}" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -484,7 +528,9 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "<b>Not</b> made by contributor {search}" |                 "en": "<b>Not</b> made by contributor {search}", | ||||||
|  |                 "de": "<b>Nicht</b> erstellt von {search}", | ||||||
|  |                 "nl": "<b>Niet</b> gemaakt door bijdrager {search}" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -501,7 +547,9 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made before {search}" |                 "en": "Made before {search}", | ||||||
|  |                 "de": "Erstellt vor {search}", | ||||||
|  |                 "nl": "Gemaakt voor {search}" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -518,7 +566,9 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made after {search}" |                 "en": "Made after {search}", | ||||||
|  |                 "de": "Erstellt nach {search}", | ||||||
|  |                 "nl": "Gemaakt na {search}" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -534,7 +584,10 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "User language (iso-code) {search}" |                 "en": "User language (iso-code) {search}", | ||||||
|  |                 "de": "Benutzersprache (ISO-Code) {search}", | ||||||
|  |                 "fr": "Langage utilisateur (code-ISO) {search}", | ||||||
|  |                 "nl": "De taal van de bijdrager is {search}" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -550,7 +603,9 @@ | ||||||
|                 } |                 } | ||||||
|               ], |               ], | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Made with host {search}" |                 "en": "Made with host {search}", | ||||||
|  |                 "de": "Erstellt mit Host {search}", | ||||||
|  |                 "nl": "Gemaakt met host {search}" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -561,7 +616,10 @@ | ||||||
|             { |             { | ||||||
|               "osmTags": "add-image>0", |               "osmTags": "add-image>0", | ||||||
|               "question": { |               "question": { | ||||||
|                 "en": "Changeset added at least one image" |                 "en": "Changeset added at least one image", | ||||||
|  |                 "de": "Changeset fügte mindestens ein Bild hinzu", | ||||||
|  |                 "fr": "Le groupe de modifications a ajouté au moins une image", | ||||||
|  |                 "nl": "Changeset bevat minstens één afbeelding" | ||||||
|               } |               } | ||||||
|             } |             } | ||||||
|           ] |           ] | ||||||
|  | @ -576,7 +634,9 @@ | ||||||
|           { |           { | ||||||
|             "id": "link_to_more", |             "id": "link_to_more", | ||||||
|             "render": { |             "render": { | ||||||
|               "en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>" |               "en": "More statistics can be found <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>here</a>", | ||||||
|  |               "de": "Mehr Statistiken gibt es <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>", | ||||||
|  |               "fr": "D'autres statistiques sont disponibles <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>ici</a>" | ||||||
|             } |             } | ||||||
|           }, |           }, | ||||||
|           { |           { | ||||||
|  |  | ||||||
|  | @ -3160,7 +3160,11 @@ | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "question": "En quina pàgina web es pot trobar més informació sobre la bicicleta blanca o l'accident?", |                 "question": "En quina pàgina web es pot trobar més informació sobre la bicicleta blanca o l'accident?", | ||||||
|                 "render": "<a href='{source}' target='_blank'>Més informació disponible</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Més informació disponible" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -5151,7 +5151,11 @@ | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "question": "Auf welcher Webseite kann man mehr Informationen über das Geisterrad oder den Unfall finden?", |                 "question": "Auf welcher Webseite kann man mehr Informationen über das Geisterrad oder den Unfall finden?", | ||||||
|                 "render": "<a href='{source}' target='_blank'>Mehr Informationen</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Mehr Informationen" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-start_date": { |             "ghost_bike-start_date": { | ||||||
|                 "question": "Wann wurde dieses Geisterrad aufgestellt?", |                 "question": "Wann wurde dieses Geisterrad aufgestellt?", | ||||||
|  | @ -7101,7 +7105,11 @@ | ||||||
|             }, |             }, | ||||||
|             "public_bookcase-website": { |             "public_bookcase-website": { | ||||||
|                 "question": "Auf welcher Webseite findet man Informationen zu diesem Bücherschrank?", |                 "question": "Auf welcher Webseite findet man Informationen zu diesem Bücherschrank?", | ||||||
|                 "render": "Weitere Informationen auf <a href='{website}' target='_blank'>der Webseite</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Weitere Informationen auf der Webseite" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -5171,7 +5171,11 @@ | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "question": "On what webpage can one find more info about the ghost bike or the accident?", |                 "question": "On what webpage can one find more info about the ghost bike or the accident?", | ||||||
|                 "render": "<a href='{source}' target='_blank'>More info available</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "More info available" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-start_date": { |             "ghost_bike-start_date": { | ||||||
|                 "question": "When was this Ghost bike installed?", |                 "question": "When was this Ghost bike installed?", | ||||||
|  | @ -7135,7 +7139,11 @@ | ||||||
|             }, |             }, | ||||||
|             "public_bookcase-website": { |             "public_bookcase-website": { | ||||||
|                 "question": "Is there a website with more information about this public bookcase?", |                 "question": "Is there a website with more information about this public bookcase?", | ||||||
|                 "render": "More info on <a href='{website}' target='_blank'>the website</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "More info on the website" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -3584,7 +3584,11 @@ | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "question": "Sur quelle page web peut-on trouver plus d'informations sur le Vélo fantôme ou l'accident ?", |                 "question": "Sur quelle page web peut-on trouver plus d'informations sur le Vélo fantôme ou l'accident ?", | ||||||
|                 "render": "<a href='{source}' target='_blank'>Plus d'informations sont disponibles</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Plus d'informations sont disponibles" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-start_date": { |             "ghost_bike-start_date": { | ||||||
|                 "question": "Quand ce vélo fantôme a-t-il été installée ?", |                 "question": "Quand ce vélo fantôme a-t-il été installée ?", | ||||||
|  | @ -4265,7 +4269,11 @@ | ||||||
|             }, |             }, | ||||||
|             "public_bookcase-website": { |             "public_bookcase-website": { | ||||||
|                 "question": "Y a-t-il un site web avec plus d'informations sur cette microbibliothèque ?", |                 "question": "Y a-t-il un site web avec plus d'informations sur cette microbibliothèque ?", | ||||||
|                 "render": "Plus d'infos sur <a href='{website}' target='_blank'>le site web</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Plus d'infos sur le site web" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -752,7 +752,11 @@ | ||||||
|             }, |             }, | ||||||
|             "public_bookcase-website": { |             "public_bookcase-website": { | ||||||
|                 "question": "Van-e olyan weboldal, ahol további információ található erről a nyilvános könyvespolcról?", |                 "question": "Van-e olyan weboldal, ahol további információ található erről a nyilvános könyvespolcról?", | ||||||
|                 "render": "További információ <a href='{website}' target='_blank'>ezen a weboldalon</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "További információ ezen a weboldalon" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -341,7 +341,11 @@ | ||||||
|                 "render": "<i>{inscription}</i>" |                 "render": "<i>{inscription}</i>" | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "render": "<a href='{source}' target='_blank'>Informasi lanjut tersedia</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Informasi lanjut tersedia" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  | @ -1344,7 +1344,11 @@ | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "question": "In quale pagina web si possono trovare informazioni sulla bici fantasma o l’incidente?", |                 "question": "In quale pagina web si possono trovare informazioni sulla bici fantasma o l’incidente?", | ||||||
|                 "render": "<a href='{source}' target='_blank'>Sono disponibili ulteriori informazioni</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Sono disponibili ulteriori informazioni" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-start_date": { |             "ghost_bike-start_date": { | ||||||
|                 "question": "Quando è stata installata questa bici fantasma?", |                 "question": "Quando è stata installata questa bici fantasma?", | ||||||
|  | @ -1759,7 +1763,11 @@ | ||||||
|             }, |             }, | ||||||
|             "public_bookcase-website": { |             "public_bookcase-website": { | ||||||
|                 "question": "C'è un sito web con maggiori informazioni su questa microbiblioteca?", |                 "question": "C'è un sito web con maggiori informazioni su questa microbiblioteca?", | ||||||
|                 "render": "Maggiori informazioni sul <a href='{website}' target='_blank'>sito web</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Maggiori informazioni sul sito web" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -4851,7 +4851,11 @@ | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "question": "Op welke website kan men meer informatie vinden over de Witte fiets of over het ongeval?", |                 "question": "Op welke website kan men meer informatie vinden over de Witte fiets of over het ongeval?", | ||||||
|                 "render": "<a href='{source}' target='_blank'>Meer informatie</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Meer informatie" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-start_date": { |             "ghost_bike-start_date": { | ||||||
|                 "question": "Wanneer werd deze witte fiets geplaatst?", |                 "question": "Wanneer werd deze witte fiets geplaatst?", | ||||||
|  | @ -6667,7 +6671,11 @@ | ||||||
|             }, |             }, | ||||||
|             "public_bookcase-website": { |             "public_bookcase-website": { | ||||||
|                 "question": "Is er een website over dit boekenruilkastje?", |                 "question": "Is er een website over dit boekenruilkastje?", | ||||||
|                 "render": "Meer info op <a href='{website}' target='_blank'>de website</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Meer info op de website" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -996,7 +996,11 @@ | ||||||
|                 "render": "В знак памяти о {subject}" |                 "render": "В знак памяти о {subject}" | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-source": { |             "ghost_bike-source": { | ||||||
|                 "render": "<a href='{source}' target='_blank'>Доступна более подробная информация</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Доступна более подробная информация" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             }, |             }, | ||||||
|             "ghost_bike-start_date": { |             "ghost_bike-start_date": { | ||||||
|                 "render": "Установлен {start_date}" |                 "render": "Установлен {start_date}" | ||||||
|  | @ -1515,7 +1519,11 @@ | ||||||
|             }, |             }, | ||||||
|             "public_bookcase-website": { |             "public_bookcase-website": { | ||||||
|                 "question": "Есть ли веб-сайт с более подробной информацией об этом общественном книжном шкафе?", |                 "question": "Есть ли веб-сайт с более подробной информацией об этом общественном книжном шкафе?", | ||||||
|                 "render": "Более подробная информация <a href='{website}' target='_blank'>на сайте</a>" |                 "render": { | ||||||
|  |                     "special": { | ||||||
|  |                         "text": "Более подробная информация на сайте" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "title": { |         "title": { | ||||||
|  |  | ||||||
|  | @ -854,6 +854,112 @@ | ||||||
|         }, |         }, | ||||||
|         "title": "Bordsteine und Überwege" |         "title": "Bordsteine und Überwege" | ||||||
|     }, |     }, | ||||||
|  |     "mapcomplete-changes": { | ||||||
|  |         "description": "Diese Karte zeigt alle mit MapComplete vorgenommenen Änderungen", | ||||||
|  |         "layers": { | ||||||
|  |             "0": { | ||||||
|  |                 "description": "Alle MapComplete-Änderungen anzeigen", | ||||||
|  |                 "filter": { | ||||||
|  |                     "0": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Themenname enthält {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "1": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Erstellt von {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "2": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "<b>Nicht</b> erstellt von {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "3": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Erstellt vor {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "4": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Erstellt nach {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "5": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Benutzersprache (ISO-Code) {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "6": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Erstellt mit Host {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "7": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Changeset fügte mindestens ein Bild hinzu" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 "name": "Zentrum der Änderungssätze", | ||||||
|  |                 "tagRenderings": { | ||||||
|  |                     "contributor": { | ||||||
|  |                         "question": "Welcher Mitwirkende hat diese Änderung vorgenommen?", | ||||||
|  |                         "render": "Änderung gemacht von <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "host": { | ||||||
|  |                         "question": "Mit welchem Host / welcher Website wurde diese Änderung gemacht?", | ||||||
|  |                         "render": "Änderung vorgenommen mit <a href='{host}'>{host}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "locale": { | ||||||
|  |                         "question": "In welcher Sprache wurde diese Änderung vorgenommen?", | ||||||
|  |                         "render": "Usersprache ist {locale}" | ||||||
|  |                     }, | ||||||
|  |                     "show_changeset_id": { | ||||||
|  |                         "render": "Änderungssatz <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "theme-id": { | ||||||
|  |                         "question": "Welches Thema wurde für diese Änderung verwendet?", | ||||||
|  |                         "render": "Geändert mit Thema <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "version": { | ||||||
|  |                         "question": "Mit welcher Version von MapComplete wurde diese Änderung gemacht?", | ||||||
|  |                         "render": "Erstellt mit {editor}" | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 "title": { | ||||||
|  |                     "render": "Änderungssatz für {theme}" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "1": { | ||||||
|  |                 "override": { | ||||||
|  |                     "tagRenderings+": { | ||||||
|  |                         "0": { | ||||||
|  |                             "render": "Mehr Statistiken gibt es <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>hier</a>" | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         "shortDescription": "Mit MapComplete erstellte Änderungen anzeigen", | ||||||
|  |         "title": "Mit MapComplete erstellte Änderungen" | ||||||
|  |     }, | ||||||
|     "maproulette": { |     "maproulette": { | ||||||
|         "description": "Thema mit MapRoulette-Aufgaben, die Sie suchen, filtern und beheben können.", |         "description": "Thema mit MapRoulette-Aufgaben, die Sie suchen, filtern und beheben können.", | ||||||
|         "title": "MapRoulette-Aufgaben" |         "title": "MapRoulette-Aufgaben" | ||||||
|  |  | ||||||
|  | @ -858,12 +858,12 @@ | ||||||
|         "description": "This maps shows all the changes made with MapComplete", |         "description": "This maps shows all the changes made with MapComplete", | ||||||
|         "layers": { |         "layers": { | ||||||
|             "0": { |             "0": { | ||||||
|                 "description": "Shows all MapComplete changes", |                 "description": "Show all MapComplete changes", | ||||||
|                 "filter": { |                 "filter": { | ||||||
|                     "0": { |                     "0": { | ||||||
|                         "options": { |                         "options": { | ||||||
|                             "0": { |                             "0": { | ||||||
|                                 "question": "Themename contains {search}" |                                 "question": "Theme name contains {search}" | ||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|                     }, |                     }, | ||||||
|  | @ -920,12 +920,12 @@ | ||||||
|                 "name": "Changeset centers", |                 "name": "Changeset centers", | ||||||
|                 "tagRenderings": { |                 "tagRenderings": { | ||||||
|                     "contributor": { |                     "contributor": { | ||||||
|                         "question": "What contributor did make this change?", |                         "question": "Which contributor made this change?", | ||||||
|                         "render": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" |                         "render": "Change made by <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" | ||||||
|                     }, |                     }, | ||||||
|                     "host": { |                     "host": { | ||||||
|                         "question": "What host (website) was this change made with?", |                         "question": "What host (website) was this change made with?", | ||||||
|                         "render": "Change with with <a href='{host}'>{host}</a>" |                         "render": "Change made with <a href='{host}'>{host}</a>" | ||||||
|                     }, |                     }, | ||||||
|                     "locale": { |                     "locale": { | ||||||
|                         "question": "What locale (language) was this change made in?", |                         "question": "What locale (language) was this change made in?", | ||||||
|  | @ -936,7 +936,7 @@ | ||||||
|                     }, |                     }, | ||||||
|                     "theme-id": { |                     "theme-id": { | ||||||
|                         "question": "What theme was used to make this change?", |                         "question": "What theme was used to make this change?", | ||||||
|                         "render": "Change with theme <a href='https://mapcomplete.org/{theme}'>{theme}</a>" |                         "render": "Change with theme <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>" | ||||||
|                     }, |                     }, | ||||||
|                     "version": { |                     "version": { | ||||||
|                         "question": "What version of MapComplete was used to make this change?", |                         "question": "What version of MapComplete was used to make this change?", | ||||||
|  | @ -957,7 +957,7 @@ | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "shortDescription": "Shows changes made by MapComplete", |         "shortDescription": "Show changes made with MapComplete", | ||||||
|         "title": "Changes made with MapComplete" |         "title": "Changes made with MapComplete" | ||||||
|     }, |     }, | ||||||
|     "maproulette": { |     "maproulette": { | ||||||
|  |  | ||||||
|  | @ -844,6 +844,65 @@ | ||||||
|         }, |         }, | ||||||
|         "title": "Ressauts et traversées" |         "title": "Ressauts et traversées" | ||||||
|     }, |     }, | ||||||
|  |     "mapcomplete-changes": { | ||||||
|  |         "description": "Cette carte montre tous les changements faits avec MapComplete", | ||||||
|  |         "layers": { | ||||||
|  |             "0": { | ||||||
|  |                 "filter": { | ||||||
|  |                     "5": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Langage utilisateur (code-ISO) {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "7": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Le groupe de modifications a ajouté au moins une image" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 "tagRenderings": { | ||||||
|  |                     "contributor": { | ||||||
|  |                         "question": "Quel contributeur a fait cette modification ?", | ||||||
|  |                         "render": "Modification faite par <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "host": { | ||||||
|  |                         "render": "Modification faite avec <a href='{host}'>{host}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "locale": { | ||||||
|  |                         "question": "En quelle langue est-ce que ce changement a été fait ?" | ||||||
|  |                     }, | ||||||
|  |                     "show_changeset_id": { | ||||||
|  |                         "render": "Groupe de modifications <a href='https://openstreetmap.org/changeset/{id}' target='_blank'>{id}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "theme-id": { | ||||||
|  |                         "question": "Quel thème a été utilisé pour faire cette modification ?", | ||||||
|  |                         "render": "Modifié avec le thème <a href='https://mapcomplete.osm.be/{theme}'>{theme}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "version": { | ||||||
|  |                         "question": "Quelle version de MapComplete a été utilisée pour faire cette modification ?", | ||||||
|  |                         "render": "Fait avec {editor}" | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 "title": { | ||||||
|  |                     "render": "Groupe de modifications pour {theme}" | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             "1": { | ||||||
|  |                 "override": { | ||||||
|  |                     "tagRenderings+": { | ||||||
|  |                         "0": { | ||||||
|  |                             "render": "D'autres statistiques sont disponibles <a href='https://github.com/pietervdvn/MapComplete/tree/develop/Docs/Tools/graphs' target='_blank'>ici</a>" | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         "title": "Changements faits avec MapComplete" | ||||||
|  |     }, | ||||||
|     "maproulette": { |     "maproulette": { | ||||||
|         "description": "Thème MapRoulette permettant d’afficher, rechercher, filtrer et résoudre les tâches.", |         "description": "Thème MapRoulette permettant d’afficher, rechercher, filtrer et résoudre les tâches.", | ||||||
|         "title": "Tâches MapRoulette" |         "title": "Tâches MapRoulette" | ||||||
|  |  | ||||||
|  | @ -936,6 +936,89 @@ | ||||||
|         }, |         }, | ||||||
|         "title": "Stoepranden en oversteekplaatsen" |         "title": "Stoepranden en oversteekplaatsen" | ||||||
|     }, |     }, | ||||||
|  |     "mapcomplete-changes": { | ||||||
|  |         "description": "Deze kaart toont alle wijzigingen die met MapComplete gemaakt werden", | ||||||
|  |         "layers": { | ||||||
|  |             "0": { | ||||||
|  |                 "description": "Toon alle MapComplete wijzigingen", | ||||||
|  |                 "filter": { | ||||||
|  |                     "0": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Themenaam bevat {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "1": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Gemaakt door bijdrager {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "2": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "<b>Niet</b> gemaakt door bijdrager {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "3": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Gemaakt voor {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "4": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Gemaakt na {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "5": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "De taal van de bijdrager is {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "6": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Gemaakt met host {search}" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "7": { | ||||||
|  |                         "options": { | ||||||
|  |                             "0": { | ||||||
|  |                                 "question": "Changeset bevat minstens één afbeelding" | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 }, | ||||||
|  |                 "name": "Centerpunt van changeset", | ||||||
|  |                 "tagRenderings": { | ||||||
|  |                     "contributor": { | ||||||
|  |                         "question": "Welke bijdrager maakte deze wijziging?", | ||||||
|  |                         "render": "Wijziging gemaakt door  <a href='https://openstreetmap.org/user/{user}' target='_blank'>{user}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "host": { | ||||||
|  |                         "question": "Met welke host (website) werd deze wijziging gemaakt?", | ||||||
|  |                         "render": "Wijziging gemaakt met <a href='{host}'>{host}</a>" | ||||||
|  |                     }, | ||||||
|  |                     "locale": { | ||||||
|  |                         "question": "In welke locale (taal) werd deze wijziging gemaakt?", | ||||||
|  |                         "render": "De gebruikerstaal is {locale}" | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         "shortDescription": "Toon wijzigingen gemaakt met MapComplete", | ||||||
|  |         "title": "Wijzigingen gemaakt met MapComplete" | ||||||
|  |     }, | ||||||
|     "maproulette": { |     "maproulette": { | ||||||
|         "description": "Thema met MapRoulette taken, waar je ze kunt zoeken, filteren en ze oplossen.", |         "description": "Thema met MapRoulette taken, waar je ze kunt zoeken, filteren en ze oplossen.", | ||||||
|         "title": "MapRoulette taken" |         "title": "MapRoulette taken" | ||||||
|  |  | ||||||
|  | @ -1,10 +1,10 @@ | ||||||
| import { existsSync, readdirSync, readFileSync, unlinkSync, writeFileSync } from "fs" | import { existsSync, readdirSync, readFileSync, unlinkSync, writeFileSync } from "fs" | ||||||
| import ScriptUtils from "./ScriptUtils" | import ScriptUtils from "./ScriptUtils" | ||||||
| import { Utils } from "../Utils" | import { Utils } from "../src/Utils" | ||||||
| import Script from "./Script" | import Script from "./Script" | ||||||
| import { GeoOperations } from "../Logic/GeoOperations" | import { GeoOperations } from "../src/Logic/GeoOperations" | ||||||
| import { Feature, Polygon } from "geojson" | import { Feature, Polygon } from "geojson" | ||||||
| import { Tiles } from "../Models/TileRange" | import { Tiles } from "../src/Models/TileRange" | ||||||
| 
 | 
 | ||||||
| class StatsDownloader { | class StatsDownloader { | ||||||
|     private readonly urlTemplate = |     private readonly urlTemplate = | ||||||
|  |  | ||||||
|  | @ -1,13 +1,16 @@ | ||||||
| import { Utils } from "../Utils" |  | ||||||
| import * as meta from "../../package.json" | import * as meta from "../../package.json" | ||||||
|  | import { Utils } from "../Utils" | ||||||
| 
 | 
 | ||||||
| export type PriviligedLayerType = (typeof Constants.priviliged_layers)[number] | export type PriviligedLayerType = (typeof Constants.priviliged_layers)[number] | ||||||
| 
 | 
 | ||||||
| export default class Constants { | export default class Constants { | ||||||
|  |     static { | ||||||
|  |         console.log("Meta (package:json)", meta) | ||||||
|  |     } | ||||||
|     public static vNumber = meta.version |     public static vNumber = meta.version | ||||||
| 
 | 
 | ||||||
|     public static ImgurApiKey = meta.config.api_keys.imgur |     public static ImgurApiKey = meta.config.api_keys.imgur | ||||||
|     public static readonly mapillary_client_token_v4 =meta.config.api_keys.mapillary_v4 |     public static readonly mapillary_client_token_v4 = meta.config.api_keys.mapillary_v4 | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * API key for Maproulette |      * API key for Maproulette | ||||||
|  |  | ||||||
|  | @ -242,7 +242,7 @@ export default class TagRenderingConfig { | ||||||
|                 if (txt === "") { |                 if (txt === "") { | ||||||
|                     throw context + " Rendering for language " + ln + " is empty" |                     throw context + " Rendering for language " + ln + " is empty" | ||||||
|                 } |                 } | ||||||
|                 if (txt.indexOf("{" + this.freeform.key + "}") >= 0) { |                 if (txt.indexOf("{" + this.freeform.key + "}") >= 0 || txt.indexOf("&LBRACE" + this.freeform.key + "&RBRACE") ) { | ||||||
|                     continue |                     continue | ||||||
|                 } |                 } | ||||||
|                 if (txt.indexOf("{" + this.freeform.key + ":") >= 0) { |                 if (txt.indexOf("{" + this.freeform.key + ":") >= 0) { | ||||||
|  |  | ||||||
|  | @ -34,6 +34,7 @@ | ||||||
|   class={twMerge(options.extraClasses, "button text-ellipsis")} |   class={twMerge(options.extraClasses, "button text-ellipsis")} | ||||||
|   {href} |   {href} | ||||||
|   target={newTab ? "_blank" : undefined} |   target={newTab ? "_blank" : undefined} | ||||||
|  |   rel={newTab ? "noopener" : undefined} | ||||||
| > | > | ||||||
|   <slot name="image"> |   <slot name="image"> | ||||||
|     {#if imageUrl !== undefined} |     {#if imageUrl !== undefined} | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ | ||||||
|         src={`https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/community_index/${resource.type}.svg`} |         src={`https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/community_index/${resource.type}.svg`} | ||||||
|       /> |       /> | ||||||
|       <div class="flex flex-col"> |       <div class="flex flex-col"> | ||||||
|         <a href={resource.resolved.url} target="_blank" rel="noreferrer nofollow" class="font-bold"> |         <a href={resource.resolved.url} target="_blank" rel="noreferrer nofollow noopener" class="font-bold"> | ||||||
|           {resource.resolved.name ?? resource.resolved.url} |           {resource.resolved.name ?? resource.resolved.url} | ||||||
|         </a> |         </a> | ||||||
|         {resource.resolved?.description} |         {resource.resolved?.description} | ||||||
|  |  | ||||||
|  | @ -102,7 +102,7 @@ export default class CopyrightPanel extends Combine { | ||||||
|                         let bgAttr: BaseUIElement | string = undefined |                         let bgAttr: BaseUIElement | string = undefined | ||||||
|                         if (attrText && attrUrl) { |                         if (attrText && attrUrl) { | ||||||
|                             bgAttr = |                             bgAttr = | ||||||
|                                 "<a href='" + attrUrl + "' target='_blank'>" + attrText + "</a>" |                                 "<a href='" + attrUrl + "' target='_blank' rel='noopener'>" + attrText + "</a>" | ||||||
|                         } else if (attrUrl) { |                         } else if (attrUrl) { | ||||||
|                             bgAttr = attrUrl |                             bgAttr = attrUrl | ||||||
|                         } else { |                         } else { | ||||||
|  |  | ||||||
|  | @ -37,6 +37,7 @@ | ||||||
|       <a |       <a | ||||||
|         href={osmConnection.Backend() + "/profile/edit"} |         href={osmConnection.Backend() + "/profile/edit"} | ||||||
|         target="_blank" |         target="_blank" | ||||||
|  |         rel="noopener" | ||||||
|         class="link-no-underline flex items-center self-end" |         class="link-no-underline flex items-center self-end" | ||||||
|       > |       > | ||||||
|         <PencilAltIcon slot="image" class="h-8 w-8 p-2" /> |         <PencilAltIcon slot="image" class="h-8 w-8 p-2" /> | ||||||
|  |  | ||||||
|  | @ -1250,7 +1250,7 @@ export default class SpecialVisualizations { | ||||||
|             }, |             }, | ||||||
|             { |             { | ||||||
|                 funcName: "link", |                 funcName: "link", | ||||||
|                 docs: "Construct a link. By using the 'special' visualisation notation, translation should be easier", |                 docs: "Construct a link. By using the 'special' visualisation notation, translations should be easier", | ||||||
|                 args: [ |                 args: [ | ||||||
|                     { |                     { | ||||||
|                         name: "text", |                         name: "text", | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue