diff --git a/Models/ThemeConfig/Json/LayerConfigJson.ts b/Models/ThemeConfig/Json/LayerConfigJson.ts index d7decef53..8a90248ba 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 229726524..86bf1f09d 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 da823fcd2..4522d9079 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 a8e9a141a..9bd89e3f5 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 e8b278352..cd86e1d52 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 458b470a2..9ab9a7dca 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 d98379b06..bcf04387a 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 24f58cff9..c9158418a 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 006493f92..000000000 --- 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 63c359263..21041f106 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 d7f8d4e4b..c88b4771d 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 000000000..52ca83a53 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 000000000..e4cdcaff9 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 84d7d99fd..844e7d433 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 ae06a741a..81cf2a046 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 7a2bc1bd0..ce0a4b3b8 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 19d0394ed..988fc4942 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 2e44c07c2..e4a958cb7 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 5b64550f0..44e81bb2e 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 b4c061f34..6dfcdaacd 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 8b6b3182a..b119dcec2 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 0937f44e8..d7ca1a79d 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 b3f3cbcd4..d91bb5b5c 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 e51a66d3a..df8d25134 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 970d0a6b9..77f6a9cd0 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 65ab7e877..ed5a39fe4 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...",