diff --git a/CHANGELOG.md b/CHANGELOG.md
index b7d3df2ccf..548da26138 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+### [0.53.1](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.53.0...v0.53.1) (2025-06-30)
+
## [0.53.0](https://source.mapcomplete.org/MapComplete/MapComplete/compare/v0.52.18...v0.53.0) (2025-06-19)
diff --git a/langs/cs.json b/langs/cs.json
index 8046490c6d..8fe508990b 100644
--- a/langs/cs.json
+++ b/langs/cs.json
@@ -171,7 +171,8 @@
},
"apply_button": {
"appliedOnAnotherObject": "Objekt {id} dostane {tags}",
- "isApplied": "Změny jsou aplikovány"
+ "isApplied": "Změny jsou aplikovány",
+ "applying": "Aplikují se změny"
},
"attribution": {
"attributionBackgroundLayer": "Aktuální vrstva pozadí je {name}",
@@ -206,7 +207,11 @@
"seeOnMapillary": "Podívejte se na tento obrázek na Mapillary",
"themeBy": "Téma spravuje {author}",
"title": "Autorská práva a uvedení zdroje",
- "translatedBy": "MapComplete přeložili {contributors} a {hiddenCount} dalších přispěvatelů"
+ "translatedBy": "MapComplete přeložili {contributors} a {hiddenCount} dalších přispěvatelů",
+ "fundByNlNet": "fond založený organizací NLnet",
+ "ngiZero": "Tento projekt je financován přes NGI0 Entrust",
+ "nlNetMapComplete": "Dozvíte se více na stránce projektu NlNet",
+ "ngiProgram": "s finanční podporou programu Internet nové generace (NGI) zřízeného Evropskou komisí."
},
"back": "Zpět",
"backToIndex": "Zobrazit všechny tematické mapy",
diff --git a/langs/da.json b/langs/da.json
index 26b590134d..57e31f8f23 100644
--- a/langs/da.json
+++ b/langs/da.json
@@ -7,7 +7,8 @@
"download": "Download appen",
"intro": "MapComplete er tilgængelig som Android-app som direkte download. Vi arbejder på også at udgive den på FDroid.",
"older": "Se ældre builds",
- "title": "MapComplete Android App"
+ "title": "MapComplete Android-app",
+ "noPlayServices": "Appen fungerer uden Google Play Services"
},
"centerMessage": {
"allFilteredAway": "Ingen objekter i visningen opfylder alle filtre",
@@ -170,7 +171,8 @@
},
"apply_button": {
"appliedOnAnotherObject": "Objektet {id} modtager {tags}",
- "isApplied": "Ændringerne er anvendt"
+ "isApplied": "Ændringerne er anvendt",
+ "applying": "Anvender ændringer"
},
"attribution": {
"attributionBackgroundLayer": "Det nuværende baggrundslag er {name}",
@@ -205,7 +207,11 @@
"seeOnMapillary": "Se dette billede på Mapillary",
"themeBy": "Tema vedligeholdt af {author}",
"title": "Copyright og kreditering",
- "translatedBy": "MapComplete er oversat af {contributors} og {hiddenCount} flere bidragsydere"
+ "translatedBy": "MapComplete er oversat af {contributors} og {hiddenCount} flere bidragsydere",
+ "ngiZero": "Dette projekt er finansieret gennem NGI0 Entrust",
+ "nlNetMapComplete": "Få mere at vide på NlNet-projektets side",
+ "fundByNlNet": "en fond oprettet af NLnet",
+ "ngiProgram": "med økonomisk støtte fra Europa-Kommissionens Next Generation Internet-program."
},
"back": "Tilbage",
"backToIndex": "Gå tilbage til oversigten med alle temakort",
@@ -281,7 +287,9 @@
"zoomInToSeeThisLayer": "Zoom ind for at se dette lag"
},
"levelSelection": {
- "addNewOnLevel": "Er det nye punkt på niveau {level}?"
+ "addNewOnLevel": "Er det nye punkt på niveau {level}?",
+ "cancel": "Se alle niveauer",
+ "confirmLevel": "Ja, tilføj {preset} på niveau {level}"
},
"loading": "Indlæser…",
"loadingTheme": "Indlæser {theme}…",
@@ -296,7 +304,9 @@
"filter": "Filtrer data",
"moreUtilsTitle": "Opdag mere",
"openHereDifferentApp": "Åbn den aktuelle position i andre applikationer",
- "showIntroduction": "Vis introduktion"
+ "showIntroduction": "Vis introduktion",
+ "title": "Menu",
+ "legal": "Juridiske bekendtgørelser"
},
"morescreen": {
"createYourOwnTheme": "Lave dit eget MapComplete tema fra bunden af",
@@ -305,7 +315,8 @@
"noSearch": "Vis alle temaer",
"previouslyHiddenTitle": "Tidligere besøgte skjulte temaer",
"searchForATheme": "Søg efter et tema",
- "streetcomplete": "En anden lignende applikation er StreetComplete."
+ "streetcomplete": "En anden lignende applikation er StreetComplete.",
+ "enterToOpen": "Tryk på enter for at åbne temaet"
},
"next": "Næste",
"noTagsSelected": "Ingen tags valgt",
@@ -324,7 +335,21 @@
"ph_closed": "lukket",
"ph_not_known": " ",
"ph_open": "åbent",
- "ph_open_as_usual": "åbent som sædvanligt"
+ "ph_open_as_usual": "åbent som sædvanligt",
+ "friday": "På fredag {ranges}",
+ "wednesday": "På onsdag {ranges}",
+ "all_days_from": "Åbent hver dag {ranges}",
+ "error": "Kunne ikke analysere åbningstiderne",
+ "monday": "På mandag {ranges}",
+ "on_weekdays": "Åbent på hverdage {ranges}",
+ "open_until": "Lukker {date}",
+ "sunday": "På søndag {ranges}",
+ "thursday": "På torsdag {ranges}",
+ "tuesday": "På tirsdag {ranges}",
+ "unknown": "Åbningstiderne er ukendte",
+ "ranges": "fra {starttime} til {endtime}",
+ "rangescombined": "{range0} og {range1}",
+ "saturday": "På lørdag {ranges}"
},
"pdf": {
"attr": "Kortdata © OpenStreetMap Contributors, bearbejdelser under ODbL",
@@ -348,7 +373,11 @@
"skippedOne": "Du sprang over ét spørgsmål"
},
"questions": {
- "enable": "Stil dette spørgsmål ved alle objekter"
+ "enable": "Stil dette spørgsmål ved alle objekter",
+ "disable": "Spørg ikke om dette igen",
+ "disabledIntro": "Du har deaktiveret nogle typer spørgsmål. For at aktivere et spørgsmål igen, klik på dem her",
+ "disabledTitle": "Deaktiverede spørgsmål",
+ "noneDisabled": "Hvis du ikke er interesseret i en bestemt type spørgsmål, kan du deaktivere det. For at deaktivere et spørgsmål skal du klikke på de tre prikker i øverste højre hjørne og vælge 'deaktiver'"
},
"removeLocationHistory": "Slet placeringshistorikken",
"returnToTheMap": "Vend tilbage til kortet",
@@ -361,7 +390,19 @@
"instructions": "Brug søgefeltet ovenfor til at søge efter steder, filtre eller andre tematiske kort",
"nothing": "Intet fundet.",
"search": "Søg efter sted",
- "searching": "Søger…"
+ "searching": "Søger…",
+ "deleteSearchHistory": "Slet placeringshistorik",
+ "nothingFor": "Ingen resultater fundet for {term}",
+ "otherMaps": "Andre kort",
+ "pickFilter": "Vælg et filter",
+ "recentThemes": "Nyligt besøgte kort",
+ "recents": "Nyligt sete steder",
+ "searchShort": "Søg…",
+ "deleteThemeHistory": "Slet tidligere besøgte temaer",
+ "editSearchSyncSettings": "Rediger synk-indstillinger",
+ "editThemeSync": "Rediger synk-indstillinger",
+ "locations": "Placeringer",
+ "nMoreFilters": "{n} mere"
},
"sharescreen": {
"copiedToClipboard": "Link kopierer til udklipsholder",
@@ -369,7 +410,14 @@
"fsUserbadge": "Slå loginknappen til",
"fsWelcomeMessage": "Vis velkomstbeskeden og tilknyttede faner",
"intro": "
Del dette kort
Del dette kort ved at kopiere linket nedenunder og send det til venner og familie:",
- "title": "Del dette kort"
+ "title": "Del dette kort",
+ "documentation": "For mere information om tilgængelige URL-parametre, konsulter dokumentationen",
+ "fsBackground": "Aktivér skift af baggrunde",
+ "fsFilter": "Gør det muligt at skifte mellem lag og filtre",
+ "fsGeolocation": "Aktivér geolokalisering",
+ "openLayers": "Åbn menuen med lag og filtre",
+ "options": "Muligheder for deling",
+ "stateIsIncluded": "Den aktuelle tilstand for lag og filtre er inkluderet i det delte link og iframe."
},
"skip": "Spring over dette spørgsmål",
"testing": "Testing - ingen ændringer vil blive gemt",
@@ -382,19 +430,24 @@
"meta": {
"descriptionPlaceHolder": "Tilføj en beskrivelse af dit spor",
"intro": "Tilføj en titel for dit spor:",
- "title": "Titel og beskrivelse"
+ "title": "Titel og beskrivelse",
+ "titlePlaceholder": "Indtast titlen på dit spor",
+ "descriptionIntro": "Du kan eventuelt indtaste en beskrivelse af dit spor:"
},
"modes": {
"private": {
- "name": "Anonym"
+ "name": "Anonym",
+ "docs": "Punkterne i dit spor vil blive delt og samlet blandt andre spor. Det fulde spor vil være synligt for dig, og du vil kunne indlæse det i andre redigeringsprogrammer. OpenStreetMap.org beholder en kopi af dit spor"
},
"public": {
- "name": "Offentlig"
+ "name": "Offentlig",
+ "docs": "Dit spor vil være synligt for alle, både på din brugerprofil og på listen over GPS-spor på openstreetmap.org"
}
},
"title": "Upload dit spor til OpenStreetMap.org",
"uploadFinished": "Dit spor er uploadet!",
- "uploading": "Uploader dit spor …"
+ "uploading": "Uploader dit spor …",
+ "intro0": "Når du uploader dit spor, beholder OpenStreetMap.org en fuld kopi af sporet."
},
"uploadPending": "{count} ændringer i kø",
"uploadPendingSingle": "Én ændring i kø",
@@ -403,7 +456,40 @@
"closestFeaturesAre": "{n} objekter i visningsvinduet.",
"navigation": "Brug piletasterne til at flytte kortet, og tryk på mellemrum for at vælge det nærmeste objekt. Tryk på et tal for at vælge positioner længere væk.",
"noCloseFeatures": "Ingen objekter synlige.",
- "oneFeatureInView": "Et objekt inden for visningsvinduet."
+ "oneFeatureInView": "Et objekt inden for visningsvinduet.",
+ "directionsAbsolute": {
+ "E": "øst",
+ "N": "nord",
+ "NE": "nordøst",
+ "NW": "nordvest",
+ "S": "syd",
+ "SE": "sydøst",
+ "SW": "sydvest",
+ "W": "vest"
+ },
+ "east": "Bevæger sig mod øst",
+ "directionsRelative": {
+ "left": "venstre",
+ "right": "højre",
+ "behind": "bag dig",
+ "sharp_left": "skarpt til venstre",
+ "sharp_right": "skarpt til højre",
+ "slight_left": "lidt til venstre",
+ "slight_right": "lidt til højre",
+ "straight": "ligeud"
+ },
+ "fromGps": "{distance} {direction} fra din position",
+ "fromMapCenter": "{distance} {direction} fra kortets centrum",
+ "in": "Zoomer ind til niveau {z}",
+ "locked": "Visningen er nu låst til din GPS-position, og bevægelse er deaktiveret.",
+ "viewportCenterCloseToGps": "Kortet er centreret omkring din position.",
+ "west": "Bevæger sig mod vest",
+ "out": "Zoomer ud til niveau {z}",
+ "unlocked": "Bevægelse aktiveret.",
+ "north": "Bevæger sig mod nord",
+ "south": "Bevæger sig mod syd",
+ "islocked": "Visning låst til din GPS-position, bevægelse deaktiveret. Tryk på geolokaliseringsknappen for at låse op.",
+ "viewportCenterDetails": "Midten af visningsvinduet er {distance} og {bearing} fra din position."
},
"waitingForGeopermission": "Venter på din godkendelse til at bruge geolokalitet …",
"waitingForLocation": "Finder din nuværende position …",
@@ -442,7 +528,16 @@
"readMore": "Læs resten af artiklen",
"searchToShort": "Din søgeforespørgsel er for kort. Indtast en længere tekst",
"searchWikidata": "Søg på Wikidata"
- }
+ },
+ "loginFailedReadonlyMode": "OpenStreetMap.org er i øjeblikket i skrivebeskyttet tilstand på grund af vedligeholdelse. Det vil snart være muligt at foretage redigeringer",
+ "loginFailedUnreachableMode": "OpenStreetMap.org er i øjeblikket ikke tilgængelig. Har du forbindelse til internettet, eller blokerer du for tredjeparter? Prøv igen senere",
+ "mappingsAreHidden": "Nogle muligheder er skjulte. Brug søgning for at få vist flere muligheder.",
+ "useSearch": "Brug søgningen ovenfor for at se flere muligheder",
+ "openTheMapReason": "for at se, redigere og tilføje information",
+ "searchAnswer": "Søg efter en mulighed",
+ "seeIndex": "Se oversigten med alle tematiske kort",
+ "share": "Del",
+ "retry": "Prøv igen"
},
"hotkeyDocumentation": {
"action": "Handling",
@@ -450,19 +545,50 @@
"geolocate": "Panorer kortet til den aktuelle position, eller zoom kortet til den aktuelle position. Anmoder om geotilladelse",
"intro": "MapComplete understøtter følgende genvejstaster:",
"key": "Tastekombination",
- "openLayersPanel": "Åbner panelet for baggrundslag"
+ "openLayersPanel": "Åbner panelet for baggrundslag",
+ "homeLocation": "Hop til din hjemmeplacering. Virker kun, hvis du har angivet din hjemmeplacering i brugerindstillingerne",
+ "selectFavourites": "Åbn siden med favoritter",
+ "selectItem": "Vælg det interessepunkt, der er tættest på kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
+ "selectSearch": "Vælg søgebjælken for at søge efter steder",
+ "shakePhone": "Ryste din telefon",
+ "translationMode": "Slå oversættelsestilstand til eller fra",
+ "addNew": "Åbn dialogen for at tilføje et nyt punkt i midten af kortet",
+ "openFilterPanel": "Åbner interessepunkt-lagene og filterpanelet",
+ "queryCurrentLocation": "Vis den adresse, der er tættest på kortets centrum",
+ "selectItem2": "Vælg det interessepunkt, der er næsttættest på kortets centrum (trådkorset). Kun når der bruges tastaturnavigation",
+ "selectItemI": "Vælg det interessepunkt, der er det {i}. nærmeste element til kortets centrum (trådkors). Kun når der bruges tastaturnavigation",
+ "selectMap": "Indstil baggrunden til et kort fra eksterne kilder. Skifter mellem de to bedste, tilgængelige lag",
+ "selectOsmbasedmap": "Indstil baggrundslaget til et OpenStreetMap-baseret kort (eller deaktiver baggrundsrasterlaget)",
+ "selectAerial": "Indstil baggrunden til luft- eller satellitbilleder. Skifter mellem de to bedste, tilgængelige lag",
+ "selectItem3": "Vælg det interessepunkt, der er det tredje tætteste element på kortets centrum (trådkors). Kun når der bruges tastaturnavigation"
},
"image": {
"addPicture": "Tag et billede",
"doDelete": "Fjern billede",
"isDeleted": "Slettet",
"nearby": {
- "seeNearby": "Udforsk nærliggende billeder"
+ "seeNearby": "Udforsk nærliggende billeder",
+ "failed": "Hentning af billeder fra {service} mislykkedes",
+ "link": "Dette billede viser objektet",
+ "noNearbyImages": "Der blev ikke fundet nogen billeder i nærheden",
+ "close": "Skjul panelet med billeder i nærheden"
},
"pleaseLogin": "Log venligst ind for at tilføje et billede",
"respectPrivacy": "Tag ikke billeder af mennesker eller nummerplader. Upload ikke Google Maps, Google Streetview, eller fra andre ophavsresbeskyttede kilder.",
"toBig": "Dit billede er for stort da det er {actual_size}. Brug venligst billeder, der er højst {max_size}",
- "uploadFailed": "Kunne ikke uploade dit billede. Er du forbundet til Internettet og tillader du tredieparts API'er. Brave browseren eller uMatrix plugin'et kunne blokerer dem."
+ "uploadFailed": "Kunne ikke uploade dit billede. Er du forbundet til Internettet og tillader du tredieparts API'er. Brave browseren eller uMatrix plugin'et kunne blokerer dem.",
+ "selectFile": "Vælg et billede fra din enhed",
+ "upload": {
+ "one": {
+ "done": "Dit billede blev uploadet. Tak for det!",
+ "failed": "Beklager, vi kunne ikke uploade dit billede",
+ "retrying": "Prøver igen at uploade dit billede…",
+ "uploading": "Dit billede bliver uploadet…"
+ }
+ },
+ "loadingFailed": "Indlæsning af dette billede mislykkedes",
+ "processing": "Serveren behandler dit billede",
+ "mapillaryTrackingProtection": "Streng sporingsbeskyttelse blokerer indlæsning af billeder fra Mapillary, da Mapillary er ejet af Facebook/Meta. Deaktiver streng sporingsbeskyttelse, hvis du vil se dette billede."
},
"importInspector": {
"title": "Undersøg og håndter noter"
@@ -640,4 +766,4 @@
"description": "En Wikidata identifier"
}
}
-}
\ No newline at end of file
+}
diff --git a/langs/ja.json b/langs/ja.json
index 050e90734e..fdabba258e 100644
--- a/langs/ja.json
+++ b/langs/ja.json
@@ -12,12 +12,12 @@
"about": "特定のテーマに沿って、OpenStreetMapを簡単に編集し、情報を追加できます",
"add": {
"addNew": "ここに新しい {category} を追加します",
- "intro": "データがまだわからない場所をクリックしました。
",
+ "intro": "データがまだわからない場所をクリックしました。
",
"layerNotEnabled": "レイヤ{layer}は有効になっていません。このレイヤで点を追加できるようにする",
"openLayerControl": "レイヤコントロールボックスを開く",
"pleaseLogin": "新しいポイントを追加するにはログインしてください",
"stillLoading": "データはまだロード中です。新しいポイントを追加する前に少しお待ちください。",
- "title": "新しいポイントを追加しますか?",
+ "title": "新しいポイントを追加しますか",
"zoomInFurther": "さらにズーム拡大して点を追加します。"
},
"attribution": {
@@ -59,18 +59,18 @@
"ph_not_known": " ",
"ph_open": "開店"
},
- "pickLanguage": "言語を選択します: ",
+ "pickLanguage": "言語を選択します",
"returnToTheMap": "マップに戻る",
"save": "保存",
"search": {
- "error": "何かがうまくいかなかった…",
- "nothing": "何も見つかりませんでした…",
+ "error": "何かがうまくいかなかった。",
+ "nothing": "何も見つかりませんでした。",
"search": "場所を検索する",
"searching": "検索中…"
},
"sharescreen": {
"copiedToClipboard": "クリップボードにコピーされたリンク",
- "embedIntro": "お客様のWebサイトに埋め込む
この地図をお客様のWebサイトに埋め込みます。
許可を得る必要もありませんので、ぜひご利用ください。
無料であり、常に利用できます。使う人が増えれば増えるほど、価値が増大します。",
+ "embedIntro": "お客様のWebサイトに埋め込む
この地図をお客様のWebサイトに埋め込みます。
許可を得る必要もありませんので、ぜひご利用ください。
無料であり、常に利用できます。使う人が増えれば増えるほど、価値が増大します。",
"fsUserbadge": "ログインボタンを有効にする",
"fsWelcomeMessage": "ウェルカムメッセージのポップアップと関連するタブを表示します",
"intro": "このマップを共有
このマップを共有するには、次のリンクをコピーして、友人や家族に送信します。"
@@ -96,7 +96,7 @@
}
},
"image": {
- "addPicture": "写真の追加",
+ "addPicture": "写真を撮る",
"doDelete": "イメージの削除",
"isDeleted": "削除済み",
"pleaseLogin": "写真を追加するにはログインしてください",
@@ -105,16 +105,17 @@
},
"index": {
"#": "これらのテキストは、テーマがロードされていない場合にテーマボタンの上に表示されます",
- "intro": "MapCompleteはOpenStreetMapのビューア兼エディタであり、特定のテーマに関する情報を表示します。",
+ "intro": "MapCompleteはOpenStreetMapのビューア兼エディタであり、特定のテーマに関する情報を表示します",
"title": "MapCompleteへようこそ"
},
"reviews": {
"affiliated_reviewer_warning": "(関係者のレビュー)",
- "i_am_affiliated": "わたしは、この対象物の関係者です
所有者、作成者、従業員などの有無を確認します",
+ "i_am_affiliated": "わたしは、この対象物の関係者です",
"no_reviews_yet": "まだレビューはありません。最初に書き込みを行い、データとビジネスのオープン化を支援しましょう!",
- "saved": "レビューが保存されました。共有ありがとう!",
+ "saved": "レビューが保存されました。共有ありがとう!",
"saving_review": "保存中…",
"title": "{count}個のレビュー",
- "tos": "レビューを作成する場合は、Mangrove.reviewsのTOSおよびプライバシーポリシーに同意します。"
+ "tos": "レビューを作成する場合は、Mangrove.reviewsのTOSおよびプライバシーポリシーに同意します。",
+ "i_am_affiliated_explanation": "所有者、作成者、従業員などの有無を確認します……"
}
-}
\ No newline at end of file
+}
diff --git a/langs/layers/da.json b/langs/layers/da.json
index ab394ced12..d46376e47d 100644
--- a/langs/layers/da.json
+++ b/langs/layers/da.json
@@ -2455,6 +2455,20 @@
"wheelchair-door-width": {
"question": "Hvad er bredden på døren til det kørestolsvenlige toilet?",
"render": "Døren til det kørestolsvenlige toilet er {canonical(door:width)} bred"
+ },
+ "menstrual_products": {
+ "mappings": {
+ "2": {
+ "then": "Ingen gratis menstruationsprodukter er tilgængelige her"
+ }
+ }
+ },
+ "toilet-reviews": {
+ "render": {
+ "special": {
+ "question": "Hvordan vil du bedømme dette toilet?"
+ }
+ }
}
},
"title": {
@@ -3188,5 +3202,43 @@
},
"render": "vindmølle"
}
+ },
+ "firepit": {
+ "tagRenderings": {
+ "access": {
+ "mappings": {
+ "1": {
+ "then": "Ingen adgang"
+ },
+ "0": {
+ "then": "Offentlig"
+ },
+ "2": {
+ "then": "Privat"
+ },
+ "3": {
+ "then": "Adgang indtil tilbagekaldelse"
+ },
+ "4": {
+ "then": "Kun adgang for kunder"
+ },
+ "5": {
+ "then": "Kun adgang for godkendte"
+ }
+ },
+ "question": "Hvilken adgang er tilladt?"
+ }
+ }
+ },
+ "shelter": {
+ "tagRenderings": {
+ "shelter-type": {
+ "mappings": {
+ "4": {
+ "then": "Dette er et skur med 3 vægge, primært beregnet til camping."
+ }
+ }
+ }
+ }
}
-}
\ No newline at end of file
+}
diff --git a/langs/layers/nl.json b/langs/layers/nl.json
index 9898742728..04f798a02d 100644
--- a/langs/layers/nl.json
+++ b/langs/layers/nl.json
@@ -2148,9 +2148,6 @@
},
"title": {
"mappings": {
- "0": {
- "then": "{name}"
- },
"1": {
"then": "Vogelkijkhut {name}"
},
@@ -6887,11 +6884,6 @@
}
},
"title": {
- "mappings": {
- "0": {
- "then": "{name}"
- }
- },
"render": "Natuurgebied"
}
},
@@ -7426,21 +7418,6 @@
"render": "Picknicktafel"
}
},
- "play_forest": {
- "description": "Een speelbos is een vrij toegankelijke zone in een bos",
- "name": "Speelbossen",
- "title": {
- "mappings": {
- "0": {
- "then": "{name}"
- },
- "1": {
- "then": "Speelbos {name}"
- }
- },
- "render": "Speelbos"
- }
- },
"playground": {
"deletion": {
"nonDeleteMappings": {
@@ -9189,9 +9166,6 @@
},
"title": {
"mappings": {
- "0": {
- "then": "{name}"
- },
"1": {
"then": "Voetpad"
},
@@ -11441,25 +11415,13 @@
}
},
"village_green": {
- "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)",
- "name": "Speelweide",
- "title": {
- "mappings": {
- "0": {
- "then": "{name}"
- }
- },
- "render": "Speelweide"
- }
+ "description": "Een laag die dorpsgroen toont (gemeenschapsgroen, maar niet echt een park)"
},
"visitor_information_centre": {
"description": "Een bezoekerscentrum biedt informatie over een specifieke attractie of bezienswaardigheid waar het is gevestigd.",
"name": "Bezoekerscentrum",
"title": {
"mappings": {
- "0": {
- "then": "{name:nl}"
- },
"1": {
"then": "{name}"
}
@@ -11673,4 +11635,4 @@
"render": "windturbine"
}
}
-}
\ No newline at end of file
+}
diff --git a/package-lock.json b/package-lock.json
index a46f1abe23..9e49773b73 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "mapcomplete",
- "version": "0.53.0",
+ "version": "0.53.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mapcomplete",
- "version": "0.53.0",
+ "version": "0.53.1",
"hasInstallScript": true,
"license": "GPL-3.0-or-later",
"dependencies": {
diff --git a/package.json b/package.json
index d3f12036ef..7d6c980702 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mapcomplete",
- "version": "0.53.0",
+ "version": "0.53.1",
"repository": "https://source.mapcomplete.org/MapComplete/MapComplete",
"description": "A small website to edit OSM easily",
"bugs": "hhttps://source.mapcomplete.org/MapComplete/MapComplete/issues",
diff --git a/src/Logic/Web/MangroveReviews.ts b/src/Logic/Web/MangroveReviews.ts
index 8bffc99b13..a6e82b4f7e 100644
--- a/src/Logic/Web/MangroveReviews.ts
+++ b/src/Logic/Web/MangroveReviews.ts
@@ -164,6 +164,7 @@ export default class FeatureReviews {
fallbackName?: string
uncertaintyRadius?: number
}>
+ private readonly _reportError: (msg: string, extra: string) => Promise
private constructor(
feature: Feature,
@@ -175,9 +176,11 @@ export default class FeatureReviews {
uncertaintyRadius?: number
}>,
testmode?: Store,
- loadingAllowed?: UIEventSource
+ loadingAllowed?: UIEventSource,
+ reportError?: (msg: string, extra: string) => Promise
) {
this.loadingAllowed = loadingAllowed
+ this._reportError = reportError
const centerLonLat = GeoOperations.centerpointCoordinates(feature)
;[this._lon, this._lat] = centerLonLat
this._identity = mangroveIdentity
@@ -290,12 +293,8 @@ export default class FeatureReviews {
feature: Feature,
tagsSource: UIEventSource>,
mangroveIdentity: MangroveIdentity,
- options: {
- nameKey?: "name" | string
- fallbackName?: string
- uncertaintyRadius?: number
- },
- state?: SpecialVisualizationState
+ options: { nameKey: string; fallbackName: string; reportError: (msg) => Promise },
+ state?: SpecialVisualizationState,
): FeatureReviews {
const key =
feature.properties.id +
@@ -334,7 +333,8 @@ export default class FeatureReviews {
mangroveIdentity,
options,
state?.featureSwitchIsTesting,
- loadingAllowed
+ loadingAllowed,
+ (msg, extra) => state?.reportError(msg, extra)
)
FeatureReviews._featureReviewsCache[key] = featureReviews
return featureReviews
@@ -362,7 +362,12 @@ export default class FeatureReviews {
const jwt = await MangroveReviews.signReview(keypair, r)
const kid = await MangroveReviews.publicToPem(keypair.publicKey)
if (!this._testmode.data) {
- await MangroveReviews.submitReview(jwt)
+ try{
+ await MangroveReviews.submitReview(jwt)
+ }catch (e) {
+ await this._reportError(e, "Could not save a review. The text is:"+review.rating+", "+review.opinion)
+ throw e
+ }
} else {
console.log("Testmode enabled - not uploading review")
await Utils.waitFor(1000)