Merge branch 'master' into highlight-style-for-selected-lines

This commit is contained in:
Yohan Boniface 2023-11-15 16:05:56 +01:00 committed by GitHub
commit 91ea6ac318
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
164 changed files with 4897 additions and 1847 deletions

View file

@ -10,11 +10,17 @@ Icons (aka pictograms in uMap sources) can be used in your map markers.
Icons are not embedded in uMap sources, you will have to add them manually. So you can choose which icons you want to use.
You can use either PNG, JPG or SVG files. SVG files are recommended.
When using SVG, it's recommended to use icons without color. uMap will switch to white colors
automatically according to the marker background color.
Example of icons libraries you may want to use:
- [Maki Icons](https://labs.mapbox.com/maki-icons/) (icon set made for map designers)
- [Osmic Icons](https://gitlab.com/gmgeo/osmic)
- [SJJB Icons](http://www.sjjb.co.uk/mapicons/contactsheet)
- [Remix](https://remixicon.com/)
### Import icons manually
@ -22,32 +28,15 @@ You can import icons manually by going to your uMap admin page: `https://your.se
### Import icons automatically
To import icons on your uMap server, you will need to use command `umap import_pictograms`
To import icons on your uMap server, you will need to use the command `umap import_pictograms`.
Note, you can get help with `umap import_pictograms -h`
Note: you can get help with `umap import_pictograms -h`
In this example, we will import Maki icons.
Basic usage:
First, we download icons from main site. Inside the downloaded archive, we keep only the icons folder that contains svg files. Place this folder on your server.
umap import_pictograms --attribution "Maki Icons by Mapbox" path/to/icons/directory/
Go inside icons folder and remove tiny icons: `rm *-11.svg`
### Categories
Now, we will use imagemagick to convert svg to png.
`for file in *.svg; do convert -background none $file ${file%15.svg}24.png; done`
To have white icons use:
`for file in *.svg; do convert -background none -fuzz 100% -fill white -opaque black $file ${file%15.svg}24.png; done`
Notes:
- you may also want to resize image with option `-resize 24x`
- this solution is not optimal, generated png are blurry.
This will convert the svg to png and rename them from `*-15.svg` to `*-24.png`
Now we will import icons. Note: icons names must end with `-24.png`
`umap import_pictograms --attribution "Maki Icons by Mapbox" icons`
Done. Icons are imported.
uMap can render icons grouped into categories. When using the import script, any
subfolder will be used as category.

View file

@ -1,5 +1,48 @@
# Changelog
## 1.10.1 - 2023-10-27
* Add minimal CSV export by @yohanboniface in https://github.com/umap-project/umap/pull/1376
* A11Y: switch from links to buttons when pertinent by @davidbgk in https://github.com/umap-project/umap/pull/1290
* Fix map not loading when defaultView=latest and datalayer has no data by @yohanboniface in https://github.com/umap-project/umap/pull/1375
* Fix displayOnLoad not honoured at import by @yohanboniface in https://github.com/umap-project/umap/pull/1384
* Fix filter data crashing when data contains non string values by @yohanboniface in https://github.com/umap-project/umap/pull/1378
* Increase maxZoomLimit to 24 by @yohanboniface in https://github.com/umap-project/umap/pull/1381
* Round range step to 1 digit by @yohanboniface in https://github.com/umap-project/umap/pull/1380
* Keep only non graphic props in default properties, to prevent useless redraw by @yohanboniface in https://github.com/umap-project/umap/pull/1379
* Split defaultDatalayer in defaultView/EditDatalayer by @yohanboniface in https://github.com/umap-project/umap/pull/1383
* Fix variable declared globally by mistake by @yohanboniface in https://github.com/umap-project/umap/pull/1382
* Cancel tooltip on mouseout by @yohanboniface in https://github.com/umap-project/umap/pull/1385
* Update eye icon by @yohanboniface in https://github.com/umap-project/umap/pull/1386
## 1.9.3 - 2023-10-18
* Add experimental drag and drop of file on the map container by @yohanboniface in https://github.com/umap-project/umap/pull/1370
* Hide the next icon in buttons sprites by @davidbgk in https://github.com/umap-project/umap/pull/1371
## 1.9.2 - 2023-10-12
* Fix `map` reference in DataLayersControl by @yohanboniface in https://github.com/umap-project/umap/pull/1368
* Add back `HeatLayer._map` reference check by @yohanboniface in https://github.com/umap-project/umap/pull/1369
## 1.9.1 - 2023-10-12
* Fix import of .umap file containing a choropleth layer by @yohanboniface in https://github.com/umap-project/umap/pull/1367
## 1.9.0 - 2023-10-12
* Add experimental choropleth datalayer type by @yohanboniface in https://github.com/umap-project/umap/pull/1136
* Finally add Map.create_at field by @yohanboniface in https://github.com/umap-project/umap/pull/1350
* Update uwsgi.ini to prevent buffers errors with NGINX reverse proxies by @sircharlo in https://github.com/umap-project/umap/pull/1354
* switch to grid layout for multiple choice buttons by @jschleic in https://github.com/umap-project/umap/pull/1356
* Allow to hide a datalayer from the caption list by @yohanboniface in https://github.com/umap-project/umap/pull/1362
* Hide attribution on small screen and add a small ? to display it by @yohanboniface in https://github.com/umap-project/umap/pull/1349
* Heatmap improvements by @yohanboniface in https://github.com/umap-project/umap/pull/1358
## 1.8.2 - 2023-09-27
* Allow to restrict data browser items to current map view by @yohanboniface in https://github.com/umap-project/umap/pull/1339

View file

@ -1,31 +1,31 @@
# Installation
*Note: for Ubuntu follow procedure [Ubuntu from scratch](ubuntu.md)*
*Note: for Ubuntu, follow procedure [Ubuntu from scratch](ubuntu.md)*
*Note: for a Windows installation follow procedure [Installing on Windows](install_windows.md)*
*Note: for Windows, follow procedure [Installing on Windows](install_windows.md)*
Create a geo aware database. See [Geodjango doc](https://docs.djangoproject.com/en/dev/ref/contrib/gis/install/) for backend installation.
Create a virtual environment
virtualenv umap
source umap/bin/activate
python -m venv venv
source venv/bin/activate
Install dependencies and project
pip install umap-project
Create a default local settings file
Create a default `local_settings` file
wget https://raw.githubusercontent.com/umap-project/umap/master/umap/settings/local.py.sample -O local.py
wget https://raw.githubusercontent.com/umap-project/umap/master/umap/settings/local.py.sample -O local_settings.py
Reference it as env var:
export UMAP_SETTINGS=`pwd`/local.py
export UMAP_SETTINGS=`pwd`/local_settings.py
Add database connection information in `local.py`, for example
Add database connection information in `local_settings.py`, for example
DATABASES = {
'default': {
@ -34,10 +34,27 @@ Add database connection information in `local.py`, for example
}
}
Add a `SECRET_KEY` in `local.py` with a long random secret key
Depending on your installation, you might need to change the USER that connects the database.
It should look like this:
```python
DATABASES = {
"default": {
"ENGINE": "django.contrib.gis.db.backends.postgis",
"NAME": "umap",
"USER": "postgres",
}
}
Add a `SECRET_KEY` in `local_settings.py` with a long random secret key
SECRET_KEY = "a long and random secret key that must not be shared"
You can easily generate one with openssl:
openssl rand -base64 32
uMap uses [python-social-auth](http://python-social-auth.readthedocs.org/) for user authentication. So you will need to configure it according to your
needs. For example

View file

@ -34,6 +34,7 @@
"homepage": "http://wiki.openstreetmap.org/wiki/UMap",
"dependencies": {
"@tmcw/togeojson": "^5.8.0",
"colorbrewer": "^1.5.6",
"csv2geojson": "5.1.1",
"dompurify": "^3.0.3",
"georsstogeojson": "^0.1.0",
@ -55,6 +56,7 @@
"leaflet.path.drag": "0.0.6",
"leaflet.photon": "0.8.0",
"osmtogeojson": "^3.0.0-beta.3",
"simple-statistics": "^7.8.3",
"togpx": "^0.5.4",
"tokml": "0.4.0"
}

View file

@ -37,7 +37,7 @@ dependencies = [
"django-compressor==4.3.1",
"django-environ==0.10.0",
"django-probes==1.7.0",
"Pillow==9.5.0",
"Pillow==10.0.1",
"psycopg2==2.9.6",
"requests==2.31.0",
"social-auth-core==4.4.2",

View file

@ -26,5 +26,7 @@ mkdir -p umap/static/umap/vendors/tokml && cp -r node_modules/tokml/tokml.js uma
mkdir -p umap/static/umap/vendors/locatecontrol/ && cp -r node_modules/leaflet.locatecontrol/dist/L.Control.Locate.css umap/static/umap/vendors/locatecontrol/
mkdir -p umap/static/umap/vendors/locatecontrol/ && cp -r node_modules/leaflet.locatecontrol/src/L.Control.Locate.js umap/static/umap/vendors/locatecontrol/
mkdir -p umap/static/umap/vendors/dompurify/ && cp -r node_modules/dompurify/dist/purify.js umap/static/umap/vendors/dompurify/
mkdir -p umap/static/umap/vendors/colorbrewer/ && cp node_modules/colorbrewer/index.js umap/static/umap/vendors/colorbrewer/colorbrewer.js
mkdir -p umap/static/umap/vendors/simple-statistics/ && cp node_modules/simple-statistics/dist/simple-statistics.min.js umap/static/umap/vendors/simple-statistics/
echo 'Done!'

View file

@ -1 +1 @@
VERSION = "1.8.2"
VERSION = "1.10.0"

Binary file not shown.

View file

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-22 16:21+0000\n"
"POT-Creation-Date: 2023-10-12 06:55+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Dren ar Frankig <hadrienlouque@gmail.com>, 2023\n"
"Language-Team: Breton (http://app.transifex.com/openstreetmap/umap/language/br/)\n"
@ -28,9 +28,9 @@ msgstr "N'haller he c'hemmañ nemet gant ul liamm aozañ kuzh"
msgid "Everyone can edit"
msgstr "An holl a c'hall kemmañ"
#: forms.py:69 models.py:317
#: forms.py:69 models.py:318
msgid "Inherit"
msgstr ""
msgstr "Dre ziouer"
#: middleware.py:14
msgid "Site is readonly for maintenance"
@ -56,15 +56,15 @@ msgstr "Patrom URL a implij furmad teol OSM"
msgid "Order of the tilelayers in the edit box"
msgstr ""
#: models.py:142 models.py:318
#: models.py:142 models.py:319
msgid "Everyone"
msgstr "An holl"
#: models.py:143 models.py:149 models.py:319
#: models.py:143 models.py:149 models.py:320
msgid "Editors only"
msgstr "Aozerien nemetken"
#: models.py:144 models.py:320
#: models.py:144 models.py:321
msgid "Owner only"
msgstr "Ar perc'henner hepken"
@ -80,7 +80,7 @@ msgstr "Piv bennak en deus ul liamm"
msgid "Blocked"
msgstr "Stanket"
#: models.py:153 models.py:324
#: models.py:153 models.py:325
msgid "description"
msgstr "deskrivadur"
@ -108,35 +108,35 @@ msgstr "Dibabit aotre-implijout ar gartenn."
msgid "licence"
msgstr "aotre"
#: models.py:172
#: models.py:173
msgid "owner"
msgstr "perc'henner"
#: models.py:176
#: models.py:177
msgid "editors"
msgstr "aozerien"
#: models.py:181 models.py:338
#: models.py:182 models.py:339
msgid "edit status"
msgstr "statud aozañ"
#: models.py:186
#: models.py:187
msgid "share status"
msgstr "digor da biv?"
#: models.py:189 models.py:333
#: models.py:190 models.py:334
msgid "settings"
msgstr "arventennoù"
#: models.py:268
#: models.py:269
msgid "Clone of"
msgstr "Eilenn eus"
#: models.py:328
#: models.py:329
msgid "display on load"
msgstr "diskwel pa vez karget"
#: models.py:329
#: models.py:330
msgid "Display this layer on load."
msgstr "Diskwel ar gwiskad-mañ pa vez karget"
@ -157,23 +157,23 @@ msgstr "%(current_user)s n'en/he deus kartenn ebet."
#: templates/auth/user_form.html:6 templates/umap/navigation.html:12
#: templates/umap/user_dashboard.html:4 templates/umap/user_dashboard.html:10
msgid "My Dashboard"
msgstr ""
msgstr "Ma zaolenn-vourzh"
#: templates/auth/user_form.html:6
msgid "My Profile"
msgstr ""
msgstr "Ma frofil"
#: templates/auth/user_form.html:19
msgid "Save"
msgstr ""
msgstr "Enrollañ"
#: templates/auth/user_form.html:24
msgid "Your current providers"
msgstr ""
msgstr "Ho pourchaserien a-vremañ"
#: templates/auth/user_form.html:30
msgid "Connect to another provider"
msgstr ""
msgstr "Kennaskañ ouzh ur pourchaser all"
#: templates/auth/user_form.html:32
msgid ""
@ -246,7 +246,7 @@ msgstr "Enporzhiañ roadennoù geografek a-vern (geojson, gpx, kml, osm...)"
#: templates/umap/about_summary.html:26
msgid "Choose the license for your data"
msgstr "Diuzañ aotre-implijout ho roadennoù"
msgstr "Dibab aotre-implijout ho roadennoù"
#: templates/umap/about_summary.html:27
msgid "Embed and share your map"
@ -427,11 +427,11 @@ msgstr "Klask"
#: templates/umap/user_dashboard.html:7
msgid "Search my maps"
msgstr "Klask em c'hartennoù"
msgstr "Klask e-touez ma c'hartennoù"
#: templates/umap/user_dashboard.html:10
msgid "My profile"
msgstr ""
msgstr "Ma frofil"
#: templates/umap/user_dashboard.html:20
msgid "You have no map yet."
@ -441,48 +441,48 @@ msgstr "N'ho peus kartenn ebet c'hoazh."
msgid "View the map"
msgstr "Diskouez ar gartenn"
#: views.py:658
#: views.py:659
msgid "Map has been updated!"
msgstr "Hizivaet eo bet ar gartenn!"
#: views.py:683
#: views.py:684
msgid "Map editors updated with success!"
msgstr "Aozerien ar gartenn bet hizivaet gant berzh!"
#: views.py:721
#: views.py:722
#, python-format
msgid "The uMap edit link for your map: %(map_name)s"
msgstr "Al liamm uMap evit aozañ ho kartenn: %(map_name)s"
#: views.py:724
#: views.py:725
#, python-format
msgid "Here is your secret edit link: %(link)s"
msgstr "Setu ho liamm aozañ kuzh: %(link)s"
#: views.py:730
#: views.py:731
#, python-format
msgid "Email sent to %(email)s"
msgstr "Postel kaset da %(email)s"
#: views.py:741
#: views.py:742
msgid "Only its owner can delete the map."
msgstr "N'eus nemet perc'henner ar gartenn a c'hall he dilemel."
#: views.py:764
#: views.py:765
#, python-format
msgid ""
"Your map has been cloned! If you want to edit this map from another "
"computer, please use this link: %(anonymous_url)s"
msgstr "Eilet eo bet ho kartenn! M'ho peus c'hoant d'he c'hemmañ diwar un urzhiataer all, implijit al liamm-mañ: %(anonymous_url)s"
#: views.py:769
#: views.py:770
msgid "Congratulations, your map has been cloned!"
msgstr "Eilet eo bet ho kartenn gant berzh!"
#: views.py:958
#: views.py:959
msgid "Layer successfully deleted."
msgstr "Gwiskad dilamet gant berzh."
#: views.py:980
#: views.py:981
msgid "Permissions updated with success!"
msgstr ""
msgstr "Aotreoù hizivaet gant berzh!"

View file

@ -7,6 +7,7 @@
# Jakub A. Tesinsky, 2014
# Jakub A. Tesinsky, 2014
# Jiří Podhorecký, 2018-2019
# Jiří Podhorecký, 2023
# Jiří Podhorecký, 2019
# Jiří Podhorecký, 2018
# Jiří Podhorecký, 2018
@ -15,9 +16,9 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-22 16:21+0000\n"
"POT-Creation-Date: 2023-10-12 06:55+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Aleš Fiala <f.ales1@seznam.cz>, 2023\n"
"Last-Translator: Jiří Podhorecký, 2023\n"
"Language-Team: Czech (Czech Republic) (http://app.transifex.com/openstreetmap/umap/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -33,9 +34,9 @@ msgstr "Lze upravovat jen pomocí tajného odkazu"
msgid "Everyone can edit"
msgstr "Kdokoli může editovat"
#: forms.py:69 models.py:317
#: forms.py:69 models.py:318
msgid "Inherit"
msgstr ""
msgstr "Zdědit"
#: middleware.py:14
msgid "Site is readonly for maintenance"
@ -61,15 +62,15 @@ msgstr "Vzor URL ve formátu pro dlaždice OSM "
msgid "Order of the tilelayers in the edit box"
msgstr "Pořadí vrstev při editaci"
#: models.py:142 models.py:318
#: models.py:142 models.py:319
msgid "Everyone"
msgstr "Kdokoli"
#: models.py:143 models.py:149 models.py:319
#: models.py:143 models.py:149 models.py:320
msgid "Editors only"
msgstr "Jen přispěvatelé"
#: models.py:144 models.py:320
#: models.py:144 models.py:321
msgid "Owner only"
msgstr "Jen vlastník"
@ -85,7 +86,7 @@ msgstr "Kdokoli kdo má odkaz"
msgid "Blocked"
msgstr "Blokováno"
#: models.py:153 models.py:324
#: models.py:153 models.py:325
msgid "description"
msgstr "popis"
@ -113,35 +114,35 @@ msgstr "Vyberte si licenci mapy."
msgid "licence"
msgstr "licence"
#: models.py:172
#: models.py:173
msgid "owner"
msgstr "vlastník"
#: models.py:176
#: models.py:177
msgid "editors"
msgstr "přispěvovatelé"
#: models.py:181 models.py:338
#: models.py:182 models.py:339
msgid "edit status"
msgstr "kdo může provádět úpravy"
#: models.py:186
#: models.py:187
msgid "share status"
msgstr "nastavení sdílení"
#: models.py:189 models.py:333
#: models.py:190 models.py:334
msgid "settings"
msgstr "nastavení"
#: models.py:268
#: models.py:269
msgid "Clone of"
msgstr "Kopie"
#: models.py:328
#: models.py:329
msgid "display on load"
msgstr "zobrazit při startu"
#: models.py:329
#: models.py:330
msgid "Display this layer on load."
msgstr "Zobrazit tuto vrstvu na startu."
@ -162,29 +163,29 @@ msgstr "%(current_user)s nemá mapy."
#: templates/auth/user_form.html:6 templates/umap/navigation.html:12
#: templates/umap/user_dashboard.html:4 templates/umap/user_dashboard.html:10
msgid "My Dashboard"
msgstr ""
msgstr "Můj ovládací panel"
#: templates/auth/user_form.html:6
msgid "My Profile"
msgstr ""
msgstr "Můj profil"
#: templates/auth/user_form.html:19
msgid "Save"
msgstr ""
msgstr "Uložit"
#: templates/auth/user_form.html:24
msgid "Your current providers"
msgstr ""
msgstr "Vaši současní poskytovatelé"
#: templates/auth/user_form.html:30
msgid "Connect to another provider"
msgstr ""
msgstr "Připojit se k jinému poskytovateli"
#: templates/auth/user_form.html:32
msgid ""
"It's a good habit to connect your account to more than one provider, in case"
" one provider becomes unavailable, temporarily or even permanently."
msgstr ""
msgstr "Je dobrým zvykem připojit svůj účet k více poskytovatelům pro případ, že by jeden z nich byl dočasně nebo dokonce trvale nedostupný."
#: templates/auth/user_stars.html:5
#, python-format
@ -435,7 +436,7 @@ msgstr "Prohledávat moje mapy"
#: templates/umap/user_dashboard.html:10
msgid "My profile"
msgstr ""
msgstr "Můj profil"
#: templates/umap/user_dashboard.html:20
msgid "You have no map yet."
@ -445,48 +446,48 @@ msgstr "Zatím nemáte žádnou mapu."
msgid "View the map"
msgstr "Prohlídnout si tuto mapu"
#: views.py:658
#: views.py:659
msgid "Map has been updated!"
msgstr "Mapa byla aktualizována!"
#: views.py:683
#: views.py:684
msgid "Map editors updated with success!"
msgstr "Seznam přispěvovatelů byl úspěšně upraven!"
#: views.py:721
#: views.py:722
#, python-format
msgid "The uMap edit link for your map: %(map_name)s"
msgstr "Odkaz na úpravu uMap pro vaši mapu: %(map_name)s"
#: views.py:724
#: views.py:725
#, python-format
msgid "Here is your secret edit link: %(link)s"
msgstr "Zde je váš tajný odkaz na úpravu: %(link)s"
#: views.py:730
#: views.py:731
#, python-format
msgid "Email sent to %(email)s"
msgstr "E-mail odeslán na %(email)s"
#: views.py:741
#: views.py:742
msgid "Only its owner can delete the map."
msgstr "Jen vlastník může vymzat tuto mapu."
#: views.py:764
#: views.py:765
#, python-format
msgid ""
"Your map has been cloned! If you want to edit this map from another "
"computer, please use this link: %(anonymous_url)s"
msgstr "Byla vytvořena kopie mapy! Pokud chcete upravovat tuto mapu z jiného počítače, použijte tento odkaz: %(anonymous_url)s"
#: views.py:769
#: views.py:770
msgid "Congratulations, your map has been cloned!"
msgstr "Gratulujeme, byla vytvořena kopie mapy!"
#: views.py:958
#: views.py:959
msgid "Layer successfully deleted."
msgstr "Vrstva úspěšně vymazána."
#: views.py:980
#: views.py:981
msgid "Permissions updated with success!"
msgstr ""
msgstr "Oprávnění úspěšně aktualizována!"

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-27 04:36+0000\n"
"POT-Creation-Date: 2023-10-12 06:55+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -25,7 +25,7 @@ msgstr ""
msgid "Everyone can edit"
msgstr ""
#: forms.py:69 models.py:317
#: forms.py:69 models.py:318
msgid "Inherit"
msgstr ""
@ -53,15 +53,15 @@ msgstr ""
msgid "Order of the tilelayers in the edit box"
msgstr ""
#: models.py:142 models.py:318
#: models.py:142 models.py:319
msgid "Everyone"
msgstr ""
#: models.py:143 models.py:149 models.py:319
#: models.py:143 models.py:149 models.py:320
msgid "Editors only"
msgstr ""
#: models.py:144 models.py:320
#: models.py:144 models.py:321
msgid "Owner only"
msgstr ""
@ -77,7 +77,7 @@ msgstr ""
msgid "Blocked"
msgstr ""
#: models.py:153 models.py:324
#: models.py:153 models.py:325
msgid "description"
msgstr ""
@ -105,35 +105,35 @@ msgstr ""
msgid "licence"
msgstr ""
#: models.py:172
#: models.py:173
msgid "owner"
msgstr ""
#: models.py:176
#: models.py:177
msgid "editors"
msgstr ""
#: models.py:181 models.py:338
#: models.py:182 models.py:339
msgid "edit status"
msgstr ""
#: models.py:186
#: models.py:187
msgid "share status"
msgstr ""
#: models.py:189 models.py:333
#: models.py:190 models.py:334
msgid "settings"
msgstr ""
#: models.py:268
#: models.py:269
msgid "Clone of"
msgstr ""
#: models.py:328
#: models.py:329
msgid "display on load"
msgstr ""
#: models.py:329
#: models.py:330
msgid "Display this layer on load."
msgstr ""

Binary file not shown.

View file

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-22 16:21+0000\n"
"POT-Creation-Date: 2023-10-12 06:55+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Eric Armijo, 2023\n"
"Language-Team: Spanish (http://app.transifex.com/openstreetmap/umap/language/es/)\n"
@ -32,7 +32,7 @@ msgstr "Sólo puede editarse con el enlace secreto de edición"
msgid "Everyone can edit"
msgstr "Todos pueden editar"
#: forms.py:69 models.py:317
#: forms.py:69 models.py:318
msgid "Inherit"
msgstr "Heredar"
@ -60,15 +60,15 @@ msgstr "Plantilla URL usando el formato de teselas OSM"
msgid "Order of the tilelayers in the edit box"
msgstr "Orden de las capas de teselas en la caja de edición"
#: models.py:142 models.py:318
#: models.py:142 models.py:319
msgid "Everyone"
msgstr "Todos"
#: models.py:143 models.py:149 models.py:319
#: models.py:143 models.py:149 models.py:320
msgid "Editors only"
msgstr "Sólo editores"
#: models.py:144 models.py:320
#: models.py:144 models.py:321
msgid "Owner only"
msgstr "Sólo propietario"
@ -84,7 +84,7 @@ msgstr "Cualquiera con enlace"
msgid "Blocked"
msgstr "Bloqueado"
#: models.py:153 models.py:324
#: models.py:153 models.py:325
msgid "description"
msgstr "descripción"
@ -112,35 +112,35 @@ msgstr "Elija la licencia del mapa."
msgid "licence"
msgstr "licencia"
#: models.py:172
#: models.py:173
msgid "owner"
msgstr "propietario"
#: models.py:176
#: models.py:177
msgid "editors"
msgstr "editores"
#: models.py:181 models.py:338
#: models.py:182 models.py:339
msgid "edit status"
msgstr "estado de la edición"
#: models.py:186
#: models.py:187
msgid "share status"
msgstr "compartir estado"
#: models.py:189 models.py:333
#: models.py:190 models.py:334
msgid "settings"
msgstr "ajustes"
#: models.py:268
#: models.py:269
msgid "Clone of"
msgstr "Clon de"
#: models.py:328
#: models.py:329
msgid "display on load"
msgstr "mostrar al cargar"
#: models.py:329
#: models.py:330
msgid "Display this layer on load."
msgstr "Mostrar esta capa al cargar."
@ -407,9 +407,9 @@ msgstr "Su contraseña fue guardada."
#, python-format
msgid "%(count)s map found:"
msgid_plural "%(count)s maps found:"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "%(count)s mapa encontrado:"
msgstr[1] "%(count)s mapas encontrados:"
msgstr[2] "%(count)s mapas encontrados:"
#: templates/umap/search.html:18
msgid "No map found."
@ -443,48 +443,48 @@ msgstr "Aún no tiene mapa."
msgid "View the map"
msgstr "Ver el mapa"
#: views.py:658
#: views.py:659
msgid "Map has been updated!"
msgstr "¡El mapa ha sido actualizado!"
#: views.py:683
#: views.py:684
msgid "Map editors updated with success!"
msgstr "¡Los editores del mapas han sido actualizados con éxito!"
#: views.py:721
#: views.py:722
#, python-format
msgid "The uMap edit link for your map: %(map_name)s"
msgstr "El enlace de edición de uMap para tu mapa: %(map_name)s"
#: views.py:724
#: views.py:725
#, python-format
msgid "Here is your secret edit link: %(link)s"
msgstr "Aquí está tu enlace secreto de edición: %(link)s"
#: views.py:730
#: views.py:731
#, python-format
msgid "Email sent to %(email)s"
msgstr "Correo electrónico enviado a %(email)s"
#: views.py:741
#: views.py:742
msgid "Only its owner can delete the map."
msgstr "Sólo el propietario puede borrar el mapa."
#: views.py:764
#: views.py:765
#, python-format
msgid ""
"Your map has been cloned! If you want to edit this map from another "
"computer, please use this link: %(anonymous_url)s"
msgstr "¡Tu mapa ha sido clonado! Si quieres editar este mapa desde otro ordenador, usa este enlace: %(anonymous_url)s"
#: views.py:769
#: views.py:770
msgid "Congratulations, your map has been cloned!"
msgstr "¡Enhorabuena! ¡Tu mapa ha sido clonado!"
#: views.py:958
#: views.py:959
msgid "Layer successfully deleted."
msgstr "Se eliminó la capa con éxito."
#: views.py:980
#: views.py:981
msgid "Permissions updated with success!"
msgstr "¡Permisos actualizados con éxito!"

View file

@ -14,6 +14,7 @@
# severin.menard <severin.menard@protonmail.com>, 2014
# spf, 2019
# spf, 2019
# Syl Martin, 2023
# Philippe Verdy, 2017
# yohanboniface <yohanboniface@free.fr>, 2013-2014,2018-2019,2023
# YOHAN BONIFACE <yb@enix.org>, 2012
@ -22,9 +23,9 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-22 16:21+0000\n"
"POT-Creation-Date: 2023-10-12 06:55+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: yohanboniface <yohanboniface@free.fr>, 2013-2014,2018-2019,2023\n"
"Last-Translator: Syl Martin, 2023\n"
"Language-Team: French (http://app.transifex.com/openstreetmap/umap/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -40,7 +41,7 @@ msgstr "Modifiable seulement avec le lien de modification secret"
msgid "Everyone can edit"
msgstr "Tout le monde peut modifier"
#: forms.py:69 models.py:317
#: forms.py:69 models.py:318
msgid "Inherit"
msgstr "Par défaut"
@ -68,15 +69,15 @@ msgstr "Modèle d'URL au format des tuiles OSM"
msgid "Order of the tilelayers in the edit box"
msgstr "Ordre des calques de tuiles dans le panneau de modification"
#: models.py:142 models.py:318
#: models.py:142 models.py:319
msgid "Everyone"
msgstr "Tout le monde"
#: models.py:143 models.py:149 models.py:319
#: models.py:143 models.py:149 models.py:320
msgid "Editors only"
msgstr "Éditeurs uniquement"
#: models.py:144 models.py:320
#: models.py:144 models.py:321
msgid "Owner only"
msgstr "Propriétaire uniquement"
@ -92,7 +93,7 @@ msgstr "Quiconque a le lien"
msgid "Blocked"
msgstr "Bloquée"
#: models.py:153 models.py:324
#: models.py:153 models.py:325
msgid "description"
msgstr "description"
@ -120,35 +121,35 @@ msgstr "Choisir une licence pour la carte"
msgid "licence"
msgstr "licence"
#: models.py:172
#: models.py:173
msgid "owner"
msgstr "créateur"
#: models.py:176
#: models.py:177
msgid "editors"
msgstr "éditeurs"
#: models.py:181 models.py:338
#: models.py:182 models.py:339
msgid "edit status"
msgstr "statut de modification"
#: models.py:186
#: models.py:187
msgid "share status"
msgstr "qui a accès"
#: models.py:189 models.py:333
#: models.py:190 models.py:334
msgid "settings"
msgstr "réglages"
#: models.py:268
#: models.py:269
msgid "Clone of"
msgstr "Clone de"
#: models.py:328
#: models.py:329
msgid "display on load"
msgstr "afficher au chargement."
#: models.py:329
#: models.py:330
msgid "Display this layer on load."
msgstr "Afficher ce calque au chargement."
@ -254,7 +255,7 @@ msgstr "Gérer les options de la carte : afficher une minicarte, géolocaliser l
#: templates/umap/about_summary.html:25
msgid "Batch import geostructured data (geojson, gpx, kml, osm...)"
msgstr "Import des données géographiques en masse (geojson, gpx, kml, osm...)"
msgstr "Importer des données géographiques en masse (geojson, gpx, kml, osm...)"
#: templates/umap/about_summary.html:26
msgid "Choose the license for your data"
@ -282,7 +283,7 @@ msgstr "Tester la démo"
msgid ""
"This instance of uMap is currently in read only mode, no creation/edit is "
"allowed."
msgstr "uMap est actuelle en mode lecture seule, aucune création ou modification n'est possible."
msgstr "uMap est actuellement en mode lecture seule, aucune création ou modification n'est possible."
#: templates/umap/content.html:31
#, python-format
@ -451,48 +452,48 @@ msgstr "Vous n'avez pas encore de carte."
msgid "View the map"
msgstr "Voir la carte"
#: views.py:658
#: views.py:659
msgid "Map has been updated!"
msgstr "La carte a été mise à jour !"
#: views.py:683
#: views.py:684
msgid "Map editors updated with success!"
msgstr "Éditeurs de la carte mis à jour !"
#: views.py:721
#: views.py:722
#, python-format
msgid "The uMap edit link for your map: %(map_name)s"
msgstr "La lien d'édition uMap pour votre carte %(map_name)s"
#: views.py:724
#: views.py:725
#, python-format
msgid "Here is your secret edit link: %(link)s"
msgstr "Voici votre lien d'édition secret: %(link)s"
#: views.py:730
#: views.py:731
#, python-format
msgid "Email sent to %(email)s"
msgstr "Courriel envoyé à %(email)s"
#: views.py:741
#: views.py:742
msgid "Only its owner can delete the map."
msgstr "Seul le créateur de la carte peut la supprimer."
#: views.py:764
#: views.py:765
#, python-format
msgid ""
"Your map has been cloned! If you want to edit this map from another "
"computer, please use this link: %(anonymous_url)s"
msgstr "Votre carte a été dupliquée ! Si vous souhaitez la modifier depuis un autre ordinateur, veuillez utiliser ce lien : %(anonymous_url)s"
#: views.py:769
#: views.py:770
msgid "Congratulations, your map has been cloned!"
msgstr "Votre carte a été dupliquée !"
#: views.py:958
#: views.py:959
msgid "Layer successfully deleted."
msgstr "Calque supprimé."
#: views.py:980
#: views.py:981
msgid "Permissions updated with success!"
msgstr "Les permissions ont bien été modifiées !"

Binary file not shown.

View file

@ -4,6 +4,7 @@
#
# Translators:
# claudiamocci <moccicm@gmail.com>, 2013
# Francesco Piero Paolicelli <piersoft2@gmail.com>, 2023
# Marco <marcxosm@gmail.com>, 2017
# lucacorsato <lucors@gmail.com>, 2014
# lucacorsato <lucors@gmail.com>, 2014
@ -19,9 +20,9 @@ msgid ""
msgstr ""
"Project-Id-Version: uMap\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-22 16:21+0000\n"
"POT-Creation-Date: 2023-10-12 06:55+0000\n"
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
"Last-Translator: Maurizio Napolitano <maurizio.napolitano@okfn.org>, 2013,2017,2023\n"
"Last-Translator: Francesco Piero Paolicelli <piersoft2@gmail.com>, 2023\n"
"Language-Team: Italian (http://app.transifex.com/openstreetmap/umap/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -37,9 +38,9 @@ msgstr "Modificabile solo con il link segreto"
msgid "Everyone can edit"
msgstr "Chiunque può modificare"
#: forms.py:69 models.py:317
#: forms.py:69 models.py:318
msgid "Inherit"
msgstr ""
msgstr "Inherit"
#: middleware.py:14
msgid "Site is readonly for maintenance"
@ -65,15 +66,15 @@ msgstr "Modello dell'URL usando il formato delle tile OSM"
msgid "Order of the tilelayers in the edit box"
msgstr "Ordine degli sfondi (tilelayers) nel box di modifica"
#: models.py:142 models.py:318
#: models.py:142 models.py:319
msgid "Everyone"
msgstr "Chiunque"
#: models.py:143 models.py:149 models.py:319
#: models.py:143 models.py:149 models.py:320
msgid "Editors only"
msgstr "Solamente chi contribuisce"
#: models.py:144 models.py:320
#: models.py:144 models.py:321
msgid "Owner only"
msgstr "Solo chi ha la proprietà"
@ -89,7 +90,7 @@ msgstr "Chiunque abbia il link"
msgid "Blocked"
msgstr "Bloccata"
#: models.py:153 models.py:324
#: models.py:153 models.py:325
msgid "description"
msgstr "descrizione"
@ -117,35 +118,35 @@ msgstr "Scegliere una licenza per la mappa."
msgid "licence"
msgstr "licenza"
#: models.py:172
#: models.py:173
msgid "owner"
msgstr "proprietario"
#: models.py:176
#: models.py:177
msgid "editors"
msgstr "contributore"
#: models.py:181 models.py:338
#: models.py:182 models.py:339
msgid "edit status"
msgstr "stato della modifica"
#: models.py:186
#: models.py:187
msgid "share status"
msgstr "stato condivisione"
#: models.py:189 models.py:333
#: models.py:190 models.py:334
msgid "settings"
msgstr "impostazioni"
#: models.py:268
#: models.py:269
msgid "Clone of"
msgstr "Duplicata da "
#: models.py:328
#: models.py:329
msgid "display on load"
msgstr "mostra al caricamento"
#: models.py:329
#: models.py:330
msgid "Display this layer on load."
msgstr "Visualizza questo layer al caricamento."
@ -448,48 +449,48 @@ msgstr "Non hai ancora alcuna mappa."
msgid "View the map"
msgstr "Visualizza la mappa"
#: views.py:658
#: views.py:659
msgid "Map has been updated!"
msgstr "La mappa è stata aggiornata!"
#: views.py:683
#: views.py:684
msgid "Map editors updated with success!"
msgstr "Aggiornato l'elenco degli editor abilitati alla modifica della mappa!"
#: views.py:721
#: views.py:722
#, python-format
msgid "The uMap edit link for your map: %(map_name)s"
msgstr "Link uMap per la modifica della tua mappa: %(map_name)s"
#: views.py:724
#: views.py:725
#, python-format
msgid "Here is your secret edit link: %(link)s"
msgstr "Qui il tuo link segreto: %(link)s"
#: views.py:730
#: views.py:731
#, python-format
msgid "Email sent to %(email)s"
msgstr "Email inviata a %(email)s"
#: views.py:741
#: views.py:742
msgid "Only its owner can delete the map."
msgstr "Solo il proprietario può eliminare la mappa."
#: views.py:764
#: views.py:765
#, python-format
msgid ""
"Your map has been cloned! If you want to edit this map from another "
"computer, please use this link: %(anonymous_url)s"
msgstr "La mappa è stata clonata! Per modificarla usando un altro computer, si deve utilizzare questo link: %(anonymous_url)s"
#: views.py:769
#: views.py:770
msgid "Congratulations, your map has been cloned!"
msgstr "Perfetto, la tua mappa è stata clonata!"
#: views.py:958
#: views.py:959
msgid "Layer successfully deleted."
msgstr "Layer eliminato correttamente"
#: views.py:980
#: views.py:981
msgid "Permissions updated with success!"
msgstr ""
msgstr "Autorizzazioni aggiornate con successo!"

View file

@ -1,4 +1,4 @@
import os
from pathlib import Path
from django.core.files import File
from django.core.management.base import BaseCommand
@ -7,40 +7,61 @@ from umap.models import Pictogram
class Command(BaseCommand):
help = 'Import pictograms from a folder'
help = "Import pictograms from a folder"
def add_arguments(self, parser):
parser.add_argument('path')
parser.add_argument('--attribution', required=True,
help='Attribution of the imported pictograms')
parser.add_argument('--suffix',
help='Optional suffix to add to each name')
parser.add_argument('--force', action='store_true',
help='Update picto if it already exists.')
parser.add_argument("path")
parser.add_argument(
"--attribution",
required=True,
help="Attribution of the imported pictograms",
)
parser.add_argument(
"--extensions",
help="Optional list of extensins to process",
nargs="+",
default=[".svg"],
)
parser.add_argument(
"--exclude",
help="Optional list of files or dirs to exclude",
nargs="+",
default=["font"],
)
parser.add_argument(
"--force", action="store_true", help="Update picto if it already exists."
)
def handle(self, *args, **options):
path = options['path']
attribution = options['attribution']
suffix = options['suffix']
force = options['force']
for filename in os.listdir(path):
if filename.endswith("-24.png"):
name = self.extract_name(filename)
if suffix:
name = '{name}{suffix}'.format(name=name, suffix=suffix)
self.path = Path(options["path"])
self.attribution = options["attribution"]
self.extensions = options["extensions"]
self.force = options["force"]
self.exclude = options["exclude"]
self.handle_directory(self.path)
def handle_directory(self, path):
for filename in path.iterdir():
if filename.name in self.exclude:
continue
if filename.is_dir():
self.handle_directory(filename)
continue
if filename.suffix in self.extensions:
name = filename.stem
picto = Pictogram.objects.filter(name=name).last()
if picto:
if not force:
self.stdout.write(u"⚠ Pictogram with name '{name}' already exists. Skipping.".format(name=name)) # noqa
if not self.force:
self.stdout.write(
f"⚠ Pictogram with name '{name}' already exists. Skipping."
)
continue
else:
picto = Pictogram()
picto.name = name
filepath = os.path.join(path, filename)
with open(filepath, 'rb') as f:
picto.attribution = attribution
picto.pictogram.save(filename, File(f), save=True)
self.stdout.write(u"✔ Imported pictogram {filename}.".format(filename=filename)) # noqa
def extract_name(self, filename):
return filename[:-7].replace('-', ' ')
if (path.name != self.path.name): # Subfolders only
picto.category = path.name
picto.attribution = self.attribution
with (path / filename).open("rb") as f:
picto.pictogram.save(filename.name, File(f), save=True)
self.stdout.write(f"✔ Imported pictogram {filename}.")

View file

@ -0,0 +1,17 @@
# Generated by Django 4.2.2 on 2023-10-30 11:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("umap", "0014_map_created_at"),
]
operations = [
migrations.AlterField(
model_name="pictogram",
name="pictogram",
field=models.FileField(upload_to="pictogram"),
),
]

View file

@ -0,0 +1,17 @@
# Generated by Django 4.2.2 on 2023-10-30 17:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("umap", "0015_alter_pictogram_pictogram"),
]
operations = [
migrations.AddField(
model_name="pictogram",
name="category",
field=models.CharField(blank=True, max_length=300, null=True),
),
]

View file

@ -284,7 +284,8 @@ class Pictogram(NamedModel):
"""
attribution = models.CharField(max_length=300)
pictogram = models.ImageField(upload_to="pictogram")
category = models.CharField(max_length=300, null=True, blank=True)
pictogram = models.FileField(upload_to="pictogram")
@property
def json(self):
@ -292,6 +293,7 @@ class Pictogram(NamedModel):
"id": self.pk,
"attribution": self.attribution,
"name": self.name,
"category": self.category,
"src": self.pictogram.url,
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 638 B

View file

@ -163,7 +163,9 @@ select {
select[multiple="multiple"] {
height: auto;
}
.button, input[type="submit"] {
.button,
[type="button"],
input[type="submit"] {
display: block;
margin-bottom: 14px;
text-align: center;
@ -176,18 +178,31 @@ select[multiple="multiple"] {
line-height: 32px;
border: none;
text-decoration: none;
background-color: white;
}
.dark .button {
.dark .button,
.dark [type="button"] {
background-color: #2a2e30;
color: #eeeeec;
border: 1px solid #1b1f20;
}
.dark .button:hover, .dark input[type="submit"]:hover {
.dark .button:hover,
.dark [type="button"]:hover,
.dark input[type="submit"]:hover {
background-color: #2e3436;
}
.dark a {
color: #eeeeec;
}
[type="button"].flat,
.dark [type="button"].flat {
border: none;
background-color: inherit;
padding: 0;
text-align: left;
min-height: inherit;
text-decoration: underline;
}
.help-text, .helptext {
display: block;
padding: 7px 7px;
@ -263,7 +278,7 @@ input[type="file"] + .error {
padding: 10px;
}
.fieldset.toggle .legend {
text-align: center;
text-align: left;
display: block;
cursor: pointer;
background-color: #232729;
@ -276,6 +291,20 @@ input[type="file"] + .error {
font-size: 1.2em;
padding: 0 5px;
}
.fieldset.toggle .legend:before {
background-repeat: no-repeat;
text-indent: 24px;
height: 24px;
line-height: 24px;
display: inline-block;
background-image: url('./img/16-white.svg');
vertical-align: bottom;
content: " ";
background-position: -144px -76px;
}
.fieldset.toggle.on .legend:before {
background-position: -144px -51px;
}
/* Switch */
input.switch:empty {
display: none;
@ -354,13 +383,15 @@ input.switch:checked ~ label:after {
.button-bar.half {
grid-template-columns: 1fr 1fr;
}
.umap-multiplechoice.by3 {
.umap-multiplechoice.by3,
.umap-multiplechoice.by5 {
grid-template-columns: 1fr 1fr 1fr;
}
.umap-multiplechoice.by4 {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.button-bar .button {
.button-bar .button,
.button-bar [type="button"] {
display: inline-block;
}
.umap-multiplechoice input[type='radio'] {
@ -449,7 +480,7 @@ i.info {
.umap-clone:before, .umap-edit:before, .umap-download:before,
.umap-to-polyline:before {
background-repeat: no-repeat;
text-indent: 38px;
text-indent: 36px;
height: 24px;
line-height: 24px;
display: inline-block;
@ -504,33 +535,30 @@ i.info {
margin-top: -8px;
padding: 0 5px;
}
.umap-icon-list, .umap-pictogram-list {
clear: both;
.umap-pictogram-grid {
display: flex;
flex-wrap: wrap;
}
.umap-icon-choice {
display: block;
float: left;
.umap-pictogram-choice {
width: 30px;
height: 30px;
line-height: 30px;
position: relative;
cursor: pointer;
background-image: url('./img/icon-bg.png');
background-color: #999;
text-align: center;
box-shadow: 0 0 4px 0 black inset;
margin-bottom: 5px;
margin-right: 5px;
}
.umap-icon-choice img {
.umap-pictogram-choice img {
vertical-align: middle;
max-width: 24px;
}
.umap-icon-choice:hover,
.umap-icon-choice.selected,
.umap-pictogram-choice:hover,
.umap-pictogram-choice.selected,
.umap-color-picker span:hover {
box-shadow: 0 0 4px 0 black;
}
.umap-icon-choice .leaflet-marker-icon {
.umap-pictogram-choice .leaflet-marker-icon {
bottom: 0;
left: 30px;
position: absolute;
@ -557,10 +585,12 @@ input.blur {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.blur + .button:before {
.blur + .button:before,
.blur + [type="button"]:before {
content: '✔';
}
.blur + .button {
.blur + .button,
.blur + [type="button"] {
width: 40px;
height: 18px;
display: inline-block;
@ -570,7 +600,8 @@ input.blur {
border-bottom-left-radius: 0;
box-sizing: border-box;
}
input[type=hidden].blur + .button {
input[type=hidden].blur + .button,
input[type=hidden].blur + [type="button"] {
display: none;
}
@ -705,26 +736,27 @@ input:invalid {
visibility: visible;
top: 23px;
}
.umap-alert .umap-action {
.umap-alert-container .umap-action {
margin-left: 10px;
background-color: #fff;
color: #000;
padding: 5px;
border-radius: 4px;
}
.umap-alert .umap-action:hover {
.umap-alert-container .umap-action:hover {
color: #000;
}
.umap-alert .error .umap-action {
.umap-alert-container .error .umap-action {
background-color: #666;
color: #eee;
}
.umap-alert .error .umap-action:hover {
.umap-alert-container .error .umap-action:hover {
color: #fff;
}
.umap-alert input {
.umap-alert-container input {
padding: 5px;
border-radius: 4px;
width: 100%;
}
/* *********** */
@ -741,7 +773,7 @@ input:invalid {
color: #eeeeec;
font-size: 0.8em;
border-radius: 2px;
z-index: 1004;
z-index: 1011;
font-weight: normal;
max-width: 300px;
}
@ -761,6 +793,19 @@ input:invalid {
border-width: 11px;
margin-left: calc(-50% + 21px);
}
#umap-tooltip-container.tooltip-bottom:before {
top: -22px;
left: calc(50% - 11px);
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-top-color: rgba(30, 30, 30, 0.7);
border-width: 11px;
transform: rotate(180deg);
}
#umap-tooltip-container.tooltip.tooltip-left:after {
left: 100%;
top: 50%;
@ -806,10 +851,41 @@ input:invalid {
color: #fff;
float: right;
padding-right: 10px;
width: 100px;
line-height: 1;
margin: .5rem;
background-color: #202425;
font-size: .7rem;
}
#umap-alert-container .umap-close-icon {
background-position: -74px -55px;
}
#umap-alert-container .umap-alert-actions {
display: flex;
margin: 1rem;
}
#umap-alert-container .umap-alert-actions .umap-action {
margin-bottom: 0;
}
/* *********** */
/* Various */
/* *********** */
.umap-dragover:before {
content: ' ';
background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="200" height="200" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="arcs">%3Cpath d="M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 9l-5 5-5-5M12 12.8V2.5"/>%3C/svg>');
background-repeat: no-repeat;
background-position: center;
background-color: #323e56;
z-index: 401;
display: block;
position: absolute;
width: 100vw;
height: 100vh;
opacity: 0.5;
}
/* *********** */

View file

@ -175,14 +175,14 @@ body.content #umap-ui-container {
input[type="submit"],
.button {
background-color: #79c1c0;
color: #eeeeec;
color: #323737;
}
.wrapper input[type="submit"]:hover {
background-color: #689191;
}
.wrapper .neutral, .wrapper input[type="submit"].neutral {
background-color: #ddd;
color: #666;
color: #323737;
}
.wrapper.somber {
background-color: #2E3641;
@ -319,7 +319,8 @@ table.maps thead tr {
display: none;
}
.leaflet-container a.button {
color: #eeeeec;
color: #323737;
font-size: 13.3px;
}
/* ************************************************* */

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

@ -0,0 +1,5 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<rect x=".3" y=".3" width="15.5" height="15.5" rx="7.8" fill="#F2F2F2" stroke="#F2F2F2" stroke-width=".5"/>
<path d="M5.9 3.5A5 5 0 0 0 8 13C4.1 9.4 3.2 5 5.9 3.5ZM8 13a5 5 0 0 0 2.1-9.5C12.8 4.9 12 9.4 8 13Z" fill="#323E56"/>
<path d="M9.9 5.6a1.9 1.9 0 1 1-3.8 0 1.9 1.9 0 0 1 3.8 0Z" fill="#323E56"/>
</svg>

After

Width:  |  Height:  |  Size: 390 B

View file

@ -1,8 +1,14 @@
<svg id="svg2" width="144" height="144" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<svg id="svg2" width="168" height="144" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<defs id="defs4">
<clipPath id="clip0_241_10857">
<rect id="rect586" width="18.05" height="19.01" fill="#fff"/>
</clipPath>
<clipPath id="clip0_576_2753">
<rect id="rect2" width="18" height="10.07" fill="#fff"/>
</clipPath>
<clipPath id="clip0_588_799">
<rect id="rect4" width="18" height="12.79" fill="#fff"/>
</clipPath>
</defs>
<metadata id="metadata7">
<rdf:RDF>
@ -20,11 +26,6 @@
<path id="path3789" d="m9 1046h-2.3698v-0.3223c0-0.3596 0.072207-0.6775 0.21663-0.9539 0.14442-0.2807 0.44857-0.636 0.91247-1.0658l0.42013-0.3816c0.24945-0.228 0.43107-0.4429 0.54486-0.6446 0.11816-0.2019 0.17724-0.4036 0.17724-0.6053-4.6e-6 -0.3071-0.10504-0.5462-0.3151-0.7171-0.21007-0.1756-0.50329-0.2632-0.87965-0.2632-0.35449 0-0.73742 0.075-1.1488 0.2237-0.41138 0.1446-0.84026 0.3618-1.2867 0.6513v-2.0659c0.52954-0.184 1.0131-0.32 1.4508-0.4077 0.43763-0.088 0.85995-0.1317 1.267-0.1317 1.0678 0 1.8818 0.2194 2.442 0.6579 0.56017 0.4341 0.84026 1.0702 0.84026 1.9078-7e-6 0.4298-0.08535 0.8159-0.25602 1.158-0.17068 0.3377-0.46171 0.7017-0.87308 1.092l-0.42013 0.375c-0.2976 0.272-0.49235 0.4913-0.58425 0.658-0.091909 0.1622-0.13786 0.342-0.13786 0.5394v0.296m-2.3698 0.9739h2.3698v2.342h-2.3698v-2.342" fill="#f2f2f2" stroke="#999" stroke-width=".25"/>
</g>
</g>
<path id="path2990-6" d="m60 843.86c-3 0-5 1.5-8 4.5 3 3 5 4.5 8 4.5 3 0 5-1.5 8-4.5-3-3-5-4.5-8-4.5zm0 2.5c1.1046 0 2 0.8954 2 2s-0.89543 2-2 2c-1.1046 0-2-0.8954-2-2s0.89543-2 2-2z" fill="#f2f2f2" stroke="#999" stroke-width=".25"/>
<g id="eye-off" transform="translate(75 -195)" fill="#b3b3b3">
<path id="path2990" transform="translate(0 1034.4)" d="m9 4.5c-3-3.36e-5 -5 1.5-8 4.5 3 3 5 4.5 8 4.5 3-3.3e-5 5-1.5 8-4.5-3-3-5-4.5-8-4.5zm0 2.5c1.1046 0 2 0.89543 2 2 0 1.1046-0.89543 2-2 2-1.1046 0-2-0.89543-2-2 0-1.1046 0.89543-2 2-2z"/>
<path id="rect3787" d="m2 1047.9 13-10 1 1-13 10z"/>
</g>
<path id="table" d="m78 819.36v2h12v-2zm0 3v1h4v-1zm5 0v1h7v-1zm-5 2v1h4v-1zm5 0v1h7v-1zm-5 2v1h4v-1zm5 0v1h7v-1zm-5 2v1h4v-1zm5 0v1h7v-1z" fill="#b3b3b3"/>
<path id="rect5280" d="m35 843.36v4h-4v2h4v4h2v-4h4v-2h-4v-4z" fill="#f2f2f2"/>
<path id="path4354" d="m13.518 866.36c-2.4668 0-4.4825 2.0158-4.4825 4.4826 0 0.8297 0.23375 1.5964 0.63035 2.2646l-3.6654 3.6653 1.5875 1.5876 3.6654-3.6654c0.66814 0.3966 1.4348 0.6303 2.2646 0.6303 2.4668 0 4.4825-2.0157 4.4825-4.4824 0-2.4668-2.0157-4.4826-4.4825-4.4826zm0 1.4943c1.6593 0 2.9883 1.329 2.9883 2.9883 0 1.6592-1.3291 2.9883-2.9883 2.9883s-2.9883-1.3291-2.9883-2.9883c0-1.6593 1.3291-2.9883 2.9883-2.9883zm0 1.4941c-0.81635 0-1.4942 0.6779-1.4942 1.4942s0.67781 1.4942 1.4942 1.4942 1.4942-0.6779 1.4942-1.4942-0.67781-1.4942-1.4942-1.4942z" color="#000000" fill="#f2f2f2" stroke="#999" stroke-width=".25" style="text-decoration-line:none;text-indent:0;text-transform:none"/>
@ -133,7 +134,7 @@
<path id="delete-30-7" d="m131 937.36v1c-1.4286 0-3.2857 0.5999-4 2v1h10v-1c-0.71429-1.4001-2.5714-2-4-2v-1zm-4 5 2 9h6l2-9z" fill="#b3b3b3" stroke="#999" stroke-width=".25"/>
<path id="path437" d="m113.29 943.47 0.9072 0.5491c0.1786 0.10817 0.2366 0.34196 0.1294 0.52223-0.0319 0.0535-0.0764 0.0983-0.1294 0.13055l-7.0072 4.2412-7.0071-4.2412c-0.17869-0.10817-0.23664-0.34196-0.12942-0.52222 0.0319-0.0536 0.0763-0.0984 0.12942-0.13056l0.90714-0.5491 6.0999 3.6922zm0 3.578 0.9072 0.5491c0.1786 0.1081 0.2366 0.3419 0.1294 0.5222-0.0319 0.0535-0.0764 0.0983-0.1294 0.1306l-6.6189 4.0061c-0.239 0.1447-0.53753 0.1447-0.77652 0l-6.6188-4.0061c-0.17869-0.1082-0.23664-0.342-0.12942-0.5223 0.0319-0.0536 0.0763-0.0984 0.12942-0.1305l0.90714-0.5491 6.0999 3.6921zm-5.7117-10.575 6.6189 4.0062c0.1786 0.10815 0.2366 0.34196 0.1294 0.52222-0.0319 0.0536-0.0764 0.0984-0.1294 0.13056l-7.0072 4.2412-7.0071-4.2412c-0.17869-0.10815-0.23664-0.34196-0.12942-0.52222 0.0319-0.0536 0.0763-0.0984 0.12942-0.13056l6.6188-4.0062c0.23899-0.14465 0.53752-0.14465 0.77652 0z" fill="#f2f2f2" stroke="#999" stroke-width=".178"/>
<path id="linestring" d="m7 937.36v2h1.8828l6.1172 3.0586v0.23438l-6.707 6.707h-1.293v2h2v-1.293l6.707-6.707h1.293v-2h-1.8828l-6.1172-3.0586v-0.94141z" color="#000000" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".2"/>
<path id="polygon" d="m29 936.36v2h0.92773l-0.85547 12h-1.0723v2h2v-1.1992l8-1.6016v0.80078h2v-2h-0.77734l1.5547-7h1.2227v-2h-2v0.72656l-9-2.4531v-1.2734h-2z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".2"/>
<path id="polygon" d="m29 936.36v2h0.92773l-0.85547 12h-1.0723v2h2v-1.1992l8-1.6016v0.80078h2v-2h-0.77734l1.5547-7h1.2227v-2h-2v0.72656l-9-2.4531v-1.2734z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".2"/>
<path id="marker" d="m84 936.36c-2.625 0-5.25 1.7022-6 5.1064 0 2.0426 1.5 6.1277 6 10.894 4.5-4.7659 6-8.851 6-10.894-0.75-3.4042-3.375-5.1064-6-5.1064zm0 2.383c1.6569 0 3 1.2193 3 2.7234s-1.3431 2.7234-3 2.7234c-1.6568 0-3-1.2194-3-2.7234s1.3432-2.7234 3-2.7234z" fill="#f2f2f2" stroke="#999" stroke-width=".25"/>
<g id="settings" class="sprite" transform="matrix(.16295 0 0 .16296 27.835 912.23)" fill="#f2f2f2" stroke="#999" stroke-width="1.4974">
<path id="path27812" d="m98.762 43.652c-0.186-1.386-1.481-2.582-2.876-2.659l-6.172-0.337c-1.395-0.076-2.899-1.224-3.341-2.55l-2.28-5.518c-0.629-1.249-0.379-3.121 0.553-4.161l4.122-4.6c0.933-1.042 0.962-2.77 0.066-3.842l-8.813-8.813c-1.073-0.897-2.803-0.867-3.845 0.065l-4.598 4.122c-1.039 0.934-2.915 1.182-4.161 0.551l-5.521-2.279c-1.324-0.442-2.472-1.945-2.549-3.34l-0.337-6.17c-0.077-1.396-1.272-2.691-2.659-2.878 0 0-3.252-0.44-6.248-0.44-2.991 0-6.243 0.44-6.243 0.44-1.386 0.188-2.582 1.483-2.658 2.878l-0.338 6.17c-0.076 1.396-1.224 2.898-2.551 3.34l-5.517 2.279c-1.249 0.631-3.122 0.382-4.161-0.551l-4.601-4.122c-1.042-0.932-2.769-0.962-3.842-0.065l-8.813 8.813c-0.897 1.073-0.867 2.801 0.066 3.842l4.122 4.6c0.933 1.041 1.182 2.913 0.551 4.161l-2.279 5.518c-0.442 1.326-1.946 2.474-3.34 2.55l-6.17 0.337c-1.396 0.077-2.691 1.272-2.879 2.659 0 0-0.439 3.253-0.439 6.243s0.44 6.24 0.44 6.24c0.188 1.389 1.483 2.582 2.879 2.659l6.169 0.339c1.396 0.075 2.898 1.225 3.341 2.549l2.278 5.517c0.631 1.248 0.381 3.122-0.551 4.163l-4.122 4.598c-0.933 1.042-0.963 2.771-0.066 3.845l8.814 8.813c1.073 0.896 2.801 0.866 3.842-0.066l4.6-4.122c1.041-0.932 2.913-1.182 4.161-0.553l5.517 2.28c1.327 0.441 2.475 1.946 2.55 3.343l0.338 6.168c0.076 1.395 1.272 2.692 2.658 2.88 0 0 3.252 0.439 6.244 0.439 2.996 0 6.25-0.439 6.25-0.439 1.385-0.188 2.58-1.485 2.657-2.88l0.337-6.168c0.077-1.396 1.225-2.901 2.551-3.343l5.517-2.28c1.248-0.629 3.122-0.379 4.163 0.553l4.598 4.122c1.042 0.933 2.771 0.964 3.843 0.067l8.815-8.814c0.896-1.073 0.866-2.803-0.066-3.845l-4.122-4.598c-0.932-1.041-1.182-2.915-0.553-4.163l2.28-5.517c0.441-1.324 1.946-2.474 3.341-2.549l6.172-0.339c1.395-0.077 2.692-1.271 2.876-2.659 0 0 0.441-3.25 0.441-6.24s-0.441-6.243-0.441-6.243zm-48.658 18.709c-6.886 0-12.468-5.585-12.468-12.467 0-6.885 5.582-12.467 12.468-12.467 6.89 0 12.475 5.582 12.475 12.467-1e-3 6.882-5.586 12.467-12.475 12.467z" fill="#f2f2f2" stroke="#999" stroke-width="1.4974"/>
@ -142,8 +143,26 @@
<path id="path580" d="m1.07 4.41h9.42c0.9234-0.0066 1.8391 0.16957 2.6941 0.5184 0.8551 0.34883 1.6327 0.8634 2.288 1.5141s1.1754 1.4246 1.5303 2.2771c0.3549 0.85256 0.5376 1.767 0.5376 2.6904 0.0067 0.9277-0.1712 1.8474-0.5231 2.7058-0.3519 0.8583-0.871 1.6382-1.527 2.2941-0.656 0.656-1.4358 1.1751-2.2941 1.527-0.8584 0.352-1.7781 0.5298-2.7058 0.5231h-9.42"/>
<path id="path582" d="m4.75 8.45-4.04-4.05 4.04-4.05"/>
</g>
<path id="path438" d="m9 849.94v4.05c0 0.20708 0.1679 0.375 0.375 0.375h5.25c0.20708 0 0.375-0.16792 0.375-0.375v-4.05c0-0.20708-0.16792-0.375-0.375-0.375h-5.25c-0.2071 0-0.375 0.16792-0.375 0.375z" fill="none" stroke="#f2f2f2"/>
<path id="save" d="m15.213 842.36h-8.8376c-0.2071 0-0.375 0.1679-0.375 0.37499v11.25c0 0.20708 0.1679 0.375 0.375 0.375h11.25c0.20708 0 0.375-0.16792 0.375-0.375v-8.6766c0-0.0953-0.0363-0.18697-0.1014-0.25648l-2.4124-2.5733c-0.07095-0.0756-0.16995-0.11853-0.2736-0.11853z" fill="none" stroke="#f2f2f2"/>
<path id="close" d="m32.354 820.01-0.70703 0.70704 3.6465 3.6465-3.6465 3.6465 0.70703 0.70704 3.6465-3.6465 3.6465 3.6465 0.70703-0.70704-3.6465-3.6465 3.6465-3.6465-0.70703-0.70704-3.6465 3.6465-3.6465-3.6465z" color="#000000" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".18898"/>
<g id="g1" transform="translate(144 -24)" fill="none" stroke="#999">
<path id="path438" d="m9 849.94v4.05c0 0.20708 0.1679 0.375 0.375 0.375h5.25c0.20708 0 0.375-0.16792 0.375-0.375v-4.05c0-0.20708-0.16792-0.375-0.375-0.375h-5.25c-0.2071 0-0.375 0.16792-0.375 0.375z"/>
<path id="save" d="m15.213 842.36h-8.8376c-0.2071 0-0.375 0.1679-0.375 0.37499v11.25c0 0.20708 0.1679 0.375 0.375 0.375h11.25c0.20708 0 0.375-0.16792 0.375-0.375v-8.6766c0-0.0953-0.0363-0.18697-0.1014-0.25648l-2.4124-2.5733c-0.07095-0.0756-0.16995-0.11853-0.2736-0.11853z"/>
</g>
<path id="close" d="m32.354 820.01-0.70703 0.70704 3.6465 3.6465-3.6465 3.6465 0.70703 0.70704 3.6465-3.6465 3.6465 3.6465 0.70703-0.70704-3.6465-3.6465 3.6465-3.6465-0.70703-0.70704-3.6465 3.6465z" color="#000000" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".18898"/>
<g id="eye" transform="translate(51 843.33)" clip-path="url(#clip0_576_2753)" fill="#f2f2f2">
<path id="path1" d="m9 1c3.06 0 6.26 2.74 7.6 4.03-1.34 1.3-4.54 4.03-7.6 4.03s-6.26-2.73-7.6-4.03c1.34-1.29 4.53-4.03 7.6-4.03zm0-1c-4.5 0-9 5.03-9 5.03s4.5 5.03 9 5.03 9-5.03 9-5.03-4.5-5.03-9-5.03z"/>
<path id="path2" d="m9 3.64c0.77 0 1.39 0.63 1.39 1.39s-0.63001 1.39-1.39 1.39-1.39-0.63-1.39-1.39 0.63-1.39 1.39-1.39zm0-1c-1.32 0-2.39 1.07-2.39 2.39s1.07 2.39 2.39 2.39c1.32 0 2.39-1.07 2.39-2.39s-1.07-2.39-2.39-2.39z"/>
</g>
<g id="eye-closed" transform="translate(75 841.96)" clip-path="url(#clip0_588_799)">
<path id="path1-6" d="m9 2.36c3.06 0 6.26 2.74 7.6 4.03-1.34 1.3-4.54 4.03-7.6 4.03s-6.26-2.73-7.6-4.02c1.34-1.3 4.54-4.03 7.6-4.03m0-1c-4.5-0.01-9 5.03-9 5.03s4.5 5.03 9 5.03 9-5.03 9-5.03-4.5-5.03-9-5.03z" fill="#b3b3b3"/>
<path id="path2-7" d="m9 5c0.77 0 1.39 0.63 1.39 1.39s-0.63001 1.39-1.39 1.39-1.39-0.63-1.39-1.39 0.63-1.39 1.39-1.39zm0-1c-1.32 0-2.39 1.07-2.39 2.39s1.07 2.39 2.39 2.39c1.32 0 2.39-1.07 2.39-2.39s-1.07-2.39-2.39-2.39z" fill="#b3b3b3"/>
<path id="path3" d="m16.8 0.40002-15.6 12" stroke="#f2f2f2" stroke-miterlimit="10"/>
<path id="path4" d="m16.8 0.40002-15.6 12" stroke="#b3b3b3" stroke-miterlimit="10"/>
</g>
<g id="g2" transform="translate(144)" fill="none" stroke="#42ece6">
<path id="path438-6" d="m9 849.94v4.05c0 0.20708 0.1679 0.375 0.375 0.375h5.25c0.20708 0 0.375-0.16792 0.375-0.375v-4.05c0-0.20708-0.16792-0.375-0.375-0.375h-5.25c-0.2071 0-0.375 0.16792-0.375 0.375z"/>
<path id="save-7" d="m15.213 842.36h-8.8376c-0.2071 0-0.375 0.1679-0.375 0.37499v11.25c0 0.20708 0.1679 0.375 0.375 0.375h11.25c0.20708 0 0.375-0.16792 0.375-0.375v-8.6766c0-0.0953-0.0363-0.18697-0.1014-0.25648l-2.4124-2.5733c-0.07095-0.0756-0.16995-0.11853-0.2736-0.11853z"/>
</g>
<path id="arrow-down" d="m156 875.36 6-6h-12z" fill="#f2f2f2" fill-rule="evenodd"/>
<path id="arrow-right" d="m159 896.36-6-6v12z" fill="#f2f2f2" fill-rule="evenodd"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -38,8 +38,8 @@
<path id="rect4058-9" d="m11.906 29.898v0.13229 0.79375 0.13229h0.13229 0.79375 0.13229v-0.13229-0.09096l2.6458 1.0583v0.35555 0.11576l0.28939 0.0164h0.63665 0.13229v-0.13229-0.79375-0.13229h-0.13229-0.79375-0.13229v0.13229 0.14883l-2.6458-1.0583v-0.41341-0.13229h-0.13229-0.79375zm0.26458 0.26458h0.52917v0.52917h-0.52917zm3.7042 1.3229h0.52917v0.52917h-0.52917z" color="#000000" style="text-decoration-line:none;text-indent:0;text-transform:none"/>
<path id="rect4058-9-5" d="m12.989 32.32v0.35555 0.11576l1.8769 2.927h0.63665 0.13229v0.13229 0.79375 0.13229h-0.13229-0.79375-0.13229v-0.13229-0.79375-0.09922l-1.8769-2.9435h-0.63665-0.13229v-0.13229-0.79375-0.13229h0.13229 0.79375 0.13229v0.13229 0.14883zm-0.26458-0.30591h-0.52917v0.52917h0.52917zm2.6458 3.9688h-0.52917v0.52917h0.52917z" color="#000000" style="text-decoration-line:none;text-indent:0;text-transform:none"/>
</g>
<path id="arrow-up" d="m33.329 32.279-2.0498 2.0596h4.0995z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".046891"/>
<path id="arrow-down" d="m23.802 34.339 2.0498-2.0596h-4.0995z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".046831"/>
<path id="arrow-up" d="m33.329 32.279-2.1078 2.1167h4.2333z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".046891"/>
<path id="arrow-down" d="m23.812 34.396 2.1167-2.1167h-4.2333z" fill="#f2f2f2" fill-rule="evenodd" stroke="#999" stroke-width=".046831"/>
<path id="datalayers" d="m11.394 23.743h4e-6c0.0102-0.0168 0.02435-0.0308 0.04124-0.04083l9e-6 -2.6e-5 0.35309-0.20972 2.4753 1.4703 0.01763 0.01048 0.01763-0.01048 2.4753-1.4703 0.35309 0.20972c0.05689 0.03382 0.07555 0.10711 0.04128 0.16374-0.01019 0.01679-0.02442 0.03085-0.0413 0.04091l-2.846 1.6904-2.846-1.6904h-3e-6c-0.05691-0.03382-0.07557-0.10716-0.04125-0.16379zm0 1.435h4e-6c0.0102-0.01682 0.02435-0.03083 0.04124-0.04086h9e-6l0.35309-0.20975 2.4753 1.4703 0.01763 0.01046 0.01763-0.01046 2.4753-1.4703 0.35309 0.20975c0.05689 0.03379 0.07555 0.10713 0.04125 0.16376l0.02915 0.01701-0.02912-0.01703c-0.01019 0.0168-0.02442 0.03083-0.0413 0.04091l-2.7049 1.6066c-0.08683 0.05158-0.19526 0.05158-0.28209 0l-2.7049-1.6067h-3e-6c-0.05691-0.03382-0.07557-0.10713-0.04125-0.16376zm0.04125-2.6909-0.01757 0.02848 0.01757-0.02848c-0.05691-0.0338-0.07557-0.10714-0.04125-0.16376l2e-6 -2e-6c0.01019-0.01679 0.02435-0.03081 0.04125-0.04086h2e-6l2.7049-1.6067c0.08683-0.05157 0.19526-0.05157 0.28209 0l2.7049 1.6067c0.05689 0.0338 0.07555 0.10714 0.04125 0.16377-0.01019 0.01681-0.02438 0.03082-0.04125 0.04086l-2.846 1.6905z" fill="#f2f2f2" stroke="#999" stroke-width=".066146"/>
<g id="tilelayers" transform="matrix(1.0025 0 0 1.0105 .44603 -.58487)" stroke-width=".99354">
<path id="path1257" d="m25.978 7.8844h0.03307v-3.6125h-3.7796v3.6125h0.03307zm-3.9787-4.1591h4.2439c0.06157 0 0.12062 0.024461 0.16417 0.068001 0.04352 0.04354 0.068 0.10259 0.068 0.16417v4.2439c0 0.061569-0.02447 0.12062-0.068 0.16417-0.04355 0.04355-0.1026 0.067998-0.16417 0.067998h-4.2439c-0.06158 0-0.12063-0.024448-0.16417-0.067998-0.04354-0.04355-0.068-0.10261-0.068-0.16417v-4.2439c0-0.061577 0.02446-0.12063 0.068-0.16417 0.04354-0.04354 0.1026-0.068001 0.16417-0.068001z" fill="#f2f2f2" stroke="#999" stroke-width=".065719"/>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

@ -1,13 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="144" height="144" id="svg2" version="1.1" inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" sodipodi:docname="16-white.svg" inkscape:export-filename="16-white.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<svg width="168" height="144" id="svg2" version="1.1" inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" sodipodi:docname="16-white.svg" inkscape:export-filename="16-white.png" inkscape:export-xdpi="96" inkscape:export-ydpi="96" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs id="defs4">
<clipPath id="clip0_241_10857">
<rect width="18.049999" height="19.01" fill="#ffffff" id="rect586" x="0" y="0" />
</clipPath>
<clipPath id="clip0_576_2753">
<rect width="18" height="10.07" fill="#ffffff" id="rect2" x="0" y="0" />
</clipPath>
<clipPath id="clip0_588_799">
<rect width="18" height="12.79" fill="#ffffff" id="rect4" x="0" y="0" />
</clipPath>
</defs>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="24.617767" inkscape:cx="40.092995" inkscape:cy="16.817123" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1920" inkscape:window-height="1019" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" showguides="true" inkscape:guide-bbox="true" inkscape:snap-grids="true" inkscape:snap-to-guides="true" inkscape:showpageshadow="2" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1">
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="25.840251" inkscape:cx="154.56506" inkscape:cy="76.315049" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1920" inkscape:window-height="1019" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" showguides="true" inkscape:guide-bbox="true" inkscape:snap-grids="true" inkscape:snap-to-guides="true" inkscape:showpageshadow="2" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1">
<inkscape:grid type="xygrid" id="grid3004" empspacing="4" visible="true" enabled="true" snapvisiblegridlinesonly="true" originx="0" originy="0" spacingy="1" spacingx="1" units="px" />
<sodipodi:guide orientation="-1,0" position="24,144" id="guide3084" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,134,229)" />
<sodipodi:guide orientation="0,1" position="0,72" id="guide3086" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,134,229)" />
@ -19,6 +25,7 @@
<sodipodi:guide orientation="-1,0" position="96,144" id="guide3028" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,134,229)" />
<sodipodi:guide position="120,144" orientation="-1,0" id="guide4869" inkscape:label="" inkscape:color="rgb(0,0,255)" inkscape:locked="false" />
<sodipodi:guide position="0,120" orientation="0,1" id="guide5766" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,134,229)" />
<sodipodi:guide position="144,80" orientation="1,0" id="guide1" inkscape:locked="false" />
</sodipodi:namedview>
<metadata id="metadata7">
<rdf:RDF>
@ -36,11 +43,6 @@
<path inkscape:connector-curvature="0" id="path3789" style="font-weight:bold;font-size:12px;-inkscape-font-specification:'Sans Bold';fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 9,1046.0464 h -2.3698034 v -0.3223 c 0,-0.3596 0.072207,-0.6775 0.2166302,-0.9539 0.1444174,-0.2807 0.4485749,-0.636 0.9124728,-1.0658 l 0.4201314,-0.3816 c 0.249449,-0.228 0.4310681,-0.4429 0.5448577,-0.6446 0.1181576,-0.2019 0.1772384,-0.4036 0.177243,-0.6053 -4.6e-6,-0.3071 -0.1050376,-0.5462 -0.3150985,-0.7171 -0.2100697,-0.1756 -0.5032861,-0.2632 -0.87965,-0.2632 -0.3544889,0 -0.7374207,0.075 -1.1487968,0.2237 -0.4113804,0.1446 -0.840264,0.3618 -1.2866522,0.6513 v -2.0659 c 0.5295391,-0.184 1.0131273,-0.32 1.4507661,-0.4077 0.437634,-0.088 0.8599531,-0.1317 1.2669587,-0.1317 1.0678292,0 1.8818328,0.2194 2.442012,0.6579 0.560169,0.4341 0.840256,1.0702 0.840263,1.9078 -7e-6,0.4298 -0.08535,0.8159 -0.256017,1.158 -0.170685,0.3377 -0.461713,0.7017 -0.873085,1.092 l -0.4201313,0.375 c -0.297598,0.272 -0.4923463,0.4913 -0.5842451,0.658 -0.091909,0.1622 -0.1378603,0.342 -0.1378556,0.5394 v 0.296 m -2.3698034,0.9739 h 2.3698034 v 2.342 h -2.3698034 v -2.342" sodipodi:nodetypes="ccsccccccsccccsccccccccccccc" />
</g>
</g>
<path inkscape:connector-curvature="0" style="fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#999999;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 59.999997,843.86202 c -3,0 -5,1.5 -8,4.5 3,3 5,4.5 8,4.5 3.000003,0 5.000003,-1.5 8.000003,-4.5 -3,-3 -5,-4.5 -8.000003,-4.5 z m 0,2.5 c 1.104563,0 1.999993,0.8954 1.999993,2 0,1.1046 -0.89543,2 -1.999993,2 -1.104569,0 -2,-0.8954 -2,-2 0,-1.1046 0.895431,-2 2,-2 z" id="path2990-6" inkscape:label="eye-on" inkscape:export-filename="/home/ybon/Code/js/leaflet-storage/src/img/eye-on.png" inkscape:export-xdpi="89.996864" inkscape:export-ydpi="89.996864" />
<g id="eye-off" style="fill:#b3b3b3" inkscape:label="eye-off" inkscape:export-filename="/home/ybon/Code/js/leaflet-storage/src/img/eye-off.png" inkscape:export-xdpi="89.996864" inkscape:export-ydpi="89.996864" transform="translate(75,-195.00018)">
<path id="path2990" transform="translate(0,1034.3622)" d="m 9,4.5 c -2.9999998,-3.36e-5 -4.9999999,1.5 -8,4.5 3.0000001,2.999999 5.0000002,4.500033 8,4.5 3,-3.3e-5 5,-1.500001 8,-4.5 -3,-3 -5,-4.4999664 -8,-4.5 z m 0,2.5 c 1.104569,0 2,0.8954305 2,2 0,1.104569 -0.895431,2 -2,2 -1.1045695,0 -2,-0.895431 -2,-2 0,-1.1045695 0.8954305,-2 2,-2 z" style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" inkscape:connector-curvature="0" />
<path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="rect3787" d="m 2,1047.8622 13,-10 1,1 -13,10 z" style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" />
</g>
<path style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 78,819.36214 v 2 h 12 v -2 z m 0,3 v 1 h 4 v -1 z m 5,0 v 1 h 7 v -1 z m -5,2 v 1 h 4 v -1 z m 5,0 v 1 h 7 v -1 z m -5,2 v 1 h 4 v -1 z m 5,0 v 1 h 7 v -1 z m -5,2 v 1 h 4 v -1 z m 5,0 v 1 h 7 v -1 z" id="table" inkscape:connector-curvature="0" inkscape:label="table" inkscape:export-filename="/home/ybon/Code/js/leaflet-storage/src/img/browse-data.png" inkscape:export-xdpi="89.996864" inkscape:export-ydpi="89.996864" />
<path style="fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 35,843.36202 v 4 h -4 v 2 h 4 v 4 h 2 v -4 h 4 v -2 h -4 v -4 z" id="rect5280" inkscape:export-filename="/home/ybon/Code/js/leaflet-storage/src/img/add-layer-grey-18.png" inkscape:export-xdpi="89.996864" inkscape:export-ydpi="89.996864" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccc" />
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 13.517525,866.362 c -2.466762,0 -4.48249,2.0158 -4.48249,4.4826 0,0.8297 0.233748,1.5964 0.63035,2.26462 l -3.66537,3.66532 1.587549,1.5876 3.66537,-3.66542 c 0.668139,0.3966 1.434831,0.6303 2.264591,0.6303 2.466762,0 4.48249,-2.0157 4.48249,-4.48242 0,-2.4668 -2.015728,-4.4826 -4.48249,-4.4826 z m 0,1.4943 c 1.659256,0 2.988326,1.329 2.988326,2.9883 0,1.6592 -1.32907,2.98832 -2.988326,2.98832 -1.659256,0 -2.988326,-1.32912 -2.988326,-2.98832 0,-1.6593 1.32907,-2.9883 2.988326,-2.9883 z m 0,1.4941 c -0.816354,0 -1.494163,0.6779 -1.494163,1.4942 0,0.8163 0.677809,1.4942 1.494163,1.4942 0.816354,0 1.494163,-0.6779 1.494163,-1.4942 0,-0.8163 -0.677809,-1.4942 -1.494163,-1.4942 z" id="path4354" inkscape:export-filename="/home/ybon/Code/js/leaflet-storage/src/img/zoom_to.png" inkscape:export-xdpi="89.996864" inkscape:export-ydpi="89.996864" inkscape:connector-curvature="0" />
@ -151,9 +153,9 @@
<rect style="fill:#f2f2f2;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect4241-8-2" width="2" height="2" x="85" y="901.36218" />
<rect style="fill:#f2f2f2;fill-opacity:1;stroke:none;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect4243-2-5" width="2" height="2" x="89" y="901.36218" />
<path style="fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:#999999;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 131,937.3621 v 1 c -1.42857,0 -3.28571,0.5999 -4,2 v 1 h 10 v -1 c -0.71429,-1.4001 -2.57143,-2 -4,-2 v -1 z m -4,5 2,9 h 6 l 2,-9 z" id="delete-30-7" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccc" inkscape:label="delete-30" />
<path d="m 113.2903,943.46769 0.9072,0.5491 c 0.1786,0.10817 0.2366,0.34196 0.1294,0.52223 -0.0319,0.0535 -0.0764,0.0983 -0.1294,0.13055 l -7.00717,4.24121 -7.00708,-4.24121 c -0.17869,-0.10817 -0.236639,-0.34196 -0.12942,-0.52222 0.0319,-0.0536 0.0763,-0.0984 0.12942,-0.13056 l 0.90714,-0.5491 6.09994,3.69219 z m 0,3.57799 0.9072,0.5491 c 0.1786,0.1081 0.2366,0.3419 0.1294,0.5222 -0.0319,0.0535 -0.0764,0.0983 -0.1294,0.1306 l -6.61891,4.0061 c -0.239,0.1447 -0.53753,0.1447 -0.77652,0 l -6.61882,-4.0061 c -0.17869,-0.1082 -0.236639,-0.342 -0.12942,-0.5223 0.0319,-0.0536 0.0763,-0.0984 0.12942,-0.1305 l 0.90714,-0.5491 6.09994,3.6921 z m -5.71171,-10.57501 6.61891,4.00621 c 0.1786,0.10815 0.2366,0.34196 0.1294,0.52222 -0.0319,0.0536 -0.0764,0.0984 -0.1294,0.13056 l -7.00717,4.24119 -7.00708,-4.24119 c -0.17869,-0.10815 -0.236639,-0.34196 -0.12942,-0.52222 0.0319,-0.0536 0.0763,-0.0984 0.12942,-0.13056 l 6.61882,-4.00621 c 0.23899,-0.14465 0.53752,-0.14465 0.77652,0 z" fill="#4d4d4d" id="path437" style="fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-opacity:1;stroke-width:0.178;stroke-dasharray:none" />
<path d="m 113.2903,943.46769 0.9072,0.5491 c 0.1786,0.10817 0.2366,0.34196 0.1294,0.52223 -0.0319,0.0535 -0.0764,0.0983 -0.1294,0.13055 l -7.00717,4.24121 -7.00708,-4.24121 c -0.17869,-0.10817 -0.236639,-0.34196 -0.12942,-0.52222 0.0319,-0.0536 0.0763,-0.0984 0.12942,-0.13056 l 0.90714,-0.5491 6.09994,3.69219 z m 0,3.57799 0.9072,0.5491 c 0.1786,0.1081 0.2366,0.3419 0.1294,0.5222 -0.0319,0.0535 -0.0764,0.0983 -0.1294,0.1306 l -6.61891,4.0061 c -0.239,0.1447 -0.53753,0.1447 -0.77652,0 l -6.61882,-4.0061 c -0.17869,-0.1082 -0.236639,-0.342 -0.12942,-0.5223 0.0319,-0.0536 0.0763,-0.0984 0.12942,-0.1305 l 0.90714,-0.5491 6.09994,3.6921 z m -5.71171,-10.57501 6.61891,4.00621 c 0.1786,0.10815 0.2366,0.34196 0.1294,0.52222 -0.0319,0.0536 -0.0764,0.0984 -0.1294,0.13056 l -7.00717,4.24119 -7.00708,-4.24119 c -0.17869,-0.10815 -0.236639,-0.34196 -0.12942,-0.52222 0.0319,-0.0536 0.0763,-0.0984 0.12942,-0.13056 l 6.61882,-4.00621 c 0.23899,-0.14465 0.53752,-0.14465 0.77652,0 z" fill="#4d4d4d" id="path437" style="fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:0.178;stroke-dasharray:none;stroke-opacity:1" />
<path id="linestring" style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1" d="m 7,937.36218 v 2 h 1.8828125 l 6.1171875,3.05859 v 0.23438 l -6.7070312,6.70703 h -1.2929688 v 2 h 2 v -1.29297 l 6.707031,-6.70703 h 1.292969 v -2 h -1.882812 l -6.117188,-3.05859 v -0.94141 z" />
<path id="polygon" style="fill:#f2f2f2;fill-rule:evenodd;stroke:#999999;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1" d="M 29 936.36218 L 29 938.36218 L 29.927734 938.36218 L 29.072266 950.36218 L 28 950.36218 L 28 952.36218 L 30 952.36218 L 30 951.16296 L 38 949.5614 L 38 950.36218 L 40 950.36218 L 40 948.36218 L 39.222656 948.36218 L 40.777344 941.36218 L 42 941.36218 L 42 939.36218 L 40 939.36218 L 40 940.08874 L 31 937.63562 L 31 936.36218 L 29 936.36218 z " />
<path id="polygon" style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" d="m 29,936.36218 v 2 h 0.927734 l -0.855468,12 h -1.072266 v 2 h 2 v -1.19922 l 8,-1.60156 v 0.80078 h 2 v -2 h -0.777344 l 1.554688,-7 h 1.222656 v -2 h -2 v 0.72656 l -9,-2.45312 v -1.27344 z" />
<path id="marker" d="m 84,936.36218 c -2.625,0 -5.25,1.70216 -6,5.1064 0,2.04256 1.5,6.12768 6,10.8936 4.5,-4.76592 6,-8.85104 6,-10.8936 -0.75,-3.40424 -3.375,-5.1064 -6,-5.1064 z m 0,2.38304 c 1.656857,0 3,1.21928 3,2.72336 0,1.50408 -1.343143,2.72344 -3,2.72344 -1.656848,0 -3,-1.21936 -3,-2.72344 0,-1.50408 1.343152,-2.72336 3,-2.72336 z" style="fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:0.25;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" inkscape:connector-curvature="0" />
<g transform="matrix(0.16294606,0,0,0.16295934,27.835262,912.23132)" id="settings" style="fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:1.49736;stroke-miterlimit:4;stroke-dasharray:none" class="sprite">
<path inkscape:connector-curvature="0" d="m 98.762,43.652 c -0.186,-1.386 -1.481,-2.582 -2.876,-2.659 l -6.172,-0.337 c -1.395,-0.076 -2.899,-1.224 -3.341,-2.55 l -2.28,-5.518 c -0.629,-1.249 -0.379,-3.121 0.553,-4.161 l 4.122,-4.6 c 0.933,-1.042 0.962,-2.77 0.066,-3.842 l -8.813,-8.813 c -1.073,-0.897 -2.803,-0.867 -3.845,0.065 l -4.598,4.122 c -1.039,0.934 -2.915,1.182 -4.161,0.551 l -5.521,-2.279 c -1.324,-0.442 -2.472,-1.945 -2.549,-3.34 l -0.337,-6.17 c -0.077,-1.396 -1.272,-2.691 -2.659,-2.878 0,0 -3.252,-0.44 -6.248,-0.44 -2.991,0 -6.243,0.44 -6.243,0.44 -1.386,0.188 -2.582,1.483 -2.658,2.878 l -0.338,6.17 c -0.076,1.396 -1.224,2.898 -2.551,3.34 l -5.517,2.279 c -1.249,0.631 -3.122,0.382 -4.161,-0.551 l -4.601,-4.122 c -1.042,-0.932 -2.769,-0.962 -3.842,-0.065 l -8.813,8.813 c -0.897,1.073 -0.867,2.801 0.066,3.842 l 4.122,4.6 c 0.933,1.041 1.182,2.913 0.551,4.161 l -2.279,5.518 c -0.442,1.326 -1.946,2.474 -3.34,2.55 l -6.17,0.337 c -1.396,0.077 -2.691,1.272 -2.879,2.659 0,0 -0.439,3.253 -0.439,6.243 0,2.99 0.44,6.24 0.44,6.24 0.188,1.389 1.483,2.582 2.879,2.659 l 6.169,0.339 c 1.396,0.075 2.898,1.225 3.341,2.549 l 2.278,5.517 c 0.631,1.248 0.381,3.122 -0.551,4.163 l -4.122,4.598 c -0.933,1.042 -0.963,2.771 -0.066,3.845 l 8.814,8.813 c 1.073,0.896 2.801,0.866 3.842,-0.066 l 4.6,-4.122 c 1.041,-0.932 2.913,-1.182 4.161,-0.553 l 5.517,2.28 c 1.327,0.441 2.475,1.946 2.55,3.343 l 0.338,6.168 c 0.076,1.395 1.272,2.692 2.658,2.88 0,0 3.252,0.439 6.244,0.439 2.996,0 6.25,-0.439 6.25,-0.439 1.385,-0.188 2.58,-1.485 2.657,-2.88 l 0.337,-6.168 c 0.077,-1.396 1.225,-2.901 2.551,-3.343 l 5.517,-2.28 c 1.248,-0.629 3.122,-0.379 4.163,0.553 l 4.598,4.122 c 1.042,0.933 2.771,0.964 3.843,0.067 l 8.815,-8.814 c 0.896,-1.073 0.866,-2.803 -0.066,-3.845 l -4.122,-4.598 c -0.932,-1.041 -1.182,-2.915 -0.553,-4.163 l 2.28,-5.517 c 0.441,-1.324 1.946,-2.474 3.341,-2.549 l 6.172,-0.339 c 1.395,-0.077 2.692,-1.271 2.876,-2.659 0,0 0.441,-3.25 0.441,-6.24 0,-2.99 -0.441,-6.243 -0.441,-6.243 z m -48.658,18.709 c -6.886,0 -12.468,-5.585 -12.468,-12.467 0,-6.885 5.582,-12.467 12.468,-12.467 6.89,0 12.475,5.582 12.475,12.467 -10e-4,6.882 -5.586,12.467 -12.475,12.467 z" id="path27812" style="fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:1.49736;stroke-miterlimit:4;stroke-dasharray:none" />
@ -162,8 +164,26 @@
<path d="m 1.07001,4.41003 h 9.41999 c 0.9234,-0.0066 1.8391,0.16957 2.6941,0.5184 0.8551,0.34883 1.6327,0.8634 2.288,1.51407 0.6553,0.65067 1.1754,1.42458 1.5303,2.27713 0.3549,0.85256 0.5376,1.76697 0.5376,2.69037 0.0067,0.9277 -0.1712,1.8474 -0.5231,2.7058 -0.3519,0.8583 -0.871,1.6382 -1.527,2.2941 -0.656,0.656 -1.4358,1.1751 -2.2941,1.527 -0.8584,0.352 -1.7781,0.5298 -2.7058,0.5231 h -9.41999" stroke="#f2f2f2" stroke-miterlimit="10" id="path580" style="fill:none;stroke:#f2f2f2;stroke-width:1.45486;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
<path d="m 4.75002,8.44998 -4.039998,-4.05 4.039998,-4.050004" stroke="#f2f2f2" stroke-miterlimit="10" id="path582" style="fill:none;stroke:#f2f2f2;stroke-width:1.45486;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" />
</g>
<path d="m 9,849.93721 v 4.04997 c 0,0.20708 0.167895,0.375 0.375,0.375 h 5.25 c 0.207075,0 0.375,-0.16792 0.375,-0.375 v -4.04997 c 0,-0.20708 -0.167925,-0.375 -0.375,-0.375 h -5.25 c -0.207105,0 -0.375,0.16792 -0.375,0.375 z" stroke="#f2f2f2" id="path438" style="fill:none;stroke-width:0.999997" />
<path d="m 15.21255,842.36218 h -8.83755 c -0.207105,0 -0.375,0.1679 -0.375,0.37499 v 11.24993 c 0,0.20708 0.167895,0.375 0.375,0.375 h 11.25 c 0.207075,0 0.375,-0.16792 0.375,-0.375 v -8.67664 c 0,-0.0953 -0.0363,-0.18697 -0.1014,-0.25648 l -2.41245,-2.57327 c -0.07095,-0.0756 -0.16995,-0.11853 -0.2736,-0.11853 z" stroke="#f2f2f2" id="save" style="fill:none;stroke-width:0.999997" />
<path id="close" style="color:#000000;fill:#f2f2f2;fill-rule:evenodd;fill-opacity:1;stroke:#999999;stroke-opacity:1;stroke-width:0.18897638;stroke-dasharray:none" d="M 32.353516 820.00866 L 31.646484 820.7157 L 35.292969 824.36218 L 31.646484 828.00866 L 32.353516 828.7157 L 36 825.06921 L 39.646484 828.7157 L 40.353516 828.00866 L 36.707031 824.36218 L 40.353516 820.7157 L 39.646484 820.00866 L 36 823.65515 L 32.353516 820.00866 z " />
<g id="g1" transform="translate(144,-24.00004)">
<path d="m 9,849.93721 v 4.04997 c 0,0.20708 0.167895,0.375 0.375,0.375 h 5.25 c 0.207075,0 0.375,-0.16792 0.375,-0.375 v -4.04997 c 0,-0.20708 -0.167925,-0.375 -0.375,-0.375 h -5.25 c -0.207105,0 -0.375,0.16792 -0.375,0.375 z" stroke="#f2f2f2" id="path438" style="fill:none;stroke:#999999;stroke-width:0.999997;stroke-opacity:1" />
<path d="m 15.21255,842.36218 h -8.83755 c -0.207105,0 -0.375,0.1679 -0.375,0.37499 v 11.24993 c 0,0.20708 0.167895,0.375 0.375,0.375 h 11.25 c 0.207075,0 0.375,-0.16792 0.375,-0.375 v -8.67664 c 0,-0.0953 -0.0363,-0.18697 -0.1014,-0.25648 l -2.41245,-2.57327 c -0.07095,-0.0756 -0.16995,-0.11853 -0.2736,-0.11853 z" stroke="#f2f2f2" id="save" style="fill:none;stroke:#999999;stroke-width:0.999997;stroke-opacity:1" />
</g>
<path id="close" style="color:#000000;fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.188976;stroke-dasharray:none;stroke-opacity:1" d="m 32.353516,820.00866 -0.707032,0.70704 3.646485,3.64648 -3.646485,3.64648 0.707032,0.70704 3.646484,-3.64649 3.646484,3.64649 0.707032,-0.70704 -3.646485,-3.64648 3.646485,-3.64648 -0.707032,-0.70704 -3.646484,3.64649 z" />
<g clip-path="url(#clip0_576_2753)" id="eye" transform="translate(51,843.33202)">
<path d="m 9,1 c 3.06,0 6.26,2.74 7.6,4.03 -1.34,1.3 -4.54,4.03 -7.6,4.03 -3.06,0 -6.26,-2.73 -7.6,-4.03 1.34,-1.29 4.53,-4.03 7.6,-4.03 z m 0,-1 c -4.5,0 -9,5.03 -9,5.03 0,0 4.5,5.03 9,5.03 4.5,0 9,-5.03 9,-5.03 0,0 -4.5,-5.03 -9,-5.03 z" fill="#f2f2f2" id="path1" />
<path d="m 8.99999,3.64001 c 0.77,0 1.39001,0.63 1.39001,1.39 0,0.76 -0.63001,1.39 -1.39001,1.39 -0.76,0 -1.39,-0.63 -1.39,-1.39 0,-0.76 0.63,-1.39 1.39,-1.39 z m 0,-1 c -1.32,0 -2.39,1.07 -2.39,2.39 0,1.32 1.07,2.39 2.39,2.39 1.32001,0 2.39001,-1.07 2.39001,-2.39 0,-1.32 -1.07,-2.39 -2.39001,-2.39 z" fill="#f2f2f2" id="path2" />
</g>
<g clip-path="url(#clip0_588_799)" id="eye-closed" transform="translate(75,841.96201)">
<path d="m 9,2.36001 c 3.06,0 6.26,2.74 7.6,4.03 -1.34,1.3 -4.54,4.02999 -7.6,4.02999 -3.06,0 -6.26,-2.72999 -7.6,-4.01999 1.34,-1.3 4.54,-4.03 7.6,-4.03 m 0,-1 c -4.5,-0.01 -9,5.03 -9,5.03 0,0 4.5,5.02999 9,5.02999 4.5,0 9,-5.02999 9,-5.02999 0,0 -4.5,-5.03 -9,-5.03 z" fill="#f2f2f2" id="path1-6" style="fill:#b3b3b3;fill-opacity:1" />
<path d="m 8.99999,5 c 0.77,0 1.39001,0.63 1.39001,1.39 0,0.76 -0.63001,1.39 -1.39001,1.39 -0.76,0 -1.39,-0.63 -1.39,-1.39 0,-0.76 0.63,-1.39 1.39,-1.39 z m 0,-1 c -1.32,0 -2.39,1.07 -2.39,2.39 0,1.32 1.07,2.39 2.39,2.39 1.32001,0 2.39001,-1.07 2.39001,-2.39 0,-1.32 -1.07,-2.39 -2.39001,-2.39 z" fill="#f2f2f2" id="path2-7" style="fill:#b3b3b3;fill-opacity:1" />
<path d="m 16.8,0.400024 -15.60005,11.999976" stroke="#f2f2f2" stroke-miterlimit="10" id="path3" />
<path d="m 16.8,0.400024 -15.60005,11.999976" stroke="#f2f2f2" stroke-miterlimit="10" id="path4" style="stroke:#b3b3b3;stroke-opacity:1" />
</g>
<g id="g2" transform="translate(144)">
<path d="m 9,849.93721 v 4.04997 c 0,0.20708 0.167895,0.375 0.375,0.375 h 5.25 c 0.207075,0 0.375,-0.16792 0.375,-0.375 v -4.04997 c 0,-0.20708 -0.167925,-0.375 -0.375,-0.375 h -5.25 c -0.207105,0 -0.375,0.16792 -0.375,0.375 z" stroke="#f2f2f2" id="path438-6" style="fill:none;stroke:#42ece6;stroke-width:0.999997;stroke-opacity:1" />
<path d="m 15.21255,842.36218 h -8.83755 c -0.207105,0 -0.375,0.1679 -0.375,0.37499 v 11.24993 c 0,0.20708 0.167895,0.375 0.375,0.375 h 11.25 c 0.207075,0 0.375,-0.16792 0.375,-0.375 v -8.67664 c 0,-0.0953 -0.0363,-0.18697 -0.1014,-0.25648 l -2.41245,-2.57327 c -0.07095,-0.0756 -0.16995,-0.11853 -0.2736,-0.11853 z" stroke="#f2f2f2" id="save-7" style="fill:none;stroke:#42ece6;stroke-width:0.999997;stroke-opacity:1" />
</g>
<path style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.177;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 156,875.36218 6,-6 h -12 z" id="arrow-down" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" />
<path style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.177;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 159,896.36218 -6,-6 v 12 z" id="arrow-right" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="180" height="180" viewBox="0 0 47.624994 47.624994" version="1.1" id="svg2876" inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" sodipodi:docname="24-white.svg" inkscape:export-filename="../24-white.svg" inkscape:export-xdpi="7.52" inkscape:export-ydpi="7.52" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview id="namedview2878" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="px" showgrid="true" showguides="true" inkscape:zoom="16.185242" inkscape:cx="45.319063" inkscape:cy="127.55447" inkscape:window-width="1920" inkscape:window-height="1019" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1">
<inkscape:grid type="xygrid" id="grid2997" empspacing="4" originx="0" originy="0" />
<svg width="180" height="180" viewBox="0 0 47.624994 47.624994" version="1.1" id="svg2876" inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" sodipodi:docname="24-white.svg" inkscape:export-filename="../24-white.svg" inkscape:export-xdpi="7.52" inkscape:export-ydpi="7.52" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview id="namedview2878" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="px" showgrid="true" showguides="true" inkscape:zoom="8.6832784" inkscape:cx="145.10648" inkscape:cy="121.84338" inkscape:window-width="1920" inkscape:window-height="1019" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="layer1">
<inkscape:grid type="xygrid" id="grid2997" empspacing="4" originx="0" originy="0" spacingy="0.2645833" spacingx="0.2645833" units="px" visible="true" />
<sodipodi:guide position="9.525,47.625" orientation="-1,0" id="guide3404" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,134,229)" />
<sodipodi:guide position="0,38.099995" orientation="0,1" id="guide3408" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,134,229)" />
<sodipodi:guide position="28.575,47.625" orientation="-1,0" id="guide3444" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,134,229)" />
@ -59,8 +59,8 @@
<path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:0.0661458;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 11.906249,29.898045 v 0.132292 0.79375 0.132292 h 0.132291 0.79375 0.132292 v -0.132292 -0.09096 l 2.645832,1.058334 v 0.355547 0.115755 l 0.289388,0.0164 h 0.636654 0.132292 v -0.132292 -0.79375 -0.132291 h -0.132292 -0.79375 -0.132292 v 0.132291 0.148829 l -2.645832,-1.058334 v -0.413411 -0.132292 h -0.132292 -0.79375 z m 0.264583,0.264584 h 0.529167 v 0.529166 h -0.529167 z m 3.704166,1.322916 h 0.529166 v 0.529167 h -0.529166 z" id="rect4058-9" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccc" />
<path inkscape:connector-curvature="0" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#f2f2f2;fill-opacity:1;stroke:#999999;stroke-width:0.0661458;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 12.989387,32.320492 v 0.355547 0.115755 l 1.876888,2.926953 h 0.636653 0.132292 v 0.132292 0.79375 0.132291 h -0.132292 -0.79375 -0.132291 v -0.132291 -0.79375 -0.09922 l -1.876888,-2.94349 h -0.636654 -0.132292 v -0.132291 -0.79375 -0.132292 h 0.132292 0.79375 0.132292 v 0.132292 0.148828 z m -0.264584,-0.305912 h -0.529166 v 0.529167 h 0.529166 z m 2.645834,3.96875 h -0.529167 v 0.529167 h 0.529167 z" id="rect4058-9-5" sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccc" />
</g>
<path style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.0468913;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 33.328633,32.279163 -2.049775,2.059569 h 4.099549 z" id="arrow-up" inkscape:connector-curvature="0" />
<path style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.0468312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 23.802018,34.338732 2.049774,-2.059569 h -4.099549 z" id="arrow-down" inkscape:connector-curvature="0" />
<path style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.0468913;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 33.328633,32.279163 -2.107805,2.116665 h 4.233333 z" id="arrow-up" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" />
<path style="fill:#f2f2f2;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.0468312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 23.812496,34.395828 2.116666,-2.116667 h -4.233332 z" id="arrow-down" inkscape:connector-curvature="0" sodipodi:nodetypes="cccc" />
<path d="m 11.394294,23.74341 h 4e-6 c 0.0102,-0.0168 0.02435,-0.0308 0.04124,-0.04083 l 9e-6,-2.6e-5 0.353087,-0.209723 2.475253,1.470258 0.01763,0.01048 0.01763,-0.01048 2.475273,-1.470258 0.353093,0.209723 c 0,0 0,0 0,0 0.05689,0.03382 0.07555,0.107108 0.04128,0.163737 -0.01019,0.01679 -0.02442,0.03085 -0.0413,0.04091 0,0 0,0 0,0 l -2.845967,1.690437 -2.845965,-1.690437 c -10e-7,0 -2e-6,0 -3e-6,0 -0.05691,-0.03382 -0.07557,-0.107161 -0.04125,-0.16379 z m 0,1.434967 h 4e-6 c 0.0102,-0.01682 0.02435,-0.03083 0.04124,-0.04086 h 9e-6 l 0.353087,-0.209751 2.475253,1.470286 0.01763,0.01046 0.01763,-0.01046 2.475273,-1.470286 0.353093,0.209751 c 0.05689,0.03379 0.07555,0.107134 0.04125,0.163763 l 0.02915,0.01701 -0.02912,-0.01703 c -0.01019,0.0168 -0.02442,0.03083 -0.0413,0.04091 0,0 0,0 0,0 l -2.70492,1.606643 c -0.08683,0.05158 -0.195264,0.05158 -0.282094,0 l -2.704918,-1.60667 c -10e-7,0 -2e-6,0 -3e-6,0 -0.05691,-0.03382 -0.07557,-0.107134 -0.04125,-0.163763 z m 0.04125,-2.690882 -0.01757,0.02848 0.01757,-0.02848 c -0.05691,-0.0338 -0.07557,-0.107135 -0.04125,-0.163761 l 2e-6,-2e-6 c 0.01019,-0.01679 0.02435,-0.03081 0.04125,-0.04086 h 2e-6 l 2.704921,-1.606703 c 0.08683,-0.05157 0.195264,-0.05157 0.282093,0 l 2.704948,1.6067 c 0.05689,0.0338 0.07555,0.107141 0.04125,0.163771 -0.01019,0.01681 -0.02438,0.03082 -0.04125,0.04086 l -2.845994,1.690461 z" fill="#f2f2f2" stroke="#999999" stroke-width="0.0661458" id="datalayers" />
<g id="tilelayers" transform="matrix(1.0024854,0,0,1.0105262,0.44603182,-0.58486809)" style="stroke-width:0.993545">
<path d="m 25.978244,7.8843707 h 0.03307 v -0.033073 -3.5463476 -0.033073 h -0.03307 -3.713453 -0.03307 v 0.033073 3.5463476 0.033073 h 0.03307 z m -3.978701,-4.1590643 h 4.243946 c 0.06157,0 0.120623,0.024461 0.164173,0.068001 0.04352,0.04354 0.068,0.1025948 0.068,0.1641713 v 4.2439425 c 0,0.061569 -0.02447,0.1206236 -0.068,0.164174 -0.04355,0.04355 -0.102605,0.067998 -0.164173,0.067998 h -4.243946 c -0.06158,0 -0.120628,-0.024448 -0.164171,-0.067998 -0.04354,-0.04355 -0.068,-0.1026054 -0.068,-0.164174 v -4.2439425 c 0,-0.061577 0.02446,-0.1206315 0.068,-0.1641713 0.04354,-0.04354 0.102595,-0.068001 0.164171,-0.068001 z" fill="#f2f2f2" stroke="#999999" stroke-width="0.0657188" id="path1257" />

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -313,24 +313,81 @@ L.U.DrawToolbar = L.Toolbar.Control.extend({
},
})
L.U.DropControl = L.Class.extend({
initialize: function (map) {
this.map = map
this.dropzone = map._container
},
enable: function () {
L.DomEvent.on(this.dropzone, 'dragenter', this.dragenter, this)
L.DomEvent.on(this.dropzone, 'dragover', this.dragover, this)
L.DomEvent.on(this.dropzone, 'drop', this.drop, this)
L.DomEvent.on(this.dropzone, 'dragleave', this.dragleave, this)
},
disable: function () {
L.DomEvent.off(this.dropzone, 'dragenter', this.dragenter, this)
L.DomEvent.off(this.dropzone, 'dragover', this.dragover, this)
L.DomEvent.off(this.dropzone, 'drop', this.drop, this)
L.DomEvent.off(this.dropzone, 'dragleave', this.dragleave, this)
},
dragenter: function (e) {
L.DomEvent.stop(e)
this.map.scrollWheelZoom.disable()
this.dropzone.classList.add('umap-dragover')
},
dragover: function (e) {
L.DomEvent.stop(e)
},
drop: function (e) {
this.map.scrollWheelZoom.enable()
this.dropzone.classList.remove('umap-dragover')
L.DomEvent.stop(e)
for (let i = 0, file; (file = e.dataTransfer.files[i]); i++) {
this.map.processFileToImport(file)
}
this.map.onceDataLoaded(this.map.fitDataBounds)
},
dragleave: function () {
this.map.scrollWheelZoom.enable()
this.dropzone.classList.remove('umap-dragover')
},
})
L.U.EditControl = L.Control.extend({
options: {
position: 'topright',
},
onAdd: function (map) {
const container = L.DomUtil.create('div', 'leaflet-control-edit-enable'),
edit = L.DomUtil.create('a', '', container)
edit.href = '#'
edit.title = `${L._('Enable editing')} (Ctrl+E)`
edit.textContent = L._('Edit')
L.DomEvent.addListener(edit, 'click', L.DomEvent.stop).addListener(
edit,
'click',
const container = L.DomUtil.create('div', 'leaflet-control-edit-enable')
const enableEditing = L.DomUtil.createButton(
'',
container,
L._('Edit'),
map.enableEdit,
map
)
L.DomEvent.on(
enableEditing,
'mouseover',
function () {
map.ui.tooltip({
content: `${L._('Switch to edit mode')} (<kbd>Ctrl+E</kbd>)`,
anchor: enableEditing,
position: 'bottom',
delay: 750,
duration: 5000,
})
},
this
)
return container
},
})
@ -343,15 +400,14 @@ L.Control.Embed = L.Control.extend({
onAdd: function (map) {
const container = L.DomUtil.create('div', 'leaflet-control-embed umap-control')
const link = L.DomUtil.create('a', '', container)
link.href = '#'
link.title = L._('Embed and share this map')
L.DomEvent.on(link, 'click', L.DomEvent.stop)
.on(link, 'click', map.renderShareBox, map)
.on(link, 'dblclick', L.DomEvent.stopPropagation)
const shareButton = L.DomUtil.createButton(
'',
container,
L._('Embed and share this map'),
map.renderShareBox,
map
)
L.DomEvent.on(shareButton, 'dblclick', L.DomEvent.stopPropagation)
return container
},
})
@ -362,19 +418,21 @@ L.U.MoreControls = L.Control.extend({
},
onAdd: function () {
const container = L.DomUtil.create('div', 'umap-control-text'),
more = L.DomUtil.create('a', 'umap-control-more', container),
less = L.DomUtil.create('a', 'umap-control-less', container)
more.href = '#'
more.title = L._('More controls')
L.DomEvent.on(more, 'click', L.DomEvent.stop).on(more, 'click', this.toggle, this)
less.href = '#'
less.title = L._('Hide controls')
L.DomEvent.on(less, 'click', L.DomEvent.stop).on(less, 'click', this.toggle, this)
const container = L.DomUtil.create('div', 'umap-control-text')
const moreButton = L.DomUtil.createButton(
'umap-control-more',
container,
L._('More controls'),
this.toggle,
this
)
const lessButton = L.DomUtil.createButton(
'umap-control-less',
container,
L._('Hide controls'),
this.toggle,
this
)
return container
},
@ -452,23 +510,21 @@ L.U.DataLayersControl = L.Control.extend({
actions
)
const link = L.DomUtil.create('a', 'umap-browse-link', actions)
link.href = '#'
link.title = link.textContent = L._('Browse data')
const toggle = L.DomUtil.create('a', 'umap-browse-toggle', container)
toggle.href = '#'
toggle.title = L._('See data layers')
L.DomEvent.on(toggle, 'click', L.DomEvent.stop)
L.DomEvent.on(link, 'click', L.DomEvent.stop).on(
link,
'click',
L.DomUtil.createButton(
'umap-browse-link',
actions,
L._('Browse data'),
map.openBrowser,
map
)
const toggleButton = L.DomUtil.createButton(
'umap-browse-toggle',
container,
L._('See data layers')
)
L.DomEvent.on(toggleButton, 'click', L.DomEvent.stop)
map.whenReady(function () {
this.update()
}, this)
@ -489,8 +545,8 @@ L.U.DataLayersControl = L.Control.extend({
)
} else {
L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation)
L.DomEvent.on(toggle, 'click', L.DomEvent.stop).on(
toggle,
L.DomEvent.on(toggleButton, 'click', L.DomEvent.stop).on(
toggleButton,
'click',
this.expand,
this
@ -514,7 +570,7 @@ L.U.DataLayersControl = L.Control.extend({
update: function () {
if (this._datalayers_container && this._map) {
this._datalayers_container.innerHTML = ''
this._map.eachDataLayerReverse(function (datalayer) {
this.map.eachDataLayerReverse(function (datalayer) {
this.addDataLayer(this._datalayers_container, datalayer)
}, this)
}
@ -525,7 +581,7 @@ L.U.DataLayersControl = L.Control.extend({
},
collapse: function () {
if (this._map.options.datalayersControl === 'expanded') return
if (this.map.options.datalayersControl === 'expanded') return
L.DomUtil.removeClass(this._container, 'expanded')
},
@ -580,14 +636,11 @@ L.U.DataLayersControl = L.Control.extend({
this
)
const bar = L.DomUtil.create('div', 'button-bar', container),
add = L.DomUtil.create('a', 'show-on-edit block add-datalayer button', bar)
add.href = '#'
add.textContent = add.title = L._('Add a layer')
L.DomEvent.on(add, 'click', L.DomEvent.stop).on(
add,
'click',
const bar = L.DomUtil.create('div', 'button-bar', container)
L.DomUtil.createButton(
'show-on-edit block add-datalayer button',
bar,
L._('Add a layer'),
this.newDataLayer,
this
)
@ -598,6 +651,7 @@ L.U.DataLayersControl = L.Control.extend({
L.U.DataLayer.include({
renderLegend: function (container) {
if (this.layer.renderLegend) return this.layer.renderLegend(container)
const color = L.DomUtil.create('span', 'datalayer-color', container)
color.style.backgroundColor = this.getColor()
},
@ -676,7 +730,6 @@ L.U.DataLayer.addInitHook(function () {
})
L.U.Map.include({
_openFacet: function () {
const container = L.DomUtil.create('div', 'umap-facet-search'),
title = L.DomUtil.add('h3', 'umap-filter-title', container, L._('Facet search')),
@ -749,6 +802,7 @@ L.U.Map.include({
}
const datalayerContainer = L.DomUtil.create('div', 'datalayer-container', container)
this.eachVisibleDataLayer((datalayer) => {
if (!datalayer.options.inCaption) return
const p = L.DomUtil.create('p', 'datalayer-legend', datalayerContainer),
legend = L.DomUtil.create('span', '', p),
headline = L.DomUtil.create('strong', '', p),
@ -779,9 +833,13 @@ L.U.Map.include({
'',
credits,
`${L._('Map user content has been published under licence')} `
),
link = L.DomUtil.add('a', '', licence, this.options.licence.name)
link.href = this.options.licence.url
)
L.DomUtil.createLink(
'',
licence,
this.options.licence.name,
this.options.licence.url
)
} else {
L.DomUtil.add('p', '', credits, L._('No licence has been set'))
}
@ -850,14 +908,21 @@ L.U.Map.include({
ext: '.kml',
filetype: 'application/vnd.google-earth.kml+xml',
},
umap: {
name: L._('Full map data'),
csv: {
formatter: function (map) {
return map.serialize()
const table = []
map.eachFeature((feature) => {
const row = feature.toGeoJSON()['properties'],
center = feature.getCenter()
delete row['_umap_options']
row['Latitude'] = center.lat
row['Longitude'] = center.lng
table.push(row)
})
return csv2geojson.dsv.csvFormat(table)
},
ext: '.umap',
filetype: 'application/json',
selected: true,
ext: '.csv',
filetype: 'text/csv',
},
},
@ -866,73 +931,145 @@ L.U.Map.include({
'div',
'umap-main-edit-toolbox with-transition dark',
this._controlContainer
),
logo = L.DomUtil.add('a', 'logo', container),
name = L.DomUtil.create('a', 'map-name', container),
share_status = L.DomUtil.create('a', 'share-status', container),
update = () => {
)
const leftContainer = L.DomUtil.create('div', 'umap-left-edit-toolbox', container)
const rightContainer = L.DomUtil.create('div', 'umap-right-edit-toolbox', container)
const logo = L.DomUtil.create('div', 'logo', leftContainer)
L.DomUtil.createLink('', logo, 'uMap', '/', null, L._('Go to the homepage'))
const nameButton = L.DomUtil.createButton(
'map-name',
leftContainer,
'',
this.edit,
this
)
L.DomEvent.on(
nameButton,
'mouseover',
function () {
this.ui.tooltip({
content: L._('Edit the title of the map'),
anchor: nameButton,
position: 'bottom',
delay: 500,
duration: 5000,
})
},
this
)
const shareStatusButton = L.DomUtil.createButton(
'share-status',
leftContainer,
'',
this.permissions.edit,
this.permissions
)
L.DomEvent.on(
shareStatusButton,
'mouseover',
function () {
this.ui.tooltip({
content: L._('Update who can see and edit the map'),
anchor: shareStatusButton,
position: 'bottom',
delay: 500,
duration: 5000,
})
},
this
)
const update = () => {
const status = this.permissions.getShareStatusDisplay()
name.textContent = this.getDisplayName()
nameButton.textContent = this.getDisplayName()
// status is not set until map is saved once
if (status)
share_status.textContent = L._('Visibility: {status}', {
if (status) {
shareStatusButton.textContent = L._('Visibility: {status}', {
status: status,
})
}
}
update()
this.once('saved', L.bind(update, this))
logo.href = '/'
if (this.options.editMode === 'advanced') {
name.href = '#'
share_status.href = '#'
L.DomEvent.on(name, 'click', this.edit, this)
L.DomEvent.on(share_status, 'click', this.permissions.edit, this.permissions)
L.DomEvent.on(nameButton, 'click', this.edit, this)
L.DomEvent.on(shareStatusButton, 'click', this.permissions.edit, this.permissions)
}
this.on('postsync', L.bind(update, this))
const save = L.DomUtil.create('a', 'leaflet-control-edit-save button', container)
save.href = '#'
save.title = `${L._('Save current edits')} (Ctrl+S)`
save.textContent = L._('Save')
const cancel = L.DomUtil.create('a', 'leaflet-control-edit-cancel', container)
cancel.href = '#'
cancel.title = `${L._('Cancel edits')} (Ctrl+Z)`
cancel.textContent = L._('Cancel all')
const disable = L.DomUtil.create('a', 'leaflet-control-edit-disable', container)
disable.href = '#'
disable.textContent = L._('Disable editing')
disable.title = `${disable.textContent} (Ctrl+E)`
this.help.link(container, 'edit')
if (this.options.user) {
const userLabel = L.DomUtil.add(
'a',
L.DomUtil.createLink(
'umap-user',
container,
L._(`My Dashboard ({username})`, { username: this.options.user.name })
rightContainer,
L._(`My Dashboard <span>({username})</span>`, {
username: this.options.user.name,
}),
this.options.user.url
)
userLabel.href = this.options.user.url
}
L.DomEvent.addListener(disable, 'click', L.DomEvent.stop).addListener(
disable,
'click',
this.help.link(rightContainer, 'edit')
const controlEditCancel = L.DomUtil.createButton(
'leaflet-control-edit-cancel',
rightContainer,
L.DomUtil.add('span', '', null, L._('Cancel edits')),
this.askForReset,
this
)
L.DomEvent.on(
controlEditCancel,
'mouseover',
function () {
this.ui.tooltip({
content: `${L._('Cancel')} (<kbd>Ctrl+Z</kbd>)`,
anchor: controlEditCancel,
position: 'bottom',
delay: 500,
duration: 5000,
})
},
this
)
const controlEditDisable = L.DomUtil.createButton(
'leaflet-control-edit-disable',
rightContainer,
L.DomUtil.add('span', '', null, L._('View')),
function (e) {
this.disableEdit(e)
this.ui.closePanel()
},
this
)
L.DomEvent.addListener(save, 'click', L.DomEvent.stop).addListener(
save,
'click',
L.DomEvent.on(
controlEditDisable,
'mouseover',
function () {
this.ui.tooltip({
content: `${L._('Back to preview')} (<kbd>Ctrl+E</kbd>)`,
anchor: controlEditDisable,
position: 'bottom',
delay: 500,
duration: 5000,
})
},
this
)
const controlEditSave = L.DomUtil.createButton(
'leaflet-control-edit-save button',
rightContainer,
L.DomUtil.add('span', '', null, L._('Save')),
this.save,
this
)
L.DomEvent.addListener(cancel, 'click', L.DomEvent.stop).addListener(
cancel,
'click',
this.askForReset,
L.DomEvent.on(
controlEditSave,
'mouseover',
function () {
this.ui.tooltip({
content: `${L._('Save current edits')} (<kbd>Ctrl+S</kbd>)`,
anchor: controlEditSave,
position: 'bottom',
delay: 500,
duration: 5000,
})
},
this
)
},
@ -994,6 +1131,20 @@ L.U.Map.include({
shortUrl.value = this.options.shortUrl
}
L.DomUtil.create('hr', '', container)
L.DomUtil.add('h4', '', container, L._('Backup data'))
const downloadUrl = L.Util.template(this.options.urls.map_download, {
map_id: this.options.umap_id,
})
const link = L.DomUtil.createLink(
'button',
container,
L._('Download full data'),
downloadUrl
)
let name = this.options.name || 'data'
name = name.replace(/[^a-z0-9]/gi, '_').toLowerCase()
link.setAttribute('download', `${name}.umap`)
L.DomUtil.create('hr', '', container)
L.DomUtil.add('h4', '', container, L._('Download data'))
const typeInput = L.DomUtil.create('select', '', container)
typeInput.name = 'format'
@ -1003,12 +1154,6 @@ L.U.Map.include({
container,
L._('Only visible features will be downloaded.')
)
exportCaveat.id = 'export_caveat_text'
const toggleCaveat = () => {
if (typeInput.value === 'umap') exportCaveat.style.display = 'none'
else exportCaveat.style.display = 'inherit'
}
L.DomEvent.on(typeInput, 'change', toggleCaveat)
for (const key in this.EXPORT_TYPES) {
if (this.EXPORT_TYPES.hasOwnProperty(key)) {
option = L.DomUtil.create('option', '', typeInput)
@ -1017,42 +1162,143 @@ L.U.Map.include({
if (this.EXPORT_TYPES[key].selected) option.selected = true
}
}
toggleCaveat()
const download = L.DomUtil.create('a', 'button', container)
download.textContent = L._('Download data')
L.DomEvent.on(download, 'click', () => {
if (typeInput.value === 'umap') this.fullDownload()
else this.download(typeInput.value)
})
L.DomUtil.createButton(
'button',
container,
L._('Download data'),
() => this.download(typeInput.value),
this
)
this.ui.openPanel({ data: { html: container } })
},
fullDownload: function () {
// Make sure all data is loaded before downloading
this.once('dataloaded', () => this.download())
this.loadDatalayers(true) // Force load
},
importPanel: function () {
const container = L.DomUtil.create('div', 'umap-upload')
const title = L.DomUtil.create('h4', '', container)
const presetBox = L.DomUtil.create('div', 'formbox', container)
const presetSelect = L.DomUtil.create('select', '', presetBox)
const fileBox = L.DomUtil.create('div', 'formbox', container)
const fileInput = L.DomUtil.create('input', '', fileBox)
const urlInput = L.DomUtil.create('input', '', container)
const rawInput = L.DomUtil.create('textarea', '', container)
const typeLabel = L.DomUtil.create('label', '', container)
const layerLabel = L.DomUtil.create('label', '', container)
const clearLabel = L.DomUtil.create('label', '', container)
const submitInput = L.DomUtil.create('input', '', container)
const map = this
let option
const types = ['geojson', 'csv', 'gpx', 'kml', 'osm', 'georss', 'umap']
title.textContent = L._('Import data')
fileInput.type = 'file'
fileInput.multiple = 'multiple'
submitInput.type = 'button'
submitInput.value = L._('Import')
submitInput.className = 'button'
typeLabel.textContent = L._('Choose the format of the data to import')
this.help.button(typeLabel, 'importFormats')
const typeInput = L.DomUtil.create('select', '', typeLabel)
typeInput.name = 'format'
layerLabel.textContent = L._('Choose the layer to import in')
const layerInput = L.DomUtil.create('select', '', layerLabel)
layerInput.name = 'datalayer'
urlInput.type = 'text'
urlInput.placeholder = L._('Provide an URL here')
rawInput.placeholder = L._('Paste your data here')
clearLabel.textContent = L._('Replace layer content')
const clearFlag = L.DomUtil.create('input', '', clearLabel)
clearFlag.type = 'checkbox'
clearFlag.name = 'clear'
this.eachDataLayerReverse((datalayer) => {
if (datalayer.isLoaded() && !datalayer.isRemoteLayer()) {
const id = L.stamp(datalayer)
option = L.DomUtil.create('option', '', layerInput)
option.value = id
option.textContent = datalayer.options.name
}
})
L.DomUtil.element(
'option',
{ value: '', textContent: L._('Import in a new layer') },
layerInput
)
L.DomUtil.element(
'option',
{ value: '', textContent: L._('Choose the data format') },
typeInput
)
for (let i = 0; i < types.length; i++) {
option = L.DomUtil.create('option', '', typeInput)
option.value = option.textContent = types[i]
}
if (this.options.importPresets.length) {
const noPreset = L.DomUtil.create('option', '', presetSelect)
noPreset.value = noPreset.textContent = L._('Choose a preset')
for (let j = 0; j < this.options.importPresets.length; j++) {
option = L.DomUtil.create('option', '', presetSelect)
option.value = this.options.importPresets[j].url
option.textContent = this.options.importPresets[j].label
}
} else {
presetBox.style.display = 'none'
}
format: function (mode) {
const type = this.EXPORT_TYPES[mode || 'umap']
const content = type.formatter(this)
let name = this.options.name || 'data'
name = name.replace(/[^a-z0-9]/gi, '_').toLowerCase()
const filename = name + type.ext
return { content, filetype: type.filetype, filename }
const submit = function () {
let type = typeInput.value
const layerId = layerInput[layerInput.selectedIndex].value
let layer
if (type === 'umap') {
this.once('postsync', function () {
this.setView(this.latLng(this.options.center), this.options.zoom)
})
}
if (layerId) layer = map.datalayers[layerId]
if (layer && clearFlag.checked) layer.empty()
if (fileInput.files.length) {
for (let i = 0, file; (file = fileInput.files[i]); i++) {
this.processFileToImport(file, layer, type)
}
} else {
if (!type)
return this.ui.alert({
content: L._('Please choose a format'),
level: 'error',
})
if (rawInput.value && type === 'umap') {
try {
this.importRaw(rawInput.value, type)
} catch (e) {
this.ui.alert({ content: L._('Invalid umap data'), level: 'error' })
console.error(e)
}
} else {
if (!layer) layer = this.createDataLayer()
if (rawInput.value) layer.importRaw(rawInput.value, type)
else if (urlInput.value) layer.importFromUrl(urlInput.value, type)
else if (presetSelect.selectedIndex > 0)
layer.importFromUrl(presetSelect[presetSelect.selectedIndex].value, type)
}
}
}
L.DomEvent.on(submitInput, 'click', submit, this)
L.DomEvent.on(
fileInput,
'change',
(e) => {
let type = '',
newType
for (let i = 0; i < e.target.files.length; i++) {
newType = L.Util.detectFileType(e.target.files[i])
if (!type && newType) type = newType
if (type && newType !== type) {
type = ''
break
}
}
typeInput.value = type
},
download: function (mode) {
const { content, filetype, filename } = this.format(mode)
const blob = new Blob([content], { type: filetype })
window.URL = window.URL || window.webkitURL
const el = document.createElement('a')
el.download = filename
el.href = window.URL.createObjectURL(blob)
el.style.display = 'none'
document.body.appendChild(el)
el.click()
document.body.removeChild(el)
this
)
this.ui.openPanel({ data: { html: container }, className: 'dark' })
},
})
@ -1068,15 +1314,14 @@ L.U.TileLayerControl = L.Control.extend({
onAdd: function () {
const container = L.DomUtil.create('div', 'leaflet-control-tilelayers umap-control')
const link = L.DomUtil.create('a', '', container)
link.href = '#'
link.title = L._('Change map background')
L.DomEvent.on(link, 'click', L.DomEvent.stop)
.on(link, 'click', this.openSwitcher, this)
.on(link, 'dblclick', L.DomEvent.stopPropagation)
const changeMapBackgroundButton = L.DomUtil.createButton(
'',
container,
L._('Change map background'),
this.openSwitcher,
this
)
L.DomEvent.on(changeMapBackgroundButton, 'dblclick', L.DomEvent.stopPropagation)
return container
},
@ -1130,34 +1375,42 @@ L.U.AttributionControl = L.Control.Attribution.extend({
_update: function () {
L.Control.Attribution.prototype._update.call(this)
// Use our how container, so we can hide/show on small screens
const credits = this._container.innerHTML
this._container.innerHTML = ''
const container = L.DomUtil.add(
'div',
'attribution-container',
this._container,
credits
)
if (this._map.options.shortCredit) {
L.DomUtil.add(
'span',
'',
this._container,
container,
`${L.Util.toHTML(this._map.options.shortCredit)}`
)
}
if (this._map.options.captionMenus) {
const link = L.DomUtil.add('a', '', this._container, `${L._('About')}`)
const link = L.DomUtil.add('a', '', container, `${L._('About')}`)
L.DomEvent.on(link, 'click', L.DomEvent.stop)
.on(link, 'click', this._map.displayCaption, this._map)
.on(link, 'dblclick', L.DomEvent.stop)
}
if (window.top === window.self && this._map.options.captionMenus) {
// We are not in iframe mode
const home = L.DomUtil.add('a', '', this._container, `${L._('Home')}`)
home.href = '/'
L.DomUtil.createLink('', container, `${L._('Home')}`, '/')
}
if (this._map.options.captionMenus) {
const poweredBy = L.DomUtil.add(
'a',
L.DomUtil.createLink(
'',
this._container,
`${L._('Powered by uMap')}`
container,
`${L._('Powered by uMap')}`,
'https://github.com/umap-project/umap/'
)
poweredBy.href = 'https://github.com/umap-project/umap/'
}
L.DomUtil.createLink('attribution-toggle', this._container, '')
},
})
@ -1171,14 +1424,15 @@ L.U.StarControl = L.Control.extend({
const container = L.DomUtil.create(
'div',
`leaflet-control-star umap-control${status}`
),
link = L.DomUtil.create('a', '', container)
link.href = '#'
link.title = L._('Star this map')
L.DomEvent.on(link, 'click', L.DomEvent.stop)
.on(link, 'click', map.star, map)
.on(link, 'dblclick', L.DomEvent.stopPropagation)
)
const starMapButton = L.DomUtil.createButton(
'',
container,
L._('Star this map'),
map.star,
map
)
L.DomEvent.on(starMapButton, 'dblclick', L.DomEvent.stopPropagation)
return container
},
})
@ -1210,7 +1464,7 @@ L.U.Search = L.PhotonSearch.extend({
})
L.DomEvent.on(edit, 'mousedown', (e) => {
L.DomEvent.stop(e)
const datalayer = self.map.defaultDataLayer()
const datalayer = self.map.defaultEditDataLayer()
const layer = datalayer.geojsonToFeatures(feature)
layer.isDirty = true
layer.edit()
@ -1238,17 +1492,18 @@ L.U.SearchControl = L.Control.extend({
},
onAdd: function (map) {
const container = L.DomUtil.create('div', 'leaflet-control-search umap-control'),
self = this
const container = L.DomUtil.create('div', 'leaflet-control-search umap-control')
L.DomEvent.disableClickPropagation(container)
const link = L.DomUtil.create('a', '', container)
link.href = '#'
link.title = L._('Search a place name')
L.DomEvent.on(link, 'click', (e) => {
L.DomUtil.createButton(
'',
container,
L._('Search a place name'),
(e) => {
L.DomEvent.stop(e)
self.openPanel(map)
})
this.openPanel(map)
},
this
)
return container
},
@ -1454,7 +1709,7 @@ L.U.Editable = L.Editable.extend({
return new L.U.Marker(this.map, latlng, this._getDefaultProperties())
},
_getDefaultProperties: function() {
_getDefaultProperties: function () {
const result = {}
if (this.map.options.featuresHaveOwner && this.map.options.hasOwnProperty('user')) {
result.geojson = { properties: { owner: this.map.options.user.id } }
@ -1464,14 +1719,14 @@ L.U.Editable = L.Editable.extend({
connectCreatedToMap: function (layer) {
// Overrided from Leaflet.Editable
const datalayer = this.map.defaultDataLayer()
const datalayer = this.map.defaultEditDataLayer()
datalayer.addLayer(layer)
layer.isDirty = true
return layer
},
drawingTooltip: function (e) {
if (e.layer instanceof L.Marker && e.type != 'editable:drawing:move') {
if (e.layer instanceof L.Marker && e.type == 'editable:drawing:start') {
this.map.ui.tooltip({ content: L._('Click to add a marker') })
}
if (!(e.layer instanceof L.Polyline)) {
@ -1479,7 +1734,7 @@ L.U.Editable = L.Editable.extend({
return
}
let content
let content = L._('Drawing')
let measure
if (e.layer.editor._drawnLatLngs) {
// when drawing (a Polyline or Polygon)

View file

@ -129,7 +129,10 @@ L.Util.toHTML = (r, options) => {
// images
r = r.replace(/{{([^\]|]*?)}}/g, '<img src="$1">')
r = r.replace(/{{([^|]*?)\|(\d*?)(px)?}}/g, '<img src="$1" style="width:$2px;min-width:$2px;">')
r = r.replace(
/{{([^|]*?)\|(\d*?)(px)?}}/g,
'<img src="$1" style="width:$2px;min-width:$2px;">'
)
//Unescape http
r = r.replace(/(h_t_t_p)/g, 'http')
@ -198,6 +201,16 @@ L.Util.greedyTemplate = (str, data, ignore) => {
)
}
L.Util.naturalSort = (a, b) => {
return a
.toString()
.toLowerCase()
.localeCompare(b.toString().toLowerCase(), L.lang || 'en', {
sensitivity: 'base',
numeric: true,
})
}
L.Util.sortFeatures = (features, sortKey) => {
const sortKeys = (sortKey || 'name').split(',')
@ -211,19 +224,9 @@ L.Util.sortFeatures = (features, sortKey) => {
let score
const valA = a.properties[sortKey] || ''
const valB = b.properties[sortKey] || ''
if (!valA) {
score = -1
} else if (!valB) {
score = 1
} else {
score = valA
.toString()
.toLowerCase()
.localeCompare(valB.toString().toLowerCase(), L.lang || 'en', {
sensitivity: 'base',
numeric: true,
})
}
if (!valA) score = -1
else if (!valB) score = 1
else score = L.Util.naturalSort(valA, valB)
if (score === 0 && sortKeys[i + 1]) return sort(a, b, i + 1)
return score * reverse
}
@ -282,8 +285,7 @@ L.Util.copyToClipboard = function (textToCopy) {
textArea.remove()
}
}
}
}
L.DomUtil.add = (tagName, className, container, content) => {
const el = L.DomUtil.create(tagName, className, container)
@ -314,14 +316,26 @@ L.DomUtil.createFieldset = (container, legend, options) => {
}
L.DomUtil.createButton = (className, container, content, callback, context) => {
const el = L.DomUtil.add('a', className, container, content)
el.href = '#'
const el = L.DomUtil.add('button', className, container, content)
el.type = 'button'
if (callback) {
L.DomEvent.on(el, 'click', L.DomEvent.stop).on(el, 'click', callback, context)
}
return el
}
L.DomUtil.createLink = (className, container, content, url, target, title) => {
const el = L.DomUtil.add('a', className, container, content)
el.href = url
if (target) {
el.target = target
}
if (title) {
el.title = title
}
return el
}
L.DomUtil.classIf = (el, className, bool) => {
if (bool) L.DomUtil.addClass(el, className)
else L.DomUtil.removeClass(el, className)
@ -349,21 +363,21 @@ L.DomUtil.after = (target, el) => {
}
L.DomUtil.RGBRegex = /rgb *\( *([0-9]{1,3}) *, *([0-9]{1,3}) *, *([0-9]{1,3}) *\)/
L.DomUtil.TextColorFromBackgroundColor = (el) => {
let out = '#000000'
if (!window.getComputedStyle) {
return out
}
return L.DomUtil.contrastedColor(el) ? '#ffffff' : '#000000'
}
const _CACHE_CONSTRAST = {}
L.DomUtil.contrastedColor = (el, bgcolor) => {
// Return 0 for black and 1 for white
// bgcolor is a human color, it can be a any keyword (purple…)
if (typeof _CACHE_CONSTRAST[bgcolor] !== 'undefined') return _CACHE_CONSTRAST[bgcolor]
let out = 0
let rgb = window.getComputedStyle(el).getPropertyValue('background-color')
rgb = L.DomUtil.RGBRegex.exec(rgb)
if (!rgb || rgb.length !== 4) {
return out
}
if (!rgb || rgb.length !== 4) return out
rgb = parseInt(rgb[1], 10) + parseInt(rgb[2], 10) + parseInt(rgb[3], 10)
if (rgb < (255 * 3) / 2) {
out = '#ffffff'
}
if (rgb < (255 * 3) / 2) out = 1
if (bgcolor) _CACHE_CONSTRAST[bgcolor] = out
return out
}
L.DomEvent.once = (el, types, fn, context) => {
@ -418,13 +432,17 @@ L.U.Help = L.Class.extend({
'umap-help-box with-transition dark',
document.body
)
const closeLink = L.DomUtil.create('a', 'umap-close-link', this.box)
closeLink.href = '#'
L.DomUtil.add('i', 'umap-close-icon', closeLink)
const label = L.DomUtil.create('span', '', closeLink)
const closeButton = L.DomUtil.createButton(
'umap-close-link',
this.box,
'',
this.hide,
this
)
L.DomUtil.add('i', 'umap-close-icon', closeButton)
const label = L.DomUtil.create('span', '', closeButton)
label.title = label.textContent = L._('Close')
this.content = L.DomUtil.create('div', 'umap-help-content', this.box)
L.DomEvent.on(closeLink, 'click', this.hide, this)
},
onKeyDown: function (e) {
@ -457,8 +475,11 @@ L.U.Help = L.Class.extend({
},
button: function (container, entries, classname) {
const helpButton = L.DomUtil.create('a', classname || 'umap-help-button', container)
helpButton.href = '#'
const helpButton = L.DomUtil.createButton(
classname || 'umap-help-button',
container,
L._('Help')
)
if (entries) {
L.DomEvent.on(helpButton, 'click', L.DomEvent.stop).on(
helpButton,
@ -475,7 +496,7 @@ L.U.Help = L.Class.extend({
link: function (container, entries) {
const helpButton = this.button(container, entries, 'umap-help-link')
helpButton.textContent = L._("Help")
helpButton.textContent = L._('Help')
return helpButton
},

View file

@ -1,5 +1,5 @@
L.U.FeatureMixin = {
staticOptions: {},
staticOptions: { mainColor: 'color' },
initialize: function (map, latlng, options) {
this.map = map
@ -130,12 +130,10 @@ L.U.FeatureMixin = {
},
getAdvancedEditActions: function (container) {
const deleteLink = L.DomUtil.create('a', 'button umap-delete', container)
deleteLink.href = '#'
deleteLink.textContent = L._('Delete')
L.DomEvent.on(
deleteLink,
'click',
const deleteButton = L.DomUtil.createButton(
'button umap-delete',
container,
L._('Delete'),
function (e) {
L.DomEvent.stop(e)
if (this.confirmDelete()) this.map.ui.closePanel()
@ -283,7 +281,7 @@ L.U.FeatureMixin = {
} else if (L.Util.usableOption(this.properties._umap_options, option)) {
value = this.properties._umap_options[option]
} else if (this.datalayer) {
value = this.datalayer.getOption(option)
value = this.datalayer.getOption(option, this)
} else {
value = this.map.getOption(option)
}
@ -478,9 +476,9 @@ L.U.FeatureMixin = {
matchFilter: function (filter, keys) {
filter = filter.toLowerCase()
for (let i = 0; i < keys.length; i++) {
if ((this.properties[keys[i]] || '').toLowerCase().indexOf(filter) !== -1)
return true
for (let i = 0, value; i < keys.length; i++) {
value = (this.properties[keys[i]] || '') + ''
if (value.toLowerCase().indexOf(filter) !== -1) return true
}
return false
},
@ -620,6 +618,8 @@ L.U.Marker = L.Marker.extend({
_initIcon: function () {
this.options.icon = this.getIcon()
L.Marker.prototype._initIcon.call(this)
// Allow to run code when icon is actually part of the DOM
this.options.icon.onAdd()
this.resetTooltip()
},
@ -680,8 +680,8 @@ L.U.Marker = L.Marker.extend({
appendEditFieldsets: function (container) {
L.U.FeatureMixin.appendEditFieldsets.call(this, container)
const coordinatesOptions = [
['_latlng.lat', { handler: 'FloatInput', label: L._('Latitude') }],
['_latlng.lng', { handler: 'FloatInput', label: L._('Longitude') }],
['_latlng.lat', { handler: 'FloatInput', label: L._('Latitude'), step: 'any' }],
['_latlng.lng', { handler: 'FloatInput', label: L._('Longitude'), step: 'any' }],
]
const builder = new L.U.FormBuilder(this, coordinatesOptions, {
callback: function () {
@ -968,6 +968,7 @@ L.U.Polyline = L.Polyline.extend({
staticOptions: {
stroke: true,
fill: false,
mainColor: 'color',
},
isSameClass: function (other) {
@ -1036,10 +1037,13 @@ L.U.Polyline = L.Polyline.extend({
getAdvancedEditActions: function (container) {
L.U.FeatureMixin.getAdvancedEditActions.call(this, container)
const toPolygon = L.DomUtil.create('a', 'button umap-to-polygon', container)
toPolygon.href = '#'
toPolygon.textContent = L._('Transform to polygon')
L.DomEvent.on(toPolygon, 'click', this.toPolygon, this)
const toPolygon = L.DomUtil.createButton(
'button umap-to-polygon',
container,
L._('Transform to polygon'),
this.toPolygon,
this
)
},
_mergeShapes: function (from, to) {
@ -1104,6 +1108,9 @@ L.U.Polyline = L.Polyline.extend({
L.U.Polygon = L.Polygon.extend({
parentClass: L.Polygon,
includes: [L.U.FeatureMixin, L.U.PathMixin],
staticOptions: {
mainColor: 'fillColor',
},
isSameClass: function (other) {
return other instanceof L.U.Polygon
@ -1180,10 +1187,13 @@ L.U.Polygon = L.Polygon.extend({
getAdvancedEditActions: function (container) {
L.U.FeatureMixin.getAdvancedEditActions.call(this, container)
const toPolyline = L.DomUtil.create('a', 'button umap-to-polyline', container)
toPolyline.href = '#'
toPolyline.textContent = L._('Transform to lines')
L.DomEvent.on(toPolyline, 'click', this.toPolyline, this)
const toPolyline = L.DomUtil.createButton(
'button umap-to-polyline',
container,
L._('Transform to lines'),
this.toPolyline,
this
)
},
isMulti: function () {

View file

@ -379,6 +379,7 @@ L.FormBuilder.LayerTypeChooser = L.FormBuilder.Select.extend({
['Default', L._('Default')],
['Cluster', L._('Clustered')],
['Heat', L._('Heatmap')],
['Choropleth', L._('Choropleth')],
],
})
@ -396,7 +397,11 @@ L.FormBuilder.DataLayerSwitcher = L.FormBuilder.Select.extend({
getOptions: function () {
const options = []
this.builder.map.eachDataLayerReverse((datalayer) => {
if (datalayer.isLoaded() && !datalayer.isDataReadOnly() && datalayer.canBrowse()) {
if (
datalayer.isLoaded() &&
!datalayer.isDataReadOnly() &&
datalayer.canBrowse()
) {
options.push([L.stamp(datalayer), datalayer.getName()])
}
})
@ -542,7 +547,7 @@ L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
const img = L.DomUtil.create(
'img',
'',
L.DomUtil.create('div', 'umap-icon-choice', this.buttonsContainer)
L.DomUtil.create('div', 'umap-pictogram-choice', this.buttonsContainer)
)
img.src = this.value()
L.DomEvent.on(img, 'click', this.fetchIconList, this)
@ -550,28 +555,26 @@ L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
const el = L.DomUtil.create(
'span',
'',
L.DomUtil.create('div', 'umap-icon-choice', this.buttonsContainer)
L.DomUtil.create('div', 'umap-pictogram-choice', this.buttonsContainer)
)
el.textContent = this.value()
L.DomEvent.on(el, 'click', this.fetchIconList, this)
}
}
this.button = L.DomUtil.create('a', 'button action-button', this.buttonsContainer)
this.button.textContent = this.value() ? L._('Change') : L._('Add')
this.button.href = '#'
L.DomEvent.on(this.button, 'click', L.DomEvent.stop).on(
this.button,
'click',
this.button = L.DomUtil.createButton(
'button action-button',
this.buttonsContainer,
this.value() ? L._('Change') : L._('Add'),
this.fetchIconList,
this
)
},
addIconPreview: function (pictogram) {
const baseClass = 'umap-icon-choice',
addIconPreview: function (pictogram, parent) {
const baseClass = 'umap-pictogram-choice',
value = pictogram.src,
className = value === this.value() ? `${baseClass} selected` : baseClass,
container = L.DomUtil.create('div', className, this.pictogramsContainer),
container = L.DomUtil.create('div', className, parent),
img = L.DomUtil.create('img', '', container)
img.src = value
if (pictogram.name && pictogram.attribution) {
@ -599,7 +602,7 @@ L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
},
search: function (e) {
const icons = [...this.parentNode.querySelectorAll('.umap-icon-choice')],
const icons = [...this.parentNode.querySelectorAll('.umap-pictogram-choice')],
search = this.searchInput.value.toLowerCase()
icons.forEach((el) => {
if (el.title.toLowerCase().indexOf(search) != -1) el.style.display = 'block'
@ -607,42 +610,60 @@ L.FormBuilder.IconUrl = L.FormBuilder.BlurInput.extend({
})
},
addCategory: function (category, items) {
const parent = L.DomUtil.create(
'div',
'umap-pictogram-category',
this.pictogramsContainer
),
title = L.DomUtil.add('h6', '', parent, category),
grid = L.DomUtil.create('div', 'umap-pictogram-grid', parent)
for (let item of items) {
this.addIconPreview(item, grid)
}
},
buildIconList: function (data) {
this.searchInput = L.DomUtil.create('input', '', this.pictogramsContainer)
this.searchInput.type = 'search'
this.searchInput.placeholder = L._('Search')
L.DomEvent.on(this.searchInput, 'input', this.search, this)
for (const idx in data.pictogram_list) {
this.addIconPreview(data.pictogram_list[idx])
const categories = {}
let category
for (const props of data.pictogram_list) {
category = props.category || L._('Generic')
categories[category] = categories[category] || []
categories[category].push(props)
}
const closeButton = L.DomUtil.create('a', 'button action-button', this.pictogramsContainer)
closeButton.textContent = L._('Close')
closeButton.href = '#'
closeButton.style.display = 'block'
closeButton.style.clear = 'both'
L.DomEvent.on(closeButton, 'click', L.DomEvent.stop).on(
closeButton,
'click',
const sorted = Object.entries(categories).toSorted(([a], [b]) =>
L.Util.naturalSort(a, b)
)
for (let [category, items] of sorted) {
this.addCategory(category, items)
}
const closeButton = L.DomUtil.createButton(
'button action-button',
this.pictogramsContainer,
L._('Close'),
function (e) {
this.pictogramsContainer.innerHTML = ''
this.udpatePreview()
},
this
)
const customButton = L.DomUtil.create('a', '', this.pictogramsContainer)
customButton.textContent = L._('Toggle direct input (advanced)')
customButton.href = '#'
customButton.style.display = 'block'
customButton.style.clear = 'both'
this.builder.map.help.button(customButton, 'formatIconSymbol')
L.DomEvent.on(customButton, 'click', L.DomEvent.stop).on(
customButton,
'click',
closeButton.style.display = 'block'
closeButton.style.clear = 'both'
const customButton = L.DomUtil.createButton(
'flat',
this.pictogramsContainer,
L._('Toggle direct input (advanced)'),
function (e) {
this.input.type = this.input.type === 'text' ? 'hidden' : 'text'
},
this
)
this.builder.map.help.button(customButton, 'formatIconSymbol')
},
fetchIconList: function (e) {
@ -732,7 +753,10 @@ L.FormBuilder.MultiChoice = L.FormBuilder.Element.extend({
fetch: function () {
let value = (this.backup = this.toHTML())
if (!this.container.querySelector(`input[type="radio"][value="${value}"]`))
value = this.default
value =
typeof this.options.default !== 'undefined'
? this.options.default
: this.default
this.container.querySelector(`input[type="radio"][value="${value}"]`).checked = true
},
@ -836,13 +860,15 @@ L.FormBuilder.OutlinkTarget = L.FormBuilder.MultiChoice.extend({
],
})
L.FormBuilder.Range = L.FormBuilder.Input.extend({
L.FormBuilder.Range = L.FormBuilder.FloatInput.extend({
type: function () {
return 'range'
},
value: function () {
return L.DomUtil.hasClass(this.wrapper, 'undefined') ? undefined : this.input.value
return L.DomUtil.hasClass(this.wrapper, 'undefined')
? undefined
: L.FormBuilder.FloatInput.prototype.value.call(this)
},
buildHelpText: function () {
@ -854,12 +880,15 @@ L.FormBuilder.Range = L.FormBuilder.Input.extend({
datalist.id = `range-${this.options.label || this.name}`
this.input.setAttribute('list', datalist.id)
let options = ''
const step = this.options.step || 1,
digits = step < 1 ? 1 : 0
for (let i = this.options.min; i <= this.options.max; i += this.options.step) {
options += `<option value="${i.toPrecision(2)}" label="${i.toPrecision(
2
options += `<option value="${i.toFixed(digits)}" label="${i.toFixed(
digits
)}"></option>`
}
datalist.innerHTML = options
L.FormBuilder.Input.prototype.buildHelpText.call(this)
},
})

View file

@ -38,6 +38,8 @@ L.U.Icon = L.DivIcon.extend({
formatUrl: function (url, feature) {
return L.Util.greedyTemplate(url || '', feature ? feature.extendedProperties() : {})
},
onAdd: function () {},
})
L.U.Icon.Default = L.U.Icon.extend({
@ -63,6 +65,19 @@ L.U.Icon.Default = L.U.Icon.extend({
this.elements.arrow.style.opacity = opacity
},
onAdd: function () {
const src = this._getIconUrl('icon')
// Decide whether to switch svg to white or not, but do it
// only for internal SVG, as invert could do weird things
if (src.startsWith('/') && src.endsWith('.svg')) {
const bgcolor = this._getColor()
// Must be called after icon container is added to the DOM
if (L.DomUtil.contrastedColor(this.elements.container, bgcolor)) {
this.elements.img.style.filter = 'invert(1)'
}
}
},
createIcon: function () {
this.elements = {}
this.elements.main = L.DomUtil.create('div')
@ -76,9 +91,9 @@ L.U.Icon.Default = L.U.Icon.extend({
if (src) {
// An url.
if (
src.indexOf('http') === 0 ||
src.indexOf('/') === 0 ||
src.indexOf('data:image') === 0
src.startsWith('http') ||
src.startsWith('/') ||
src.startsWith('data:image')
) {
this.elements.img = L.DomUtil.create('img', null, this.elements.container)
this.elements.img.src = src
@ -164,7 +179,6 @@ L.U.Icon.Ball = L.U.Icon.Default.extend({
},
})
const _CACHE_COLOR = {}
L.U.Icon.Cluster = L.DivIcon.extend({
options: {
iconSize: [40, 40],
@ -191,14 +205,6 @@ L.U.Icon.Cluster = L.DivIcon.extend({
if (this.datalayer.options.cluster && this.datalayer.options.cluster.textColor) {
color = this.datalayer.options.cluster.textColor
}
if (!color) {
if (typeof _CACHE_COLOR[backgroundColor] === 'undefined') {
color = L.DomUtil.TextColorFromBackgroundColor(el)
_CACHE_COLOR[backgroundColor] = color
} else {
color = _CACHE_COLOR[backgroundColor]
}
}
return color
return color || L.DomUtil.TextColorFromBackgroundColor(el, backgroundColor)
},
})

View file

@ -14,7 +14,7 @@ L.Map.mergeOptions({
default_popupContentTemplate: '# {name}\n{description}',
default_interactive: true,
default_labelDirection: 'auto',
maxZoomLimit: 20,
maxZoomLimit: 24,
attributionControl: false,
editMode: 'advanced',
embedControl: true,
@ -272,7 +272,10 @@ L.U.Map.include({
url.searchParams.delete('edit')
history.pushState({}, '', url)
}
if (L.Util.queryString('download')) this.download()
if (L.Util.queryString('download'))
window.location = L.Util.template(this.options.urls.map_download, {
map_id: this.options.umap_id,
})
})
window.onbeforeunload = () => this.isDirty || null
@ -340,6 +343,7 @@ L.U.Map.include({
if (this.options.scrollWheelZoom) this.scrollWheelZoom.enable()
else this.scrollWheelZoom.disable()
this.browser = new L.U.Browser(this)
this.drop = new L.U.DropControl(this)
this.renderControls()
},
@ -395,8 +399,11 @@ L.U.Map.include({
},
loadDatalayers: function (force) {
force = force || L.Util.queryString('download') // In case we are in download mode, let's go strait to loading all data
let toload = (dataToload = total = this.datalayers_index.length)
const total = this.datalayers_index.length
// toload => datalayer metadata remaining to load (synchronous)
// dataToload => datalayer data remaining to load (asynchronous)
let toload = total,
dataToload = total
let datalayer
const loaded = () => {
this.datalayersLoaded = true
@ -670,6 +677,12 @@ L.U.Map.include({
}
},
fitDataBounds: function () {
const bounds = this.getLayersBounds()
if (!this.hasData() || !bounds.isValid()) return false
this.fitBounds(bounds)
},
initCenter: function () {
if (this.options.hash && this._hash.parseHash(location.hash)) {
// FIXME An invalid hash will cause the load to fail
@ -679,12 +692,7 @@ L.U.Map.include({
this._controls.locate.start()
} else if (this.options.defaultView === 'data') {
this.onceDataLoaded(() => {
const bounds = this.getLayersBounds()
if (!this.hasData() || !bounds.isValid()) {
this._setDefaultCenter()
return
}
this.fitBounds(bounds)
if (!this.fitDataBounds()) return this._setDefaultCenter()
})
} else if (this.options.defaultView === 'latest') {
this.onceDataLoaded(() => {
@ -692,9 +700,17 @@ L.U.Map.include({
this._setDefaultCenter()
return
}
const datalayer = this.defaultDataLayer(),
feature = datalayer.getFeatureByIndex(-1)
if (feature) feature.zoomTo()
const datalayer = this.firstVisibleDatalayer()
let feature
if (datalayer) {
const feature = datalayer.getFeatureByIndex(-1)
if (feature) {
feature.zoomTo()
return
}
}
// Fallback, no datalayer or no feature found
this._setDefaultCenter()
})
} else {
this._setDefaultCenter()
@ -804,90 +820,35 @@ L.U.Map.include({
return geojson
},
importPanel: function () {
const container = L.DomUtil.create('div', 'umap-upload')
const title = L.DomUtil.create('h4', '', container)
const presetBox = L.DomUtil.create('div', 'formbox', container)
const presetSelect = L.DomUtil.create('select', '', presetBox)
const fileBox = L.DomUtil.create('div', 'formbox', container)
const fileInput = L.DomUtil.create('input', '', fileBox)
const urlInput = L.DomUtil.create('input', '', container)
const rawInput = L.DomUtil.create('textarea', '', container)
const typeLabel = L.DomUtil.create('label', '', container)
const layerLabel = L.DomUtil.create('label', '', container)
const clearLabel = L.DomUtil.create('label', '', container)
const submitInput = L.DomUtil.create('input', '', container)
const map = this
let option
const types = ['geojson', 'csv', 'gpx', 'kml', 'osm', 'georss', 'umap']
title.textContent = L._('Import data')
fileInput.type = 'file'
fileInput.multiple = 'multiple'
submitInput.type = 'button'
submitInput.value = L._('Import')
submitInput.className = 'button'
typeLabel.textContent = L._('Choose the format of the data to import')
this.help.button(typeLabel, 'importFormats')
const typeInput = L.DomUtil.create('select', '', typeLabel)
typeInput.name = 'format'
layerLabel.textContent = L._('Choose the layer to import in')
const layerInput = L.DomUtil.create('select', '', layerLabel)
layerInput.name = 'datalayer'
urlInput.type = 'text'
urlInput.placeholder = L._('Provide an URL here')
rawInput.placeholder = L._('Paste your data here')
clearLabel.textContent = L._('Replace layer content')
const clearFlag = L.DomUtil.create('input', '', clearLabel)
clearFlag.type = 'checkbox'
clearFlag.name = 'clear'
this.eachDataLayerReverse((datalayer) => {
if (datalayer.isLoaded() && !datalayer.isRemoteLayer()) {
const id = L.stamp(datalayer)
option = L.DomUtil.create('option', '', layerInput)
option.value = id
option.textContent = datalayer.options.name
}
eachFeature: function (callback, context) {
this.eachDataLayer((datalayer) => {
if (datalayer.isVisible()) datalayer.eachFeature(callback, context)
})
L.DomUtil.element(
'option',
{ value: '', textContent: L._('Import in a new layer') },
layerInput
)
L.DomUtil.element(
'option',
{ value: '', textContent: L._('Choose the data format') },
typeInput
)
for (let i = 0; i < types.length; i++) {
option = L.DomUtil.create('option', '', typeInput)
option.value = option.textContent = types[i]
}
if (this.options.importPresets.length) {
const noPreset = L.DomUtil.create('option', '', presetSelect)
noPreset.value = noPreset.textContent = L._('Choose a preset')
for (let j = 0; j < this.options.importPresets.length; j++) {
option = L.DomUtil.create('option', '', presetSelect)
option.value = this.options.importPresets[j].url
option.textContent = this.options.importPresets[j].label
}
} else {
presetBox.style.display = 'none'
}
},
const submit = function () {
let type = typeInput.value
const layerId = layerInput[layerInput.selectedIndex].value
let layer
if (type === 'umap') {
this.once('postsync', function () {
this.setView(this.latLng(this.options.center), this.options.zoom)
})
}
if (layerId) layer = map.datalayers[layerId]
if (layer && clearFlag.checked) layer.empty()
if (fileInput.files.length) {
let file
for (let i = 0, file; (file = fileInput.files[i]); i++) {
format: function (mode) {
const type = this.EXPORT_TYPES[mode]
const content = type.formatter(this)
let name = this.options.name || 'data'
name = name.replace(/[^a-z0-9]/gi, '_').toLowerCase()
const filename = name + type.ext
return { content, filetype: type.filetype, filename }
},
download: function (mode) {
const { content, filetype, filename } = this.format(mode)
const blob = new Blob([content], { type: filetype })
window.URL = window.URL || window.webkitURL
const el = document.createElement('a')
el.download = filename
el.href = window.URL.createObjectURL(blob)
el.style.display = 'none'
document.body.appendChild(el)
el.click()
document.body.removeChild(el)
},
processFileToImport: function (file, layer, type) {
type = type || L.Util.detectFileType(file)
if (!type) {
this.ui.alert({
@ -896,58 +857,14 @@ L.U.Map.include({
}),
level: 'error',
})
continue
return
}
if (type === 'umap') {
this.importFromFile(file, 'umap')
} else {
let importLayer = layer
if (!layer) importLayer = this.createDataLayer({ name: file.name })
importLayer.importFromFile(file, type)
if (!layer) layer = this.createDataLayer({ name: file.name })
layer.importFromFile(file, type)
}
}
} else {
if (!type)
return this.ui.alert({
content: L._('Please choose a format'),
level: 'error',
})
if (rawInput.value && type === 'umap') {
try {
this.importRaw(rawInput.value, type)
} catch (e) {
this.ui.alert({ content: L._('Invalid umap data'), level: 'error' })
console.error(e)
}
} else {
if (!layer) layer = this.createDataLayer()
if (rawInput.value) layer.importRaw(rawInput.value, type)
else if (urlInput.value) layer.importFromUrl(urlInput.value, type)
else if (presetSelect.selectedIndex > 0)
layer.importFromUrl(presetSelect[presetSelect.selectedIndex].value, type)
}
}
}
L.DomEvent.on(submitInput, 'click', submit, this)
L.DomEvent.on(
fileInput,
'change',
(e) => {
let type = '',
newType
for (let i = 0; i < e.target.files.length; i++) {
newType = L.Util.detectFileType(e.target.files[i])
if (!type && newType) type = newType
if (type && newType !== type) {
type = ''
break
}
}
typeInput.value = type
},
this
)
this.ui.openPanel({ data: { html: container }, className: 'dark' })
},
importRaw: function (rawData) {
@ -1153,24 +1070,6 @@ L.U.Map.include({
return properties
},
serialize: function () {
// Do not use local path during unit tests
const uri = window.location.protocol === 'file:' ? null : window.location.href
const umapfile = {
type: 'umap',
uri: uri,
properties: this.exportOptions(),
geometry: this.geometry(),
layers: [],
}
this.eachDataLayer((datalayer) => {
umapfile.layers.push(datalayer.umapGeoJSON())
})
return JSON.stringify(umapfile, null, 2)
},
saveSelf: function () {
const geojson = {
type: 'Feature',
@ -1315,10 +1214,16 @@ L.U.Map.include({
}
},
firstVisibleDatalayer: function () {
return this.findDataLayer((datalayer) => {
if (datalayer.isVisible()) return true
})
},
// TODO: allow to control the default datalayer
// (edit and viewing)
// cf https://github.com/umap-project/umap/issues/585
defaultDataLayer: function () {
defaultEditDataLayer: function () {
let datalayer, fallback
datalayer = this.lastUsedDataLayer
if (
@ -1389,11 +1294,13 @@ L.U.Map.include({
'options.fill',
'options.fillColor',
'options.fillOpacity',
'options.smoothFactor',
'options.dashArray',
]
builder = new L.U.FormBuilder(this, shapeOptions, {
callback: function (e) {
this.eachDataLayer((datalayer) => {
this.eachVisibleDataLayer((datalayer) => {
datalayer.redraw()
})
},
@ -1407,8 +1314,6 @@ L.U.Map.include({
_editDefaultProperties: function (container) {
const optionsFields = [
'options.smoothFactor',
'options.dashArray',
'options.zoomTo',
['options.easing', { handler: 'Switch', label: L._('Animated transitions') }],
'options.labelKey',
@ -1455,10 +1360,9 @@ L.U.Map.include({
builder = new L.U.FormBuilder(this, optionsFields, {
callback: function (e) {
this.initCaptionBar()
this.eachDataLayer((datalayer) => {
if (e.helper.field === 'options.sortKey') datalayer.reindex()
datalayer.redraw()
})
if (e.helper.field === 'options.sortKey') {
this.eachDataLayer((datalayer) => datalayer.reindex())
}
},
})
const defaultProperties = L.DomUtil.createFieldset(
@ -1483,10 +1387,11 @@ L.U.Map.include({
if (
e.helper.field === 'options.popupTemplate' ||
e.helper.field === 'options.popupContentTemplate' ||
e.helper.field === 'options.popupShape'
e.helper.field === 'options.popupShape' ||
e.helper.field === 'options.outlinkTarget'
)
return
this.eachDataLayer((datalayer) => {
this.eachVisibleDataLayer((datalayer) => {
datalayer.redraw()
})
},
@ -1631,16 +1536,10 @@ L.U.Map.include({
})
limitBounds.appendChild(boundsBuilder.build())
const boundsButtons = L.DomUtil.create('div', 'button-bar half', limitBounds)
const setCurrentButton = L.DomUtil.add(
'a',
L.DomUtil.createButton(
'button',
boundsButtons,
L._('Use current bounds')
)
setCurrentButton.href = '#'
L.DomEvent.on(
setCurrentButton,
'click',
L._('Use current bounds'),
function () {
const bounds = this.getBounds()
this.options.limitBounds.south = L.Util.formatNum(bounds.getSouth())
@ -1653,11 +1552,10 @@ L.U.Map.include({
},
this
)
const emptyBounds = L.DomUtil.add('a', 'button', boundsButtons, L._('Empty'))
emptyBounds.href = '#'
L.DomEvent.on(
emptyBounds,
'click',
L.DomUtil.createButton(
'button',
boundsButtons,
L._('Empty'),
function () {
this.options.limitBounds.south = null
this.options.limitBounds.west = null
@ -1749,34 +1647,39 @@ L.U.Map.include({
const advancedActions = L.DomUtil.createFieldset(container, L._('Advanced actions'))
const advancedButtons = L.DomUtil.create('div', 'button-bar half', advancedActions)
if (this.permissions.isOwner()) {
const del = L.DomUtil.create('a', 'button umap-delete', advancedButtons)
del.href = '#'
del.title = L._('Delete map')
del.textContent = L._('Delete')
L.DomEvent.on(del, 'click', L.DomEvent.stop).on(del, 'click', this.del, this)
const empty = L.DomUtil.create('a', 'button umap-empty', advancedButtons)
empty.href = '#'
empty.textContent = L._('Empty')
empty.title = L._('Delete all layers')
L.DomEvent.on(empty, 'click', L.DomEvent.stop).on(
empty,
'click',
L.DomUtil.createButton(
'button umap-delete',
advancedButtons,
L._('Delete'),
this.del,
this
)
L.DomUtil.createButton(
'button umap-empty',
advancedButtons,
L._('Empty'),
this.empty,
this
)
}
const clone = L.DomUtil.create('a', 'button umap-clone', advancedButtons)
clone.href = '#'
clone.textContent = L._('Clone')
clone.title = L._('Clone this map')
L.DomEvent.on(clone, 'click', L.DomEvent.stop).on(clone, 'click', this.clone, this)
const download = L.DomUtil.create('a', 'button umap-download', advancedButtons)
download.href = '#'
download.textContent = L._('Download')
download.title = L._('Open download panel')
L.DomEvent.on(download, 'click', L.DomEvent.stop).on(
download,
'click',
L.DomUtil.createButton(
'button umap-clone',
advancedButtons,
L._('Clone this map'),
this.clone,
this
)
L.DomUtil.createButton(
'button umap-empty',
advancedButtons,
L._('Delete all layers'),
this.empty,
this
)
L.DomUtil.createButton(
'button umap-download',
advancedButtons,
L._('Open download panel'),
this.renderShareBox,
this
)
@ -1809,11 +1712,13 @@ L.U.Map.include({
enableEdit: function () {
L.DomUtil.addClass(document.body, 'umap-edit-enabled')
this.editEnabled = true
this.drop.enable()
this.fire('edit:enabled')
},
disableEdit: function () {
if (this.isDirty) return
this.drop.disable()
L.DomUtil.removeClass(document.body, 'umap-edit-enabled')
this.editedFeature = null
this.editEnabled = false
@ -1838,38 +1743,25 @@ L.U.Map.include({
L.DomEvent.disableClickPropagation(container)
this.permissions.addOwnerLink('span', container)
if (this.options.captionMenus) {
const about = L.DomUtil.add(
'a',
L.DomUtil.createButton(
'umap-about-link',
container,
`${L._('About')}`
`${L._('About')}`,
this.displayCaption,
this
)
about.href = '#'
L.DomEvent.on(about, 'click', this.displayCaption, this)
const browser = L.DomUtil.add(
'a',
L.DomUtil.createButton(
'umap-open-browser-link',
container,
` | ${L._('Browse data')}`
)
browser.href = '#'
L.DomEvent.on(browser, 'click', L.DomEvent.stop).on(
browser,
'click',
` | ${L._('Browse data')}`,
this.openBrowser,
this
)
if (this.options.facetKey) {
const filter = L.DomUtil.add(
'a',
L.DomUtil.createButton(
'umap-open-filter-link',
container,
` | ${L._('Select data')}`
)
filter.href = '#'
L.DomEvent.on(filter, 'click', L.DomEvent.stop).on(
filter,
'click',
` | ${L._('Select data')}`,
this.openFacet,
this
)

View file

@ -60,6 +60,16 @@ L.U.Layer.Cluster = L.MarkerClusterGroup.extend({
this._layers = []
},
onRemove: function (map) {
// In some situation, the onRemove is called before the layer is really
// added to the map: basically when combining a defaultView=data + max/minZoom
// and loading the map at a zoom outside of that zoom range.
// FIXME: move this upstream (_unbindEvents should accept a map parameter
// instead of relying on this._map)
this._map = map
return L.MarkerClusterGroup.prototype.onRemove.call(this, map)
},
addLayer: function (layer) {
this._layers.push(layer)
return L.MarkerClusterGroup.prototype.addLayer.call(this, layer)
@ -106,6 +116,197 @@ L.U.Layer.Cluster = L.MarkerClusterGroup.extend({
},
})
L.U.Layer.Choropleth = L.FeatureGroup.extend({
_type: 'Choropleth',
includes: [L.U.Layer],
canBrowse: true,
// Have defaults that better suit the choropleth mode.
defaults: {
color: 'white',
fillColor: 'red',
fillOpacity: 0.7,
weight: 2,
},
MODES: {
kmeans: L._('K-means'),
equidistant: L._('Equidistant'),
jenks: L._('Jenks-Fisher'),
quantiles: L._('Quantiles'),
manual: L._('Manual'),
},
initialize: function (datalayer) {
this.datalayer = datalayer
if (!L.Util.isObject(this.datalayer.options.choropleth)) {
this.datalayer.options.choropleth = {}
}
L.FeatureGroup.prototype.initialize.call(
this,
[],
this.datalayer.options.choropleth
)
this.datalayer.onceDataLoaded(() => {
this.redraw()
this.datalayer.on('datachanged', this.redraw, this)
})
},
redraw: function () {
this.computeBreaks()
if (this._map) this.eachLayer(this._map.addLayer, this._map)
},
_getValue: function (feature) {
const key = this.datalayer.options.choropleth.property || 'value'
return +feature.properties[key] // TODO: should we catch values non castable to int ?
},
computeBreaks: function () {
const values = []
this.datalayer.eachLayer((layer) => {
let value = this._getValue(layer)
if (!isNaN(value)) values.push(value)
})
if (!values.length) {
this.options.breaks = []
this.options.colors = []
return
}
let mode = this.datalayer.options.choropleth.mode,
classes = +this.datalayer.options.choropleth.classes || 5,
breaks
if (mode === 'manual') {
const manualBreaks = this.datalayer.options.choropleth.breaks
if (manualBreaks) {
breaks = manualBreaks.split(",").map(b => +b).filter(b => !isNaN(b))
}
} else if (mode === 'equidistant') {
breaks = ss.equalIntervalBreaks(values, classes)
} else if (mode === 'jenks') {
breaks = ss.jenks(values, classes)
} else if (mode === 'quantiles') {
const quantiles = [...Array(classes)].map((e, i) => i/classes).concat(1)
breaks = ss.quantile(values, quantiles)
} else {
breaks = ss.ckmeans(values, classes).map((cluster) => cluster[0])
breaks.push(ss.max(values)) // Needed for computing the legend
}
this.options.breaks = breaks || []
this.datalayer.options.choropleth.breaks = this.options.breaks.map(b => +b.toFixed(2)).join(',')
const fillColor = this.datalayer.getOption('fillColor') || this.defaults.fillColor
let colorScheme = this.datalayer.options.choropleth.brewer
if (!colorbrewer[colorScheme]) colorScheme = 'Blues'
this.options.colors = colorbrewer[colorScheme][this.options.breaks.length - 1] || []
},
getColor: function (feature) {
if (!feature) return // FIXME shold not happen
const featureValue = this._getValue(feature)
// Find the bucket/step/limit that this value is less than and give it that color
for (let i = 1; i < this.options.breaks.length; i++) {
if (featureValue <= this.options.breaks[i]) {
return this.options.colors[i - 1]
}
}
},
getOption: function (option, feature) {
if (feature && option === feature.staticOptions.mainColor) return this.getColor(feature)
},
addLayer: function (layer) {
// Do not add yet the layer to the map
// wait for datachanged event, so we want compute breaks once
var id = this.getLayerId(layer)
this._layers[id] = layer
return this
},
onAdd: function (map) {
this.computeBreaks()
L.FeatureGroup.prototype.onAdd.call(this, map)
},
postUpdate: function (e) {
if (e.helper.field === 'options.choropleth.breaks') {
this.datalayer.options.choropleth.mode = 'manual'
e.helper.builder.helpers["options.choropleth.mode"].fetch()
}
this.computeBreaks()
if (e.helper.field !== 'options.choropleth.breaks') {
e.helper.builder.helpers["options.choropleth.breaks"].fetch()
}
},
getEditableOptions: function () {
const brewerSchemes = Object.keys(colorbrewer)
.filter((k) => k !== 'schemeGroups')
.sort()
return [
[
'options.choropleth.property',
{
handler: 'Select',
selectOptions: this.datalayer._propertiesIndex,
label: L._('Choropleth property value'),
},
],
[
'options.choropleth.brewer',
{
handler: 'Select',
label: L._('Choropleth color palette'),
selectOptions: brewerSchemes,
},
],
[
'options.choropleth.classes',
{
handler: 'Range',
min: 3,
max: 9,
step: 1,
label: L._('Choropleth classes'),
helpText: L._('Number of desired classes (default 5)'),
},
],
[
'options.choropleth.breaks',
{
handler: 'BlurInput',
label: L._('Choropleth breakpoints'),
helpText: L._('Comma separated list of numbers, including min and max values.'),
},
],
[
'options.choropleth.mode',
{
handler: 'MultiChoice',
default: 'kmeans',
choices: Object.entries(this.MODES),
label: L._('Choropleth mode'),
},
],
]
},
renderLegend: function (container) {
const parent = L.DomUtil.create('ul', '', container)
let li, color, label
this.options.breaks.slice(0, -1).forEach((limit, index) => {
li = L.DomUtil.create('li', '', parent)
color = L.DomUtil.create('span', 'datalayer-color', li)
color.style.backgroundColor = this.options.colors[index]
label = L.DomUtil.create('span', '', li)
label.textContent = `${+this.options.breaks[index].toFixed(
1
)} - ${+this.options.breaks[index + 1].toFixed(1)}`
})
},
})
L.U.Layer.Heat = L.HeatLayer.extend({
_type: 'Heat',
includes: [L.U.Layer],
@ -137,14 +338,6 @@ L.U.Layer.Heat = L.HeatLayer.extend({
this.setLatLngs([])
},
redraw: function () {
// setlalngs call _redraw through setAnimFrame, thus async, so this
// can ends with race condition if we remove the layer very faslty after.
// Remove me when https://github.com/Leaflet/Leaflet.heat/pull/53 is released.
if (!this._map) return
L.HeatLayer.prototype.redraw.call(this)
},
getFeatures: function () {
return {}
},
@ -161,8 +354,11 @@ L.U.Layer.Heat = L.HeatLayer.extend({
[
'options.heat.radius',
{
handler: 'BlurIntInput',
placeholder: L._('Heatmap radius'),
handler: 'Range',
min: 10,
max: 100,
step: 5,
label: L._('Heatmap radius'),
helpText: L._('Override heatmap radius (default 25)'),
},
],
@ -187,11 +383,98 @@ L.U.Layer.Heat = L.HeatLayer.extend({
}
this._updateOptions()
},
redraw: function () {
// setlalngs call _redraw through setAnimFrame, thus async, so this
// can ends with race condition if we remove the layer very faslty after.
// TODO: PR in upstream Leaflet.heat
if (!this._map) return
L.HeatLayer.prototype.redraw.call(this)
},
_redraw: function () {
// Import patch from https://github.com/Leaflet/Leaflet.heat/pull/78
// Remove me when this get merged and released.
if (!this._map) {
return
}
var data = [],
r = this._heat._r,
size = this._map.getSize(),
bounds = new L.Bounds(L.point([-r, -r]), size.add([r, r])),
cellSize = r / 2,
grid = [],
panePos = this._map._getMapPanePos(),
offsetX = panePos.x % cellSize,
offsetY = panePos.y % cellSize,
i,
len,
p,
cell,
x,
y,
j,
len2
this._max = 1
for (i = 0, len = this._latlngs.length; i < len; i++) {
p = this._map.latLngToContainerPoint(this._latlngs[i])
x = Math.floor((p.x - offsetX) / cellSize) + 2
y = Math.floor((p.y - offsetY) / cellSize) + 2
var alt =
this._latlngs[i].alt !== undefined
? this._latlngs[i].alt
: this._latlngs[i][2] !== undefined
? +this._latlngs[i][2]
: 1
grid[y] = grid[y] || []
cell = grid[y][x]
if (!cell) {
cell = grid[y][x] = [p.x, p.y, alt]
cell.p = p
} else {
cell[0] = (cell[0] * cell[2] + p.x * alt) / (cell[2] + alt) // x
cell[1] = (cell[1] * cell[2] + p.y * alt) / (cell[2] + alt) // y
cell[2] += alt // cumulated intensity value
}
// Set the max for the current zoom level
if (cell[2] > this._max) {
this._max = cell[2]
}
}
this._heat.max(this._max)
for (i = 0, len = grid.length; i < len; i++) {
if (grid[i]) {
for (j = 0, len2 = grid[i].length; j < len2; j++) {
cell = grid[i][j]
if (cell && bounds.contains(cell.p)) {
data.push([
Math.round(cell[0]),
Math.round(cell[1]),
Math.min(cell[2], this._max),
])
}
}
}
}
this._heat.data(data).draw(this.options.minOpacity)
this._frame = null
},
})
L.U.DataLayer = L.Evented.extend({
options: {
displayOnLoad: true,
inCaption: true,
browsable: true,
editMode: 'advanced',
},
@ -325,7 +608,7 @@ L.U.DataLayer = L.Evented.extend({
if (visible) this.map.removeLayer(this.layer)
const Class = L.U.Layer[this.options.type] || L.U.Layer.Default
this.layer = new Class(this)
this.eachLayer((feature) => this.showFeature(feature))
this.eachLayer(this.showFeature)
if (visible) this.show()
this.propagateRemote()
},
@ -455,7 +738,7 @@ L.U.DataLayer = L.Evented.extend({
},
hasDataLoaded: function () {
return !this.umap_id || this._dataloaded
return this._dataloaded
},
setUmapId: function (id) {
@ -841,6 +1124,7 @@ L.U.DataLayer = L.Evented.extend({
},
redraw: function () {
if (!this.isVisible()) return
this.hide()
this.show()
},
@ -863,6 +1147,13 @@ L.U.DataLayer = L.Evented.extend({
helpEntries: 'browsable',
},
],
[
'options.inCaption',
{
label: L._('Show this layer in the caption'),
handler: 'Switch',
},
],
]
const title = L.DomUtil.add('h3', '', container, L._('Layer properties'))
let builder = new L.U.FormBuilder(this, metadataFields, {
@ -889,11 +1180,9 @@ L.U.DataLayer = L.Evented.extend({
'options.fillOpacity',
]
shapeOptions = shapeOptions.concat(this.layer.getEditableOptions())
const redrawCallback = function (field) {
const redrawCallback = function (e) {
this.hide()
this.layer.postUpdate(field)
this.layer.postUpdate(e)
this.show()
}
@ -994,16 +1283,10 @@ L.U.DataLayer = L.Evented.extend({
const advancedActions = L.DomUtil.createFieldset(container, L._('Advanced actions'))
const advancedButtons = L.DomUtil.create('div', 'button-bar half', advancedActions)
const deleteLink = L.DomUtil.create(
'a',
const deleteLink = L.DomUtil.createButton(
'button delete_datalayer_button umap-delete',
advancedButtons
)
deleteLink.textContent = L._('Delete')
deleteLink.href = '#'
L.DomEvent.on(deleteLink, 'click', L.DomEvent.stop).on(
deleteLink,
'click',
advancedButtons,
L._('Delete'),
function () {
this._delete()
this.map.ui.closePanel()
@ -1011,22 +1294,18 @@ L.U.DataLayer = L.Evented.extend({
this
)
if (!this.isRemoteLayer()) {
const emptyLink = L.DomUtil.create('a', 'button umap-empty', advancedButtons)
emptyLink.textContent = L._('Empty')
emptyLink.href = '#'
L.DomEvent.on(emptyLink, 'click', L.DomEvent.stop).on(
emptyLink,
'click',
const emptyLink = L.DomUtil.createButton(
'button umap-empty',
advancedButtons,
L._('Empty'),
this.empty,
this
)
}
const cloneLink = L.DomUtil.create('a', 'button umap-clone', advancedButtons)
cloneLink.textContent = L._('Clone')
cloneLink.href = '#'
L.DomEvent.on(cloneLink, 'click', L.DomEvent.stop).on(
cloneLink,
'click',
const cloneLink = L.DomUtil.createButton(
'button umap-clone',
advancedButtons,
L._('Clone'),
function () {
const datalayer = this.clone()
datalayer.edit()
@ -1034,17 +1313,33 @@ L.U.DataLayer = L.Evented.extend({
this
)
if (this.umap_id) {
const download = L.DomUtil.create('a', 'button umap-download', advancedButtons)
download.textContent = L._('Download')
download.href = this._dataUrl()
download.target = '_blank'
const download = L.DomUtil.createLink(
'button umap-download',
advancedButtons,
L._('Download'),
this._dataUrl(),
'_blank'
)
}
this.map.ui.openPanel({ data: { html: container }, className: 'dark' })
},
getOption: function (option) {
getOwnOption: function (option) {
if (L.Util.usableOption(this.options, option)) return this.options[option]
else return this.map.getOption(option)
},
getOption: function (option, feature) {
if (this.layer && this.layer.getOption) {
const value = this.layer.getOption(option, feature)
if (typeof value !== 'undefined') return value
}
if (typeof this.getOwnOption(option) !== 'undefined') {
return this.getOwnOption(option)
} else if (this.layer && this.layer.defaults && this.layer.defaults[option]) {
return this.layer.defaults[option]
} else {
return this.map.getOption(option)
}
},
buildVersionsFieldset: function (container) {
@ -1052,16 +1347,14 @@ L.U.DataLayer = L.Evented.extend({
const date = new Date(parseInt(data.at, 10))
const content = `${date.toLocaleString(L.lang)} (${parseInt(data.size) / 1000}Kb)`
const el = L.DomUtil.create('div', 'umap-datalayer-version', versionsContainer)
const a = L.DomUtil.create('a', '', el)
L.DomUtil.add('span', '', el, content)
a.href = '#'
a.title = L._('Restore this version')
L.DomEvent.on(a, 'click', L.DomEvent.stop).on(
a,
'click',
const a = L.DomUtil.createButton(
'',
el,
L._('Restore this version'),
() => this.restore(data.name),
this
)
L.DomUtil.add('span', '', el, content)
}
const versionsContainer = L.DomUtil.createFieldset(container, L._('Versions'), {

View file

@ -116,12 +116,10 @@ L.U.MapPermissions = L.Class.extend({
L._('Advanced actions')
)
const advancedButtons = L.DomUtil.create('div', 'button-bar', advancedActions)
const download = L.DomUtil.create('a', 'button', advancedButtons)
download.href = '#'
download.textContent = L._('Attach the map to my account')
L.DomEvent.on(download, 'click', L.DomEvent.stop).on(
download,
'click',
const download = L.DomUtil.createButton(
'button',
advancedButtons,
L._('Attach the map to my account'),
this.attach,
this
)
@ -192,11 +190,13 @@ L.U.MapPermissions = L.Class.extend({
'umap-map-owner',
container,
` ${L._('by')} `
),
owner = L.DomUtil.create('a')
owner.href = this.options.owner.url
owner.textContent = this.options.owner.name
ownerContainer.appendChild(owner)
)
L.DomUtil.createLink(
'',
ownerContainer,
this.options.owner.name,
this.options.owner.url
)
}
},

View file

@ -138,6 +138,9 @@ L.U.PopupTemplate.Default = L.Class.extend({
nextLi = L.DomUtil.create('li', 'next', footer),
next = this.feature.getNext(),
prev = this.feature.getPrevious()
// Fixme: remove me when this is merged and released
// https://github.com/Leaflet/Leaflet/pull/9052
L.DomEvent.disableClickPropagation(footer)
if (next)
nextLi.title = L._('Go to «{feature}»', {
feature: next.properties.name || L._('next'),

View file

@ -93,41 +93,36 @@ L.U.UI = L.Evented.extend({
if (timeoutID) window.clearTimeout(timeoutID)
this.popAlert()
}
const closeLink = L.DomUtil.create('a', 'umap-close-link', this._alert)
closeLink.href = '#'
L.DomUtil.add('i', 'umap-close-icon', closeLink)
const label = L.DomUtil.create('span', '', closeLink)
label.title = label.textContent = L._('Close')
L.DomEvent.on(closeLink, 'click', L.DomEvent.stop).on(
closeLink,
'click',
const closeButton = L.DomUtil.createButton(
'umap-close-link',
this._alert,
'',
close,
this
)
L.DomUtil.add('i', 'umap-close-icon', closeButton)
const label = L.DomUtil.create('span', '', closeButton)
label.title = label.textContent = L._('Close')
L.DomUtil.add('div', '', this._alert, e.content)
if (e.actions) {
let action, el, input
const form = L.DomUtil.add('div', 'umap-alert-actions', this._alert)
for (let i = 0; i < e.actions.length; i++) {
action = e.actions[i]
if (action.input) {
input = L.DomUtil.element(
'input',
{ className: 'umap-alert-input', placeholder: action.input },
this._alert
form
)
}
el = L.DomUtil.element('a', { className: 'umap-action' }, this._alert)
el.href = '#'
el.textContent = action.label
L.DomEvent.on(el, 'click', L.DomEvent.stop)
if (action.callback) {
L.DomEvent.on(
el,
'click',
el = L.DomUtil.createButton(
'umap-action',
form,
action.label,
action.callback,
action.callbackContext || this.map
)
}
L.DomEvent.on(el, 'click', close, this)
}
}
@ -139,20 +134,31 @@ L.U.UI = L.Evented.extend({
}
},
tooltip: function (e) {
this.TOOLTIP_ID = Math.random()
const id = this.TOOLTIP_ID
tooltip: function (opts) {
function showIt() {
if (opts.anchor && opts.position === 'top') {
this.anchorTooltipTop(opts.anchor)
} else if (opts.anchor && opts.position === 'left') {
this.anchorTooltipLeft(opts.anchor)
} else if (opts.anchor && opts.position === 'bottom') {
this.anchorTooltipBottom(opts.anchor)
} else {
this.anchorTooltipAbsolute()
}
L.DomUtil.addClass(this.parent, 'umap-tooltip')
if (e.anchor && e.position === 'top') this.anchorTooltipTop(e.anchor)
else if (e.anchor && e.position === 'left') this.anchorTooltipLeft(e.anchor)
else this.anchorTooltipAbsolute()
this._tooltip.innerHTML = e.content
this._tooltip.innerHTML = opts.content
}
this.TOOLTIP_ID = window.setTimeout(L.bind(showIt, this), opts.delay || 0)
const id = this.TOOLTIP_ID
function closeIt() {
this.closeTooltip(id)
}
if (e.anchor) L.DomEvent.once(e.anchor, 'mouseout', closeIt, this)
if (e.duration !== Infinity)
window.setTimeout(L.bind(closeIt, this), e.duration || 3000)
if (opts.anchor) {
L.DomEvent.once(opts.anchor, 'mouseout', closeIt, this)
}
if (opts.duration !== Infinity) {
window.setTimeout(L.bind(closeIt, this), opts.duration || 3000)
}
},
anchorTooltipAbsolute: function () {
@ -174,6 +180,15 @@ L.U.UI = L.Evented.extend({
})
},
anchorTooltipBottom: function (el) {
this._tooltip.className = 'tooltip-bottom'
const coords = this.getPosition(el)
this.setTooltipPosition({
left: coords.left,
top: coords.bottom + 11,
})
},
anchorTooltipLeft: function (el) {
this._tooltip.className = 'tooltip-left'
const coords = this.getPosition(el)
@ -184,8 +199,13 @@ L.U.UI = L.Evented.extend({
},
closeTooltip: function (id) {
// Clear timetout even if a new tooltip has been added
// in the meantime. Eg. after a mouseout from the anchor.
window.clearTimeout(id)
if (id && id !== this.TOOLTIP_ID) return
this._tooltip.className = ''
this._tooltip.innerHTML = ''
this.setTooltipPosition({})
L.DomUtil.removeClass(this.parent, 'umap-tooltip')
},

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "ይህንን ቅርፅ ሰርዝ",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "ከዚህ የሚነሱ አቅጣጫዎች",
"Disable editing": "ማረም ከልክል ነው",
"Display measure": "Display measure",
"Display on load": "በመጫን ላይ እያለ አሳይ",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "ይህንን ካርታ አካትት እና ሼር አድርግ",
"Embed the map": "ካርታውን አካትት",
"Empty": "ባዶ",
"Enable editing": "እርማትን ፍቀድ",
"Error in the tilelayer URL": "በታይልሌየሩ የድረ-ገፅ መገኛ ላይ ስህተት ተፈጥሯል",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("am_ET", locale)
L.setLocale("am_ET")

View file

@ -143,7 +143,6 @@
"Delete this shape": "ይህንን ቅርፅ ሰርዝ",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "ከዚህ የሚነሱ አቅጣጫዎች",
"Disable editing": "ማረም ከልክል ነው",
"Display measure": "Display measure",
"Display on load": "በመጫን ላይ እያለ አሳይ",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "ይህንን ካርታ አካትት እና ሼር አድርግ",
"Embed the map": "ካርታውን አካትት",
"Empty": "ባዶ",
"Enable editing": "እርማትን ፍቀድ",
"Error in the tilelayer URL": "በታይልሌየሩ የድረ-ገፅ መገኛ ላይ ስህተት ተፈጥሯል",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "حذف هذا الشكل",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "الخروج من الشاشة الكاملة",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("ar", locale)
L.setLocale("ar")

View file

@ -143,7 +143,6 @@
"Delete this shape": "حذف هذا الشكل",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "الخروج من الشاشة الكاملة",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("ast", locale)
L.setLocale("ast")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Упътвания от тук",
"Disable editing": "Забранете редакция",
"Display measure": "Display measure",
"Display on load": "Дисплей на зареждане",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Вграждане и споделяне тази карта",
"Embed the map": "Вграждане на карта",
"Empty": "Празно",
"Enable editing": "Разрешаване на редактирането",
"Error in the tilelayer URL": "Грешка в URL адреса на слоя",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("bg", locale)
L.setLocale("bg")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Упътвания от тук",
"Disable editing": "Забранете редакция",
"Display measure": "Display measure",
"Display on load": "Дисплей на зареждане",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Вграждане и споделяне тази карта",
"Embed the map": "Вграждане на карта",
"Empty": "Празно",
"Enable editing": "Разрешаване на редактирането",
"Error in the tilelayer URL": "Грешка в URL адреса на слоя",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -88,7 +88,7 @@ const locale = {
"Advanced actions": "Oberoù araokaet",
"Advanced properties": "Perzhioù araokaet",
"All properties are imported.": "Enporzhiet eo bet an holl berzhioù.",
"Allow interactions": "Allow interactions",
"Allow interactions": "Aotren an etreoberiadennoù",
"An error occured": "Ur fazi ez eus bet",
"Are you sure you want to cancel your changes?": "Ha sur oc'h e faot deoc'h nullañ ho kemmoù?",
"Are you sure you want to clone this map and all its datalayers?": "Ha sur oc'h e faot deoc'h arredaoliñ ar gartenn-mañ hag he holl wiskadoù roadennoù?",
@ -130,7 +130,7 @@ const locale = {
"Current view instead of default map view?": "Gwel a-vremañ e-lec'h ar gwel dre ziouer?",
"Custom background": "Foñs personelaet",
"Data is browsable": "Ar roadennoù a c'haller merdeiñ",
"Default interaction options": "Default interaction options",
"Default interaction options": "Dibarzhioù etreoberiañ dre ziouer",
"Default properties": "Perzhioù dre ziouer",
"Default shape properties": "Default shape properties",
"Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.",
@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Dilemel an tres-mañ",
"Delete this vertex (Alt+Click)": "Dilemel ar poent-mañ (Erl+Klik)",
"Directions from here": "Heñchadurioù adalek amañ",
"Disable editing": "Paouez da aozañ",
"Display measure": "Diskouez ar muzulioù",
"Display on load": "Diskwel en ur gargañ",
"Download": "Pellgargañ",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Ezporzhiañ ha rannañ ar gartenn",
"Embed the map": "Enframmañ ar gartenn",
"Empty": "Goullonderiñ",
"Enable editing": "Kregiñ da aozañ",
"Error in the tilelayer URL": "Ur fazi zo en URL foñs ar gartenn",
"Error while fetching {url}": "Ur fazi ez eus bet en ur c'hervel an URL {url}",
"Exit Fullscreen": "Kuitaat ar mod skramm a-bezh",
@ -190,7 +188,7 @@ const locale = {
"Import": "Enporzhiañ",
"Import data": "Enporzhiañ roadennoù",
"Import in a new layer": "Enporzhiañ ur gwiskad nevez",
"Imports all umap data, including layers and settings.": "Enporzhiañ an holl roadennoù ar gartenn, ar gwiskadoù hag an arventennoù en o zouez.",
"Imports all umap data, including layers and settings.": "Enporzhiañ holl roadennoù ar gartenn, ar gwiskadoù hag an arventennoù en o zouez.",
"Include full screen link?": "Lakaat ul liamm \"skramm a-bezh\" e-barzh?",
"Interaction options": "Interaction options",
"Invalid umap data": "Roadennoù umap direizh",
@ -276,8 +274,8 @@ const locale = {
"Transform to polygon": "Treiñ d'ul lieskorn",
"Type of layer": "Seurt ar gwiskad",
"Unable to detect format of file {filename}": "N'haller ket anavezout furmad ar restr {filename}",
"Untitled layer": "Gwiskad dizanv",
"Untitled map": "Kartenn dizanv",
"Untitled layer": "Gwiskad hep anv",
"Untitled map": "Kartenn hep anv",
"Update permissions": "Kemmañ an aotreoù",
"Update permissions and editors": "Kemmañ an aotreoù hag an aozerien",
"Url": "URL",
@ -387,31 +385,50 @@ const locale = {
"*single star for italic*": "*ur steredennig simpl evit italek*",
"--- for a horizontal rule": "--- evit ul linenn-disparti a-blaen",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Default view": "Gwel dre ziouer",
"Facet keys": "Facet keys",
"Facet search": "Facet search",
"Feature properties": "Feature properties",
"Feature properties": "Perzhioù an elfenn",
"Issue reaching that URL (network problem or CORS protection): {url}": "Issue reaching that URL (network problem or CORS protection): {url}",
"Latest feature": "Latest feature",
"Latest feature": "Elfenn diwezhañ",
"No results for these facets": "No results for these facets",
"Saved center and zoom": "Saved center and zoom",
"User location": "User location",
"Visibility: {status}": "Visibility: {status}",
"User location": "Lec'hiadur an implijer",
"Visibility: {status}": "Gwelusted: {status}",
"Fit all data": "Fit all data",
"Verify remote URL": "Verify remote URL",
"Add": "Add",
"Change": "Change",
"Powered by uMap": "Powered by uMap",
"Search": "Search",
"Verify remote URL": "Gwiriañ an URL",
"Add": "Ouzhpennañ",
"Change": "Kemmañ",
"Powered by uMap": "Lusket gant uMap",
"Search": "Klask",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Datalayers": "Gwiskadoù",
"Secret edit link:": "Liamm aozañ kuzh:",
"Who can edit \"{layer}\"": "Piv a c'hall aozañ \"{layer}\"",
"Current map view": "Listenn an objedoù a c'haller gwelet",
"Filter": "Silañ",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("br", locale)
L.setLocale("br")

View file

@ -88,7 +88,7 @@
"Advanced actions": "Oberoù araokaet",
"Advanced properties": "Perzhioù araokaet",
"All properties are imported.": "Enporzhiet eo bet an holl berzhioù.",
"Allow interactions": "Allow interactions",
"Allow interactions": "Aotren an etreoberiadennoù",
"An error occured": "Ur fazi ez eus bet",
"Are you sure you want to cancel your changes?": "Ha sur oc'h e faot deoc'h nullañ ho kemmoù?",
"Are you sure you want to clone this map and all its datalayers?": "Ha sur oc'h e faot deoc'h arredaoliñ ar gartenn-mañ hag he holl wiskadoù roadennoù?",
@ -130,7 +130,7 @@
"Current view instead of default map view?": "Gwel a-vremañ e-lec'h ar gwel dre ziouer?",
"Custom background": "Foñs personelaet",
"Data is browsable": "Ar roadennoù a c'haller merdeiñ",
"Default interaction options": "Default interaction options",
"Default interaction options": "Dibarzhioù etreoberiañ dre ziouer",
"Default properties": "Perzhioù dre ziouer",
"Default shape properties": "Default shape properties",
"Define link to open in a new window on polygon click.": "Define link to open in a new window on polygon click.",
@ -143,7 +143,6 @@
"Delete this shape": "Dilemel an tres-mañ",
"Delete this vertex (Alt+Click)": "Dilemel ar poent-mañ (Erl+Klik)",
"Directions from here": "Heñchadurioù adalek amañ",
"Disable editing": "Paouez da aozañ",
"Display measure": "Diskouez ar muzulioù",
"Display on load": "Diskwel en ur gargañ",
"Download": "Pellgargañ",
@ -164,7 +163,6 @@
"Embed and share this map": "Ezporzhiañ ha rannañ ar gartenn",
"Embed the map": "Enframmañ ar gartenn",
"Empty": "Goullonderiñ",
"Enable editing": "Kregiñ da aozañ",
"Error in the tilelayer URL": "Ur fazi zo en URL foñs ar gartenn",
"Error while fetching {url}": "Ur fazi ez eus bet en ur c'hervel an URL {url}",
"Exit Fullscreen": "Kuitaat ar mod skramm a-bezh",
@ -190,7 +188,7 @@
"Import": "Enporzhiañ",
"Import data": "Enporzhiañ roadennoù",
"Import in a new layer": "Enporzhiañ ur gwiskad nevez",
"Imports all umap data, including layers and settings.": "Enporzhiañ an holl roadennoù ar gartenn, ar gwiskadoù hag an arventennoù en o zouez.",
"Imports all umap data, including layers and settings.": "Enporzhiañ holl roadennoù ar gartenn, ar gwiskadoù hag an arventennoù en o zouez.",
"Include full screen link?": "Lakaat ul liamm \"skramm a-bezh\" e-barzh?",
"Interaction options": "Interaction options",
"Invalid umap data": "Roadennoù umap direizh",
@ -276,8 +274,8 @@
"Transform to polygon": "Treiñ d'ul lieskorn",
"Type of layer": "Seurt ar gwiskad",
"Unable to detect format of file {filename}": "N'haller ket anavezout furmad ar restr {filename}",
"Untitled layer": "Gwiskad dizanv",
"Untitled map": "Kartenn dizanv",
"Untitled layer": "Gwiskad hep anv",
"Untitled map": "Kartenn hep anv",
"Update permissions": "Kemmañ an aotreoù",
"Update permissions and editors": "Kemmañ an aotreoù hag an aozerien",
"Url": "URL",
@ -387,29 +385,48 @@
"*single star for italic*": "*ur steredennig simpl evit italek*",
"--- for a horizontal rule": "--- evit ul linenn-disparti a-blaen",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Default view": "Gwel dre ziouer",
"Facet keys": "Facet keys",
"Facet search": "Facet search",
"Feature properties": "Feature properties",
"Feature properties": "Perzhioù an elfenn",
"Issue reaching that URL (network problem or CORS protection): {url}": "Issue reaching that URL (network problem or CORS protection): {url}",
"Latest feature": "Latest feature",
"Latest feature": "Elfenn diwezhañ",
"No results for these facets": "No results for these facets",
"Saved center and zoom": "Saved center and zoom",
"User location": "User location",
"Visibility: {status}": "Visibility: {status}",
"User location": "Lec'hiadur an implijer",
"Visibility: {status}": "Gwelusted: {status}",
"Fit all data": "Fit all data",
"Verify remote URL": "Verify remote URL",
"Add": "Add",
"Change": "Change",
"Powered by uMap": "Powered by uMap",
"Search": "Search",
"Verify remote URL": "Gwiriañ an URL",
"Add": "Ouzhpennañ",
"Change": "Kemmañ",
"Powered by uMap": "Lusket gant uMap",
"Search": "Klask",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Datalayers": "Gwiskadoù",
"Secret edit link:": "Liamm aozañ kuzh:",
"Who can edit \"{layer}\"": "Piv a c'hall aozañ \"{layer}\"",
"Current map view": "Listenn an objedoù a c'haller gwelet",
"Filter": "Silañ",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Direccions des d'aquí",
"Disable editing": "Inhabilita l'edició",
"Display measure": "Display measure",
"Display on load": "Mostrar en carregar",
"Download": "Baixa",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Incrusta i comparteix aquest mapa",
"Embed the map": "Incrusta el mapa",
"Empty": "Buit",
"Enable editing": "Habilita l'edició",
"Error in the tilelayer URL": "Hi ha un error en l'URL de la cap de tessel·les",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("ca", locale)
L.setLocale("ca")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Direccions des d'aquí",
"Disable editing": "Inhabilita l'edició",
"Display measure": "Display measure",
"Display on load": "Mostrar en carregar",
"Download": "Baixa",
@ -164,7 +163,6 @@
"Embed and share this map": "Incrusta i comparteix aquest mapa",
"Embed the map": "Incrusta el mapa",
"Empty": "Buit",
"Enable editing": "Habilita l'edició",
"Error in the tilelayer URL": "Hi ha un error en l'URL de la cap de tessel·les",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Smazat tento tvar",
"Delete this vertex (Alt+Click)": "Smazat tento bod (Alt+Klik)",
"Directions from here": "Navigovat odsud",
"Disable editing": "Zakázat úpravy",
"Display measure": "Zobrazit měřítko",
"Display on load": "Zobrazit při startu",
"Download": "Stažení",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Sdílet mapu nebo ji vložit do jiného webu",
"Embed the map": "Vložit mapu do jiného webu",
"Empty": "Vyprázdnit",
"Enable editing": "Povolit úpravy",
"Error in the tilelayer URL": "Chyba v URL vrstvy dlaždic",
"Error while fetching {url}": "Chyba při načítání {url}",
"Exit Fullscreen": "Ukončit režim celé obrazovky",
@ -387,31 +385,50 @@ const locale = {
"*single star for italic*": "*vše mezi hvězdičkami bude kurzívou*",
"--- for a horizontal rule": "--- vytvoří vodorovnou linku",
"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}\")": "Název vlastnosti, která se má použít jako popis funkce (např.: \"nom\"). Můžete také použít vlastnosti uvnitř hranatých závorek a použít více než jednu nebo je kombinovat se statickým obsahem (např.: \"{jméno} v {místo}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
"Facet search": "Facet search",
"Feature properties": "Feature properties",
"Issue reaching that URL (network problem or CORS protection): {url}": "Issue reaching that URL (network problem or CORS protection): {url}",
"Latest feature": "Latest feature",
"No results for these facets": "No results for these facets",
"Saved center and zoom": "Saved center and zoom",
"User location": "User location",
"Visibility: {status}": "Visibility: {status}",
"Fit all data": "Fit all data",
"Verify remote URL": "Verify remote URL",
"Add": "Add",
"Change": "Change",
"Powered by uMap": "Powered by uMap",
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Seznam vlastností oddělených čárkou, které se mají použít pro hledání aspektů (např.: mykey,otherkey). Chcete-li změnit popisek, přidejte jej za | (např.: mykey|Můj klíč,otherkey|Jiný klíč)",
"Default view": "Výchozí zobrazení",
"Facet keys": "Aspekty klíče",
"Facet search": "hledání aspektů",
"Feature properties": "Vlastnosti funkce",
"Issue reaching that URL (network problem or CORS protection): {url}": "Problém s dosažením této adresy URL (síťový problém nebo ochrana CORS): {url}",
"Latest feature": "Nejnovější funkce",
"No results for these facets": "Žádné výsledky pro tyto aspekty",
"Saved center and zoom": "Uložený střed a zoom",
"User location": "Poloha uživatele",
"Visibility: {status}": "Viditelnost: {status}",
"Fit all data": "Přizpůsobení všech dat",
"Verify remote URL": "Ověřit vzdálenou adresu URL",
"Add": "Přidat",
"Change": "Změnit",
"Powered by uMap": "Běží na uMap",
"Search": "Hledat",
"Toggle direct input (advanced)": "Přepínání přímého vstupu (pokročilé)",
"Datalayers": "Datové vrstvy",
"Secret edit link:": "Tajný odkaz na úpravy:",
"Who can edit \"{layer}\"": "Kdo může upravovat \"{layer}\"",
"Current map view": "Aktuální zobrazení mapy",
"Filter": "Filtr",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth třídy",
"Choropleth color palette": "Choropleth paleta barev",
"Choropleth mode": "Choropleth režim",
"Choropleth property value": "Choropleth hodnota objektu",
"Comma separated list of numbers, including min and max values.": "Seznam čísel oddělených čárkou, včetně minimálních a maximálních hodnot.",
"Equidistant": "Stejně vzdálené",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Ručně",
"Number of desired classes (default 5)": "Počet požadovaných tříd (výchozí 5)",
"Quantiles": "Kvantily",
"Show this layer in the caption": "Zobrazit tuto vrstvu v nadpisu",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("cs_CZ", locale)
L.setLocale("cs_CZ")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Smazat tento tvar",
"Delete this vertex (Alt+Click)": "Smazat tento bod (Alt+Klik)",
"Directions from here": "Navigovat odsud",
"Disable editing": "Zakázat úpravy",
"Display measure": "Zobrazit měřítko",
"Display on load": "Zobrazit při startu",
"Download": "Stažení",
@ -164,7 +163,6 @@
"Embed and share this map": "Sdílet mapu nebo ji vložit do jiného webu",
"Embed the map": "Vložit mapu do jiného webu",
"Empty": "Vyprázdnit",
"Enable editing": "Povolit úpravy",
"Error in the tilelayer URL": "Chyba v URL vrstvy dlaždic",
"Error while fetching {url}": "Chyba při načítání {url}",
"Exit Fullscreen": "Ukončit režim celé obrazovky",
@ -387,29 +385,48 @@
"*single star for italic*": "*vše mezi hvězdičkami bude kurzívou*",
"--- for a horizontal rule": "--- vytvoří vodorovnou linku",
"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}\")": "Název vlastnosti, která se má použít jako popis funkce (např.: \"nom\"). Můžete také použít vlastnosti uvnitř hranatých závorek a použít více než jednu nebo je kombinovat se statickým obsahem (např.: \"{jméno} v {místo}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
"Facet search": "Facet search",
"Feature properties": "Feature properties",
"Issue reaching that URL (network problem or CORS protection): {url}": "Issue reaching that URL (network problem or CORS protection): {url}",
"Latest feature": "Latest feature",
"No results for these facets": "No results for these facets",
"Saved center and zoom": "Saved center and zoom",
"User location": "User location",
"Visibility: {status}": "Visibility: {status}",
"Fit all data": "Fit all data",
"Verify remote URL": "Verify remote URL",
"Add": "Add",
"Change": "Change",
"Powered by uMap": "Powered by uMap",
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Seznam vlastností oddělených čárkou, které se mají použít pro hledání aspektů (např.: mykey,otherkey). Chcete-li změnit popisek, přidejte jej za | (např.: mykey|Můj klíč,otherkey|Jiný klíč)",
"Default view": "Výchozí zobrazení",
"Facet keys": "Aspekty klíče",
"Facet search": "hledání aspektů",
"Feature properties": "Vlastnosti funkce",
"Issue reaching that URL (network problem or CORS protection): {url}": "Problém s dosažením této adresy URL (síťový problém nebo ochrana CORS): {url}",
"Latest feature": "Nejnovější funkce",
"No results for these facets": "Žádné výsledky pro tyto aspekty",
"Saved center and zoom": "Uložený střed a zoom",
"User location": "Poloha uživatele",
"Visibility: {status}": "Viditelnost: {status}",
"Fit all data": "Přizpůsobení všech dat",
"Verify remote URL": "Ověřit vzdálenou adresu URL",
"Add": "Přidat",
"Change": "Změnit",
"Powered by uMap": "Běží na uMap",
"Search": "Hledat",
"Toggle direct input (advanced)": "Přepínání přímého vstupu (pokročilé)",
"Datalayers": "Datové vrstvy",
"Secret edit link:": "Tajný odkaz na úpravy:",
"Who can edit \"{layer}\"": "Kdo může upravovat \"{layer}\"",
"Current map view": "Aktuální zobrazení mapy",
"Filter": "Filtr",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth třídy",
"Choropleth color palette": "Choropleth paleta barev",
"Choropleth mode": "Choropleth režim",
"Choropleth property value": "Choropleth hodnota objektu",
"Comma separated list of numbers, including min and max values.": "Seznam čísel oddělených čárkou, včetně minimálních a maximálních hodnot.",
"Equidistant": "Stejně vzdálené",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Ručně",
"Number of desired classes (default 5)": "Počet požadovaných tříd (výchozí 5)",
"Quantiles": "Kvantily",
"Show this layer in the caption": "Zobrazit tuto vrstvu v nadpisu",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Slet denne figur",
"Delete this vertex (Alt+Click)": "Slet denne vertex (Alt+Click)",
"Directions from here": "Kørselsvejledning herfra",
"Disable editing": "Deaktiver redigering",
"Display measure": "Vis opmåling",
"Display on load": "Vis ved indlæsning",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Indlejr og del dette kort",
"Embed the map": "Indlejring af kortet",
"Empty": "Tomt",
"Enable editing": "Aktiver redigering",
"Error in the tilelayer URL": "Fejl i fliselags-URL'en",
"Error while fetching {url}": "Fejl ved hentning af {url}",
"Exit Fullscreen": "Afslut fuldskærm",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("da", locale)
L.setLocale("da")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Slet denne figur",
"Delete this vertex (Alt+Click)": "Slet denne vertex (Alt+Click)",
"Directions from here": "Kørselsvejledning herfra",
"Disable editing": "Deaktiver redigering",
"Display measure": "Vis opmåling",
"Display on load": "Vis ved indlæsning",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Indlejr og del dette kort",
"Embed the map": "Indlejring af kortet",
"Empty": "Tomt",
"Enable editing": "Aktiver redigering",
"Error in the tilelayer URL": "Fejl i fliselags-URL'en",
"Error while fetching {url}": "Fejl ved hentning af {url}",
"Exit Fullscreen": "Afslut fuldskærm",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Diese Form löschen",
"Delete this vertex (Alt+Click)": "Diesen Eckpunkt löschen (Alt+Klick)",
"Directions from here": "Route von hier",
"Disable editing": "Bearbeiten deaktivieren",
"Display measure": "Display measure",
"Display on load": "Beim Seitenaufruf anzeigen.",
"Download": "Herunterladen",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Teile und binde diese Karte ein.",
"Embed the map": "Karte einbinden",
"Empty": "Leeren",
"Enable editing": "Bearbeiten aktivieren",
"Error in the tilelayer URL": "Fehler in der Kachelebenen-URL",
"Error while fetching {url}": "Fehler beim Abrufen von {url}",
"Exit Fullscreen": "Vollbild beenden",
@ -369,13 +367,13 @@ const locale = {
"Error in the overlay URL": "Error in the overlay URL",
"Map has been starred": "Map has been starred",
"Map has been unstarred": "Map has been unstarred",
"Opacity": "Opacity",
"Opacity": "Deckkraft",
"Star this map": "Star this map",
"Symbol can be either a unicode character or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode character or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.",
"Direct link": "Direct link",
"Direct link": "Direktlink",
"Export options": "Export options",
"The zoom and center have been modified.": "The zoom and center have been modified.",
"Congratulations, your map has been created!": "Congratulations, your map has been created!",
"Congratulations, your map has been created!": "Glückwunsch, deine Karte wurde erstellt!",
"Copy link": "Copy link",
"Email": "Email",
"Secret edit link copied to clipboard!": "Secret edit link copied to clipboard!",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("de", locale)
L.setLocale("de")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Diese Form löschen",
"Delete this vertex (Alt+Click)": "Diesen Eckpunkt löschen (Alt+Klick)",
"Directions from here": "Route von hier",
"Disable editing": "Bearbeiten deaktivieren",
"Display measure": "Display measure",
"Display on load": "Beim Seitenaufruf anzeigen.",
"Download": "Herunterladen",
@ -164,7 +163,6 @@
"Embed and share this map": "Teile und binde diese Karte ein.",
"Embed the map": "Karte einbinden",
"Empty": "Leeren",
"Enable editing": "Bearbeiten aktivieren",
"Error in the tilelayer URL": "Fehler in der Kachelebenen-URL",
"Error while fetching {url}": "Fehler beim Abrufen von {url}",
"Exit Fullscreen": "Vollbild beenden",
@ -369,13 +367,13 @@
"Error in the overlay URL": "Error in the overlay URL",
"Map has been starred": "Map has been starred",
"Map has been unstarred": "Map has been unstarred",
"Opacity": "Opacity",
"Opacity": "Deckkraft",
"Star this map": "Star this map",
"Symbol can be either a unicode character or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.": "Symbol can be either a unicode character or an URL. You can use feature properties as variables: ex.: with \"http://myserver.org/images/{name}.png\", the {name} variable will be replaced by the \"name\" value of each marker.",
"Direct link": "Direct link",
"Direct link": "Direktlink",
"Export options": "Export options",
"The zoom and center have been modified.": "The zoom and center have been modified.",
"Congratulations, your map has been created!": "Congratulations, your map has been created!",
"Congratulations, your map has been created!": "Glückwunsch, deine Karte wurde erstellt!",
"Copy link": "Copy link",
"Email": "Email",
"Secret edit link copied to clipboard!": "Secret edit link copied to clipboard!",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Διαγραφή σχήματος",
"Delete this vertex (Alt+Click)": "Διαγραφή αυτής της κορυφής (Alt+Click)",
"Directions from here": "Κατευθύνσεις από εδώ",
"Disable editing": "Απενεργοποίηση επεξεργασίας",
"Display measure": "Εμφάνιση μέτρησης",
"Display on load": "Εμφάνιση κατά την φόρτωση",
"Download": "Λήψη",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Ένθεση και διαμοιρασμός του χάρτη",
"Embed the map": "Ένθεση του χάρτη",
"Empty": "Κενό",
"Enable editing": "Ενεργοποίηση επεξεργασίας",
"Error in the tilelayer URL": "Σφάλμα συνδέσμου υποβάθρου",
"Error while fetching {url}": "Σφάλμα κατά την ανάκτηση {url}",
"Exit Fullscreen": "Κλείσιμο πλήρους οθόνης",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- για οριζόντιο χάρακα",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("el", locale)
L.setLocale("el")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Διαγραφή σχήματος",
"Delete this vertex (Alt+Click)": "Διαγραφή αυτής της κορυφής (Alt+Click)",
"Directions from here": "Κατευθύνσεις από εδώ",
"Disable editing": "Απενεργοποίηση επεξεργασίας",
"Display measure": "Εμφάνιση μέτρησης",
"Display on load": "Εμφάνιση κατά την φόρτωση",
"Download": "Λήψη",
@ -164,7 +163,6 @@
"Embed and share this map": "Ένθεση και διαμοιρασμός του χάρτη",
"Embed the map": "Ένθεση του χάρτη",
"Empty": "Κενό",
"Enable editing": "Ενεργοποίηση επεξεργασίας",
"Error in the tilelayer URL": "Σφάλμα συνδέσμου υποβάθρου",
"Error while fetching {url}": "Σφάλμα κατά την ανάκτηση {url}",
"Exit Fullscreen": "Κλείσιμο πλήρους οθόνης",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- για οριζόντιο χάρακα",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("en", locale)
L.setLocale("en")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Finish editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed map",
"Empty": "Empty",
"Enable editing": "Edit map",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Borrar esta figura",
"Delete this vertex (Alt+Click)": "Borrar este vértice (Alt+Clic)",
"Directions from here": "Direcciones desde aquí",
"Disable editing": "Deshabilitar la edición",
"Display measure": "Mostrar medición",
"Display on load": "Mostrar al cargar",
"Download": "Descargar",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Embeber y compartir este mapa",
"Embed the map": "Embeber el mapa",
"Empty": "Vaciar",
"Enable editing": "Habilitar la edición",
"Error in the tilelayer URL": "Error en la URL del la capa de teselas",
"Error while fetching {url}": "Error al traer {url}",
"Exit Fullscreen": "Salir de la pantalla completa",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*una estrella para cursiva*",
"--- for a horizontal rule": "--- para una regla horizontal",
"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.: \"nom\"). También puede utilizar propiedades entre paréntesis para utilizar más de una o mezclarlas con contenido estático (p. ej.: \"{nombre} en {lugar}\").",
"Cancel all": "Cancelar todo",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Lista separada por comas de las propiedades a utilizar para la búsqueda de facetas (ej.: miclave,otraclave). Para controlar la etiqueta, añádala después de | (ej.: mykey|Mi Clave,otherkey|Otra Clave)",
"Default view": "Vista predeterminada",
"Facet keys": "Claves de facetas",
@ -407,11 +404,31 @@ const locale = {
"Search": "Buscar",
"Toggle direct input (advanced)": "Conmutar entrada directa (avanzado)",
"Datalayers": "Capas de datos",
"Delete map": "Borrar mapa",
"Secret edit link:": "Enlace secreto de edición:",
"Who can edit \"{layer}\"": "Quién puede editar \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Current map view": "Vista actual del mapa",
"Filter": "Filtro",
"Choropleth": "Coropleto",
"Choropleth breakpoints": "Puntos de ruptura de la Coropleta",
"Choropleth classes": "Clases de coropletas",
"Choropleth color palette": "Paleta de colores Coropleta",
"Choropleth mode": "Modo Coropleta",
"Choropleth property value": "Valor de la propiedad Choropleta",
"Comma separated list of numbers, including min and max values.": "Lista de números separados por comas, incluidos los valores mínimo y máximo.",
"Equidistant": "Equidistante",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-medias",
"Manual": "Manual",
"Number of desired classes (default 5)": "Número de clases deseadas (predeterminadas 5)",
"Quantiles": "Cuantiles",
"Show this layer in the caption": "Mostrar esta capa en la leyenda",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("es", locale)
L.setLocale("es")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Borrar esta figura",
"Delete this vertex (Alt+Click)": "Borrar este vértice (Alt+Clic)",
"Directions from here": "Direcciones desde aquí",
"Disable editing": "Deshabilitar la edición",
"Display measure": "Mostrar medición",
"Display on load": "Mostrar al cargar",
"Download": "Descargar",
@ -164,7 +163,6 @@
"Embed and share this map": "Embeber y compartir este mapa",
"Embed the map": "Embeber el mapa",
"Empty": "Vaciar",
"Enable editing": "Habilitar la edición",
"Error in the tilelayer URL": "Error en la URL del la capa de teselas",
"Error while fetching {url}": "Error al traer {url}",
"Exit Fullscreen": "Salir de la pantalla completa",
@ -387,7 +385,6 @@
"*single star for italic*": "*una estrella para cursiva*",
"--- for a horizontal rule": "--- para una regla horizontal",
"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.: \"nom\"). También puede utilizar propiedades entre paréntesis para utilizar más de una o mezclarlas con contenido estático (p. ej.: \"{nombre} en {lugar}\").",
"Cancel all": "Cancelar todo",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Lista separada por comas de las propiedades a utilizar para la búsqueda de facetas (ej.: miclave,otraclave). Para controlar la etiqueta, añádala después de | (ej.: mykey|Mi Clave,otherkey|Otra Clave)",
"Default view": "Vista predeterminada",
"Facet keys": "Claves de facetas",
@ -407,9 +404,29 @@
"Search": "Buscar",
"Toggle direct input (advanced)": "Conmutar entrada directa (avanzado)",
"Datalayers": "Capas de datos",
"Delete map": "Borrar mapa",
"Secret edit link:": "Enlace secreto de edición:",
"Who can edit \"{layer}\"": "Quién puede editar \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Current map view": "Vista actual del mapa",
"Filter": "Filtro",
"Choropleth": "Coropleto",
"Choropleth breakpoints": "Puntos de ruptura de la Coropleta",
"Choropleth classes": "Clases de coropletas",
"Choropleth color palette": "Paleta de colores Coropleta",
"Choropleth mode": "Modo Coropleta",
"Choropleth property value": "Valor de la propiedad Choropleta",
"Comma separated list of numbers, including min and max values.": "Lista de números separados por comas, incluidos los valores mínimo y máximo.",
"Equidistant": "Equidistante",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-medias",
"Manual": "Manual",
"Number of desired classes (default 5)": "Número de clases deseadas (predeterminadas 5)",
"Quantiles": "Cuantiles",
"Show this layer in the caption": "Mostrar esta capa en la leyenda",
"Back to preview": "Volver a la vista previa",
"Drawing": "Dibujo",
"Edit the title of the map": "Editar el título del mapa",
"Go to the homepage": "Ir a la página de inicio",
"Switch to edit mode": "Cambiar al modo de edición",
"Update who can see and edit the map": "Actualizar quién puede ver y editar el mapa",
"View": "Vista"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Kustuta see kujund",
"Delete this vertex (Alt+Click)": "Kustuta see tipp (Alt+Klõps)",
"Directions from here": "Juhised siit",
"Disable editing": "Lõpeta muutmine",
"Display measure": "Kuva suurus",
"Display on load": "Kuva laadimisel",
"Download": "Laadi alla",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Manusta ja jaga seda kaarti",
"Embed the map": "Manusta kaart",
"Empty": "Tühjenda",
"Enable editing": "Luba muutmine",
"Error in the tilelayer URL": "Vigane tausta URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Välju täisekraanist",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("et", locale)
L.setLocale("et")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Kustuta see kujund",
"Delete this vertex (Alt+Click)": "Kustuta see tipp (Alt+Klõps)",
"Directions from here": "Juhised siit",
"Disable editing": "Lõpeta muutmine",
"Display measure": "Kuva suurus",
"Display on load": "Kuva laadimisel",
"Download": "Laadi alla",
@ -164,7 +163,6 @@
"Embed and share this map": "Manusta ja jaga seda kaarti",
"Embed the map": "Manusta kaart",
"Empty": "Tühjenda",
"Enable editing": "Luba muutmine",
"Error in the tilelayer URL": "Vigane tausta URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Välju täisekraanist",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "این شکل را حذف کنید",
"Delete this vertex (Alt+Click)": "حذف این راس (Alt+Click)",
"Directions from here": "مسیرها از اینجا",
"Disable editing": "ویرایش را غیرفعال کنید",
"Display measure": "اندازه نمایش",
"Display on load": "نمایش روی بارگذاری",
"Download": "دانلود",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "این نقشه را جاسازی کرده و به اشتراک بگذارید",
"Embed the map": "نقشه را جاسازی کنید",
"Empty": "خالی",
"Enable editing": "ویرایش را فعال کنید",
"Error in the tilelayer URL": "خطا در آدرس اینترنتی لایه کاشی",
"Error while fetching {url}": "خطا هنگام واکشی {آدرس اینترنتی}",
"Exit Fullscreen": "خروج از تمام صفحه",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("fa_IR", locale)
L.setLocale("fa_IR")

View file

@ -143,7 +143,6 @@
"Delete this shape": "این شکل را حذف کنید",
"Delete this vertex (Alt+Click)": "حذف این راس (Alt+Click)",
"Directions from here": "مسیرها از اینجا",
"Disable editing": "ویرایش را غیرفعال کنید",
"Display measure": "اندازه نمایش",
"Display on load": "نمایش روی بارگذاری",
"Download": "دانلود",
@ -164,7 +163,6 @@
"Embed and share this map": "این نقشه را جاسازی کرده و به اشتراک بگذارید",
"Embed the map": "نقشه را جاسازی کنید",
"Empty": "خالی",
"Enable editing": "ویرایش را فعال کنید",
"Error in the tilelayer URL": "خطا در آدرس اینترنتی لایه کاشی",
"Error while fetching {url}": "خطا هنگام واکشی {آدرس اینترنتی}",
"Exit Fullscreen": "خروج از تمام صفحه",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Poista tämä muoto",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Ohjeet täältä",
"Disable editing": "Lopeta kartan muokaaminen",
"Display measure": "Display measure",
"Display on load": "Näytä ladattaessa",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Jaa tämä kartta tai käytä sitä muualla",
"Embed the map": "Liitä kartta",
"Empty": "Tyhjä",
"Enable editing": "Aktivoi kartan muokkaus",
"Error in the tilelayer URL": "Virhe karttalaattojen URL:ssä",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("fi", locale)
L.setLocale("fi")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Poista tämä muoto",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Ohjeet täältä",
"Disable editing": "Lopeta kartan muokaaminen",
"Display measure": "Display measure",
"Display on load": "Näytä ladattaessa",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Jaa tämä kartta tai käytä sitä muualla",
"Embed the map": "Liitä kartta",
"Empty": "Tyhjä",
"Enable editing": "Aktivoi kartan muokkaus",
"Error in the tilelayer URL": "Virhe karttalaattojen URL:ssä",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Supprimer ce tracé",
"Delete this vertex (Alt+Click)": "Supprimer ce point (Alt+Clic)",
"Directions from here": "Itinéraire à partir de ce lieu",
"Disable editing": "Désactiver l'édition",
"Display measure": "Afficher les dimensions",
"Display on load": "Afficher au chargement",
"Download": "Télécharger",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Exporter et partager la carte",
"Embed the map": "Intégrer la carte dans une iframe",
"Empty": "Vider",
"Enable editing": "Activer l'édition",
"Error in the tilelayer URL": "Erreur dans l'URL du fond de carte",
"Error while fetching {url}": "Erreur en appelant l'URL {url}",
"Exit Fullscreen": "Quitter le plein écran",
@ -225,7 +223,7 @@ const locale = {
"Optional intensity property for heatmap": "Propriété optionnelle à utiliser pour calculer l'intensité de la heatmap",
"Optional. Same as color if not set.": "Optionnel. La couleur principale sera utilisée si laissé vide.",
"Override clustering radius (default 80)": "Valeur de rayon personnalisée pour le cluster (par défaut : 80)",
"Override heatmap radius (default 25)": "Valeur de rayon personnalisée pour la heatmap (par défaut : 80)",
"Override heatmap radius (default 25)": "Valeur de rayon personnalisée pour la heatmap (par défaut : 25)",
"Please be sure the licence is compliant with your use.": "Pensez à vérifier que la licence de ces données vous autorise à les utiliser.",
"Please choose a format": "Merci de choisir un format",
"Please enter the name of the property": "Merci d'entrer le nom de la propriété",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*simple astérisque pour italique*",
"--- for a horizontal rule": "--- pour un séparateur horizontal",
"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}\")": "Nom de la propriété utilisée pour le libellé (ex.: \"nom\"). Il est possible d'utiliser des propriétés entre accolades pour en utiliser plusieurs ou ajouter du texte (ex.: \"{nom} à {lieu}\")",
"Cancel all": "Tout annuler",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Liste de propriétés séparées par des virgules pour calculer les facettes (ex.: macle,monautrecle). Pour définir un libellé, on peut l'ajouter après un | (ex.: macle|Ma Clé,monautrecle|Mon Autre Clé)",
"Default view": "Vue par défaut",
"Facet keys": "Clés pour les facettes",
@ -407,11 +404,31 @@ const locale = {
"Search": "Chercher",
"Toggle direct input (advanced)": "Afficher le champ libre (avancé)",
"Datalayers": "Calques",
"Delete map": "Supprimer la carte",
"Secret edit link:": "Lien d'édition secret :",
"Who can edit \"{layer}\"": "Qui peut modifier « {layer} »",
"Current map view": "Lister seulement les éléments visibles",
"Filter": "Filtrer"
"Filter": "Filtrer",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Seuils choropleth",
"Choropleth classes": "Classes choropleth",
"Choropleth color palette": "Palettes de couleurs choropleth",
"Choropleth mode": "Mode choropleth",
"Choropleth property value": "Propriété choropleth",
"Comma separated list of numbers, including min and max values.": "Liste de nombres séparés par des virgules, y compris les valeurs minimale et maximale.",
"Equidistant": "Équidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-moyennes",
"Manual": "Manuel",
"Number of desired classes (default 5)": "Nombre désiré de classes (par défaut 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Montrer ce calque dans la légende",
"Back to preview": "Voir l'aperçu",
"Drawing": "Modification",
"Edit the title of the map": "Modifier le titre de la carte",
"Go to the homepage": "Retour à la page d'accueil",
"Switch to edit mode": "Basculer en mode édition",
"Update who can see and edit the map": "Définir qui peut voir et modifier la carte",
"View": "Aperçu"
}
L.registerLocale("fr", locale)
L.setLocale("fr")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Supprimer ce tracé",
"Delete this vertex (Alt+Click)": "Supprimer ce point (Alt+Clic)",
"Directions from here": "Itinéraire à partir de ce lieu",
"Disable editing": "Désactiver l'édition",
"Display measure": "Afficher les dimensions",
"Display on load": "Afficher au chargement",
"Download": "Télécharger",
@ -164,7 +163,6 @@
"Embed and share this map": "Exporter et partager la carte",
"Embed the map": "Intégrer la carte dans une iframe",
"Empty": "Vider",
"Enable editing": "Activer l'édition",
"Error in the tilelayer URL": "Erreur dans l'URL du fond de carte",
"Error while fetching {url}": "Erreur en appelant l'URL {url}",
"Exit Fullscreen": "Quitter le plein écran",
@ -225,7 +223,7 @@
"Optional intensity property for heatmap": "Propriété optionnelle à utiliser pour calculer l'intensité de la heatmap",
"Optional. Same as color if not set.": "Optionnel. La couleur principale sera utilisée si laissé vide.",
"Override clustering radius (default 80)": "Valeur de rayon personnalisée pour le cluster (par défaut : 80)",
"Override heatmap radius (default 25)": "Valeur de rayon personnalisée pour la heatmap (par défaut : 80)",
"Override heatmap radius (default 25)": "Valeur de rayon personnalisée pour la heatmap (par défaut : 25)",
"Please be sure the licence is compliant with your use.": "Pensez à vérifier que la licence de ces données vous autorise à les utiliser.",
"Please choose a format": "Merci de choisir un format",
"Please enter the name of the property": "Merci d'entrer le nom de la propriété",
@ -387,7 +385,6 @@
"*single star for italic*": "*simple astérisque pour italique*",
"--- for a horizontal rule": "--- pour un séparateur horizontal",
"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}\")": "Nom de la propriété utilisée pour le libellé (ex.: \"nom\"). Il est possible d'utiliser des propriétés entre accolades pour en utiliser plusieurs ou ajouter du texte (ex.: \"{nom} à {lieu}\")",
"Cancel all": "Tout annuler",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Liste de propriétés séparées par des virgules pour calculer les facettes (ex.: macle,monautrecle). Pour définir un libellé, on peut l'ajouter après un | (ex.: macle|Ma Clé,monautrecle|Mon Autre Clé)",
"Default view": "Vue par défaut",
"Facet keys": "Clés pour les facettes",
@ -407,9 +404,29 @@
"Search": "Chercher",
"Toggle direct input (advanced)": "Afficher le champ libre (avancé)",
"Datalayers": "Calques",
"Delete map": "Supprimer la carte",
"Secret edit link:": "Lien d'édition secret :",
"Who can edit \"{layer}\"": "Qui peut modifier « {layer} »",
"Current map view": "Lister seulement les éléments visibles",
"Filter": "Filtrer"
"Filter": "Filtrer",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Seuils choropleth",
"Choropleth classes": "Classes choropleth",
"Choropleth color palette": "Palettes de couleurs choropleth",
"Choropleth mode": "Mode choropleth",
"Choropleth property value": "Propriété choropleth",
"Comma separated list of numbers, including min and max values.": "Liste de nombres séparés par des virgules, y compris les valeurs minimale et maximale.",
"Equidistant": "Équidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-moyennes",
"Manual": "Manuel",
"Number of desired classes (default 5)": "Nombre désiré de classes (par défaut 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Montrer ce calque dans la légende",
"Back to preview": "Voir l'aperçu",
"Drawing": "Modification",
"Edit the title of the map": "Modifier le titre de la carte",
"Go to the homepage": "Retour à la page d'accueil",
"Switch to edit mode": "Basculer en mode édition",
"Update who can see and edit the map": "Définir qui peut voir et modifier la carte",
"View": "Aperçu"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Eliminar esta forma",
"Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clic)",
"Directions from here": "Direccións dende aquí",
"Disable editing": "Desabilitar a edición",
"Display measure": "Amosar medida",
"Display on load": "Amosar ó cargar",
"Download": "Baixar",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Incorporar e compartir este mapa",
"Embed the map": "Incorporar o mapa",
"Empty": "Baleirar",
"Enable editing": "Activar a edición",
"Error in the tilelayer URL": "Erro na URL da capa de teselas",
"Error while fetching {url}": "Erro ó recuperar {url}",
"Exit Fullscreen": "Saír da pantalla completa",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("gl", locale)
L.setLocale("gl")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Eliminar esta forma",
"Delete this vertex (Alt+Click)": "Eliminar este vértice (Alt+Clic)",
"Directions from here": "Direccións dende aquí",
"Disable editing": "Desabilitar a edición",
"Display measure": "Amosar medida",
"Display on load": "Amosar ó cargar",
"Download": "Baixar",
@ -164,7 +163,6 @@
"Embed and share this map": "Incorporar e compartir este mapa",
"Embed the map": "Incorporar o mapa",
"Empty": "Baleirar",
"Enable editing": "Activar a edición",
"Error in the tilelayer URL": "Erro na URL da capa de teselas",
"Error while fetching {url}": "Erro ó recuperar {url}",
"Exit Fullscreen": "Saír da pantalla completa",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "מחיקת הצורה הזו",
"Delete this vertex (Alt+Click)": "מחיקת הקודקוד הזה (Alt+לחיצה)",
"Directions from here": "הכוונה מכאן",
"Disable editing": "השבתת עריכה",
"Display measure": "הצגת מדידה",
"Display on load": "הצגה עם הטעינה",
"Download": "הורדה",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "הטמעה ושיתוף מפה זו",
"Embed the map": "הטמעת המפה",
"Empty": "לרוקן",
"Enable editing": "הפעלת עריכה",
"Error in the tilelayer URL": "שגיאה בכתובת שכבת האריחים",
"Error while fetching {url}": "שגיאה בקבלת {url}",
"Exit Fullscreen": "יציאה ממסך מלא",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("he", locale)
L.setLocale("he")

View file

@ -143,7 +143,6 @@
"Delete this shape": "מחיקת הצורה הזו",
"Delete this vertex (Alt+Click)": "מחיקת הקודקוד הזה (Alt+לחיצה)",
"Directions from here": "הכוונה מכאן",
"Disable editing": "השבתת עריכה",
"Display measure": "הצגת מדידה",
"Display on load": "הצגה עם הטעינה",
"Download": "הורדה",
@ -164,7 +163,6 @@
"Embed and share this map": "הטמעה ושיתוף מפה זו",
"Embed the map": "הטמעת המפה",
"Empty": "לרוקן",
"Enable editing": "הפעלת עריכה",
"Error in the tilelayer URL": "שגיאה בכתובת שכבת האריחים",
"Error while fetching {url}": "שגיאה בקבלת {url}",
"Exit Fullscreen": "יציאה ממסך מלא",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Onemogući uređivanje",
"Display measure": "Display measure",
"Display on load": "Prikaži kod učitavanja",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Embed and share this map",
"Embed the map": "Ugradi kartu",
"Empty": "Empty",
"Enable editing": "Omogući uređivanje",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("hr", locale)
L.setLocale("hr")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Onemogući uređivanje",
"Display measure": "Display measure",
"Display on load": "Prikaži kod učitavanja",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Embed and share this map",
"Embed the map": "Ugradi kartu",
"Empty": "Empty",
"Enable editing": "Omogući uređivanje",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Alakzat törlése",
"Delete this vertex (Alt+Click)": "Sarokpont törlése (Alt+Klikk)",
"Directions from here": "Irányok innen",
"Disable editing": "Szerkesztés befejezése",
"Display measure": "Távolságmérő megjelenítése",
"Display on load": "Megjelenítés betöltéskor",
"Download": "Letöltés",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Térkép beágyazása és megosztása",
"Embed the map": "Térkép beágyazása",
"Empty": "Kiürítés",
"Enable editing": "Szerkesztés engedélyezése",
"Error in the tilelayer URL": "Hiba a mozaikréteg URL-jében",
"Error while fetching {url}": "Hiba történt e webcím beolvasásakor: {url}",
"Exit Fullscreen": "Kilépés a teljes képernyős nézetből",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("hu", locale)
L.setLocale("hu")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Alakzat törlése",
"Delete this vertex (Alt+Click)": "Sarokpont törlése (Alt+Klikk)",
"Directions from here": "Irányok innen",
"Disable editing": "Szerkesztés befejezése",
"Display measure": "Távolságmérő megjelenítése",
"Display on load": "Megjelenítés betöltéskor",
"Download": "Letöltés",
@ -164,7 +163,6 @@
"Embed and share this map": "Térkép beágyazása és megosztása",
"Embed the map": "Térkép beágyazása",
"Empty": "Kiürítés",
"Enable editing": "Szerkesztés engedélyezése",
"Error in the tilelayer URL": "Hiba a mozaikréteg URL-jében",
"Error while fetching {url}": "Hiba történt e webcím beolvasásakor: {url}",
"Exit Fullscreen": "Kilépés a teljes képernyős nézetből",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("id", locale)
L.setLocale("id")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Eyða þessari lögun",
"Delete this vertex (Alt+Click)": "Eyða þessum brotpunkti (Alt+Smella)",
"Directions from here": "Leiðir héðan",
"Disable editing": "Gera breytingar óvirkar",
"Display measure": "Birta lengdarmæli",
"Display on load": "Birta við innhleðslu",
"Download": "Sækja",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Setja inn á vefsíðu og deila þessu korti",
"Embed the map": "Setja landakortið inn á vefsíðu",
"Empty": "Tómt",
"Enable editing": "Virkja breytingar",
"Error in the tilelayer URL": "Villa í slóð kortatíglalags",
"Error while fetching {url}": "Villa við að sækja {url}",
"Exit Fullscreen": "Hætta í skjáfylli",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("is", locale)
L.setLocale("is")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Eyða þessari lögun",
"Delete this vertex (Alt+Click)": "Eyða þessum brotpunkti (Alt+Smella)",
"Directions from here": "Leiðir héðan",
"Disable editing": "Gera breytingar óvirkar",
"Display measure": "Birta lengdarmæli",
"Display on load": "Birta við innhleðslu",
"Download": "Sækja",
@ -164,7 +163,6 @@
"Embed and share this map": "Setja inn á vefsíðu og deila þessu korti",
"Embed the map": "Setja landakortið inn á vefsíðu",
"Empty": "Tómt",
"Enable editing": "Virkja breytingar",
"Error in the tilelayer URL": "Villa í slóð kortatíglalags",
"Error while fetching {url}": "Villa við að sækja {url}",
"Exit Fullscreen": "Hætta í skjáfylli",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Cancella questa forma",
"Delete this vertex (Alt+Click)": "Elimina questo vertice (Alt+Clic)",
"Directions from here": "Indicazioni stradali da qui",
"Disable editing": "Disabilita la modifica",
"Display measure": "Calcola le distanze",
"Display on load": "Mostra al caricamento",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Includi e condividi questa mappa",
"Embed the map": "Includi la mappa",
"Empty": "Vuoto",
"Enable editing": "Abilita la modifica",
"Error in the tilelayer URL": "Errore nell'URL nel servizio di tile",
"Error while fetching {url}": "Errore nel nel recupero da {url}",
"Exit Fullscreen": "Esci da Schermo intero",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*un solo asterisco per il corsivo*",
"--- for a horizontal rule": "--- per una linea orizzontale",
"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}\")": "Il nome della proprietà da utilizzare come etichetta (es.: \"nome\"). Puoi anche essere utilizzata una proprietà tra parentesi per usarne più di una o combinarle con contenuto statico (ad esempio: \"{nome} in {luogo}\")",
"Cancel all": "Cancella tutto",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Elenco separato da virgole di proprietà da utilizzare per la ricerca a faccette (es.: miocampo,altrocampo). Per personalizzare l'etichetta va messo un | subito dopo (es.: miocampo|Il mio campo, altrocampo|Altro campo)",
"Default view": "Vista predefinita",
"Facet keys": "Campi delle faccette",
@ -401,17 +398,37 @@ const locale = {
"Visibility: {status}": "Visibilità: {status}",
"Fit all data": "Adatta tutti i dati",
"Verify remote URL": "Verifica URL remota",
"Add": "Add",
"Change": "Change",
"Powered by uMap": "Powered by uMap",
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Add": "Aggiungi",
"Change": "Cambia",
"Powered by uMap": "Alimentato da uMap",
"Search": "Ricerca",
"Toggle direct input (advanced)": "Attiva/disattiva input diretto (avanzato)",
"Datalayers": "Strati di dati",
"Secret edit link:": "Link segreto per editare:",
"Who can edit \"{layer}\"": "Chi può editare \"{layer}\"",
"Current map view": "Vista corrente della mappa",
"Filter": "Filtra",
"Choropleth": "Coropletica",
"Choropleth breakpoints": "Punti di interruzione coropletici",
"Choropleth classes": "Classi coropletiche",
"Choropleth color palette": "Palett dei colori coropletici",
"Choropleth mode": "Modo coropletico",
"Choropleth property value": "Valore della proprietà coropletica",
"Comma separated list of numbers, including min and max values.": "Lista dei numeri separati da virgola, che includono i valori minimi e massimi",
"Equidistant": "Equidistante",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manuale",
"Number of desired classes (default 5)": "Numero di classi desiderate (default 5)",
"Quantiles": "Quantili",
"Show this layer in the caption": "Mostra questo livello nella didascalia",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("it", locale)
L.setLocale("it")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Cancella questa forma",
"Delete this vertex (Alt+Click)": "Elimina questo vertice (Alt+Clic)",
"Directions from here": "Indicazioni stradali da qui",
"Disable editing": "Disabilita la modifica",
"Display measure": "Calcola le distanze",
"Display on load": "Mostra al caricamento",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Includi e condividi questa mappa",
"Embed the map": "Includi la mappa",
"Empty": "Vuoto",
"Enable editing": "Abilita la modifica",
"Error in the tilelayer URL": "Errore nell'URL nel servizio di tile",
"Error while fetching {url}": "Errore nel nel recupero da {url}",
"Exit Fullscreen": "Esci da Schermo intero",
@ -387,7 +385,6 @@
"*single star for italic*": "*un solo asterisco per il corsivo*",
"--- for a horizontal rule": "--- per una linea orizzontale",
"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}\")": "Il nome della proprietà da utilizzare come etichetta (es.: \"nome\"). Puoi anche essere utilizzata una proprietà tra parentesi per usarne più di una o combinarle con contenuto statico (ad esempio: \"{nome} in {luogo}\")",
"Cancel all": "Cancella tutto",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Elenco separato da virgole di proprietà da utilizzare per la ricerca a faccette (es.: miocampo,altrocampo). Per personalizzare l'etichetta va messo un | subito dopo (es.: miocampo|Il mio campo, altrocampo|Altro campo)",
"Default view": "Vista predefinita",
"Facet keys": "Campi delle faccette",
@ -401,15 +398,35 @@
"Visibility: {status}": "Visibilità: {status}",
"Fit all data": "Adatta tutti i dati",
"Verify remote URL": "Verifica URL remota",
"Add": "Add",
"Change": "Change",
"Powered by uMap": "Powered by uMap",
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Add": "Aggiungi",
"Change": "Cambia",
"Powered by uMap": "Alimentato da uMap",
"Search": "Ricerca",
"Toggle direct input (advanced)": "Attiva/disattiva input diretto (avanzato)",
"Datalayers": "Strati di dati",
"Secret edit link:": "Link segreto per editare:",
"Who can edit \"{layer}\"": "Chi può editare \"{layer}\"",
"Current map view": "Vista corrente della mappa",
"Filter": "Filtra",
"Choropleth": "Coropletica",
"Choropleth breakpoints": "Punti di interruzione coropletici",
"Choropleth classes": "Classi coropletiche",
"Choropleth color palette": "Palett dei colori coropletici",
"Choropleth mode": "Modo coropletico",
"Choropleth property value": "Valore della proprietà coropletica",
"Comma separated list of numbers, including min and max values.": "Lista dei numeri separati da virgola, che includono i valori minimi e massimi",
"Equidistant": "Equidistante",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manuale",
"Number of desired classes (default 5)": "Numero di classi desiderate (default 5)",
"Quantiles": "Quantili",
"Show this layer in the caption": "Mostra questo livello nella didascalia",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "このシェイプを削除",
"Delete this vertex (Alt+Click)": "このポイントを削除(Altを押しながらクリック)",
"Directions from here": "ここからの距離",
"Disable editing": "編集を終了",
"Display measure": "Display measure",
"Display on load": "読み込み時に表示",
"Download": "ダンロード",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "サイトへのマップ埋め込みと共有",
"Embed the map": "マップ埋め込み",
"Empty": "内容なし",
"Enable editing": "編集を有効化",
"Error in the tilelayer URL": "タイルレイヤのURLに誤りがあります",
"Error while fetching {url}": "{url} の取得エラー",
"Exit Fullscreen": "フルスクリーン表示を解除",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("ja", locale)
L.setLocale("ja")

View file

@ -143,7 +143,6 @@
"Delete this shape": "このシェイプを削除",
"Delete this vertex (Alt+Click)": "このポイントを削除(Altを押しながらクリック)",
"Directions from here": "ここからの距離",
"Disable editing": "編集を終了",
"Display measure": "Display measure",
"Display on load": "読み込み時に表示",
"Download": "ダンロード",
@ -164,7 +163,6 @@
"Embed and share this map": "サイトへのマップ埋め込みと共有",
"Embed the map": "マップ埋め込み",
"Empty": "内容なし",
"Enable editing": "編集を有効化",
"Error in the tilelayer URL": "タイルレイヤのURLに誤りがあります",
"Error while fetching {url}": "{url} の取得エラー",
"Exit Fullscreen": "フルスクリーン表示を解除",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("ko", locale)
L.setLocale("ko")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Directions from here",
"Disable editing": "Disable editing",
"Display measure": "Display measure",
"Display on load": "Display on load",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Embed and share this map",
"Embed the map": "Embed the map",
"Empty": "Empty",
"Enable editing": "Enable editing",
"Error in the tilelayer URL": "Error in the tilelayer URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Nuorodos iš šio taško",
"Disable editing": "Uždrausti redagavimą",
"Display measure": "Display measure",
"Display on load": "Rodyti pasikrovus",
"Download": "Download",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Įkelti ir dalintis šiuo žemėlapiu",
"Embed the map": "Įsikelti šį žemėlapį",
"Empty": "Tuščias",
"Enable editing": "Leisti redaguoti",
"Error in the tilelayer URL": "Klaida tile-sluoksnio URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("lt", locale)
L.setLocale("lt")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Delete this shape",
"Delete this vertex (Alt+Click)": "Delete this vertex (Alt+Click)",
"Directions from here": "Nuorodos iš šio taško",
"Disable editing": "Uždrausti redagavimą",
"Display measure": "Display measure",
"Display on load": "Rodyti pasikrovus",
"Download": "Download",
@ -164,7 +163,6 @@
"Embed and share this map": "Įkelti ir dalintis šiuo žemėlapiu",
"Embed the map": "Įsikelti šį žemėlapį",
"Empty": "Tuščias",
"Enable editing": "Leisti redaguoti",
"Error in the tilelayer URL": "Klaida tile-sluoksnio URL",
"Error while fetching {url}": "Error while fetching {url}",
"Exit Fullscreen": "Exit Fullscreen",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Padam bentuk ini",
"Delete this vertex (Alt+Click)": "Padam bucu ini (Alt+Klik)",
"Directions from here": "Arah dari sini",
"Disable editing": "Lumpuhkan suntingan",
"Display measure": "Paparkan ukuran",
"Display on load": "Paparkan semasa dimuatkan",
"Download": "Muat turun",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Benam dan kongsi peta ini",
"Embed the map": "Benamkan peta",
"Empty": "Kosongkan",
"Enable editing": "Bolehkan suntingan",
"Error in the tilelayer URL": "Ralat dalam URL lapisan jubin",
"Error while fetching {url}": "Ralat ketika mengambil {url}",
"Exit Fullscreen": "Keluar Skrin Penuh",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*bintang tunggal untuk tulisan condong*",
"--- for a horizontal rule": "--- untuk garis melintang",
"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}\")": "Nama bagi ciri untuk digunakan sebagai label sifat (cth.: \"nom\"). Anda juga boleh gunakan ciri-ciri dalam kurungan dakap untuk guna lebih daripada satu ciri atau untuk gabung dengan kandungan statik (cth.: \"{name} di {place}\")",
"Cancel all": "Batal semua",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Senarai berpisahkan koma bagi ciri-ciri untuk digunakan ketika menggelintar faset (cth.: kekuncisaya,kekuncilain). Untuk mengawal label, tambahkannya selepas tanda | (cth.: kekuncisaya|Kekunci Saya,kekuncilain|Kekunci Lain)",
"Default view": "Paparan lalai",
"Facet keys": "Kekunci faset",
@ -407,11 +404,31 @@ const locale = {
"Search": "Cari",
"Toggle direct input (advanced)": "Togol input terus (lanjutan)",
"Datalayers": "Lapisan data",
"Delete map": "Padam peta",
"Secret edit link:": "Pautan suntingan rahsia:",
"Who can edit \"{layer}\"": "Siapa boleh sunting \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Current map view": "Paparan peta semasa",
"Filter": "Tapis",
"Choropleth": "Koroplet",
"Choropleth breakpoints": "Titik putus koroplet",
"Choropleth classes": "Kelas koroplet",
"Choropleth color palette": "Palet warna koroplet",
"Choropleth mode": "Mod koroplet",
"Choropleth property value": "Nilai ciri koroplet",
"Comma separated list of numbers, including min and max values.": "Senarai nombor, dipisahkan dengan koma, termasuk nilai minimum dan maksimum.",
"Equidistant": "Sama jarak",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "Cara K",
"Manual": "Manual",
"Number of desired classes (default 5)": "Jumlah kelas yang diingini (lalainya 5)",
"Quantiles": "Kuantil",
"Show this layer in the caption": "Tunjuk lapisan ini dalam keterangan",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("ms", locale)
L.setLocale("ms")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Padam bentuk ini",
"Delete this vertex (Alt+Click)": "Padam bucu ini (Alt+Klik)",
"Directions from here": "Arah dari sini",
"Disable editing": "Lumpuhkan suntingan",
"Display measure": "Paparkan ukuran",
"Display on load": "Paparkan semasa dimuatkan",
"Download": "Muat turun",
@ -164,7 +163,6 @@
"Embed and share this map": "Benam dan kongsi peta ini",
"Embed the map": "Benamkan peta",
"Empty": "Kosongkan",
"Enable editing": "Bolehkan suntingan",
"Error in the tilelayer URL": "Ralat dalam URL lapisan jubin",
"Error while fetching {url}": "Ralat ketika mengambil {url}",
"Exit Fullscreen": "Keluar Skrin Penuh",
@ -387,7 +385,6 @@
"*single star for italic*": "*bintang tunggal untuk tulisan condong*",
"--- for a horizontal rule": "--- untuk garis melintang",
"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}\")": "Nama bagi ciri untuk digunakan sebagai label sifat (cth.: \"nom\"). Anda juga boleh gunakan ciri-ciri dalam kurungan dakap untuk guna lebih daripada satu ciri atau untuk gabung dengan kandungan statik (cth.: \"{name} di {place}\")",
"Cancel all": "Batal semua",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Senarai berpisahkan koma bagi ciri-ciri untuk digunakan ketika menggelintar faset (cth.: kekuncisaya,kekuncilain). Untuk mengawal label, tambahkannya selepas tanda | (cth.: kekuncisaya|Kekunci Saya,kekuncilain|Kekunci Lain)",
"Default view": "Paparan lalai",
"Facet keys": "Kekunci faset",
@ -407,9 +404,29 @@
"Search": "Cari",
"Toggle direct input (advanced)": "Togol input terus (lanjutan)",
"Datalayers": "Lapisan data",
"Delete map": "Padam peta",
"Secret edit link:": "Pautan suntingan rahsia:",
"Who can edit \"{layer}\"": "Siapa boleh sunting \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Current map view": "Paparan peta semasa",
"Filter": "Tapis",
"Choropleth": "Koroplet",
"Choropleth breakpoints": "Titik putus koroplet",
"Choropleth classes": "Kelas koroplet",
"Choropleth color palette": "Palet warna koroplet",
"Choropleth mode": "Mod koroplet",
"Choropleth property value": "Nilai ciri koroplet",
"Comma separated list of numbers, including min and max values.": "Senarai nombor, dipisahkan dengan koma, termasuk nilai minimum dan maksimum.",
"Equidistant": "Sama jarak",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "Cara K",
"Manual": "Manual",
"Number of desired classes (default 5)": "Jumlah kelas yang diingini (lalainya 5)",
"Quantiles": "Kuantil",
"Show this layer in the caption": "Tunjuk lapisan ini dalam keterangan",
"Back to preview": "Kembali ke pralihat",
"Drawing": "Lukisan",
"Edit the title of the map": "Sunting tajuk peta",
"Go to the homepage": "Pergi ke halaman utama",
"Switch to edit mode": "Tukar ke mod suntingan",
"Update who can see and edit the map": "Kemas kini siapa boleh lihat dan sunting peta",
"View": "Lihat"
}

View file

@ -143,7 +143,6 @@ const locale = {
"Delete this shape": "Verwijder deze vorm",
"Delete this vertex (Alt+Click)": "Verwijder dit knooppunt (Alt+Click)",
"Directions from here": "Wegbeschrijving vanaf hier",
"Disable editing": "Bewerken uitschakelen",
"Display measure": "Toon meting",
"Display on load": "Tonen bij laden",
"Download": "Downloaden",
@ -164,7 +163,6 @@ const locale = {
"Embed and share this map": "Deze kaart insluiten en delen",
"Embed the map": "Kaart inbedden",
"Empty": "Leeg",
"Enable editing": "Bewerken inschakelen",
"Error in the tilelayer URL": "Er is een fout opgetreden met de achtergrondtegels",
"Error while fetching {url}": "Fout bij ophalen {url}",
"Exit Fullscreen": "Verlaat volledig scherm",
@ -387,7 +385,6 @@ const locale = {
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,11 +404,31 @@ const locale = {
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}
L.registerLocale("nl", locale)
L.setLocale("nl")

View file

@ -143,7 +143,6 @@
"Delete this shape": "Verwijder deze vorm",
"Delete this vertex (Alt+Click)": "Verwijder dit knooppunt (Alt+Click)",
"Directions from here": "Wegbeschrijving vanaf hier",
"Disable editing": "Bewerken uitschakelen",
"Display measure": "Toon meting",
"Display on load": "Tonen bij laden",
"Download": "Downloaden",
@ -164,7 +163,6 @@
"Embed and share this map": "Deze kaart insluiten en delen",
"Embed the map": "Kaart inbedden",
"Empty": "Leeg",
"Enable editing": "Bewerken inschakelen",
"Error in the tilelayer URL": "Er is een fout opgetreden met de achtergrondtegels",
"Error while fetching {url}": "Fout bij ophalen {url}",
"Exit Fullscreen": "Verlaat volledig scherm",
@ -387,7 +385,6 @@
"*single star for italic*": "*single star for italic*",
"--- for a horizontal rule": "--- for a horizontal rule",
"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}\")": "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}\")",
"Cancel all": "Cancel all",
"Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)": "Comma separated list of properties to use for facet search (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key)",
"Default view": "Default view",
"Facet keys": "Facet keys",
@ -407,9 +404,29 @@
"Search": "Search",
"Toggle direct input (advanced)": "Toggle direct input (advanced)",
"Datalayers": "Datalayers",
"Delete map": "Delete map",
"Secret edit link:": "Secret edit link:",
"Who can edit \"{layer}\"": "Who can edit \"{layer}\"",
"Current map view": "Current map view",
"Filter": "Filter"
"Filter": "Filter",
"Choropleth": "Choropleth",
"Choropleth breakpoints": "Choropleth breakpoints",
"Choropleth classes": "Choropleth classes",
"Choropleth color palette": "Choropleth color palette",
"Choropleth mode": "Choropleth mode",
"Choropleth property value": "Choropleth property value",
"Comma separated list of numbers, including min and max values.": "Comma separated list of numbers, including min and max values.",
"Equidistant": "Equidistant",
"Jenks-Fisher": "Jenks-Fisher",
"K-means": "K-means",
"Manual": "Manual",
"Number of desired classes (default 5)": "Number of desired classes (default 5)",
"Quantiles": "Quantiles",
"Show this layer in the caption": "Show this layer in the caption",
"Back to preview": "Back to preview",
"Drawing": "Drawing",
"Edit the title of the map": "Edit the title of the map",
"Go to the homepage": "Go to the homepage",
"Switch to edit mode": "Switch to edit mode",
"Update who can see and edit the map": "Update who can see and edit the map",
"View": "View"
}

Some files were not shown because too many files have changed in this diff Show more