diff --git a/UI/Popup/ImportButton.ts b/UI/Popup/ImportButton.ts
index 8db42618de..7490f1d060 100644
--- a/UI/Popup/ImportButton.ts
+++ b/UI/Popup/ImportButton.ts
@@ -54,11 +54,13 @@ abstract class AbstractImportButton implements SpecialVisualizations {
public readonly docs: string
public readonly args: { name: string, defaultValue?: string, doc: string }[]
private readonly showRemovedTags: boolean;
+ private readonly cannotBeImportedMessage: BaseUIElement | undefined;
- constructor(funcName: string, docsIntro: string, extraArgs: { name: string, doc: string, defaultValue?: string, required?: boolean }[], showRemovedTags = true) {
+ constructor(funcName: string, docsIntro: string, extraArgs: { name: string, doc: string, defaultValue?: string, required?: boolean }[],
+ options?: {showRemovedTags? : true | boolean, cannotBeImportedMessage?: BaseUIElement}) {
this.funcName = funcName
- this.showRemovedTags = showRemovedTags;
-
+ this.showRemovedTags = options?.showRemovedTags ?? true;
+ this.cannotBeImportedMessage = options?.cannotBeImportedMessage
this.docs = `${docsIntro}
Note that the contributor must zoom to at least zoomlevel 18 to be able to use this functionality.
@@ -200,7 +202,7 @@ ${Utils.special_visualizations_importRequirementDocs}
pleaseLoginButton,
state
),
- t.wrongType,
+ this.cannotBeImportedMessage ?? t.wrongType,
new UIEventSource(this.canBeImported(feature)))
}
@@ -304,7 +306,10 @@ export class ConflateButton extends AbstractImportButton {
[{
name: "way_to_conflate",
doc: "The key, of which the corresponding value is the id of the OSM-way that must be conflated; typically a calculatedTag"
- }]
+ }],
+ {
+ cannotBeImportedMessage: Translations.t.general.add.import.wrongTypeToConflate
+ }
);
}
@@ -393,7 +398,7 @@ export class ImportWayButton extends AbstractImportButton implements AutoAction
doc: "Distance to distort the geometry to snap to this layer",
defaultValue: "0.1"
}],
- false
+ { showRemovedTags: false}
)
}
@@ -548,7 +553,7 @@ export class ImportPointButton extends AbstractImportButton {
{name:"location_picker",
defaultValue: "photo",
doc: "Chooses the background for the precise location picker, options are 'map', 'photo' or 'osmbasedmap' or 'none' if the precise input picker should be disabled"}],
- false
+ { showRemovedTags: false}
)
}
diff --git a/UI/SpecialVisualizations.ts b/UI/SpecialVisualizations.ts
index 5f41c14332..bc66f65066 100644
--- a/UI/SpecialVisualizations.ts
+++ b/UI/SpecialVisualizations.ts
@@ -35,7 +35,7 @@ import {ConflateButton, ImportPointButton, ImportWayButton} from "./Popup/Import
import TagApplyButton from "./Popup/TagApplyButton";
import AutoApplyButton from "./Popup/AutoApplyButton";
import * as left_right_style_json from "../assets/layers/left_right_style/left_right_style.json";
-import {OpenIdEditor} from "./BigComponents/CopyrightPanel";
+import {OpenIdEditor, OpenJosm} from "./BigComponents/CopyrightPanel";
import Toggle from "./Input/Toggle";
import Img from "./Base/Img";
import NoteCommentElement from "./Popup/NoteCommentElement";
@@ -886,7 +886,14 @@ export default class SpecialVisualizations {
return new OpenIdEditor(state, undefined, feature.data.id)
}
},
-
+ {
+ funcName: "open_in_josm",
+ docs: "Opens the current view in the JOSM-editor",
+ args: [],
+ constr: (state, feature) => {
+ return new OpenJosm(state)
+ }
+ },
{
funcName: "clear_location_history",
diff --git a/assets/themes/grb_import/grb.json b/assets/themes/grb_import/grb.json
index b8abc07595..5a7ad09d32 100644
--- a/assets/themes/grb_import/grb.json
+++ b/assets/themes/grb_import/grb.json
@@ -498,6 +498,20 @@
"de": "Metatags noch nicht berechnet... Dieses Fenster erneut öffnen"
}
},
+ {
+ "if": {
+
+ "and": [
+ "id~relation/*",
+ "_overlap_percentage>50",
+ "_reverse_overlap_percentage>50",
+ "_overlaps_with!="
+ ]
+ },
+ "then": {
+ "en": "This building has holes and is modeled as a relation. As such, it cannot be conflated. Conflate it manually via the building export site {open_in_josm()}"
+ }
+ },
{
"#": "Actually the same as below, except that the text shows 'add the address' too",
"if": {
diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
index ebbab1be76..383bb4853e 100644
--- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json
+++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json
@@ -1,13 +1,21 @@
{
"id": "mapcomplete-changes",
"title": {
- "en": "Changes made with MapComplete"
+ "en": "Changes made with MapComplete",
+ "de": "Änderungen mit MapComplete",
+ "es": "Cambios hechos con MapComplete",
+ "nb_NO": "Endringer utført med MapComplete"
},
"shortDescription": {
- "en": "Shows changes made by MapComplete"
+ "en": "Shows changes made by MapComplete",
+ "de": "Zeigt Änderungen von MapComplete",
+ "es": "Muestra los cambios hechos por MapComplete",
+ "nb_NO": "Vis endringer utført med MapComplete"
},
"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 Änderungen die mit MapComplete gemacht wurden",
+ "es": "Este mapa muestra todos los cambios hechos con MapComplete"
},
"maintainer": "",
"icon": "./assets/svg/logo.svg",
@@ -22,7 +30,10 @@
{
"id": "mapcomplete-changes",
"name": {
- "en": "Changeset centers"
+ "en": "Changeset centers",
+ "de": "Schwerpunkte von Änderungssätzen",
+ "es": "Centros de conjuntos de cambios",
+ "nb_NO": "Endringssettsenter"
},
"minzoom": 0,
"source": {
@@ -36,35 +47,47 @@
],
"title": {
"render": {
- "en": "Changeset for {theme}"
+ "en": "Changeset for {theme}",
+ "de": "Änderungen für {theme}",
+ "es": "Conjunto de cambios para {theme}",
+ "nb_NO": "Endringssett for {theme}"
}
},
"description": {
- "en": "Shows all MapComplete changes"
+ "en": "Shows all MapComplete changes",
+ "de": "Zeigt alle MapComplete Änderungen",
+ "es": "Muestra todos los cambios de MapComplete"
},
"tagRenderings": [
{
"id": "render_id",
"render": {
- "en": "Changeset {id}"
+ "en": "Changeset {id}",
+ "de": "Änderung {id}",
+ "es": "Conjunto de cambios {id}",
+ "nb_NO": "Endringssett {id}"
}
},
{
"id": "contributor",
"render": {
- "en": "Change made by {_last_edit:contributor}"
+ "en": "Change made by {_last_edit:contributor}",
+ "de": "Änderung wurde von {_last_edit:contributor} gemacht",
+ "es": "Cambio hecho por {_last_edit:contributor}"
}
},
{
"id": "theme",
"render": {
- "en": "Change with theme {theme}"
+ "en": "Change with theme {theme}",
+ "de": "Änderung mit Thema {theme}"
},
"mappings": [
{
"if": "theme~http.*",
"then": {
- "en": "Change with unofficial theme {theme}"
+ "en": "Change with unofficial theme {theme}",
+ "de": "Änderung mit inoffiziellem Thema {theme}"
}
}
]
@@ -332,7 +355,9 @@
}
],
"question": {
- "en": "Themename contains {search}"
+ "en": "Themename contains {search}",
+ "de": "Themenname enthält {search}",
+ "nb_NO": "Temanavn inneholder {search}"
}
}
]
@@ -348,7 +373,9 @@
}
],
"question": {
- "en": "Made by contributor {search}"
+ "en": "Made by contributor {search}",
+ "de": "Erstellt von {search}",
+ "es": "Hecho por contributor/a {search}"
}
}
]
@@ -364,7 +391,9 @@
}
],
"question": {
- "en": "Not made by contributor {search}"
+ "en": "Not made by contributor {search}",
+ "de": "Nicht erstellt von {search}",
+ "es": "No hecho por contributor/a {search}"
}
}
]
@@ -379,7 +408,9 @@
{
"id": "link_to_more",
"render": {
- "en": "More statistics can be found here"
+ "en": "More statistics can be found here",
+ "de": "Weitere Statistiken finden Sie hier",
+ "es": "Se pueden encontrar más estadísticas aquí"
}
},
{
diff --git a/langs/en.json b/langs/en.json
index a50a4b1094..363e67fbdb 100644
--- a/langs/en.json
+++ b/langs/en.json
@@ -56,6 +56,7 @@
"importTags": "The element will receive {tags}",
"officialThemesOnly": "The import button is disabled for unofficial themes to prevent accidents",
"wrongType": "This element is not a point or a way and can not be imported",
+ "wrongTypeToConflate": "This element is not a point or a way and can not be conflated",
"zoomInMore": "Zoom in more to import this feature"
},
"importTags": "The element will receive {tags}",