umap-project 2.3.1__py3-none-any.whl → 2.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of umap-project might be problematic. Click here for more details.
- umap/__init__.py +1 -1
- umap/locale/en/LC_MESSAGES/django.po +81 -31
- umap/locale/fr/LC_MESSAGES/django.mo +0 -0
- umap/locale/fr/LC_MESSAGES/django.po +117 -66
- umap/management/commands/run_websocket_server.py +23 -0
- umap/models.py +6 -1
- umap/settings/base.py +11 -3
- umap/static/umap/base.css +64 -184
- umap/static/umap/content.css +3 -2
- umap/static/umap/css/dialog.css +18 -0
- umap/static/umap/css/icon.css +8 -0
- umap/static/umap/css/importers.css +51 -0
- umap/static/umap/css/panel.css +18 -57
- umap/static/umap/css/tooltip.css +59 -0
- umap/static/umap/css/window.css +35 -0
- umap/static/umap/img/16-white.svg +1 -3
- umap/static/umap/img/alert-icon-error.svg +8 -0
- umap/static/umap/img/alert-icon-info.svg +4 -0
- umap/static/umap/img/alert-icon-success.svg +3 -0
- umap/static/umap/img/icon-external-link.svg +3 -0
- umap/static/umap/img/importers/communesfr.svg +5 -0
- umap/static/umap/img/importers/datasets.svg +13 -0
- umap/static/umap/img/importers/geodatamine.svg +10 -0
- umap/static/umap/img/importers/overpass.svg +7 -0
- umap/static/umap/img/importers/random.svg +18 -0
- umap/static/umap/img/importers/random1.svg +4 -0
- umap/static/umap/img/importers/random2.svg +4 -0
- umap/static/umap/img/source/16-white.svg +2 -4
- umap/static/umap/js/components/alerts/alert.css +160 -0
- umap/static/umap/js/components/alerts/alert.js +169 -0
- umap/static/umap/js/components/base.js +54 -0
- umap/static/umap/js/modules/autocomplete.js +347 -0
- umap/static/umap/js/modules/browser.js +6 -6
- umap/static/umap/js/modules/caption.js +5 -4
- umap/static/umap/js/modules/global.js +36 -12
- umap/static/umap/js/modules/help.js +255 -0
- umap/static/umap/js/modules/importer.js +308 -0
- umap/static/umap/js/modules/importers/communesfr.js +44 -0
- umap/static/umap/js/modules/importers/datasets.js +42 -0
- umap/static/umap/js/modules/importers/geodatamine.js +95 -0
- umap/static/umap/js/modules/importers/overpass.js +84 -0
- umap/static/umap/js/modules/request.js +12 -14
- umap/static/umap/js/modules/rules.js +241 -0
- umap/static/umap/js/modules/schema.js +63 -14
- umap/static/umap/js/modules/sync/engine.js +93 -0
- umap/static/umap/js/modules/sync/updaters.js +109 -0
- umap/static/umap/js/modules/sync/websocket.js +25 -0
- umap/static/umap/js/modules/ui/dialog.js +52 -0
- umap/static/umap/js/modules/{panel.js → ui/panel.js} +25 -14
- umap/static/umap/js/modules/ui/tooltip.js +116 -0
- umap/static/umap/js/modules/utils.js +25 -18
- umap/static/umap/js/umap.controls.js +13 -14
- umap/static/umap/js/umap.core.js +1 -324
- umap/static/umap/js/umap.features.js +77 -29
- umap/static/umap/js/umap.forms.js +9 -13
- umap/static/umap/js/umap.js +254 -215
- umap/static/umap/js/umap.layer.js +152 -74
- umap/static/umap/js/umap.permissions.js +5 -9
- umap/static/umap/js/umap.popup.js +1 -1
- umap/static/umap/js/umap.tableeditor.js +8 -8
- umap/static/umap/locale/am_ET.js +51 -16
- umap/static/umap/locale/am_ET.json +51 -16
- umap/static/umap/locale/ar.js +51 -16
- umap/static/umap/locale/ar.json +51 -16
- umap/static/umap/locale/ast.js +51 -16
- umap/static/umap/locale/ast.json +51 -16
- umap/static/umap/locale/bg.js +51 -16
- umap/static/umap/locale/bg.json +51 -16
- umap/static/umap/locale/br.js +55 -20
- umap/static/umap/locale/br.json +55 -20
- umap/static/umap/locale/ca.js +51 -16
- umap/static/umap/locale/ca.json +51 -16
- umap/static/umap/locale/cs_CZ.js +93 -58
- umap/static/umap/locale/cs_CZ.json +93 -58
- umap/static/umap/locale/da.js +51 -16
- umap/static/umap/locale/da.json +51 -16
- umap/static/umap/locale/de.js +56 -21
- umap/static/umap/locale/de.json +56 -21
- umap/static/umap/locale/el.js +51 -16
- umap/static/umap/locale/el.json +51 -16
- umap/static/umap/locale/en.js +52 -16
- umap/static/umap/locale/en.json +52 -16
- umap/static/umap/locale/en_US.json +51 -16
- umap/static/umap/locale/es.js +51 -16
- umap/static/umap/locale/es.json +51 -16
- umap/static/umap/locale/et.js +51 -16
- umap/static/umap/locale/et.json +51 -16
- umap/static/umap/locale/eu.js +51 -16
- umap/static/umap/locale/eu.json +51 -16
- umap/static/umap/locale/fa_IR.js +51 -16
- umap/static/umap/locale/fa_IR.json +51 -16
- umap/static/umap/locale/fi.js +51 -16
- umap/static/umap/locale/fi.json +51 -16
- umap/static/umap/locale/fr.js +61 -25
- umap/static/umap/locale/fr.json +61 -25
- umap/static/umap/locale/gl.js +51 -16
- umap/static/umap/locale/gl.json +51 -16
- umap/static/umap/locale/he.js +51 -16
- umap/static/umap/locale/he.json +51 -16
- umap/static/umap/locale/hr.js +51 -16
- umap/static/umap/locale/hr.json +51 -16
- umap/static/umap/locale/hu.js +51 -16
- umap/static/umap/locale/hu.json +51 -16
- umap/static/umap/locale/id.js +51 -16
- umap/static/umap/locale/id.json +51 -16
- umap/static/umap/locale/is.js +51 -16
- umap/static/umap/locale/is.json +51 -16
- umap/static/umap/locale/it.js +51 -16
- umap/static/umap/locale/it.json +51 -16
- umap/static/umap/locale/ja.js +51 -16
- umap/static/umap/locale/ja.json +51 -16
- umap/static/umap/locale/ko.js +51 -16
- umap/static/umap/locale/ko.json +51 -16
- umap/static/umap/locale/lt.js +51 -16
- umap/static/umap/locale/lt.json +51 -16
- umap/static/umap/locale/ms.js +51 -16
- umap/static/umap/locale/ms.json +51 -16
- umap/static/umap/locale/nl.js +51 -16
- umap/static/umap/locale/nl.json +51 -16
- umap/static/umap/locale/no.js +51 -16
- umap/static/umap/locale/no.json +51 -16
- umap/static/umap/locale/pl.js +93 -58
- umap/static/umap/locale/pl.json +93 -58
- umap/static/umap/locale/pl_PL.json +51 -16
- umap/static/umap/locale/pt.js +215 -180
- umap/static/umap/locale/pt.json +215 -180
- umap/static/umap/locale/pt_BR.js +51 -16
- umap/static/umap/locale/pt_BR.json +51 -16
- umap/static/umap/locale/pt_PT.js +51 -16
- umap/static/umap/locale/pt_PT.json +51 -16
- umap/static/umap/locale/ro.js +51 -16
- umap/static/umap/locale/ro.json +51 -16
- umap/static/umap/locale/ru.js +51 -16
- umap/static/umap/locale/ru.json +51 -16
- umap/static/umap/locale/si.js +51 -16
- umap/static/umap/locale/si.json +51 -16
- umap/static/umap/locale/sk_SK.js +51 -16
- umap/static/umap/locale/sk_SK.json +51 -16
- umap/static/umap/locale/sl.js +51 -16
- umap/static/umap/locale/sl.json +51 -16
- umap/static/umap/locale/sr.js +51 -16
- umap/static/umap/locale/sr.json +51 -16
- umap/static/umap/locale/sv.js +51 -16
- umap/static/umap/locale/sv.json +51 -16
- umap/static/umap/locale/th_TH.js +51 -16
- umap/static/umap/locale/th_TH.json +51 -16
- umap/static/umap/locale/tr.js +51 -16
- umap/static/umap/locale/tr.json +51 -16
- umap/static/umap/locale/uk_UA.js +51 -16
- umap/static/umap/locale/uk_UA.json +51 -16
- umap/static/umap/locale/vi.js +51 -16
- umap/static/umap/locale/vi.json +51 -16
- umap/static/umap/locale/vi_VN.json +51 -16
- umap/static/umap/locale/zh.js +51 -16
- umap/static/umap/locale/zh.json +51 -16
- umap/static/umap/locale/zh_CN.json +51 -16
- umap/static/umap/locale/zh_TW.Big5.json +51 -16
- umap/static/umap/locale/zh_TW.js +51 -16
- umap/static/umap/locale/zh_TW.json +51 -16
- umap/static/umap/map.css +40 -53
- umap/static/umap/unittests/sync.js +105 -0
- umap/static/umap/unittests/utils.js +78 -36
- umap/static/umap/vars.css +19 -1
- umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +2 -2
- umap/templates/umap/components/alerts/alert.html +89 -0
- umap/templates/umap/content.html +4 -3
- umap/templates/umap/css.html +4 -0
- umap/templates/umap/home.html +3 -0
- umap/templates/umap/js.html +0 -3
- umap/templates/umap/map_init.html +2 -8
- umap/templates/umap/messages.html +9 -11
- umap/templates/umap/search.html +3 -0
- umap/tests/base.py +2 -0
- umap/tests/integration/conftest.py +30 -0
- umap/tests/integration/test_anonymous_owned_map.py +8 -13
- umap/tests/integration/test_browser.py +77 -4
- umap/tests/integration/test_conditional_rules.py +201 -0
- umap/tests/integration/test_dashboard.py +1 -1
- umap/tests/integration/test_datalayer.py +2 -3
- umap/tests/integration/test_edit_datalayer.py +4 -4
- umap/tests/integration/test_edit_map.py +1 -1
- umap/tests/integration/test_facets_browser.py +3 -3
- umap/tests/integration/test_import.py +185 -49
- umap/tests/integration/test_map.py +31 -2
- umap/tests/integration/{test_collaborative_editing.py → test_optimistic_merge.py} +7 -7
- umap/tests/integration/test_owned_map.py +1 -1
- umap/tests/integration/test_picto.py +2 -2
- umap/tests/integration/test_statics.py +1 -1
- umap/tests/integration/test_view_marker.py +2 -2
- umap/tests/integration/test_websocket_sync.py +283 -0
- umap/tests/settings.py +5 -0
- umap/tests/test_datalayer_views.py +0 -1
- umap/tests/test_views.py +53 -0
- umap/urls.py +5 -0
- umap/views.py +40 -11
- umap/websocket_server.py +92 -0
- {umap_project-2.3.1.dist-info → umap_project-2.4.0.dist-info}/METADATA +10 -8
- {umap_project-2.3.1.dist-info → umap_project-2.4.0.dist-info}/RECORD +201 -167
- umap/static/umap/js/umap.autocomplete.js +0 -341
- umap/static/umap/js/umap.importer.js +0 -187
- umap/static/umap/js/umap.ui.js +0 -190
- {umap_project-2.3.1.dist-info → umap_project-2.4.0.dist-info}/WHEEL +0 -0
- {umap_project-2.3.1.dist-info → umap_project-2.4.0.dist-info}/entry_points.txt +0 -0
- {umap_project-2.3.1.dist-info → umap_project-2.4.0.dist-info}/licenses/LICENSE +0 -0
umap/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
VERSION = "2.
|
|
1
|
+
VERSION = "2.4.0"
|
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date: 2024-
|
|
11
|
+
"POT-Creation-Date: 2024-06-21 19:58+0000\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -25,7 +25,7 @@ msgstr ""
|
|
|
25
25
|
msgid "Everyone can edit"
|
|
26
26
|
msgstr ""
|
|
27
27
|
|
|
28
|
-
#: forms.py:69 models.py:
|
|
28
|
+
#: forms.py:69 models.py:389
|
|
29
29
|
msgid "Inherit"
|
|
30
30
|
msgstr ""
|
|
31
31
|
|
|
@@ -53,15 +53,15 @@ msgstr ""
|
|
|
53
53
|
msgid "Order of the tilelayers in the edit box"
|
|
54
54
|
msgstr ""
|
|
55
55
|
|
|
56
|
-
#: models.py:147 models.py:
|
|
56
|
+
#: models.py:147 models.py:390
|
|
57
57
|
msgid "Everyone"
|
|
58
58
|
msgstr ""
|
|
59
59
|
|
|
60
|
-
#: models.py:148 models.py:154 models.py:
|
|
60
|
+
#: models.py:148 models.py:154 models.py:391
|
|
61
61
|
msgid "Editors only"
|
|
62
62
|
msgstr ""
|
|
63
63
|
|
|
64
|
-
#: models.py:149 models.py:
|
|
64
|
+
#: models.py:149 models.py:392
|
|
65
65
|
msgid "Owner only"
|
|
66
66
|
msgstr ""
|
|
67
67
|
|
|
@@ -109,7 +109,7 @@ msgstr ""
|
|
|
109
109
|
msgid "editors"
|
|
110
110
|
msgstr ""
|
|
111
111
|
|
|
112
|
-
#: models.py:186 models.py:
|
|
112
|
+
#: models.py:186 models.py:413
|
|
113
113
|
msgid "edit status"
|
|
114
114
|
msgstr ""
|
|
115
115
|
|
|
@@ -117,23 +117,23 @@ msgstr ""
|
|
|
117
117
|
msgid "share status"
|
|
118
118
|
msgstr ""
|
|
119
119
|
|
|
120
|
-
#: models.py:194 models.py:
|
|
120
|
+
#: models.py:194 models.py:408
|
|
121
121
|
msgid "settings"
|
|
122
122
|
msgstr ""
|
|
123
123
|
|
|
124
|
-
#: models.py:
|
|
124
|
+
#: models.py:330
|
|
125
125
|
msgid "Clone of"
|
|
126
126
|
msgstr ""
|
|
127
127
|
|
|
128
|
-
#: models.py:
|
|
128
|
+
#: models.py:399
|
|
129
129
|
msgid "description"
|
|
130
130
|
msgstr ""
|
|
131
131
|
|
|
132
|
-
#: models.py:
|
|
132
|
+
#: models.py:403
|
|
133
133
|
msgid "display on load"
|
|
134
134
|
msgstr ""
|
|
135
135
|
|
|
136
|
-
#: models.py:
|
|
136
|
+
#: models.py:404
|
|
137
137
|
msgid "Display this layer on load."
|
|
138
138
|
msgstr ""
|
|
139
139
|
|
|
@@ -262,13 +262,59 @@ msgstr ""
|
|
|
262
262
|
msgid "Play with the demo"
|
|
263
263
|
msgstr ""
|
|
264
264
|
|
|
265
|
-
#: templates/umap/
|
|
265
|
+
#: templates/umap/components/alerts/alert.html:14
|
|
266
|
+
#: templates/umap/components/alerts/alert.html:49
|
|
267
|
+
#: templates/umap/components/alerts/alert.html:71
|
|
268
|
+
msgid "Close"
|
|
269
|
+
msgstr ""
|
|
270
|
+
|
|
271
|
+
#: templates/umap/components/alerts/alert.html:27
|
|
272
|
+
#, python-format
|
|
273
|
+
msgid ""
|
|
274
|
+
"Pro-tip: to easily find back your maps, <a href=\"%(login_url)s\" "
|
|
275
|
+
"target=\"_blank\">create an account</a> or <a href=\"%(login_url)s\" "
|
|
276
|
+
"target=\"_blank\">log in</a>."
|
|
277
|
+
msgstr ""
|
|
278
|
+
|
|
279
|
+
#: templates/umap/components/alerts/alert.html:30
|
|
280
|
+
msgid "Here is your secret link to edit the map, please keep it safe:"
|
|
281
|
+
msgstr ""
|
|
282
|
+
|
|
283
|
+
#: templates/umap/components/alerts/alert.html:33
|
|
284
|
+
msgid "Copy link"
|
|
285
|
+
msgstr ""
|
|
286
|
+
|
|
287
|
+
#: templates/umap/components/alerts/alert.html:39
|
|
288
|
+
msgid "Enter your email address to receive the secret link:"
|
|
289
|
+
msgstr ""
|
|
290
|
+
|
|
291
|
+
#: templates/umap/components/alerts/alert.html:41
|
|
292
|
+
msgid "Email"
|
|
293
|
+
msgstr ""
|
|
294
|
+
|
|
295
|
+
#: templates/umap/components/alerts/alert.html:42
|
|
296
|
+
msgid "Send me the link"
|
|
297
|
+
msgstr ""
|
|
298
|
+
|
|
299
|
+
#: templates/umap/components/alerts/alert.html:63
|
|
300
|
+
msgid "See their edits in another tab"
|
|
301
|
+
msgstr ""
|
|
302
|
+
|
|
303
|
+
#: templates/umap/components/alerts/alert.html:64
|
|
304
|
+
msgid "Keep your changes and loose theirs"
|
|
305
|
+
msgstr ""
|
|
306
|
+
|
|
307
|
+
#: templates/umap/components/alerts/alert.html:65
|
|
308
|
+
msgid "Keep their changes and loose yours"
|
|
309
|
+
msgstr ""
|
|
310
|
+
|
|
311
|
+
#: templates/umap/content.html:24
|
|
266
312
|
msgid ""
|
|
267
313
|
"This instance of uMap is currently in read only mode, no creation/edit is "
|
|
268
314
|
"allowed."
|
|
269
315
|
msgstr ""
|
|
270
316
|
|
|
271
|
-
#: templates/umap/content.html:
|
|
317
|
+
#: templates/umap/content.html:32
|
|
272
318
|
#, python-format
|
|
273
319
|
msgid ""
|
|
274
320
|
"This is a demo instance, used for tests and pre-rolling releases. If you "
|
|
@@ -277,11 +323,11 @@ msgid ""
|
|
|
277
323
|
"instance, it's <a href=\"%(repo_url)s\">open source</a>!"
|
|
278
324
|
msgstr ""
|
|
279
325
|
|
|
280
|
-
#: templates/umap/home.html:
|
|
326
|
+
#: templates/umap/home.html:11
|
|
281
327
|
msgid "Map of the uMaps"
|
|
282
328
|
msgstr ""
|
|
283
329
|
|
|
284
|
-
#: templates/umap/home.html:
|
|
330
|
+
#: templates/umap/home.html:17
|
|
285
331
|
msgid "Get inspired, browse maps"
|
|
286
332
|
msgstr ""
|
|
287
333
|
|
|
@@ -289,7 +335,7 @@ msgstr ""
|
|
|
289
335
|
msgid "You are logged in. Continuing..."
|
|
290
336
|
msgstr ""
|
|
291
337
|
|
|
292
|
-
#: templates/umap/map_list.html:9 views.py:
|
|
338
|
+
#: templates/umap/map_list.html:9 views.py:348
|
|
293
339
|
msgid "by"
|
|
294
340
|
msgstr ""
|
|
295
341
|
|
|
@@ -446,18 +492,18 @@ msgstr ""
|
|
|
446
492
|
msgid "Your password was changed."
|
|
447
493
|
msgstr ""
|
|
448
494
|
|
|
449
|
-
#: templates/umap/search.html:
|
|
495
|
+
#: templates/umap/search.html:13
|
|
450
496
|
#, python-format
|
|
451
497
|
msgid "%(count)s map found:"
|
|
452
498
|
msgid_plural "%(count)s maps found:"
|
|
453
499
|
msgstr[0] ""
|
|
454
500
|
msgstr[1] ""
|
|
455
501
|
|
|
456
|
-
#: templates/umap/search.html:
|
|
502
|
+
#: templates/umap/search.html:21
|
|
457
503
|
msgid "No map found."
|
|
458
504
|
msgstr ""
|
|
459
505
|
|
|
460
|
-
#: templates/umap/search.html:
|
|
506
|
+
#: templates/umap/search.html:24
|
|
461
507
|
msgid "Latest created maps"
|
|
462
508
|
msgstr ""
|
|
463
509
|
|
|
@@ -495,57 +541,61 @@ msgstr ""
|
|
|
495
541
|
msgid "You have no map yet."
|
|
496
542
|
msgstr ""
|
|
497
543
|
|
|
498
|
-
#: views.py:
|
|
544
|
+
#: views.py:353
|
|
499
545
|
msgid "View the map"
|
|
500
546
|
msgstr ""
|
|
501
547
|
|
|
502
|
-
#: views.py:
|
|
548
|
+
#: views.py:718
|
|
503
549
|
msgid "See full screen"
|
|
504
550
|
msgstr ""
|
|
505
551
|
|
|
506
|
-
#: views.py:
|
|
552
|
+
#: views.py:846
|
|
507
553
|
msgid "Map editors updated with success!"
|
|
508
554
|
msgstr ""
|
|
509
555
|
|
|
510
|
-
#: views.py:
|
|
556
|
+
#: views.py:882
|
|
511
557
|
#, python-format
|
|
512
558
|
msgid "The uMap edit link for your map: %(map_name)s"
|
|
513
559
|
msgstr ""
|
|
514
560
|
|
|
515
|
-
#: views.py:
|
|
561
|
+
#: views.py:885
|
|
516
562
|
#, python-format
|
|
517
563
|
msgid "Here is your secret edit link: %(link)s"
|
|
518
564
|
msgstr ""
|
|
519
565
|
|
|
520
|
-
#: views.py:
|
|
566
|
+
#: views.py:892
|
|
521
567
|
#, python-format
|
|
522
568
|
msgid "Can't send email to %(email)s"
|
|
523
569
|
msgstr ""
|
|
524
570
|
|
|
525
|
-
#: views.py:
|
|
571
|
+
#: views.py:895
|
|
526
572
|
#, python-format
|
|
527
573
|
msgid "Email sent to %(email)s"
|
|
528
574
|
msgstr ""
|
|
529
575
|
|
|
530
|
-
#: views.py:
|
|
576
|
+
#: views.py:906
|
|
531
577
|
msgid "Only its owner can delete the map."
|
|
532
578
|
msgstr ""
|
|
533
579
|
|
|
534
|
-
#: views.py:
|
|
580
|
+
#: views.py:909
|
|
581
|
+
msgid "Map successfully deleted."
|
|
582
|
+
msgstr ""
|
|
583
|
+
|
|
584
|
+
#: views.py:935
|
|
535
585
|
#, python-format
|
|
536
586
|
msgid ""
|
|
537
587
|
"Your map has been cloned! If you want to edit this map from another "
|
|
538
588
|
"computer, please use this link: %(anonymous_url)s"
|
|
539
589
|
msgstr ""
|
|
540
590
|
|
|
541
|
-
#: views.py:
|
|
591
|
+
#: views.py:940
|
|
542
592
|
msgid "Congratulations, your map has been cloned!"
|
|
543
593
|
msgstr ""
|
|
544
594
|
|
|
545
|
-
#: views.py:
|
|
595
|
+
#: views.py:1175
|
|
546
596
|
msgid "Layer successfully deleted."
|
|
547
597
|
msgstr ""
|
|
548
598
|
|
|
549
|
-
#: views.py:
|
|
599
|
+
#: views.py:1197
|
|
550
600
|
msgid "Permissions updated with success!"
|
|
551
601
|
msgstr ""
|
|
Binary file
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
# Buggi, 2013
|
|
9
9
|
# Buggi, 2013
|
|
10
10
|
# Buggi, 2013
|
|
11
|
+
# Larlet David <david@larlet.fr>, 2024
|
|
11
12
|
# Philippe Verdy, 2017
|
|
12
13
|
# severin.menard <severin.menard@protonmail.com>, 2014
|
|
13
14
|
# severin.menard <severin.menard@protonmail.com>, 2014
|
|
@@ -23,9 +24,9 @@ msgid ""
|
|
|
23
24
|
msgstr ""
|
|
24
25
|
"Project-Id-Version: uMap\n"
|
|
25
26
|
"Report-Msgid-Bugs-To: \n"
|
|
26
|
-
"POT-Creation-Date: 2024-
|
|
27
|
+
"POT-Creation-Date: 2024-06-14 17:49+0000\n"
|
|
27
28
|
"PO-Revision-Date: 2013-11-22 14:00+0000\n"
|
|
28
|
-
"Last-Translator:
|
|
29
|
+
"Last-Translator: Larlet David <david@larlet.fr>, 2024\n"
|
|
29
30
|
"Language-Team: French (http://app.transifex.com/openstreetmap/umap/language/fr/)\n"
|
|
30
31
|
"MIME-Version: 1.0\n"
|
|
31
32
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
@@ -41,7 +42,7 @@ msgstr "Modifiable seulement avec le lien de modification secret"
|
|
|
41
42
|
msgid "Everyone can edit"
|
|
42
43
|
msgstr "Tout le monde peut modifier"
|
|
43
44
|
|
|
44
|
-
#: forms.py:69 models.py:
|
|
45
|
+
#: forms.py:69 models.py:389
|
|
45
46
|
msgid "Inherit"
|
|
46
47
|
msgstr "Par défaut"
|
|
47
48
|
|
|
@@ -49,107 +50,107 @@ msgstr "Par défaut"
|
|
|
49
50
|
msgid "Site is readonly for maintenance"
|
|
50
51
|
msgstr "Le site est en lecture seule pour maintenance."
|
|
51
52
|
|
|
52
|
-
#: models.py:
|
|
53
|
+
#: models.py:53
|
|
53
54
|
msgid "name"
|
|
54
55
|
msgstr "nom"
|
|
55
56
|
|
|
56
|
-
#: models.py:
|
|
57
|
+
#: models.py:84
|
|
57
58
|
msgid "details"
|
|
58
59
|
msgstr "détails"
|
|
59
60
|
|
|
60
|
-
#: models.py:
|
|
61
|
+
#: models.py:85
|
|
61
62
|
msgid "Link to a page where the licence is detailed."
|
|
62
63
|
msgstr "Lien vers une page détaillant la licence."
|
|
63
64
|
|
|
64
|
-
#: models.py:
|
|
65
|
+
#: models.py:95
|
|
65
66
|
msgid "URL template using OSM tile format"
|
|
66
67
|
msgstr "Modèle d'URL au format des tuiles OSM"
|
|
67
68
|
|
|
68
|
-
#: models.py:
|
|
69
|
+
#: models.py:101
|
|
69
70
|
msgid "Order of the tilelayers in the edit box"
|
|
70
71
|
msgstr "Ordre des calques de tuiles dans le panneau de modification"
|
|
71
72
|
|
|
72
|
-
#: models.py:
|
|
73
|
+
#: models.py:147 models.py:390
|
|
73
74
|
msgid "Everyone"
|
|
74
75
|
msgstr "Tout le monde"
|
|
75
76
|
|
|
76
|
-
#: models.py:
|
|
77
|
+
#: models.py:148 models.py:154 models.py:391
|
|
77
78
|
msgid "Editors only"
|
|
78
79
|
msgstr "Éditeurs uniquement"
|
|
79
80
|
|
|
80
|
-
#: models.py:
|
|
81
|
+
#: models.py:149 models.py:392
|
|
81
82
|
msgid "Owner only"
|
|
82
83
|
msgstr "Propriétaire uniquement"
|
|
83
84
|
|
|
84
|
-
#: models.py:
|
|
85
|
+
#: models.py:152
|
|
85
86
|
msgid "Everyone (public)"
|
|
86
87
|
msgstr "Tout le monde (public)"
|
|
87
88
|
|
|
88
|
-
#: models.py:
|
|
89
|
+
#: models.py:153
|
|
89
90
|
msgid "Anyone with link"
|
|
90
91
|
msgstr "Quiconque a le lien"
|
|
91
92
|
|
|
92
|
-
#: models.py:
|
|
93
|
+
#: models.py:155
|
|
93
94
|
msgid "Blocked"
|
|
94
95
|
msgstr "Bloquée"
|
|
95
96
|
|
|
96
|
-
#: models.py:
|
|
97
|
-
msgid "description"
|
|
98
|
-
msgstr "description"
|
|
99
|
-
|
|
100
|
-
#: models.py:156
|
|
97
|
+
#: models.py:158
|
|
101
98
|
msgid "center"
|
|
102
99
|
msgstr "centre"
|
|
103
100
|
|
|
104
|
-
#: models.py:
|
|
101
|
+
#: models.py:159
|
|
105
102
|
msgid "zoom"
|
|
106
103
|
msgstr "zoom"
|
|
107
104
|
|
|
108
|
-
#: models.py:
|
|
105
|
+
#: models.py:161
|
|
109
106
|
msgid "locate"
|
|
110
107
|
msgstr "géolocaliser"
|
|
111
108
|
|
|
112
|
-
#: models.py:
|
|
109
|
+
#: models.py:161
|
|
113
110
|
msgid "Locate user on load?"
|
|
114
111
|
msgstr "Géolocaliser l'utilisateur au chargement ?"
|
|
115
112
|
|
|
116
|
-
#: models.py:
|
|
113
|
+
#: models.py:165
|
|
117
114
|
msgid "Choose the map licence."
|
|
118
115
|
msgstr "Choisir une licence pour la carte"
|
|
119
116
|
|
|
120
|
-
#: models.py:
|
|
117
|
+
#: models.py:166
|
|
121
118
|
msgid "licence"
|
|
122
119
|
msgstr "licence"
|
|
123
120
|
|
|
124
|
-
#: models.py:
|
|
121
|
+
#: models.py:177
|
|
125
122
|
msgid "owner"
|
|
126
123
|
msgstr "créateur"
|
|
127
124
|
|
|
128
|
-
#: models.py:
|
|
125
|
+
#: models.py:181
|
|
129
126
|
msgid "editors"
|
|
130
127
|
msgstr "éditeurs"
|
|
131
128
|
|
|
132
|
-
#: models.py:
|
|
129
|
+
#: models.py:186 models.py:413
|
|
133
130
|
msgid "edit status"
|
|
134
131
|
msgstr "statut de modification"
|
|
135
132
|
|
|
136
|
-
#: models.py:
|
|
133
|
+
#: models.py:191
|
|
137
134
|
msgid "share status"
|
|
138
135
|
msgstr "qui a accès"
|
|
139
136
|
|
|
140
|
-
#: models.py:
|
|
137
|
+
#: models.py:194 models.py:408
|
|
141
138
|
msgid "settings"
|
|
142
139
|
msgstr "réglages"
|
|
143
140
|
|
|
144
|
-
#: models.py:
|
|
141
|
+
#: models.py:330
|
|
145
142
|
msgid "Clone of"
|
|
146
143
|
msgstr "Clone de"
|
|
147
144
|
|
|
148
|
-
#: models.py:
|
|
145
|
+
#: models.py:399
|
|
146
|
+
msgid "description"
|
|
147
|
+
msgstr "description"
|
|
148
|
+
|
|
149
|
+
#: models.py:403
|
|
149
150
|
msgid "display on load"
|
|
150
151
|
msgstr "afficher au chargement."
|
|
151
152
|
|
|
152
|
-
#: models.py:
|
|
153
|
+
#: models.py:404
|
|
153
154
|
msgid "Display this layer on load."
|
|
154
155
|
msgstr "Afficher ce calque au chargement."
|
|
155
156
|
|
|
@@ -267,7 +268,7 @@ msgstr "Exporter et partager votre carte"
|
|
|
267
268
|
#: templates/umap/about_summary.html:37
|
|
268
269
|
#, python-format
|
|
269
270
|
msgid "And it's <a href=\"%(repo_url)s\">open source</a>!"
|
|
270
|
-
msgstr "Et c'est <a href=\"%(repo_url)s\">open source</a
|
|
271
|
+
msgstr "Et c'est <a href=\"%(repo_url)s\">open source</a> !"
|
|
271
272
|
|
|
272
273
|
#: templates/umap/about_summary.html:48 templates/umap/navigation.html:38
|
|
273
274
|
#: templates/umap/user_dashboard.html:42
|
|
@@ -278,26 +279,72 @@ msgstr "Créer une carte"
|
|
|
278
279
|
msgid "Play with the demo"
|
|
279
280
|
msgstr "Tester la démo"
|
|
280
281
|
|
|
281
|
-
#: templates/umap/
|
|
282
|
+
#: templates/umap/components/alerts/alert.html:14
|
|
283
|
+
#: templates/umap/components/alerts/alert.html:49
|
|
284
|
+
#: templates/umap/components/alerts/alert.html:71
|
|
285
|
+
msgid "Close"
|
|
286
|
+
msgstr "Fermer"
|
|
287
|
+
|
|
288
|
+
#: templates/umap/components/alerts/alert.html:27
|
|
289
|
+
#, python-format
|
|
290
|
+
msgid ""
|
|
291
|
+
"Pro-tip: to easily find back your maps, <a href=\"%(login_url)s\" "
|
|
292
|
+
"target=\"_blank\">create an account</a> or <a href=\"%(login_url)s\" "
|
|
293
|
+
"target=\"_blank\">log in</a>."
|
|
294
|
+
msgstr "Astuce : pour retrouver facilement vos cartes, <a href=\"%(login_url)s\" target=\"_blank\">créez un compte</a> ou <a href=\"%(login_url)s\" target=\"_blank\">identifiez-vous</a>."
|
|
295
|
+
|
|
296
|
+
#: templates/umap/components/alerts/alert.html:30
|
|
297
|
+
msgid "Here is your secret link to edit the map, please keep it safe:"
|
|
298
|
+
msgstr "Ceci est le lien d'édition secret, gardez-le en lieu sûr :"
|
|
299
|
+
|
|
300
|
+
#: templates/umap/components/alerts/alert.html:33
|
|
301
|
+
msgid "Copy link"
|
|
302
|
+
msgstr "Copier le lien"
|
|
303
|
+
|
|
304
|
+
#: templates/umap/components/alerts/alert.html:39
|
|
305
|
+
msgid "Enter your email address to receive the secret link:"
|
|
306
|
+
msgstr "Entrez votre courriel pour recevoir le lien secret :"
|
|
307
|
+
|
|
308
|
+
#: templates/umap/components/alerts/alert.html:41
|
|
309
|
+
msgid "Email"
|
|
310
|
+
msgstr "Courriel"
|
|
311
|
+
|
|
312
|
+
#: templates/umap/components/alerts/alert.html:42
|
|
313
|
+
msgid "Send me the link"
|
|
314
|
+
msgstr "Envoyer le lien"
|
|
315
|
+
|
|
316
|
+
#: templates/umap/components/alerts/alert.html:63
|
|
317
|
+
msgid "See their edits in another tab"
|
|
318
|
+
msgstr "Voir leurs changements dans un nouvel onglet"
|
|
319
|
+
|
|
320
|
+
#: templates/umap/components/alerts/alert.html:64
|
|
321
|
+
msgid "Keep your changes and loose theirs"
|
|
322
|
+
msgstr "Garder mes changements et écraser les leurs"
|
|
323
|
+
|
|
324
|
+
#: templates/umap/components/alerts/alert.html:65
|
|
325
|
+
msgid "Keep their changes and loose yours"
|
|
326
|
+
msgstr "Garder leurs changements et écraser les miens"
|
|
327
|
+
|
|
328
|
+
#: templates/umap/content.html:24
|
|
282
329
|
msgid ""
|
|
283
330
|
"This instance of uMap is currently in read only mode, no creation/edit is "
|
|
284
331
|
"allowed."
|
|
285
332
|
msgstr "uMap est actuellement en mode lecture seule, aucune création ou modification n'est possible."
|
|
286
333
|
|
|
287
|
-
#: templates/umap/content.html:
|
|
334
|
+
#: templates/umap/content.html:32
|
|
288
335
|
#, python-format
|
|
289
336
|
msgid ""
|
|
290
337
|
"This is a demo instance, used for tests and pre-rolling releases. If you "
|
|
291
338
|
"need a stable instance, please use <a "
|
|
292
339
|
"href=\"%(stable_url)s\">%(stable_url)s</a>. You can also host your own "
|
|
293
340
|
"instance, it's <a href=\"%(repo_url)s\">open source</a>!"
|
|
294
|
-
msgstr "Il s'agit d'un site de démonstration, utilisé pour les tests et validation avant diffusion. Si vous avez besoin d'une version stable, utilisez plutôt <a href=\"%(stable_url)s\">%(stable_url)s</a>. Vous pouvez aussi mettre en place votre propre version, c'est <a href=\"%(repo_url)s\">open source</a
|
|
341
|
+
msgstr "Il s'agit d'un site de démonstration, utilisé pour les tests et validation avant diffusion. Si vous avez besoin d'une version stable, utilisez plutôt <a href=\"%(stable_url)s\">%(stable_url)s</a>. Vous pouvez aussi mettre en place votre propre version, c'est <a href=\"%(repo_url)s\">open source</a> !"
|
|
295
342
|
|
|
296
|
-
#: templates/umap/home.html:
|
|
343
|
+
#: templates/umap/home.html:11
|
|
297
344
|
msgid "Map of the uMaps"
|
|
298
345
|
msgstr "La carte des uMaps"
|
|
299
346
|
|
|
300
|
-
#: templates/umap/home.html:
|
|
347
|
+
#: templates/umap/home.html:17
|
|
301
348
|
msgid "Get inspired, browse maps"
|
|
302
349
|
msgstr "Naviguer dans les cartes"
|
|
303
350
|
|
|
@@ -305,7 +352,7 @@ msgstr "Naviguer dans les cartes"
|
|
|
305
352
|
msgid "You are logged in. Continuing..."
|
|
306
353
|
msgstr "Vous êtes maintenant identifié. Merci de patienter..."
|
|
307
354
|
|
|
308
|
-
#: templates/umap/map_list.html:9 views.py:
|
|
355
|
+
#: templates/umap/map_list.html:9 views.py:348
|
|
309
356
|
msgid "by"
|
|
310
357
|
msgstr "par"
|
|
311
358
|
|
|
@@ -361,37 +408,37 @@ msgstr "Télécharger"
|
|
|
361
408
|
msgid "Clone"
|
|
362
409
|
msgstr "Cloner"
|
|
363
410
|
|
|
364
|
-
#: templates/umap/map_table.html:
|
|
411
|
+
#: templates/umap/map_table.html:77 templates/umap/map_table.html:79
|
|
365
412
|
msgid "Delete"
|
|
366
413
|
msgstr "Supprimer"
|
|
367
414
|
|
|
368
|
-
#: templates/umap/map_table.html:
|
|
415
|
+
#: templates/umap/map_table.html:93
|
|
369
416
|
msgid "first"
|
|
370
417
|
msgstr "début"
|
|
371
418
|
|
|
372
|
-
#: templates/umap/map_table.html:
|
|
419
|
+
#: templates/umap/map_table.html:94
|
|
373
420
|
msgid "previous"
|
|
374
421
|
msgstr "précédente"
|
|
375
422
|
|
|
376
|
-
#: templates/umap/map_table.html:
|
|
423
|
+
#: templates/umap/map_table.html:102
|
|
377
424
|
#, python-format
|
|
378
425
|
msgid "Page %(maps_number)s of %(num_pages)s"
|
|
379
426
|
msgstr "Page %(maps_number)s de %(num_pages)s"
|
|
380
427
|
|
|
381
|
-
#: templates/umap/map_table.html:
|
|
428
|
+
#: templates/umap/map_table.html:107
|
|
382
429
|
msgid "next"
|
|
383
430
|
msgstr "suivante"
|
|
384
431
|
|
|
385
|
-
#: templates/umap/map_table.html:
|
|
432
|
+
#: templates/umap/map_table.html:108
|
|
386
433
|
msgid "last"
|
|
387
434
|
msgstr "fin"
|
|
388
435
|
|
|
389
|
-
#: templates/umap/map_table.html:
|
|
436
|
+
#: templates/umap/map_table.html:116
|
|
390
437
|
#, python-format
|
|
391
438
|
msgid "Lines per page: %(per_page)s"
|
|
392
|
-
msgstr "Lignes par page: %(per_page)s"
|
|
439
|
+
msgstr "Lignes par page : %(per_page)s"
|
|
393
440
|
|
|
394
|
-
#: templates/umap/map_table.html:
|
|
441
|
+
#: templates/umap/map_table.html:121
|
|
395
442
|
#, python-format
|
|
396
443
|
msgid "%(count)s maps"
|
|
397
444
|
msgstr "%(count)s cartes"
|
|
@@ -462,19 +509,19 @@ msgstr "Le mot de passe a été modifié"
|
|
|
462
509
|
msgid "Your password was changed."
|
|
463
510
|
msgstr "Votre mot de passe a été modifié"
|
|
464
511
|
|
|
465
|
-
#: templates/umap/search.html:
|
|
512
|
+
#: templates/umap/search.html:13
|
|
466
513
|
#, python-format
|
|
467
514
|
msgid "%(count)s map found:"
|
|
468
515
|
msgid_plural "%(count)s maps found:"
|
|
469
516
|
msgstr[0] "%(count)s carte trouvée:"
|
|
470
517
|
msgstr[1] "%(count)s cartes trouvées:"
|
|
471
|
-
msgstr[2] "%(count)s cartes trouvées:"
|
|
518
|
+
msgstr[2] "%(count)s cartes trouvées :"
|
|
472
519
|
|
|
473
|
-
#: templates/umap/search.html:
|
|
520
|
+
#: templates/umap/search.html:21
|
|
474
521
|
msgid "No map found."
|
|
475
522
|
msgstr "Aucune carte trouvée."
|
|
476
523
|
|
|
477
|
-
#: templates/umap/search.html:
|
|
524
|
+
#: templates/umap/search.html:24
|
|
478
525
|
msgid "Latest created maps"
|
|
479
526
|
msgstr "Dernières cartes créées."
|
|
480
527
|
|
|
@@ -512,57 +559,61 @@ msgstr "Télécharger %(count)s cartes"
|
|
|
512
559
|
msgid "You have no map yet."
|
|
513
560
|
msgstr "Vous n'avez pas encore de carte."
|
|
514
561
|
|
|
515
|
-
#: views.py:
|
|
562
|
+
#: views.py:353
|
|
516
563
|
msgid "View the map"
|
|
517
564
|
msgstr "Voir la carte"
|
|
518
565
|
|
|
519
|
-
#: views.py:
|
|
566
|
+
#: views.py:718
|
|
520
567
|
msgid "See full screen"
|
|
521
568
|
msgstr "Plein écran"
|
|
522
569
|
|
|
523
|
-
#: views.py:
|
|
570
|
+
#: views.py:846
|
|
524
571
|
msgid "Map editors updated with success!"
|
|
525
572
|
msgstr "Éditeurs de la carte mis à jour !"
|
|
526
573
|
|
|
527
|
-
#: views.py:
|
|
574
|
+
#: views.py:883
|
|
528
575
|
#, python-format
|
|
529
576
|
msgid "The uMap edit link for your map: %(map_name)s"
|
|
530
|
-
msgstr "La lien d'édition uMap pour votre carte %(map_name)s"
|
|
577
|
+
msgstr "La lien d'édition uMap pour votre carte : %(map_name)s"
|
|
531
578
|
|
|
532
|
-
#: views.py:
|
|
579
|
+
#: views.py:886
|
|
533
580
|
#, python-format
|
|
534
581
|
msgid "Here is your secret edit link: %(link)s"
|
|
535
|
-
msgstr "Voici votre lien d'édition secret: %(link)s"
|
|
582
|
+
msgstr "Voici votre lien d'édition secret : %(link)s"
|
|
536
583
|
|
|
537
|
-
#: views.py:
|
|
584
|
+
#: views.py:893
|
|
538
585
|
#, python-format
|
|
539
586
|
msgid "Can't send email to %(email)s"
|
|
540
587
|
msgstr "Impossible d'envoyer un courriel vers %(email)s"
|
|
541
588
|
|
|
542
|
-
#: views.py:
|
|
589
|
+
#: views.py:896
|
|
543
590
|
#, python-format
|
|
544
591
|
msgid "Email sent to %(email)s"
|
|
545
592
|
msgstr "Courriel envoyé à %(email)s"
|
|
546
593
|
|
|
547
|
-
#: views.py:
|
|
594
|
+
#: views.py:907
|
|
548
595
|
msgid "Only its owner can delete the map."
|
|
549
596
|
msgstr "Seul le créateur de la carte peut la supprimer."
|
|
550
597
|
|
|
551
|
-
#: views.py:
|
|
598
|
+
#: views.py:910
|
|
599
|
+
msgid "Map successfully deleted."
|
|
600
|
+
msgstr "La bien été supprimée."
|
|
601
|
+
|
|
602
|
+
#: views.py:936
|
|
552
603
|
#, python-format
|
|
553
604
|
msgid ""
|
|
554
605
|
"Your map has been cloned! If you want to edit this map from another "
|
|
555
606
|
"computer, please use this link: %(anonymous_url)s"
|
|
556
607
|
msgstr "Votre carte a été dupliquée ! Si vous souhaitez la modifier depuis un autre ordinateur, veuillez utiliser ce lien : %(anonymous_url)s"
|
|
557
608
|
|
|
558
|
-
#: views.py:
|
|
609
|
+
#: views.py:941
|
|
559
610
|
msgid "Congratulations, your map has been cloned!"
|
|
560
611
|
msgstr "Votre carte a été dupliquée !"
|
|
561
612
|
|
|
562
|
-
#: views.py:
|
|
613
|
+
#: views.py:1176
|
|
563
614
|
msgid "Layer successfully deleted."
|
|
564
615
|
msgstr "Calque supprimé."
|
|
565
616
|
|
|
566
|
-
#: views.py:
|
|
617
|
+
#: views.py:1198
|
|
567
618
|
msgid "Permissions updated with success!"
|
|
568
619
|
msgstr "Les permissions ont bien été modifiées !"
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
from django.core.management.base import BaseCommand
|
|
3
|
+
|
|
4
|
+
from umap import websocket_server
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Command(BaseCommand):
|
|
8
|
+
help = "Run the websocket server"
|
|
9
|
+
|
|
10
|
+
def add_arguments(self, parser):
|
|
11
|
+
parser.add_argument(
|
|
12
|
+
"--host",
|
|
13
|
+
help="The server host to bind to.",
|
|
14
|
+
default=settings.WEBSOCKET_BACK_HOST,
|
|
15
|
+
)
|
|
16
|
+
parser.add_argument(
|
|
17
|
+
"--port",
|
|
18
|
+
help="The server port to bind to.",
|
|
19
|
+
default=settings.WEBSOCKET_BACK_PORT,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
def handle(self, *args, **options):
|
|
23
|
+
websocket_server.run(options["host"], options["port"])
|