diff --git a/Models/ThemeConfig/Json/LayerConfigJson.ts b/Models/ThemeConfig/Json/LayerConfigJson.ts index d7decef53c..8a90248ba6 100644 --- a/Models/ThemeConfig/Json/LayerConfigJson.ts +++ b/Models/ThemeConfig/Json/LayerConfigJson.ts @@ -192,6 +192,13 @@ export interface LayerConfigJson { */ description?: string | any, + /** + * Example images, which show real-life pictures of what such a feature might look like + * + * Type: image[] + */ + exampleImages?: string[] + /** * If set, the user will prompted to confirm the location before actually adding the data. * This will be with a 'drag crosshair'-method. diff --git a/Models/ThemeConfig/LayerConfig.ts b/Models/ThemeConfig/LayerConfig.ts index 229726524e..86bf1f09de 100644 --- a/Models/ThemeConfig/LayerConfig.ts +++ b/Models/ThemeConfig/LayerConfig.ts @@ -209,6 +209,7 @@ export default class LayerConfig extends WithContextLoader { tags: pr.tags.map((t) => TagUtils.SimpleTag(t)), description: Translations.T(pr.description, `${context}.presets[${i}].description`), preciseInput: preciseInput, + exampleImages: pr.exampleImages } return config; }); diff --git a/Models/ThemeConfig/PresetConfig.ts b/Models/ThemeConfig/PresetConfig.ts index da823fcd28..4522d90792 100644 --- a/Models/ThemeConfig/PresetConfig.ts +++ b/Models/ThemeConfig/PresetConfig.ts @@ -11,6 +11,7 @@ export default interface PresetConfig { title: Translation, tags: Tag[], description?: Translation, + exampleImages?: string[], /** * If precise input is set, then an extra map is shown in which the user can drag the map to the precise location */ diff --git a/UI/BigComponents/AddNewMarker.ts b/UI/BigComponents/AddNewMarker.ts index a8e9a141a0..9bd89e3f53 100644 --- a/UI/BigComponents/AddNewMarker.ts +++ b/UI/BigComponents/AddNewMarker.ts @@ -14,6 +14,9 @@ export default class AddNewMarker extends Combine { let last = undefined; for (const filteredLayer of filteredLayers) { const layer = filteredLayer.layerDef; + if(layer.name === undefined){ + continue + } for (const preset of filteredLayer.layerDef.presets) { const tags = TagUtils.KVtoProperties(preset.tags) const icon = layer.mapRendering[0].GenerateLeafletStyle(new UIEventSource(tags), false).html diff --git a/UI/BigComponents/SimpleAddUI.ts b/UI/BigComponents/SimpleAddUI.ts index e8b2783521..cd86e1d52d 100644 --- a/UI/BigComponents/SimpleAddUI.ts +++ b/UI/BigComponents/SimpleAddUI.ts @@ -180,9 +180,8 @@ export default class SimpleAddUI extends Toggle { } - private static CreatePresetSelectButton(preset: PresetInfo, osmConnection: OsmConnection) { + private static CreatePresetSelectButton(preset: PresetInfo) { - const tagInfo = SimpleAddUI.CreateTagInfoFor(preset, osmConnection, false); return new SubtleButton( preset.icon(), new Combine([ @@ -223,16 +222,15 @@ export default class SimpleAddUI extends Toggle { let icon: () => BaseUIElement = () => layer.layerDef.mapRendering[0].GenerateLeafletStyle(new UIEventSource(tags), false).html .SetClass("w-12 h-12 block relative"); const presetInfo: PresetInfo = { - tags: preset.tags, layerToAddTo: layer, name: preset.title, title: preset.title, - description: preset.description, icon: icon, - preciseInput: preset.preciseInput + preciseInput: preset.preciseInput, + ...preset } - const button = SimpleAddUI.CreatePresetSelectButton(presetInfo, state.osmConnection); + const button = SimpleAddUI.CreatePresetSelectButton(presetInfo); button.onClick(() => { selectedPreset.setData(presetInfo) }) diff --git a/UI/NewPoint/ConfirmLocationOfPoint.ts b/UI/NewPoint/ConfirmLocationOfPoint.ts index 458b470a22..9ab9a7dcaf 100644 --- a/UI/NewPoint/ConfirmLocationOfPoint.ts +++ b/UI/NewPoint/ConfirmLocationOfPoint.ts @@ -13,6 +13,8 @@ import Svg from "../../Svg"; import Toggle from "../Input/Toggle"; import SimpleAddUI, {PresetInfo} from "../BigComponents/SimpleAddUI"; import BaseLayer from "../../Models/BaseLayer"; +import Img from "../Base/Img"; +import Title from "../Base/Title"; export default class ConfirmLocationOfPoint extends Combine { @@ -35,6 +37,9 @@ export default class ConfirmLocationOfPoint extends Combine { let preciseInput: LocationInput = undefined if (preset.preciseInput !== undefined) { + // Create location input + + // We uncouple the event source const zloc = {...loc, zoom: 19} const locationSrc = new UIEventSource(zloc); @@ -166,6 +171,16 @@ export default class ConfirmLocationOfPoint extends Combine { Translations.t.general.cancel ).onClick(cancel) + + let examples : BaseUIElement = undefined; + if(preset.exampleImages !== undefined && preset.exampleImages.length > 0){ + examples = new Combine([ + new Title( preset.exampleImages.length == 1 ? Translations.t.general.example : Translations.t.general.examples), + new Combine(preset.exampleImages.map(img => new Img(img).SetClass("h-64 m-1 w-auto"))).SetClass("flex flex-wrap items-stretch") + ]) + + } + super([ new Toggle( Translations.t.general.testing.SetClass("alert"), @@ -175,6 +190,7 @@ export default class ConfirmLocationOfPoint extends Combine { disableFiltersOrConfirm, cancelButton, preset.description, + examples, tagInfo ]) diff --git a/assets/layers/bike_parking/bike_parking.json b/assets/layers/bike_parking/bike_parking.json index d98379b06a..bcf04387aa 100644 --- a/assets/layers/bike_parking/bike_parking.json +++ b/assets/layers/bike_parking/bike_parking.json @@ -551,7 +551,7 @@ "mapRendering": [ { "icon": { - "render": "./assets/layers/bike_parking/parking.svg" + "render": "pin:#5473de;./assets/layers/bike_parking/parking.svg" }, "iconSize": "40,40,bottom", "location": [ diff --git a/assets/layers/bike_parking/parking.svg b/assets/layers/bike_parking/parking.svg index 24f58cff91..c9158418a1 100644 --- a/assets/layers/bike_parking/parking.svg +++ b/assets/layers/bike_parking/parking.svg @@ -1,23 +1,38 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + - \ No newline at end of file + diff --git a/assets/layers/bike_parking/parking_old.svg b/assets/layers/bike_parking/parking_old.svg deleted file mode 100644 index 006493f920..0000000000 --- a/assets/layers/bike_parking/parking_old.svg +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/assets/layers/bike_repair_station/bike_repair_station.json b/assets/layers/bike_repair_station/bike_repair_station.json index 63c359263d..21041f106b 100644 --- a/assets/layers/bike_repair_station/bike_repair_station.json +++ b/assets/layers/bike_repair_station/bike_repair_station.json @@ -626,15 +626,16 @@ "service:bicycle:pump=yes" ], "description": { - "en": "A device to inflate your tires on a fixed location in the public space.

Examples of bicycle pumps

", - "nl": "Een apparaat waar je je fietsbanden kan oppompen, beschikbaar in de publieke ruimte. De fietspomp in je kelder telt dus niet.

Voorbeelden van fietspompen

", - "it": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.

Esempi di pompe per biciclette

", - "fr": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.

Exemples de pompes à vélo

", - "de": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.

Beispiele für Fahrradpumpen

", - "pl": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.

Przykłady pompek rowerowych

", - "pt_BR": "Um dispositivo para encher seus pneus em um local fixa no espaço público

Exemplos de bombas de bicicletas

", - "pt": "Um aparelho para encher os seus pneus num local fixa no espaço público

Exemplos de bombas de bicicletas

" - } + "en": "A device to inflate your tires on a fixed location in the public space.", + "nl": "Een fietspomp in de publieke ruimte zonder extra gereedschap. De fietspomp in je kelder telt dus niet.", + "it": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.", + "fr": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.", + "de": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.", + "pl": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.", + "pt_BR": "Um dispositivo para encher seus pneus em um local fixa no espaço público", + "pt": "Um aparelho para encher os seus pneus num local fixa no espaço público" + }, + "exampleImages": ["./assets/layers/bike_repair_station/pump_example_round.jpg","./assets/layers/bike_repair_station/pump_example.png","./assets/layers/bike_repair_station/pump_example_manual.jpg"] }, { "title": { @@ -652,12 +653,13 @@ "service:bicycle:pump=yes" ], "description": { - "en": "A device with tools to repair your bike combined with a pump at a fixed location. The tools are often secured with chains against theft.

Example

", - "nl": "Een apparaat met zowel gereedschap om je fiets te herstellen, met een pomp. Deze zijn op een vastgemaakt op een plaats in de publieke ruimte, bv. aan een paal.

Voorbeeld

", - "fr": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.

Exemple

", - "it": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.

Esempio

", - "de": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.

Beispiel

" - } + "en": "A bicycle pump and tools to repair your bike in the public space. The tools are often secured with chains against theft.", + "nl": "Een fietspomp en gereedschap om je fiets te herstellen in de publieke ruimte. Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.", + "fr": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.", + "it": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.", + "de": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert." + }, + "exampleImages": ["./assets/layers/bike_repair_station/repair_station_example_2.jpg","./assets/layers/bike_repair_station/repair_station_example_3.jpg"] }, { "title": { @@ -672,7 +674,11 @@ "amenity=bicycle_repair_station", "service:bicycle:tools=yes", "service:bicycle:pump=no" - ] + ], + "description": { + "en": "Tools to repair your bike in the public space (without pump). The tools are secured against theft.", + "nl": "Gereedschap om je fiets te herstellen in de publieke ruimte (zonder pomp). Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal." + } } ], "deletion": { diff --git a/assets/layers/bike_repair_station/license_info.json b/assets/layers/bike_repair_station/license_info.json index d7f8d4e4b8..c88b4771d3 100644 --- a/assets/layers/bike_repair_station/license_info.json +++ b/assets/layers/bike_repair_station/license_info.json @@ -94,6 +94,26 @@ "https://wiki.openstreetmap.org/wiki/File:Public_Bike_Repair_Station.jpg" ] }, + { + "path": "repair_station_example_2.jpg", + "license": "CC-BY-SA 4.0 International", + "authors": [ + "MOs810" + ], + "sources": [ + "https://wiki.openstreetmap.org/wiki/File:Bike_repair_station,_Poznan_Kaponiera.jpg" + ] + }, + { + "path": "repair_station_example_3.jpg", + "license": "CC-BY-SA 3.0 Unported", + "authors": [ + "or \tThelmadatter" + ], + "sources": [ + "\u001b[3~https://wiki.openstreetmap.org/wiki/File:BikeRepairMonterrey.JPG" + ] + }, { "path": "repair_station_pump.svg", "license": "CC-BY-SA", diff --git a/assets/layers/bike_repair_station/repair_station_example_2.jpg b/assets/layers/bike_repair_station/repair_station_example_2.jpg new file mode 100644 index 0000000000..52ca83a53e Binary files /dev/null and b/assets/layers/bike_repair_station/repair_station_example_2.jpg differ diff --git a/assets/layers/bike_repair_station/repair_station_example_3.jpg b/assets/layers/bike_repair_station/repair_station_example_3.jpg new file mode 100644 index 0000000000..e4cdcaff97 Binary files /dev/null and b/assets/layers/bike_repair_station/repair_station_example_3.jpg differ diff --git a/css/index-tailwind-output.css b/css/index-tailwind-output.css index 84d7d99fd8..844e7d4338 100644 --- a/css/index-tailwind-output.css +++ b/css/index-tailwind-output.css @@ -1072,6 +1072,14 @@ video { height: 0px; } +.h-40 { + height: 10rem; +} + +.h-64 { + height: 16rem; +} + .h-3 { height: 0.75rem; } @@ -1154,6 +1162,10 @@ video { width: min-content; } +.w-auto { + width: auto; +} + .w-max { width: -webkit-max-content; width: -moz-max-content; @@ -1202,23 +1214,6 @@ video { transform: var(--tw-transform); } -@-webkit-keyframes pulse { - 50% { - opacity: .5; - } -} - -@keyframes pulse { - 50% { - opacity: .5; - } -} - -.animate-pulse { - -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; - animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; -} - @-webkit-keyframes spin { to { transform: rotate(360deg); @@ -1236,6 +1231,23 @@ video { animation: spin 1s linear infinite; } +@-webkit-keyframes pulse { + 50% { + opacity: .5; + } +} + +@keyframes pulse { + 50% { + opacity: .5; + } +} + +.animate-pulse { + -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; + animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; +} + .cursor-pointer { cursor: pointer; } @@ -1276,6 +1288,10 @@ video { align-items: baseline; } +.items-stretch { + align-items: stretch; +} + .justify-end { justify-content: flex-end; } @@ -2613,6 +2629,10 @@ input { padding: 0.75rem; } + .md\:pt-4 { + padding-top: 1rem; + } + .md\:pt-0 { padding-top: 0px; } @@ -2621,10 +2641,6 @@ input { padding-bottom: 0px; } - .md\:pt-4 { - padding-top: 1rem; - } - .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; diff --git a/langs/de.json b/langs/de.json index ae06a741ae..81cf2a0463 100644 --- a/langs/de.json +++ b/langs/de.json @@ -35,6 +35,7 @@ "logIn": "Melden Sie sich an, um Themen anzuzeigen, die Sie zuvor besucht haben" }, "general": { + "example": "Beispiel", "loginWithOpenStreetMap": "Bei OpenStreetMap anmelden", "welcomeBack": "Sie sind eingeloggt, willkommen zurück!", "loginToStart": "Anmelden, um diese Frage zu beantworten", diff --git a/langs/en.json b/langs/en.json index 7a2bc1bd09..ce0a4b3b8f 100644 --- a/langs/en.json +++ b/langs/en.json @@ -273,7 +273,9 @@ "appliedOnAnotherObject": "The object {id} will receive {tags}" }, "loadingTheme": "Loading {theme}...", - "poweredByOsm": "Powered by OpenStreetMap" + "poweredByOsm": "Powered by OpenStreetMap", + "example": "Example", + "examples": "Examples" }, "favourite": { "panelIntro": "

Your personal theme

Activate your favourite layers from all the official themes", diff --git a/langs/it.json b/langs/it.json index 19d0394ed9..988fc4942b 100644 --- a/langs/it.json +++ b/langs/it.json @@ -17,6 +17,7 @@ }, "general": { "aboutMapcomplete": "

Informazioni su MapComplete

Con MapComplete puoi arricchire OpenStreetMap con informazioni su un singolo argomento. Rispondi a poche domande e in pochi minuti i tuoi contributi saranno disponibili a tutto il mondo! L’utente gestore del tema definisce gli elementi, le domande e le lingue per quel tema.

Scopri altro

MapComplete propone sempre un passo in più per imparare qualcosa di nuovo su OpenStreetMap.


Hai trovato un errore? Vuoi richiedere nuove funzionalità? Vuoi aiutare con la traduzione? Dai un’occhiata al codice sorgente oppure al tracker degli errori.

Vuoi vedere i tuoi progressi?Segui il contatore delle modifiche su OsmCha.

", + "example": "Esempio", "morescreen": { "requestATheme": "Se hai bisogno di una mappa tematica personalizzata, puoi chiederla nel tracker degli errori", "createYourOwnTheme": "Crea il tuo tema di MapComplete personalizzato da zero", diff --git a/langs/layers/de.json b/langs/layers/de.json index 2e44c07c2b..e4a958cb7b 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -663,11 +663,11 @@ "name": "Fahrradstationen (Reparatur, Pumpe oder beides)", "presets": { "0": { - "description": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.

Beispiele für Fahrradpumpen

", + "description": "Ein Gerät zum Aufpumpen von Reifen an einem festen Standort im öffentlichen Raum.", "title": "fahrradpumpe" }, "1": { - "description": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.

Beispiel

", + "description": "Ein Gerät mit Werkzeugen zur Reparatur von Fahrrädern kombiniert mit einer Pumpe an einem festen Standort. Die Werkzeuge sind oft mit Ketten gegen Diebstahl gesichert.", "title": "fahrrad-Reparaturstation und Pumpe" }, "2": { diff --git a/langs/layers/en.json b/langs/layers/en.json index 5b64550f09..44e81bb2e7 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -768,14 +768,15 @@ "name": "Bicycle pump and repair", "presets": { "0": { - "description": "A device to inflate your tires on a fixed location in the public space.

Examples of bicycle pumps

", + "description": "A device to inflate your tires on a fixed location in the public space.", "title": "bike pump" }, "1": { - "description": "A device with tools to repair your bike combined with a pump at a fixed location. The tools are often secured with chains against theft.

Example

", + "description": "A bicycle pump and tools to repair your bike in the public space. The tools are often secured with chains against theft.", "title": "bike repair station and pump" }, "2": { + "description": "Tools to repair your bike in the public space (without pump). The tools are secured against theft.", "title": "bike repair station without pump" } }, diff --git a/langs/layers/fr.json b/langs/layers/fr.json index b4c061f34e..6dfcdaacdd 100644 --- a/langs/layers/fr.json +++ b/langs/layers/fr.json @@ -628,11 +628,11 @@ "name": "Station velo (réparation, pompe à vélo)", "presets": { "0": { - "description": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.

Exemples de pompes à vélo

", + "description": "Un dispositif pour gonfler vos pneus sur un emplacement fixe dans l'espace public.", "title": "pompe à vélo" }, "1": { - "description": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.

Exemple

", + "description": "Un dispositif avec des outils pour réparer votre vélo combiné à une pompe a un emplacement fixe. Les outils sont souvent attachés par une chaîne pour empêcher le vol.", "title": "point de réparation vélo avec pompe" }, "2": { diff --git a/langs/layers/it.json b/langs/layers/it.json index 8b6b3182ad..b119dcec2a 100644 --- a/langs/layers/it.json +++ b/langs/layers/it.json @@ -508,11 +508,11 @@ "name": "Stazioni bici (riparazione, gonfiaggio o entrambi)", "presets": { "0": { - "description": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.

Esempi di pompe per biciclette

", + "description": "Un dispositivo per gonfiare le proprie gomme in un luogo fisso pubblicamente accessibile.", "title": "pompa per bici" }, "1": { - "description": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.

Esempio

", + "description": "Un dispositivo con attrezzi per riparare la tua bici e una pompa in un luogo fisso. Gli attrezzi sono spesso attaccati ad una catena per prevenire il furto.", "title": "stazione di riparazione bici e pompa" }, "2": { diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 0937f44e8f..d7ca1a79d9 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -678,14 +678,15 @@ "name": "Fietspomp and fietsherstel", "presets": { "0": { - "description": "Een apparaat waar je je fietsbanden kan oppompen, beschikbaar in de publieke ruimte. De fietspomp in je kelder telt dus niet.

Voorbeelden van fietspompen

", + "description": "Een fietspomp in de publieke ruimte zonder extra gereedschap. De fietspomp in je kelder telt dus niet.", "title": "fietspomp" }, "1": { - "description": "Een apparaat met zowel gereedschap om je fiets te herstellen, met een pomp. Deze zijn op een vastgemaakt op een plaats in de publieke ruimte, bv. aan een paal.

Voorbeeld

", + "description": "Een fietspomp en gereedschap om je fiets te herstellen in de publieke ruimte. Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.", "title": "herstelpunt en pomp" }, "2": { + "description": "Gereedschap om je fiets te herstellen in de publieke ruimte (zonder pomp). Deze zijn op een vastgemaakt, bijvoorbeeld aan een paal.", "title": "herstelpunt zonder pomp" } }, diff --git a/langs/layers/pl.json b/langs/layers/pl.json index b3f3cbcd40..d91bb5b5cc 100644 --- a/langs/layers/pl.json +++ b/langs/layers/pl.json @@ -223,7 +223,7 @@ "bike_repair_station": { "presets": { "0": { - "description": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.

Przykłady pompek rowerowych

", + "description": "Urządzenie do pompowania opon w stałym miejscu w przestrzeni publicznej.", "title": "pompka do roweru" }, "1": { diff --git a/langs/layers/pt.json b/langs/layers/pt.json index e51a66d3aa..df8d251349 100644 --- a/langs/layers/pt.json +++ b/langs/layers/pt.json @@ -412,7 +412,7 @@ "bike_repair_station": { "presets": { "0": { - "description": "Um aparelho para encher os seus pneus num local fixa no espaço público

Exemplos de bombas de bicicletas

" + "description": "Um aparelho para encher os seus pneus num local fixa no espaço público" } }, "tagRenderings": { diff --git a/langs/layers/pt_BR.json b/langs/layers/pt_BR.json index 970d0a6b9c..77f6a9cd00 100644 --- a/langs/layers/pt_BR.json +++ b/langs/layers/pt_BR.json @@ -355,7 +355,7 @@ "name": "Estações de bicicletas (reparo, bomba ou ambos)", "presets": { "0": { - "description": "Um dispositivo para encher seus pneus em um local fixa no espaço público

Exemplos de bombas de bicicletas

", + "description": "Um dispositivo para encher seus pneus em um local fixa no espaço público", "title": "bomba de bicicleta" } }, diff --git a/langs/nl.json b/langs/nl.json index 65ab7e877e..ed5a39fe48 100644 --- a/langs/nl.json +++ b/langs/nl.json @@ -40,6 +40,8 @@ "loginWithOpenStreetMap": "Aanmelden met OpenStreetMap", "welcomeBack": "Je bent aangemeld. Welkom terug!", "loginToStart": "Meld je aan om deze vraag te beantwoorden", + "example": "Voorbeeld", + "examples": "Voorbeelden", "search": { "search": "Zoek naar een locatie", "searching": "Aan het zoeken...",