diff --git a/CHANGELOG.md b/CHANGELOG.md index ca696841f..2c5c00833 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,51 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +## [v3.18.0] - 2026-03-18 + +Released with [maproulette-backend_v4.8.5](https://github.com/maproulette/maproulette-backend/releases/tag/v4.8.5) + +## What's Changed +* Bump lodash-es from 4.17.21 to 4.17.23 by @dependabot[bot] in https://github.com/maproulette/maproulette3/pull/2772 +* Bump diff from 5.2.0 to 5.2.2 by @dependabot[bot] in https://github.com/maproulette/maproulette3/pull/2770 +* Bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in https://github.com/maproulette/maproulette3/pull/2773 +* Add FUNDING.yml for custom funding link by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2781 +* Make more strings translatable by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2774 +* fix issue where feature layer gets messed up when locator overlay layer is added by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2775 +* fix expected prop types in task history list and image marker layer by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2777 +* fix component unmounting errors by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2778 +* fix issue where taskBundleId is deleted after challenge is created by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2779 +* fix user profile metric updates between users by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2783 +* fix cloned challenge osmIdProperty issue by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2785 +* change the get help footer element to say documentation by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2782 +* Import leaflet and mapillary CSS from npm packages, not unpkg.com by @jake-low in https://github.com/maproulette/maproulette3/pull/2786 +* fix markdown links and Mustache Tag Replacement by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2780 +* Bump ajv from 6.12.6 to 6.14.0 by @dependabot[bot] in https://github.com/maproulette/maproulette3/pull/2790 +* Update default editor messages in Profile component for clarity by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2805 +* Add ScaleControl to various map components by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2802 +* Add a copy tags to clipboard button to item popup in the map view. by @watmildon in https://github.com/maproulette/maproulette3/pull/2798 +* Bump immutable from 4.3.4 to 4.3.8 by @dependabot[bot] in https://github.com/maproulette/maproulette3/pull/2795 +* Bump minimatch by @dependabot[bot] in https://github.com/maproulette/maproulette3/pull/2794 +* Bump rollup from 4.41.0 to 4.59.0 by @dependabot[bot] in https://github.com/maproulette/maproulette3/pull/2793 +* Enhance leaderboard functionality by deduplicating entries based on userId. by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2803 +* Add recommended layout functionality to WidgetWorkspace by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2806 +* Update translations and improve user prompts across multiple languages by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2807 +* Add GeoJSON upload functionality to ChallengeDetail component by @CollinBeczak in https://github.com/maproulette/maproulette3/pull/2808 + +## MR2 Changes +* disable review on deleted disabled and skipped tasks by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1208 +* Add CURRENT_MONTH constant and update SQL time clause for month duration 0 in LeaderboardHelper (#1206) by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1217 +* Enhance ChallengeProvider error handling for task building failures by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1216 +* Add leaderboard_opt_out parameter to LeaderboardService (#1206) by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1215 +* Add polygon geometry check for bounding box validation in Challenge model by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1214 +* fix "deletion already in-progress" bug by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1156 +* add changeset source to submitOsmChange by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1186 +* fix some task review status not found and locking bugs by @CollinBeczak in https://github.com/maproulette/maproulette-backend/pull/1207 +* Fix bug where PUT /challenge/:id discarded the datasetUrl field by @jake-low in https://github.com/maproulette/maproulette-backend/pull/1213 +* Ignore pidfile when running in Docker by @jake-low in https://github.com/maproulette/maproulette-backend/pull/1212 + +**Full Changelog**: https://github.com/maproulette/maproulette3/compare/v3.17.19...v3.18.0 + ## [v3.17.19] - 2025-12-16 Released with [maproulette-backend_v4.8.3](https://github.com/maproulette/maproulette-backend/releases/tag/v4.8.3) diff --git a/lang/af.json b/lang/af.json index 9dfa15c69..b2e0f01a4 100644 --- a/lang/af.json +++ b/lang/af.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "Existing file will be used", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Global Activity", "Grant.Role.admin": "Admin", "Grant.Role.read": "Read", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Click to show tasks", diff --git a/lang/cs_CZ.json b/lang/cs_CZ.json index 1eb6d7b48..6a069c914 100644 --- a/lang/cs_CZ.json +++ b/lang/cs_CZ.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "Bude použit existující soubor", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Globální aktivita", "Grant.Role.admin": "Administrátor", "Grant.Role.read": "Čtení", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Click to show tasks", diff --git a/lang/da_DK.json b/lang/da_DK.json index 94afa1b16..b11810239 100644 --- a/lang/da_DK.json +++ b/lang/da_DK.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Slip GeoJSON-filen her, eller klik for at vælge fil", "Form.textUpload.promptJSON": "Slip JSON-filen her eller klik for at vælge fil", "Form.textUpload.readonly": "Eksisterende fil vil blive brugt", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Global aktivitet", "Grant.Role.admin": "Admin", "Grant.Role.read": "Læs", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Søg", "TaskClusterMap.controls.selectAllInView.label": "Vælg alt i visningen", "TaskClusterMap.controls.toggleLegend.label": "Slå kortforklaring til/fra", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom ind", "TaskClusterMap.controls.zoomOut.label": "Zoom ud", "TaskClusterMap.message.moveMapToRefresh.label": "Klik for at vise opgaver", diff --git a/lang/de.json b/lang/de.json index cffb98b88..270351b91 100644 --- a/lang/de.json +++ b/lang/de.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "GeoJSON-Datei hier ablegen oder klicken, um eine Datei auszuwählen", "Form.textUpload.promptJSON": "JSON-Datei hier ablegen oder klicken, um eine Datei auszuwählen", "Form.textUpload.readonly": "Vorhandene Datei wird verwendet", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Weltweite Aktivität", "Grant.Role.admin": "Administrator", "Grant.Role.read": "Lesen", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Klicke, um Aufgaben anzuzeigen", diff --git a/lang/es.json b/lang/es.json index 6efd44e8b..83f2f08f3 100644 --- a/lang/es.json +++ b/lang/es.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Arrastra el archivo GeoJSON aquí o haz clic para seleccionar el archivo", "Form.textUpload.promptJSON": "Arrastra el archivo JSON aquí o haz clic para seleccionar el archivo", "Form.textUpload.readonly": "Se utilizará el archivo existente", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Actividad global", "Grant.Role.admin": "Administrador", "Grant.Role.read": "Lectura", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Buscar", "TaskClusterMap.controls.selectAllInView.label": "Seleccionar todo en la vista", "TaskClusterMap.controls.toggleLegend.label": "Mostrar/ocultar leyenda", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Acercar zoom", "TaskClusterMap.controls.zoomOut.label": "Alejar zoom", "TaskClusterMap.message.moveMapToRefresh.label": "Haz clic para mostrar las tareas", diff --git a/lang/fa_IR.json b/lang/fa_IR.json index 151c828c3..6ed083955 100644 --- a/lang/fa_IR.json +++ b/lang/fa_IR.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "Existing file will be used", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Global Activity", "Grant.Role.admin": "Admin", "Grant.Role.read": "Read", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Click to show tasks", diff --git a/lang/fr.json b/lang/fr.json index b8632f86d..187e4ba9d 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "Le fichier existant sera utilisé", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Activité mondiale", "Grant.Role.admin": "Administrateur", "Grant.Role.read": "Lire", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Cliquer pour montrer les tâches", diff --git a/lang/it_IT.json b/lang/it_IT.json index 79c618a04..9ff0d64d0 100644 --- a/lang/it_IT.json +++ b/lang/it_IT.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Rilascia il file GeoJSON qui o clicca per selezionare il file", "Form.textUpload.promptJSON": "Rilascia il file JSON qui o clicca per selezionare il file", "Form.textUpload.readonly": "Verrà utilizzato il file esistente", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Attività globale", "Grant.Role.admin": "Amministratore", "Grant.Role.read": "Leggi", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Clicca per vedere i compiti", diff --git a/lang/ja.json b/lang/ja.json index 9675eba02..77a435d60 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "既存のファイルが使われます", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "世界の活動", "Grant.Role.admin": "Admin", "Grant.Role.read": "Read", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Click to show tasks", diff --git a/lang/ko.json b/lang/ko.json index d8ca35b7c..b9d6d0096 100644 --- a/lang/ko.json +++ b/lang/ko.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "GeoJSON 파일을 여기에 놓거나 클릭하여 파일 선택하기", "Form.textUpload.promptJSON": "JSON 파일을 여기에 놓거나 클릭하여 파일 선택하기", "Form.textUpload.readonly": "기존 파일이 사용됩니다", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "글로벌 활동", "Grant.Role.admin": "관리자", "Grant.Role.read": "읽기", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "임무를 보기 위해 클릭", diff --git a/lang/nl.json b/lang/nl.json index 62453bf35..dd2b98551 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -902,7 +902,7 @@ "Following.ViewFollowing.notFollowing": "U volgt niet langer", "Following.controls.stopFollowing.label": "Volgen stoppen", "Footer.APIversionLabel": "MaprouletteAPI", - "Footer.documentation": "Documentation", + "Footer.documentation": "Documentatie", "Footer.donate.heading": "ONDERSTEUN ONS", "Footer.email.donateButton": "Doneren aan Maproulette", "Footer.email.mastodonButton": "Mastodon @maproulette", @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Zet bestand GeoJSON hier neer of klik om een bestand te selecteren", "Form.textUpload.promptJSON": "Zet bestand JSON hier neer of klik om een bestand te selecteren", "Form.textUpload.readonly": "Bestaand bestand zal worden gebruikt", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Wereldwijde activiteit", "Grant.Role.admin": "Beheerder", "Grant.Role.read": "Lezen", @@ -1115,8 +1120,8 @@ "Profile.form.customBasemaps.label": "Aangepaste basiskaart", "Profile.form.defaultBasemap.description": "Selecteer de standaard op de kaart weer te geven basiskaart. Alleen een standaard basiskaart voor de missie zal de hier geselecteerde optie overschrijven.", "Profile.form.defaultBasemap.label": "Standaard basiskaart", - "Profile.form.defaultEditor.description": "Select the default external editor that you want to use when fixing tasks. By selecting this option you will be able to skip the editor selection dialog after clicking on edit in a task.", - "Profile.form.defaultEditor.label": "Default External Editor", + "Profile.form.defaultEditor.description": "Selecteer de standaard externe bewerker die u wilt gebruiken bij het repareren van taken. Door deze optie te selecteren zult u in staat zijn het dialoogvenster voor het selecteren van een bewerker over te slaan na het klikken op Bewerken in een taak.", + "Profile.form.defaultEditor.label": "Standaard externe bewerker", "Profile.form.disableTaskConfirm.description": "Dit geeft de gebruiker de mogelijkheid om het model voor bevestiging te omzeilen als ene gebruiker klikt op 'I fixed it!'. Weet dat sommige projecten en uitdagingen dat gedrag niet toestaan.", "Profile.form.disableTaskConfirm.label": "Model voor bevestiging van taken uitschakelen", "Profile.form.email.description": "Als u e-mails verzoekt in uw abonnementen voor Notificaties, zullen zij hier naartoe worden verzonden.\n\nBepaal welke notificaties u van MapRoulette zou willen ontvangen, en daarnaast of u een e-mail zou willen ontvangen die u informeert over de notificatie (direct of als een dagelijkse lijst)", @@ -1159,7 +1164,7 @@ "ProjectDetails.management.controls.showAll.label": "Alle uitdagingen weergeven", "ProjectPickerModal.chooseProject": "Kies een project", "ProjectPickerModal.noProjects": "Geen projecten gevonden", - "PropertyList.copyTagsTooltip": "Copy tags to clipboard", + "PropertyList.copyTagsTooltip": "Tags naar klembord kopiëren", "PropertyList.noProperties": "Geen eigenschappen", "PropertyList.title": "Eigenschappen", "QuickWidget.failedToLoad": "Widget mislukt", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Zoeken", "TaskClusterMap.controls.selectAllInView.label": "Alles in weergave selecteren", "TaskClusterMap.controls.toggleLegend.label": "Legenda schakelen", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Inzoomen", "TaskClusterMap.controls.zoomOut.label": "Uitzoomen", "TaskClusterMap.message.moveMapToRefresh.label": "Klikken om taken weer te geven", @@ -1503,9 +1509,9 @@ "WidgetWorkspace.controls.exportConfiguration.label": "Lay-out exporteren", "WidgetWorkspace.controls.importConfiguration.label": "Lay-out importeren", "WidgetWorkspace.controls.resetConfiguration.label": "Standaard lay-out herstellen", - "WidgetWorkspace.controls.saveAsDefault.label": "Save as My Default", + "WidgetWorkspace.controls.saveAsDefault.label": "Opslaan als mijn standaard", "WidgetWorkspace.controls.saveConfiguration.label": "Bewerken voltooid", - "WidgetWorkspace.controls.useTemporarily.label": "Use Temporarily", + "WidgetWorkspace.controls.useTemporarily.label": "Tijdelijk gebruiken", "WidgetWorkspace.exportModal.controls.download.label": "Downloaden", "WidgetWorkspace.exportModal.fields.name.label": "Naam van de lay-out", "WidgetWorkspace.exportModal.header": "Exporteer uw lay-out", @@ -1514,7 +1520,7 @@ "WidgetWorkspace.labels.currentlyUsing": "Huidige lay-out:", "WidgetWorkspace.labels.switchTo": "Schakel naar:", "WidgetWorkspace.recommendedLayout.label": "Aanbevolen lay-out", - "WidgetWorkspace.recommendedLayout.prompt": "Would you like to save this recommended layout as your default? If not, it will only be applied temporarily for this session.", + "WidgetWorkspace.recommendedLayout.prompt": "Wilt u deze aanbevolen lay-out als uw standaard opslaan? Zo niet, dan zal het alleen tijdelijk voor deze sessie worden toegepast.", "WidgetWorkspace.useRecommendedLayoutLabel.label": "Aanbevolen lay-out gebruiken", "Widgets.ActivityListingWidget.controls.toggleExactDates.label": "Exacte datums weergeven", "Widgets.ActivityListingWidget.title": "Lijst activiteiten", diff --git a/lang/pl.json b/lang/pl.json index 31cda8b72..526b1f303 100644 --- a/lang/pl.json +++ b/lang/pl.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "Istniejący plik zostanie użyty", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Globalna aktywność", "Grant.Role.admin": "Administrator", "Grant.Role.read": "Czytaj", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Click to show tasks", diff --git a/lang/pt_BR.json b/lang/pt_BR.json index b87abfe1d..28349d63e 100644 --- a/lang/pt_BR.json +++ b/lang/pt_BR.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Solte o arquivo GeoJSON aqui ou clique para selecionar o arquivo", "Form.textUpload.promptJSON": "Solte o arquivo JSON aqui ou clique para selecionar o arquivo", "Form.textUpload.readonly": "O arquivo existente será usado", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Atividade global", "Grant.Role.admin": "Administrador", "Grant.Role.read": "Ler", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Clique para mostrar tarefas", diff --git a/lang/pt_PT.json b/lang/pt_PT.json index 354dfea0f..2f19947a3 100644 --- a/lang/pt_PT.json +++ b/lang/pt_PT.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Largue aqui o ficheiro GeoJSON ou clique para selecionar o ficheiro", "Form.textUpload.promptJSON": "Largue aqui o ficheiro JSON ou clique para selecionar o ficheiro", "Form.textUpload.readonly": "Será utilizado o ficheiro existente", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Atividade global", "Grant.Role.admin": "Administrador", "Grant.Role.read": "Ler", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Clique para mostrar tarefas", diff --git a/lang/ru_RU.json b/lang/ru_RU.json index 0718fea30..7b8650c1c 100644 --- a/lang/ru_RU.json +++ b/lang/ru_RU.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "Будет использован существующий файл", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Глобальная активность", "Grant.Role.admin": "Админ", "Grant.Role.read": "Читать", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Нажать для показа заданий", diff --git a/lang/sr.json b/lang/sr.json index 34157d8dc..205650783 100644 --- a/lang/sr.json +++ b/lang/sr.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Отпустите GeoJSON фајл овде или кликните да одаберете фајл", "Form.textUpload.promptJSON": "Отпустите JSON фајл овде или кликните да одаберете фајл", "Form.textUpload.readonly": "Постојећи фајл ће бити искоришћен", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Глобална активност", "Grant.Role.admin": "Админ", "Grant.Role.read": "Читање", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Кликните да прикажете задатке", diff --git a/lang/tr.json b/lang/tr.json index 3a19e8dcf..63223e863 100644 --- a/lang/tr.json +++ b/lang/tr.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "GeoJSON dosyasını buraya bırakın veya dosyayı seçmek için tıklayın", "Form.textUpload.promptJSON": "JSON dosyasını buraya bırakın veya dosyayı seçmek için tıklayın", "Form.textUpload.readonly": "Mevcut dosya kullanılacak", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Küresel Aktivite", "Grant.Role.admin": "Yönetici", "Grant.Role.read": "Oku", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Ara", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Yakınlaştır", "TaskClusterMap.controls.zoomOut.label": "Uzaklaştır", "TaskClusterMap.message.moveMapToRefresh.label": "Görevleri göstermek için tıkla", diff --git a/lang/uk.json b/lang/uk.json index 37f54a5fa..86d88d34f 100644 --- a/lang/uk.json +++ b/lang/uk.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Перетягніть файл GeoJSON сюди або клацніть щоб знайти його", "Form.textUpload.promptJSON": "Перетягніть файл JSON сюди або клацніть щоб знайти його", "Form.textUpload.readonly": "Буде використано поточний файл", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Глобальна активність", "Grant.Role.admin": "Адмін", "Grant.Role.read": "Читання", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Натисніть для показу завдань", diff --git a/lang/vi.json b/lang/vi.json index 2ade46240..f24633682 100644 --- a/lang/vi.json +++ b/lang/vi.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "Existing file will be used", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "Global Activity", "Grant.Role.admin": "Admin", "Grant.Role.read": "Read", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "Search", "TaskClusterMap.controls.selectAllInView.label": "Select All In View", "TaskClusterMap.controls.toggleLegend.label": "Toggle Legend", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "Zoom In", "TaskClusterMap.controls.zoomOut.label": "Zoom Out", "TaskClusterMap.message.moveMapToRefresh.label": "Click to show tasks", diff --git a/lang/zh_TW.json b/lang/zh_TW.json index 57bbb1c11..556ad1377 100644 --- a/lang/zh_TW.json +++ b/lang/zh_TW.json @@ -926,6 +926,11 @@ "Form.textUpload.promptGeoJSON": "Drop GeoJSON file here or click to select file", "Form.textUpload.promptJSON": "Drop JSON file here or click to select file", "Form.textUpload.readonly": "將使用現有檔案", + "GeoJSONUploadModal.dropzone.label": "Drop a GeoJSON file here or click to upload", + "GeoJSONUploadModal.error.invalid": "Invalid GeoJSON: {error}", + "GeoJSONUploadModal.error.noPolygons": "No Polygon features found in file", + "GeoJSONUploadModal.header": "Create Virtual Challenge from GeoJSON", + "GeoJSONUploadModal.success.polygonsLoaded": "{count, plural, one {# polygon} other {# polygons}} loaded", "GlobalActivity.title": "全球活動", "Grant.Role.admin": "管理員", "Grant.Role.read": "閱讀", @@ -1394,6 +1399,7 @@ "TaskClusterMap.controls.search.label": "搜尋", "TaskClusterMap.controls.selectAllInView.label": "選取檢視當中的所有物件", "TaskClusterMap.controls.toggleLegend.label": "啟用圖例", + "TaskClusterMap.controls.uploadGeoJSON.label": "Upload GeoJSON", "TaskClusterMap.controls.zoomIn.label": "放大", "TaskClusterMap.controls.zoomOut.label": "縮小", "TaskClusterMap.message.moveMapToRefresh.label": "點一下來顯示任務",