umap-project 2.4.0b2__py3-none-any.whl → 2.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of umap-project might be problematic. Click here for more details.
- umap/__init__.py +1 -1
- umap/locale/en/LC_MESSAGES/django.po +11 -11
- umap/locale/pt/LC_MESSAGES/django.mo +0 -0
- umap/locale/pt/LC_MESSAGES/django.po +87 -37
- umap/static/umap/base.css +19 -5
- umap/static/umap/img/16-white.svg +1 -3
- umap/static/umap/img/source/16-white.svg +2 -4
- umap/static/umap/js/modules/browser.js +5 -5
- umap/static/umap/js/modules/caption.js +1 -1
- umap/static/umap/js/modules/utils.js +3 -3
- umap/static/umap/js/umap.features.js +11 -3
- umap/static/umap/js/umap.js +47 -48
- umap/static/umap/js/umap.layer.js +11 -1
- umap/static/umap/js/umap.popup.js +1 -1
- umap/static/umap/locale/en.js +2 -1
- umap/static/umap/locale/en.json +2 -1
- umap/static/umap/locale/es.js +9 -8
- umap/static/umap/locale/es.json +9 -8
- umap/static/umap/locale/fr.js +2 -1
- umap/static/umap/locale/fr.json +2 -1
- umap/static/umap/locale/pt.js +61 -60
- umap/static/umap/locale/pt.json +61 -60
- umap/static/umap/map.css +14 -13
- umap/static/umap/unittests/utils.js +5 -5
- umap/static/umap/vars.css +2 -1
- umap/static/umap/vendors/dompurify/purify.es.js +59 -5
- umap/static/umap/vendors/dompurify/purify.es.mjs.map +1 -1
- umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +2 -2
- umap/tests/integration/test_browser.py +76 -3
- umap/tests/integration/test_edit_polygon.py +11 -0
- umap/tests/integration/test_map.py +29 -0
- umap/tests/integration/test_view_marker.py +2 -2
- {umap_project-2.4.0b2.dist-info → umap_project-2.4.1.dist-info}/METADATA +2 -2
- {umap_project-2.4.0b2.dist-info → umap_project-2.4.1.dist-info}/RECORD +37 -46
- {umap_project-2.4.0b2.dist-info → umap_project-2.4.1.dist-info}/WHEEL +1 -1
- umap/.DS_Store +0 -0
- umap/static/.DS_Store +0 -0
- umap/static/umap/.DS_Store +0 -0
- umap/static/umap/favicons/.DS_Store +0 -0
- umap/static/umap/fonts/.DS_Store +0 -0
- umap/static/umap/img/.DS_Store +0 -0
- umap/static/umap/img/source/.DS_Store +0 -0
- umap/tests/.DS_Store +0 -0
- umap/tests/integration/.DS_Store +0 -0
- {umap_project-2.4.0b2.dist-info → umap_project-2.4.1.dist-info}/entry_points.txt +0 -0
- {umap_project-2.4.0b2.dist-info → umap_project-2.4.1.dist-info}/licenses/LICENSE +0 -0
umap/static/umap/js/umap.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
L.Map.mergeOptions({
|
|
2
|
-
overlay:
|
|
2
|
+
overlay: {},
|
|
3
3
|
datalayers: [],
|
|
4
4
|
hash: true,
|
|
5
5
|
maxZoomLimit: 24,
|
|
@@ -205,49 +205,9 @@ U.Map = L.Map.extend({
|
|
|
205
205
|
this.editTools = new U.Editable(this)
|
|
206
206
|
this.renderEditToolbar()
|
|
207
207
|
}
|
|
208
|
-
if (!U.Utils.isObject(this.options.overlay)) {
|
|
209
|
-
this.options.overlay = {}
|
|
210
|
-
}
|
|
211
|
-
if (!U.Utils.isObject(this.options.tilelayer)) {
|
|
212
|
-
this.options.tilelayer = {}
|
|
213
|
-
}
|
|
214
208
|
|
|
215
209
|
this.initShortcuts()
|
|
216
|
-
this.onceDataLoaded(
|
|
217
|
-
const slug = L.Util.queryString('feature')
|
|
218
|
-
if (slug && this.features_index[slug]) this.features_index[slug].view()
|
|
219
|
-
if (this.options.noControl) return
|
|
220
|
-
this.initCaptionBar()
|
|
221
|
-
if (L.Util.queryString('share')) {
|
|
222
|
-
this.share.open()
|
|
223
|
-
} else if (this.options.onLoadPanel === 'databrowser') {
|
|
224
|
-
this.panel.setDefaultMode('expanded')
|
|
225
|
-
this.openBrowser('data')
|
|
226
|
-
} else if (this.options.onLoadPanel === 'datalayers') {
|
|
227
|
-
this.panel.setDefaultMode('condensed')
|
|
228
|
-
this.openBrowser('layers')
|
|
229
|
-
} else if (this.options.onLoadPanel === 'datafilters') {
|
|
230
|
-
this.panel.setDefaultMode('expanded')
|
|
231
|
-
this.openBrowser('filters')
|
|
232
|
-
} else if (this.options.onLoadPanel === 'caption') {
|
|
233
|
-
this.panel.setDefaultMode('condensed')
|
|
234
|
-
this.openCaption()
|
|
235
|
-
}
|
|
236
|
-
if (L.Util.queryString('edit')) {
|
|
237
|
-
if (this.hasEditMode()) this.enableEdit()
|
|
238
|
-
// Sometimes users share the ?edit link by mistake, let's remove
|
|
239
|
-
// this search parameter from URL to prevent this
|
|
240
|
-
const url = new URL(window.location)
|
|
241
|
-
url.searchParams.delete('edit')
|
|
242
|
-
history.pushState({}, '', url)
|
|
243
|
-
}
|
|
244
|
-
if (L.Util.queryString('download')) {
|
|
245
|
-
const download_url = this.urls.get('map_download', {
|
|
246
|
-
map_id: this.options.umap_id,
|
|
247
|
-
})
|
|
248
|
-
window.location = download_url
|
|
249
|
-
}
|
|
250
|
-
})
|
|
210
|
+
this.onceDataLoaded(this.setViewFromQueryString)
|
|
251
211
|
|
|
252
212
|
window.onbeforeunload = () => (this.editEnabled && this.isDirty) || null
|
|
253
213
|
this.backup()
|
|
@@ -341,6 +301,44 @@ U.Map = L.Map.extend({
|
|
|
341
301
|
}
|
|
342
302
|
},
|
|
343
303
|
|
|
304
|
+
setViewFromQueryString: function () {
|
|
305
|
+
if (this.options.noControl) return
|
|
306
|
+
this.initCaptionBar()
|
|
307
|
+
if (L.Util.queryString('share')) {
|
|
308
|
+
this.share.open()
|
|
309
|
+
} else if (this.options.onLoadPanel === 'databrowser') {
|
|
310
|
+
this.panel.setDefaultMode('expanded')
|
|
311
|
+
this.openBrowser('data')
|
|
312
|
+
} else if (this.options.onLoadPanel === 'datalayers') {
|
|
313
|
+
this.panel.setDefaultMode('condensed')
|
|
314
|
+
this.openBrowser('layers')
|
|
315
|
+
} else if (this.options.onLoadPanel === 'datafilters') {
|
|
316
|
+
this.panel.setDefaultMode('expanded')
|
|
317
|
+
this.openBrowser('filters')
|
|
318
|
+
} else if (this.options.onLoadPanel === 'caption') {
|
|
319
|
+
this.panel.setDefaultMode('condensed')
|
|
320
|
+
this.openCaption()
|
|
321
|
+
}
|
|
322
|
+
// Comes after default panels, so if it opens in a panel it will
|
|
323
|
+
// take precedence.
|
|
324
|
+
const slug = L.Util.queryString('feature')
|
|
325
|
+
if (slug && this.features_index[slug]) this.features_index[slug].view()
|
|
326
|
+
if (L.Util.queryString('edit')) {
|
|
327
|
+
if (this.hasEditMode()) this.enableEdit()
|
|
328
|
+
// Sometimes users share the ?edit link by mistake, let's remove
|
|
329
|
+
// this search parameter from URL to prevent this
|
|
330
|
+
const url = new URL(window.location)
|
|
331
|
+
url.searchParams.delete('edit')
|
|
332
|
+
history.pushState({}, '', url)
|
|
333
|
+
}
|
|
334
|
+
if (L.Util.queryString('download')) {
|
|
335
|
+
const download_url = this.urls.get('map_download', {
|
|
336
|
+
map_id: this.options.umap_id,
|
|
337
|
+
})
|
|
338
|
+
window.location = download_url
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
|
|
344
342
|
// Merge the given schema with the default one
|
|
345
343
|
// Missing keys inside the schema are merged with the default ones.
|
|
346
344
|
overrideSchema: function (schema) {
|
|
@@ -1296,6 +1294,9 @@ U.Map = L.Map.extend({
|
|
|
1296
1294
|
},
|
|
1297
1295
|
|
|
1298
1296
|
_editTilelayer: function (container) {
|
|
1297
|
+
if (!U.Utils.isObject(this.options.tilelayer)) {
|
|
1298
|
+
this.options.tilelayer = {}
|
|
1299
|
+
}
|
|
1299
1300
|
const tilelayerFields = [
|
|
1300
1301
|
[
|
|
1301
1302
|
'options.tilelayer.name',
|
|
@@ -1343,6 +1344,9 @@ U.Map = L.Map.extend({
|
|
|
1343
1344
|
},
|
|
1344
1345
|
|
|
1345
1346
|
_editOverlay: function (container) {
|
|
1347
|
+
if (!U.Utils.isObject(this.options.overlay)) {
|
|
1348
|
+
this.options.overlay = {}
|
|
1349
|
+
}
|
|
1346
1350
|
const overlayFields = [
|
|
1347
1351
|
[
|
|
1348
1352
|
'options.overlay.url_template',
|
|
@@ -1535,8 +1539,7 @@ U.Map = L.Map.extend({
|
|
|
1535
1539
|
const container = L.DomUtil.create('div', 'umap-edit-container')
|
|
1536
1540
|
const metadataFields = ['options.name', 'options.description']
|
|
1537
1541
|
|
|
1538
|
-
|
|
1539
|
-
title.textContent = L._('Edit map details')
|
|
1542
|
+
L.DomUtil.createTitle(container, L._('Edit map details'), 'icon-caption')
|
|
1540
1543
|
const builder = new U.FormBuilder(this, metadataFields, {
|
|
1541
1544
|
className: 'map-metadata',
|
|
1542
1545
|
})
|
|
@@ -1873,10 +1876,6 @@ U.Map = L.Map.extend({
|
|
|
1873
1876
|
if (this._controls.search) this._controls.search.open()
|
|
1874
1877
|
},
|
|
1875
1878
|
|
|
1876
|
-
getFilterKeys: function () {
|
|
1877
|
-
return (this.options.filterKey || this.options.sortKey || 'name').split(',')
|
|
1878
|
-
},
|
|
1879
|
-
|
|
1880
1879
|
getLayersBounds: function () {
|
|
1881
1880
|
const bounds = new L.latLngBounds()
|
|
1882
1881
|
this.eachBrowsableDataLayer((d) => {
|
|
@@ -913,10 +913,10 @@ U.DataLayer = L.Evented.extend({
|
|
|
913
913
|
|
|
914
914
|
removeLayer: function (feature) {
|
|
915
915
|
const id = L.stamp(feature)
|
|
916
|
+
this.layer.removeLayer(feature)
|
|
916
917
|
feature.disconnectFromDataLayer(this)
|
|
917
918
|
this._index.splice(this._index.indexOf(id), 1)
|
|
918
919
|
delete this._layers[id]
|
|
919
|
-
this.layer.removeLayer(feature)
|
|
920
920
|
delete this.map.features_index[feature.getSlug()]
|
|
921
921
|
if (this.hasDataLoaded()) this.fire('datachanged')
|
|
922
922
|
},
|
|
@@ -1757,6 +1757,16 @@ U.DataLayer = L.Evented.extend({
|
|
|
1757
1757
|
const editor = new U.TableEditor(this)
|
|
1758
1758
|
editor.edit()
|
|
1759
1759
|
},
|
|
1760
|
+
|
|
1761
|
+
getFilterKeys: function () {
|
|
1762
|
+
// This keys will be used to filter feature from the browser text input.
|
|
1763
|
+
// By default, it will we use the "name" property, which is also the one used as label in the features list.
|
|
1764
|
+
// When map owner has configured another label or sort key, we try to be smart and search in the same keys.
|
|
1765
|
+
if (this.map.options.filterKey) return this.map.options.filterKey
|
|
1766
|
+
else if (this.options.labelKey) return this.options.labelKey
|
|
1767
|
+
else if (this.map.options.sortKey) return this.map.options.sortKey
|
|
1768
|
+
else return 'name'
|
|
1769
|
+
},
|
|
1760
1770
|
})
|
|
1761
1771
|
|
|
1762
1772
|
L.TileLayer.include({
|
|
@@ -107,7 +107,7 @@ U.PopupTemplate.Default = L.Class.extend({
|
|
|
107
107
|
renderBody: function () {
|
|
108
108
|
const template = this.feature.getOption('popupContentTemplate')
|
|
109
109
|
const target = this.feature.getOption('outlinkTarget')
|
|
110
|
-
const container = L.DomUtil.create('div', 'umap-popup-container')
|
|
110
|
+
const container = L.DomUtil.create('div', 'umap-popup-container text')
|
|
111
111
|
let content = ''
|
|
112
112
|
let properties
|
|
113
113
|
let center
|
umap/static/umap/locale/en.js
CHANGED
|
@@ -481,7 +481,8 @@ const locale = {
|
|
|
481
481
|
"Only geometry centers": "Only geometry centers",
|
|
482
482
|
"Search area": "Search area",
|
|
483
483
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
484
|
-
"Please define an expression for the query first": "Please define an expression for the query first"
|
|
484
|
+
"Please define an expression for the query first": "Please define an expression for the query first",
|
|
485
|
+
"Data successfully imported!": "Data successfully imported!"
|
|
485
486
|
}
|
|
486
487
|
L.registerLocale("en", locale)
|
|
487
488
|
L.setLocale("en")
|
umap/static/umap/locale/en.json
CHANGED
|
@@ -481,5 +481,6 @@
|
|
|
481
481
|
"Only geometry centers": "Only geometry centers",
|
|
482
482
|
"Search area": "Search area",
|
|
483
483
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
484
|
-
"Please define an expression for the query first": "Please define an expression for the query first"
|
|
484
|
+
"Please define an expression for the query first": "Please define an expression for the query first",
|
|
485
|
+
"Data successfully imported!": "Data successfully imported!"
|
|
485
486
|
}
|
umap/static/umap/locale/es.js
CHANGED
|
@@ -12,13 +12,13 @@ const locale = {
|
|
|
12
12
|
"5 min": "5 min",
|
|
13
13
|
"A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Una lista de números separados por comas que define el patrón de trazos. Por ejemplo: \"5, 10, 15\".",
|
|
14
14
|
"About": "Acerca de",
|
|
15
|
-
"Action not allowed :(": "
|
|
15
|
+
"Action not allowed :(": "Acción no permitida :(",
|
|
16
16
|
"Activate slideshow mode": "Activar el modo presentación de diapositivas",
|
|
17
17
|
"Add a layer": "Añadir una capa",
|
|
18
18
|
"Add a line to the current multi": "Añadir una línea para el multi elemento actual",
|
|
19
19
|
"Add a new property": "Añadir una nueva propiedad",
|
|
20
20
|
"Add a polygon to the current multi": "Añadir un polígono al multi elemento actual",
|
|
21
|
-
"Add image URL": "
|
|
21
|
+
"Add image URL": "Añadir URL de la imagen",
|
|
22
22
|
"Add": "Añadir",
|
|
23
23
|
"Advanced actions": "Acciones avanzadas",
|
|
24
24
|
"Advanced properties": "Propiedades avanzadas",
|
|
@@ -83,7 +83,7 @@ const locale = {
|
|
|
83
83
|
"Congratulations, your map has been created!": "Enhorabuena, ¡su mapa ha sido creado!",
|
|
84
84
|
"Continue line": "Línea continua",
|
|
85
85
|
"Coordinates": "Coordenadas",
|
|
86
|
-
"copy": "
|
|
86
|
+
"copy": "copiar",
|
|
87
87
|
"Credits": "Créditos",
|
|
88
88
|
"Current map view": "Current map view",
|
|
89
89
|
"Current view instead of default map view?": "¿Vista actual en lugar de la vista del mapa predeterminada?",
|
|
@@ -185,7 +185,7 @@ const locale = {
|
|
|
185
185
|
"icon opacity": "opacidad del icono",
|
|
186
186
|
"Icon shape": "Forma de icono",
|
|
187
187
|
"Icon symbol": "Símbolo del icono",
|
|
188
|
-
"If false, the polygon or line will act as a part of the underlying map.": "
|
|
188
|
+
"If false, the polygon or line will act as a part of the underlying map.": "Si está desactivado el polígono o la línea será como una parte del mapa subyacente.",
|
|
189
189
|
"Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altura personalizada (en píxeles): {{{http://iframe.url.com|altura}}}",
|
|
190
190
|
"Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe con alto y ancho (en px) personalizado: {{{http://iframe.url.com|height*width}}}",
|
|
191
191
|
"iframe": "iframe",
|
|
@@ -305,7 +305,7 @@ const locale = {
|
|
|
305
305
|
"Replace layer content": "Reemplaza el contenido de la capa",
|
|
306
306
|
"Restore this version": "Restaurar esta versión",
|
|
307
307
|
"Save current edits": "Guardar las ediciones actuales",
|
|
308
|
-
"Save map": "
|
|
308
|
+
"Save map": "Guardar el mapa",
|
|
309
309
|
"Save this center and zoom": "Guardar este centrado y acercamiento",
|
|
310
310
|
"Save this location as new feature": "Guardar esta ubicación como nuevo elemento",
|
|
311
311
|
"Save": "Guardar",
|
|
@@ -344,7 +344,7 @@ const locale = {
|
|
|
344
344
|
"Table": "Tabla",
|
|
345
345
|
"Text color for the cluster label": "Color del texto para la etiqueta clúster",
|
|
346
346
|
"Text formatting": "Formato de texto",
|
|
347
|
-
"The name of the property to use as feature label (eg.: \"nom\"). You can also use properties inside brackets to use more than one or mix with static content (eg.: \"{name} in {place}\")": "
|
|
347
|
+
"The name of the property to use as feature label (eg.: \"nom\"). You can also use properties inside brackets to use more than one or mix with static content (eg.: \"{name} in {place}\")": "El nombre de la propiedad a utilizar como etiqueta de la característica (ej.: \"nombre\"). También puede utilizar propiedades entre llaves para utilizar más de una o mezclarlas con contenido estático (p. ej.: \"{nombre} en {lugar}\").",
|
|
348
348
|
"The name of the property to use as feature unique identifier.": "El nombre de la propiedad a utilizar como identificador único del elemento.",
|
|
349
349
|
"The zoom and center have been modified.": "Se han modificado el zoom y el centro.",
|
|
350
350
|
"TMS format": "formato TMS",
|
|
@@ -409,7 +409,7 @@ const locale = {
|
|
|
409
409
|
"{distance} NM": "{distancia} NM",
|
|
410
410
|
"{distance} yd": "{distancia} yd",
|
|
411
411
|
"Edit map name and caption": "Edit map name and caption",
|
|
412
|
-
"Map advanced properties": "
|
|
412
|
+
"Map advanced properties": "Propiedades avanzadas del mapa",
|
|
413
413
|
"Edit map details": "Edit map details",
|
|
414
414
|
"Back to browser": "Back to browser",
|
|
415
415
|
"Toggle size": "Toggle size",
|
|
@@ -481,7 +481,8 @@ const locale = {
|
|
|
481
481
|
"Only geometry centers": "Only geometry centers",
|
|
482
482
|
"Search area": "Search area",
|
|
483
483
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
484
|
-
"Please define an expression for the query first": "Please define an expression for the query first"
|
|
484
|
+
"Please define an expression for the query first": "Please define an expression for the query first",
|
|
485
|
+
"Data successfully imported!": "Data successfully imported!"
|
|
485
486
|
}
|
|
486
487
|
L.registerLocale("es", locale)
|
|
487
488
|
L.setLocale("es")
|
umap/static/umap/locale/es.json
CHANGED
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
"5 min": "5 min",
|
|
13
13
|
"A comma separated list of numbers that defines the stroke dash pattern. Ex.: \"5, 10, 15\".": "Una lista de números separados por comas que define el patrón de trazos. Por ejemplo: \"5, 10, 15\".",
|
|
14
14
|
"About": "Acerca de",
|
|
15
|
-
"Action not allowed :(": "
|
|
15
|
+
"Action not allowed :(": "Acción no permitida :(",
|
|
16
16
|
"Activate slideshow mode": "Activar el modo presentación de diapositivas",
|
|
17
17
|
"Add a layer": "Añadir una capa",
|
|
18
18
|
"Add a line to the current multi": "Añadir una línea para el multi elemento actual",
|
|
19
19
|
"Add a new property": "Añadir una nueva propiedad",
|
|
20
20
|
"Add a polygon to the current multi": "Añadir un polígono al multi elemento actual",
|
|
21
|
-
"Add image URL": "
|
|
21
|
+
"Add image URL": "Añadir URL de la imagen",
|
|
22
22
|
"Add": "Añadir",
|
|
23
23
|
"Advanced actions": "Acciones avanzadas",
|
|
24
24
|
"Advanced properties": "Propiedades avanzadas",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"Congratulations, your map has been created!": "Enhorabuena, ¡su mapa ha sido creado!",
|
|
84
84
|
"Continue line": "Línea continua",
|
|
85
85
|
"Coordinates": "Coordenadas",
|
|
86
|
-
"copy": "
|
|
86
|
+
"copy": "copiar",
|
|
87
87
|
"Credits": "Créditos",
|
|
88
88
|
"Current map view": "Current map view",
|
|
89
89
|
"Current view instead of default map view?": "¿Vista actual en lugar de la vista del mapa predeterminada?",
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"icon opacity": "opacidad del icono",
|
|
186
186
|
"Icon shape": "Forma de icono",
|
|
187
187
|
"Icon symbol": "Símbolo del icono",
|
|
188
|
-
"If false, the polygon or line will act as a part of the underlying map.": "
|
|
188
|
+
"If false, the polygon or line will act as a part of the underlying map.": "Si está desactivado el polígono o la línea será como una parte del mapa subyacente.",
|
|
189
189
|
"Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe con altura personalizada (en píxeles): {{{http://iframe.url.com|altura}}}",
|
|
190
190
|
"Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe con alto y ancho (en px) personalizado: {{{http://iframe.url.com|height*width}}}",
|
|
191
191
|
"iframe": "iframe",
|
|
@@ -305,7 +305,7 @@
|
|
|
305
305
|
"Replace layer content": "Reemplaza el contenido de la capa",
|
|
306
306
|
"Restore this version": "Restaurar esta versión",
|
|
307
307
|
"Save current edits": "Guardar las ediciones actuales",
|
|
308
|
-
"Save map": "
|
|
308
|
+
"Save map": "Guardar el mapa",
|
|
309
309
|
"Save this center and zoom": "Guardar este centrado y acercamiento",
|
|
310
310
|
"Save this location as new feature": "Guardar esta ubicación como nuevo elemento",
|
|
311
311
|
"Save": "Guardar",
|
|
@@ -344,7 +344,7 @@
|
|
|
344
344
|
"Table": "Tabla",
|
|
345
345
|
"Text color for the cluster label": "Color del texto para la etiqueta clúster",
|
|
346
346
|
"Text formatting": "Formato de texto",
|
|
347
|
-
"The name of the property to use as feature label (eg.: \"nom\"). You can also use properties inside brackets to use more than one or mix with static content (eg.: \"{name} in {place}\")": "
|
|
347
|
+
"The name of the property to use as feature label (eg.: \"nom\"). You can also use properties inside brackets to use more than one or mix with static content (eg.: \"{name} in {place}\")": "El nombre de la propiedad a utilizar como etiqueta de la característica (ej.: \"nombre\"). También puede utilizar propiedades entre llaves para utilizar más de una o mezclarlas con contenido estático (p. ej.: \"{nombre} en {lugar}\").",
|
|
348
348
|
"The name of the property to use as feature unique identifier.": "El nombre de la propiedad a utilizar como identificador único del elemento.",
|
|
349
349
|
"The zoom and center have been modified.": "Se han modificado el zoom y el centro.",
|
|
350
350
|
"TMS format": "formato TMS",
|
|
@@ -409,7 +409,7 @@
|
|
|
409
409
|
"{distance} NM": "{distancia} NM",
|
|
410
410
|
"{distance} yd": "{distancia} yd",
|
|
411
411
|
"Edit map name and caption": "Edit map name and caption",
|
|
412
|
-
"Map advanced properties": "
|
|
412
|
+
"Map advanced properties": "Propiedades avanzadas del mapa",
|
|
413
413
|
"Edit map details": "Edit map details",
|
|
414
414
|
"Back to browser": "Back to browser",
|
|
415
415
|
"Toggle size": "Toggle size",
|
|
@@ -481,5 +481,6 @@
|
|
|
481
481
|
"Only geometry centers": "Only geometry centers",
|
|
482
482
|
"Search area": "Search area",
|
|
483
483
|
"Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
|
|
484
|
-
"Please define an expression for the query first": "Please define an expression for the query first"
|
|
484
|
+
"Please define an expression for the query first": "Please define an expression for the query first",
|
|
485
|
+
"Data successfully imported!": "Data successfully imported!"
|
|
485
486
|
}
|
umap/static/umap/locale/fr.js
CHANGED
|
@@ -481,7 +481,8 @@ const locale = {
|
|
|
481
481
|
"Only geometry centers": "Seulement les centres",
|
|
482
482
|
"Search area": "Chercher un coin",
|
|
483
483
|
"Type area name, or let empty to load data in current map view": "Entrer le nom d'un périmètre géographique, ou laisser vide pour utiliser la vue courante de la carte",
|
|
484
|
-
"Please define an expression for the query first": "Définir une expression pour la requête"
|
|
484
|
+
"Please define an expression for the query first": "Définir une expression pour la requête",
|
|
485
|
+
"Data successfully imported!": "Les données ont été importées!"
|
|
485
486
|
}
|
|
486
487
|
L.registerLocale("fr", locale)
|
|
487
488
|
L.setLocale("fr")
|
umap/static/umap/locale/fr.json
CHANGED
|
@@ -481,5 +481,6 @@
|
|
|
481
481
|
"Only geometry centers": "Seulement les centres",
|
|
482
482
|
"Search area": "Chercher un coin",
|
|
483
483
|
"Type area name, or let empty to load data in current map view": "Entrer le nom d'un périmètre géographique, ou laisser vide pour utiliser la vue courante de la carte",
|
|
484
|
-
"Please define an expression for the query first": "Définir une expression pour la requête"
|
|
484
|
+
"Please define an expression for the query first": "Définir une expression pour la requête",
|
|
485
|
+
"Data successfully imported!": "Les données ont été importées!"
|
|
485
486
|
}
|
umap/static/umap/locale/pt.js
CHANGED
|
@@ -14,11 +14,11 @@ const locale = {
|
|
|
14
14
|
"About": "Sobre",
|
|
15
15
|
"Action not allowed :(": "Ação não permitida :(",
|
|
16
16
|
"Activate slideshow mode": "Ativar modo de apresentação",
|
|
17
|
-
"Add a layer": "Adicionar camada",
|
|
17
|
+
"Add a layer": "Adicionar uma camada",
|
|
18
18
|
"Add a line to the current multi": "Adicionar uma linha ao multipolígono atual",
|
|
19
19
|
"Add a new property": "Adicionar uma nova propriedade",
|
|
20
20
|
"Add a polygon to the current multi": "Adicionar um polígono ao multipolígono atual",
|
|
21
|
-
"Add image URL": "Adicionar URL
|
|
21
|
+
"Add image URL": "Adicionar URL de imagem",
|
|
22
22
|
"Add": "Adicionar",
|
|
23
23
|
"Advanced actions": "Ações avançadas",
|
|
24
24
|
"Advanced properties": "Propriedades avançadas",
|
|
@@ -48,7 +48,7 @@ const locale = {
|
|
|
48
48
|
"by": "por",
|
|
49
49
|
"Cache proxied request": "Pedido cache com proxy",
|
|
50
50
|
"Cancel edits": "Cancelar edições",
|
|
51
|
-
"Caption": "
|
|
51
|
+
"Caption": "Legenda",
|
|
52
52
|
"Center map on your location": "Centrar mapa na sua localização",
|
|
53
53
|
"Change map background": "Mudar fundo do mapa",
|
|
54
54
|
"Change tilelayers": "Alterar camadas de mosaicos",
|
|
@@ -121,12 +121,12 @@ const locale = {
|
|
|
121
121
|
"Display the embed control": "Mostrar o botão de partilha e descarregar",
|
|
122
122
|
"Display the fullscreen control": "Mostrar o botão de ecrã inteiro",
|
|
123
123
|
"Display the locate control": "Mostrar o botão de localização GPS",
|
|
124
|
-
"Display the measure control": "Mostrar o botão de
|
|
124
|
+
"Display the measure control": "Mostrar o botão de medir",
|
|
125
125
|
"Display the search control": "Mostrar o botão de pesquisa",
|
|
126
|
-
"Display the star map button": "
|
|
126
|
+
"Display the star map button": "Mostrar o botão de estrela do mapa",
|
|
127
127
|
"Display the tile layers control": "Mostrar o botão de camadas de mosaicos",
|
|
128
128
|
"Display the zoom control": "Mostrar os botões de aproximar e afastar (zoom)",
|
|
129
|
-
"Do you want to display a caption bar?": "Mostrar uma barra de
|
|
129
|
+
"Do you want to display a caption bar?": "Mostrar uma barra de legenda?",
|
|
130
130
|
"Do you want to display a minimap?": "Mostrar um mini-mapa?",
|
|
131
131
|
"Do you want to display a panel on load?": "Mostrar um painel ao carregar?",
|
|
132
132
|
"Do you want to display caption menus?": "Mostrar menus de legendas?",
|
|
@@ -255,8 +255,8 @@ const locale = {
|
|
|
255
255
|
"No cache": "Sem cache",
|
|
256
256
|
"No licence has been set": "Não foi definida nenhuma licença",
|
|
257
257
|
"No results": "Sem resultados",
|
|
258
|
-
"no": "
|
|
259
|
-
"No.": "
|
|
258
|
+
"no": "não",
|
|
259
|
+
"No.": "Não.",
|
|
260
260
|
"None": "Nenhum",
|
|
261
261
|
"Number of desired classes (default 5)": "Número de classes pretendidas (predefinição 5)",
|
|
262
262
|
"On the bottom": "No fundo",
|
|
@@ -386,7 +386,7 @@ const locale = {
|
|
|
386
386
|
"width": "largura",
|
|
387
387
|
"Will be displayed in the bottom right corner of the map": "Será mostrado no fundo à direita do mapa",
|
|
388
388
|
"Will be permanently visible in the bottom left corner of the map": "Estará permanentemente visível no canto inferior esquerdo do mapa",
|
|
389
|
-
"Will be visible in the caption of the map": "Será visível
|
|
389
|
+
"Will be visible in the caption of the map": "Será visível na legenda do mapa",
|
|
390
390
|
"yes": "sim",
|
|
391
391
|
"Zoom in": "Aproximar",
|
|
392
392
|
"Zoom level for automatic zooms": "Nível de aproximação para aproximações automáticas",
|
|
@@ -431,57 +431,58 @@ const locale = {
|
|
|
431
431
|
"Filter data": "Dados de filtros",
|
|
432
432
|
"Search map features…": "Procurar elementos do mapa…",
|
|
433
433
|
"Reset all": "Repor tudo",
|
|
434
|
-
"Open browser": "
|
|
435
|
-
"Open caption": "
|
|
436
|
-
"Your map has been created with an anonymous account!": "
|
|
437
|
-
"Real-time collaboration": "
|
|
438
|
-
"Cannot parse data": "
|
|
439
|
-
"Start typing...": "
|
|
440
|
-
"No result": "
|
|
441
|
-
"Data browser": "
|
|
442
|
-
"When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.": "
|
|
443
|
-
"Overpass supported expressions": "
|
|
444
|
-
"key (eg. building)": "
|
|
445
|
-
"!key (eg. !name)": "!
|
|
446
|
-
"key=value (eg. building=yes)": "
|
|
447
|
-
"key!=value (eg. building!=yes)": "
|
|
448
|
-
"key~value (eg. name~Grisy)": "
|
|
449
|
-
"key=\"value|value2\" (eg. name=\"Paris|Berlin\")": "
|
|
450
|
-
"More info about Overpass syntax": "
|
|
451
|
-
"For more complex needs, see": "
|
|
452
|
-
"Choose data": "
|
|
453
|
-
"Import helpers:": "
|
|
454
|
-
"Choose the format": "
|
|
455
|
-
"Choose the layer": "
|
|
456
|
-
"Layer name": "
|
|
457
|
-
"Choose import mode": "
|
|
458
|
-
"Copy into the layer": "
|
|
459
|
-
"Link to the layer as remote data": "
|
|
460
|
-
"Condition": "
|
|
461
|
-
"key=value or key!=value": "
|
|
462
|
-
"Are you sure you want to delete this rule?": "
|
|
463
|
-
"empty rule": "
|
|
464
|
-
"Conditional style rules": "
|
|
465
|
-
"Add rule": "
|
|
466
|
-
"Browser: data": "
|
|
467
|
-
"Browser: layers": "
|
|
468
|
-
"Browser: filters": "
|
|
469
|
-
"Enable real-time collaboration": "
|
|
470
|
-
"✅ Copied!": "✅
|
|
471
|
-
"Choose a dataset": "
|
|
472
|
-
"Choose this dataset": "
|
|
473
|
-
"GeoDataMine: thematic data from OpenStreetMap": "GeoDataMine:
|
|
474
|
-
"Choose a theme": "
|
|
475
|
-
"Symplify all geometries to points": "
|
|
476
|
-
"Choose this data": "
|
|
477
|
-
"Search admin boundary": "
|
|
478
|
-
"Please choose a theme and a boundary first.": "
|
|
479
|
-
"Expression": "
|
|
480
|
-
"Geometry mode": "
|
|
481
|
-
"Only geometry centers": "
|
|
482
|
-
"Search area": "
|
|
483
|
-
"Type area name, or let empty to load data in current map view": "
|
|
484
|
-
"Please define an expression for the query first": "
|
|
434
|
+
"Open browser": "Abrir navegador",
|
|
435
|
+
"Open caption": "Abrir legenda",
|
|
436
|
+
"Your map has been created with an anonymous account!": "O seu mapa foi criado com uma conta anónima!",
|
|
437
|
+
"Real-time collaboration": "Colaboração em tempo real",
|
|
438
|
+
"Cannot parse data": "Não é possível analisar os dados",
|
|
439
|
+
"Start typing...": "Comece a escrever...",
|
|
440
|
+
"No result": "Nenhum resultado",
|
|
441
|
+
"Data browser": "Navegador de dados",
|
|
442
|
+
"When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.": "Ao fornecer um URL, o uMap pode copiar os dados remotos numa camada ou adicionar esse URL como fonte remota da camada. Nesse caso, os dados serão sempre obtidos a partir desse URL e, por conseguinte, estarão atualizados, mas não será possível editá-los no uMap.",
|
|
443
|
+
"Overpass supported expressions": "Expressões suportadas pelo Overpass",
|
|
444
|
+
"key (eg. building)": "chave (por exemplo: edifício)",
|
|
445
|
+
"!key (eg. !name)": "!chave (por exemplo: nome)",
|
|
446
|
+
"key=value (eg. building=yes)": "chave=valor (por exemplo: building=yes)",
|
|
447
|
+
"key!=value (eg. building!=yes)": "chave!=valor (por exemplo: building!=yes)",
|
|
448
|
+
"key~value (eg. name~Grisy)": "chave~valor (por exemplo: name~Grisy)",
|
|
449
|
+
"key=\"value|value2\" (eg. name=\"Paris|Berlin\")": "chave=\"valor|valor2\" (por exemplo: name=\"Paris|Berlim\")",
|
|
450
|
+
"More info about Overpass syntax": "Mais informações sobre a sintaxe de Overpass",
|
|
451
|
+
"For more complex needs, see": "Para necessidades mais complexas, ver",
|
|
452
|
+
"Choose data": "Escolher dados",
|
|
453
|
+
"Import helpers:": "Ajudantes de importação:",
|
|
454
|
+
"Choose the format": "Escolher o formato",
|
|
455
|
+
"Choose the layer": "Escolher a camada",
|
|
456
|
+
"Layer name": "Nome da camada",
|
|
457
|
+
"Choose import mode": "Escolher o modo de importação",
|
|
458
|
+
"Copy into the layer": "Copiar para a camada",
|
|
459
|
+
"Link to the layer as remote data": "Hiperligação à camada como dados remotos",
|
|
460
|
+
"Condition": "Condição",
|
|
461
|
+
"key=value or key!=value": "chave=valor ou chave!=valor",
|
|
462
|
+
"Are you sure you want to delete this rule?": "Tem a certeza de que pretende eliminar esta regra?",
|
|
463
|
+
"empty rule": "regra vazia",
|
|
464
|
+
"Conditional style rules": "Regras de estilo condicionais",
|
|
465
|
+
"Add rule": "Adicionar regra",
|
|
466
|
+
"Browser: data": "Navegador: dados",
|
|
467
|
+
"Browser: layers": "Navegador: camadas",
|
|
468
|
+
"Browser: filters": "Navegador: filtros",
|
|
469
|
+
"Enable real-time collaboration": "Ativar a colaboração em tempo real",
|
|
470
|
+
"✅ Copied!": "✅ Copiado!",
|
|
471
|
+
"Choose a dataset": "Escolher um conjunto de dados",
|
|
472
|
+
"Choose this dataset": "Escolher este conjunto de dados",
|
|
473
|
+
"GeoDataMine: thematic data from OpenStreetMap": "GeoDataMine: dados temáticos do OpenStreetMap",
|
|
474
|
+
"Choose a theme": "Escolher um tema",
|
|
475
|
+
"Symplify all geometries to points": "Simplificar todas as geometrias para pontos",
|
|
476
|
+
"Choose this data": "Selecionar estes dados",
|
|
477
|
+
"Search admin boundary": "Pesquisar limite administrativo",
|
|
478
|
+
"Please choose a theme and a boundary first.": "Escolha primeiro um tema e um limite.",
|
|
479
|
+
"Expression": "Expressão",
|
|
480
|
+
"Geometry mode": "Modo de geometria",
|
|
481
|
+
"Only geometry centers": "Apenas centros de geometria",
|
|
482
|
+
"Search area": "Pesquisar área",
|
|
483
|
+
"Type area name, or let empty to load data in current map view": "Introduza o nome da área ou deixe em branco para carregar os dados na vista de mapa atual",
|
|
484
|
+
"Please define an expression for the query first": "Defina primeiro uma expressão para a consulta",
|
|
485
|
+
"Data successfully imported!": "Dados importados com sucesso!"
|
|
485
486
|
}
|
|
486
487
|
L.registerLocale("pt", locale)
|
|
487
488
|
L.setLocale("pt")
|