umap-project 2.6.3__py3-none-any.whl → 2.7.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.

Files changed (137) hide show
  1. umap/__init__.py +1 -1
  2. umap/admin.py +64 -1
  3. umap/asgi.py +15 -0
  4. umap/context_processors.py +1 -0
  5. umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  6. umap/locale/cs_CZ/LC_MESSAGES/django.po +96 -92
  7. umap/locale/de/LC_MESSAGES/django.mo +0 -0
  8. umap/locale/de/LC_MESSAGES/django.po +19 -18
  9. umap/locale/en/LC_MESSAGES/django.po +47 -43
  10. umap/locale/es/LC_MESSAGES/django.mo +0 -0
  11. umap/locale/es/LC_MESSAGES/django.po +134 -128
  12. umap/locale/fr/LC_MESSAGES/django.mo +0 -0
  13. umap/locale/fr/LC_MESSAGES/django.po +51 -47
  14. umap/locale/pt/LC_MESSAGES/django.mo +0 -0
  15. umap/locale/pt/LC_MESSAGES/django.po +64 -60
  16. umap/management/commands/clean_tilelayer.py +152 -0
  17. umap/management/commands/purge_purgatory.py +28 -0
  18. umap/models.py +27 -2
  19. umap/settings/base.py +3 -1
  20. umap/static/umap/base.css +4 -4
  21. umap/static/umap/css/contextmenu.css +6 -1
  22. umap/static/umap/css/icon.css +7 -2
  23. umap/static/umap/css/importers.css +4 -0
  24. umap/static/umap/img/16-white.svg +9 -2
  25. umap/static/umap/img/16.svg +1 -181
  26. umap/static/umap/img/24-white.svg +1 -0
  27. umap/static/umap/img/24.svg +1 -0
  28. umap/static/umap/img/importers/cadastrefr.svg +23 -0
  29. umap/static/umap/img/source/16-white.svg +10 -3
  30. umap/static/umap/img/source/16.svg +753 -197
  31. umap/static/umap/img/source/24-white.svg +3 -2
  32. umap/static/umap/img/source/24.svg +3 -2
  33. umap/static/umap/js/modules/autocomplete.js +7 -3
  34. umap/static/umap/js/modules/browser.js +54 -1
  35. umap/static/umap/js/modules/caption.js +16 -5
  36. umap/static/umap/js/modules/data/features.js +176 -2
  37. umap/static/umap/js/modules/data/layer.js +57 -40
  38. umap/static/umap/js/modules/formatter.js +3 -2
  39. umap/static/umap/js/modules/global.js +2 -0
  40. umap/static/umap/js/modules/importer.js +3 -0
  41. umap/static/umap/js/modules/importers/cadastrefr.js +62 -0
  42. umap/static/umap/js/modules/importers/communesfr.js +15 -3
  43. umap/static/umap/js/modules/permissions.js +123 -93
  44. umap/static/umap/js/modules/rendering/layers/classified.js +2 -0
  45. umap/static/umap/js/modules/rendering/ui.js +60 -213
  46. umap/static/umap/js/modules/share.js +1 -3
  47. umap/static/umap/js/modules/slideshow.js +1 -1
  48. umap/static/umap/js/modules/sync/engine.js +371 -14
  49. umap/static/umap/js/modules/sync/hlc.js +106 -0
  50. umap/static/umap/js/modules/sync/updaters.js +18 -6
  51. umap/static/umap/js/modules/sync/websocket.js +1 -1
  52. umap/static/umap/js/modules/tableeditor.js +1 -1
  53. umap/static/umap/js/modules/ui/base.js +2 -2
  54. umap/static/umap/js/modules/ui/contextmenu.js +51 -18
  55. umap/static/umap/js/modules/urls.js +5 -1
  56. umap/static/umap/js/modules/utils.js +28 -4
  57. umap/static/umap/js/umap.controls.js +73 -52
  58. umap/static/umap/js/umap.core.js +3 -3
  59. umap/static/umap/js/umap.forms.js +3 -1
  60. umap/static/umap/js/umap.js +115 -124
  61. umap/static/umap/locale/br.js +13 -4
  62. umap/static/umap/locale/br.json +13 -4
  63. umap/static/umap/locale/ca.js +28 -15
  64. umap/static/umap/locale/ca.json +28 -15
  65. umap/static/umap/locale/cs_CZ.js +87 -78
  66. umap/static/umap/locale/cs_CZ.json +87 -78
  67. umap/static/umap/locale/de.js +17 -8
  68. umap/static/umap/locale/de.json +17 -8
  69. umap/static/umap/locale/en.js +13 -2
  70. umap/static/umap/locale/en.json +13 -2
  71. umap/static/umap/locale/es.js +330 -319
  72. umap/static/umap/locale/es.json +330 -319
  73. umap/static/umap/locale/eu.js +10 -3
  74. umap/static/umap/locale/eu.json +10 -3
  75. umap/static/umap/locale/fa_IR.js +11 -4
  76. umap/static/umap/locale/fa_IR.json +11 -4
  77. umap/static/umap/locale/fr.js +15 -4
  78. umap/static/umap/locale/fr.json +15 -4
  79. umap/static/umap/locale/hu.js +10 -3
  80. umap/static/umap/locale/hu.json +10 -3
  81. umap/static/umap/locale/pt.js +17 -8
  82. umap/static/umap/locale/pt.json +17 -8
  83. umap/static/umap/locale/pt_PT.js +13 -4
  84. umap/static/umap/locale/pt_PT.json +13 -4
  85. umap/static/umap/locale/zh_TW.js +13 -4
  86. umap/static/umap/locale/zh_TW.json +13 -4
  87. umap/static/umap/map.css +44 -29
  88. umap/static/umap/unittests/hlc.js +165 -0
  89. umap/static/umap/unittests/sync.js +321 -15
  90. umap/static/umap/unittests/utils.js +47 -0
  91. umap/static/umap/vars.css +2 -1
  92. umap/static/umap/vendors/colorbrewer/colorbrewer.js +309 -317
  93. umap/static/umap/vendors/dompurify/purify.es.js +15 -16
  94. umap/static/umap/vendors/dompurify/purify.es.mjs.map +1 -1
  95. umap/static/umap/vendors/georsstogeojson/GeoRSSToGeoJSON.js +111 -80
  96. umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js +2 -2
  97. umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js.map +1 -1
  98. umap/static/umap/vendors/simple-statistics/simple-statistics.min.js +1 -1
  99. umap/static/umap/vendors/simple-statistics/simple-statistics.min.js.map +1 -1
  100. umap/templates/umap/css.html +0 -2
  101. umap/templates/umap/dashboard_menu.html +4 -2
  102. umap/templates/umap/js.html +0 -5
  103. umap/templates/umap/map_detail.html +2 -2
  104. umap/tests/fixtures/test_upload_data.csv +2 -2
  105. umap/tests/integration/test_anonymous_owned_map.py +1 -0
  106. umap/tests/integration/test_basics.py +1 -1
  107. umap/tests/integration/test_browser.py +69 -7
  108. umap/tests/integration/test_caption.py +3 -3
  109. umap/tests/integration/test_circles_layer.py +12 -0
  110. umap/tests/integration/test_datalayer.py +2 -1
  111. umap/tests/integration/test_draw_polygon.py +17 -9
  112. umap/tests/integration/test_draw_polyline.py +12 -8
  113. umap/tests/integration/test_edit_datalayer.py +5 -8
  114. umap/tests/integration/test_edit_map.py +2 -2
  115. umap/tests/integration/test_edit_marker.py +1 -1
  116. umap/tests/integration/test_facets_browser.py +3 -3
  117. umap/tests/integration/test_import.py +1 -0
  118. umap/tests/integration/test_map.py +1 -0
  119. umap/tests/integration/test_owned_map.py +1 -1
  120. umap/tests/integration/test_view_marker.py +63 -0
  121. umap/tests/integration/test_view_polygon.py +12 -12
  122. umap/tests/integration/test_websocket_sync.py +65 -3
  123. umap/tests/test_clean_tilelayer.py +83 -0
  124. umap/tests/test_datalayer.py +24 -0
  125. umap/tests/test_map_views.py +20 -0
  126. umap/tests/test_purge_purgatory.py +25 -0
  127. umap/tests/test_websocket_server.py +22 -0
  128. umap/urls.py +5 -1
  129. umap/views.py +6 -3
  130. umap/websocket_server.py +130 -27
  131. {umap_project-2.6.3.dist-info → umap_project-2.7.0.dist-info}/METADATA +18 -14
  132. {umap_project-2.6.3.dist-info → umap_project-2.7.0.dist-info}/RECORD +135 -127
  133. umap/static/umap/vendors/contextmenu/leaflet.contextmenu.min.css +0 -1
  134. umap/static/umap/vendors/contextmenu/leaflet.contextmenu.min.js +0 -7
  135. {umap_project-2.6.3.dist-info → umap_project-2.7.0.dist-info}/WHEEL +0 -0
  136. {umap_project-2.6.3.dist-info → umap_project-2.7.0.dist-info}/entry_points.txt +0 -0
  137. {umap_project-2.6.3.dist-info → umap_project-2.7.0.dist-info}/licenses/LICENSE +0 -0
umap/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION = "2.6.3"
1
+ VERSION = "2.7.0"
umap/admin.py CHANGED
@@ -1,8 +1,39 @@
1
+ import csv
2
+ from datetime import datetime
3
+
4
+ from django.contrib.auth.admin import UserAdmin as UserAdminBase
5
+ from django.contrib.auth.models import User
1
6
  from django.contrib.gis import admin
7
+ from django.http import HttpResponse
8
+ from django.utils.translation import gettext_lazy as _
2
9
 
3
10
  from .models import DataLayer, Licence, Map, Pictogram, Team, TileLayer
4
11
 
5
12
 
13
+ class CSVExportMixin:
14
+ actions = ["as_csv"]
15
+
16
+ @admin.action(description=_("CSV Export"))
17
+ def as_csv(self, request, queryset):
18
+ modelname = queryset.model.__name__.lower()
19
+ filename = f"umap_{modelname}_{datetime.now().isoformat()}.csv"
20
+ response = HttpResponse(
21
+ content_type="text/csv",
22
+ headers={"Content-Disposition": f'attachment; filename="{filename}"'},
23
+ )
24
+
25
+ def get_cell(user, field):
26
+ if hasattr(self, field):
27
+ return getattr(self, field)(user)
28
+ return getattr(user, field)
29
+
30
+ writer = csv.writer(response)
31
+ writer.writerow(self.csv_fields)
32
+ for user in queryset:
33
+ writer.writerow(get_cell(user, field) for field in self.csv_fields)
34
+ return response
35
+
36
+
6
37
  class TileLayerAdmin(admin.ModelAdmin):
7
38
  list_display = (
8
39
  "name",
@@ -11,10 +42,22 @@ class TileLayerAdmin(admin.ModelAdmin):
11
42
  list_editable = ("rank",)
12
43
 
13
44
 
14
- class MapAdmin(admin.GISModelAdmin):
45
+ class MapAdmin(CSVExportMixin, admin.GISModelAdmin):
15
46
  search_fields = ("name",)
16
47
  autocomplete_fields = ("owner", "editors")
17
48
  list_filter = ("share_status",)
49
+ csv_fields = (
50
+ "pk",
51
+ "name",
52
+ "center",
53
+ "zoom",
54
+ "created_at",
55
+ "modified_at",
56
+ "edit_status",
57
+ "share_status",
58
+ "owner_id",
59
+ "team_id",
60
+ )
18
61
 
19
62
 
20
63
  class PictogramAdmin(admin.ModelAdmin):
@@ -30,9 +73,29 @@ class TeamAdmin(admin.ModelAdmin):
30
73
  filter_horizontal = ("users",)
31
74
 
32
75
 
76
+ class UserAdmin(CSVExportMixin, UserAdminBase):
77
+ csv_fields = [
78
+ "pk",
79
+ "username",
80
+ "email",
81
+ "first_name",
82
+ "last_name",
83
+ "last_login",
84
+ "date_joined",
85
+ "maps_count",
86
+ ]
87
+ list_display = list(UserAdminBase.list_display) + ["maps_count"]
88
+
89
+ def maps_count(self, obj):
90
+ # owner maps + maps as editor
91
+ return obj.owned_maps.count() + obj.map_set.count()
92
+
93
+
33
94
  admin.site.register(Map, MapAdmin)
34
95
  admin.site.register(DataLayer)
35
96
  admin.site.register(Pictogram, PictogramAdmin)
36
97
  admin.site.register(TileLayer, TileLayerAdmin)
37
98
  admin.site.register(Licence)
38
99
  admin.site.register(Team, TeamAdmin)
100
+ admin.site.unregister(User)
101
+ admin.site.register(User, UserAdmin)
umap/asgi.py ADDED
@@ -0,0 +1,15 @@
1
+ import os
2
+
3
+ from channels.routing import ProtocolTypeRouter
4
+ from django.core.asgi import get_asgi_application
5
+
6
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "umap.settings")
7
+ # Initialize Django ASGI application early to ensure the AppRegistry
8
+ # is populated before importing code that may import ORM models.
9
+ django_asgi_app = get_asgi_application()
10
+
11
+ application = ProtocolTypeRouter(
12
+ {
13
+ "http": django_asgi_app,
14
+ }
15
+ )
@@ -12,6 +12,7 @@ def settings(request):
12
12
  "UMAP_READONLY": djsettings.UMAP_READONLY,
13
13
  "UMAP_DEMO_SITE": djsettings.UMAP_DEMO_SITE,
14
14
  "UMAP_HOST_INFOS": djsettings.UMAP_HOST_INFOS,
15
+ "UMAP_ALLOW_EDIT_PROFILE": djsettings.UMAP_ALLOW_EDIT_PROFILE,
15
16
  }
16
17
 
17
18
 
Binary file
@@ -7,7 +7,7 @@
7
7
  # Jakub A. Tesinsky, 2014
8
8
  # Jakub A. Tesinsky, 2014
9
9
  # Jiří Podhorecký, 2018-2019
10
- # Jiří Podhorecký <jirka.p@volny.cz>, 2023
10
+ # Jiří Podhorecký <jirka.p@volny.cz>, 2023-2024
11
11
  # Jiří Podhorecký <jirka.p@volny.cz>, 2019
12
12
  # Jiří Podhorecký <jirka.p@volny.cz>, 2018
13
13
  # Jiří Podhorecký <jirka.p@volny.cz>, 2018
@@ -16,9 +16,9 @@ msgid ""
16
16
  msgstr ""
17
17
  "Project-Id-Version: uMap\n"
18
18
  "Report-Msgid-Bugs-To: \n"
19
- "POT-Creation-Date: 2024-08-30 18:23+0000\n"
19
+ "POT-Creation-Date: 2024-10-04 16:35+0000\n"
20
20
  "PO-Revision-Date: 2013-11-22 14:00+0000\n"
21
- "Last-Translator: Jiří Podhorecký <jirka.p@volny.cz>, 2023\n"
21
+ "Last-Translator: Jiří Podhorecký <jirka.p@volny.cz>, 2023-2024\n"
22
22
  "Language-Team: Czech (Czech Republic) (http://app.transifex.com/openstreetmap/umap/language/cs_CZ/)\n"
23
23
  "MIME-Version: 1.0\n"
24
24
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -26,6 +26,10 @@ msgstr ""
26
26
  "Language: cs_CZ\n"
27
27
  "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
28
28
 
29
+ #: admin.py:16
30
+ msgid "CSV Export"
31
+ msgstr ""
32
+
29
33
  #: forms.py:44 forms.py:70
30
34
  msgid "Only editable with secret edit link"
31
35
  msgstr "Lze upravovat jen pomocí tajného odkazu"
@@ -34,7 +38,7 @@ msgstr "Lze upravovat jen pomocí tajného odkazu"
34
38
  msgid "Everyone can edit"
35
39
  msgstr "Kdokoli může editovat"
36
40
 
37
- #: forms.py:69 models.py:423
41
+ #: forms.py:69 models.py:441
38
42
  msgid "Inherit"
39
43
  msgstr "Zdědit"
40
44
 
@@ -42,111 +46,111 @@ msgstr "Zdědit"
42
46
  msgid "Site is readonly for maintenance"
43
47
  msgstr "Stránka je jen ke čtení kvůli údržbě"
44
48
 
45
- #: models.py:54 models.py:73
49
+ #: models.py:55 models.py:74
46
50
  msgid "name"
47
51
  msgstr "název"
48
52
 
49
- #: models.py:56 models.py:433
53
+ #: models.py:57 models.py:451
50
54
  msgid "description"
51
55
  msgstr "popis"
52
56
 
53
- #: models.py:104
57
+ #: models.py:105
54
58
  msgid "details"
55
59
  msgstr "podrobnosti"
56
60
 
57
- #: models.py:105
61
+ #: models.py:106
58
62
  msgid "Link to a page where the licence is detailed."
59
63
  msgstr "Odkaz na stránku s podrobnějším popisem licence."
60
64
 
61
- #: models.py:115
65
+ #: models.py:116
62
66
  msgid "URL template using OSM tile format"
63
67
  msgstr "Vzor URL ve formátu pro dlaždice OSM "
64
68
 
65
- #: models.py:121
69
+ #: models.py:122
66
70
  msgid "Order of the tilelayers in the edit box"
67
71
  msgstr "Pořadí vrstev při editaci"
68
72
 
69
- #: models.py:167 models.py:424
73
+ #: models.py:168 models.py:442
70
74
  msgid "Everyone"
71
75
  msgstr "Kdokoli"
72
76
 
73
- #: models.py:168 models.py:174 models.py:425
77
+ #: models.py:169 models.py:175 models.py:443
74
78
  msgid "Editors and team only"
75
- msgstr ""
79
+ msgstr "Pouze pro editory a tým"
76
80
 
77
- #: models.py:169 models.py:426
81
+ #: models.py:170 models.py:444
78
82
  msgid "Owner only"
79
83
  msgstr "Jen vlastník"
80
84
 
81
- #: models.py:172
85
+ #: models.py:173
82
86
  msgid "Everyone (public)"
83
87
  msgstr "Kdokoli (veřejná)"
84
88
 
85
- #: models.py:173
89
+ #: models.py:174
86
90
  msgid "Anyone with link"
87
91
  msgstr "Kdokoli kdo má odkaz"
88
92
 
89
- #: models.py:175
93
+ #: models.py:176
90
94
  msgid "Blocked"
91
95
  msgstr "Blokováno"
92
96
 
93
- #: models.py:178
97
+ #: models.py:179
94
98
  msgid "center"
95
99
  msgstr "střed"
96
100
 
97
- #: models.py:179
101
+ #: models.py:180
98
102
  msgid "zoom"
99
103
  msgstr "přiblížení"
100
104
 
101
- #: models.py:181
105
+ #: models.py:182
102
106
  msgid "locate"
103
107
  msgstr "lokalizuj"
104
108
 
105
- #: models.py:181
109
+ #: models.py:182
106
110
  msgid "Locate user on load?"
107
111
  msgstr "Najdi poluhu uživatele na startu?"
108
112
 
109
- #: models.py:185
113
+ #: models.py:186
110
114
  msgid "Choose the map licence."
111
115
  msgstr "Vyberte si licenci mapy."
112
116
 
113
- #: models.py:186
117
+ #: models.py:187
114
118
  msgid "licence"
115
119
  msgstr "licence"
116
120
 
117
- #: models.py:197
121
+ #: models.py:198
118
122
  msgid "owner"
119
123
  msgstr "vlastník"
120
124
 
121
- #: models.py:201
125
+ #: models.py:202
122
126
  msgid "editors"
123
127
  msgstr "přispěvovatelé"
124
128
 
125
- #: models.py:207
129
+ #: models.py:208
126
130
  msgid "team"
127
- msgstr ""
131
+ msgstr "tým"
128
132
 
129
- #: models.py:213 models.py:447
133
+ #: models.py:214 models.py:465
130
134
  msgid "edit status"
131
135
  msgstr "kdo může provádět úpravy"
132
136
 
133
- #: models.py:218
137
+ #: models.py:219
134
138
  msgid "share status"
135
139
  msgstr "nastavení sdílení"
136
140
 
137
- #: models.py:221 models.py:442
141
+ #: models.py:222 models.py:460
138
142
  msgid "settings"
139
143
  msgstr "nastavení"
140
144
 
141
- #: models.py:364
145
+ #: models.py:382
142
146
  msgid "Clone of"
143
147
  msgstr "Kopie"
144
148
 
145
- #: models.py:437
149
+ #: models.py:455
146
150
  msgid "display on load"
147
151
  msgstr "zobrazit při startu"
148
152
 
149
- #: models.py:438
153
+ #: models.py:456
150
154
  msgid "Display this layer on load."
151
155
  msgstr "Zobrazit tuto vrstvu na startu."
152
156
 
@@ -271,7 +275,7 @@ msgstr "Vyzkoušejte si to hned"
271
275
  #: templates/umap/components/alerts/alert.html:64
272
276
  #: templates/umap/components/alerts/alert.html:92
273
277
  msgid "Close"
274
- msgstr ""
278
+ msgstr "Zavřít"
275
279
 
276
280
  #: templates/umap/components/alerts/alert.html:30
277
281
  #, python-format
@@ -279,39 +283,39 @@ msgid ""
279
283
  "Pro-tip: to easily find back your maps, <a href=\"%(login_url)s\" "
280
284
  "target=\"_blank\">create an account</a> or <a href=\"%(login_url)s\" "
281
285
  "target=\"_blank\">log in</a>."
282
- msgstr ""
286
+ msgstr "Tip pro uživatele: Chcete-li snadno najít zpět své mapy, <a href=\"%(login_url)s\" target=\"_blank\">vytvořte si účet</a> nebo se <a href=\"%(login_url)s\" target=\"_blank\">přihlaste</a>."
283
287
 
284
288
  #: templates/umap/components/alerts/alert.html:35
285
289
  msgid "Here is your secret link to edit the map, please keep it safe:"
286
- msgstr ""
290
+ msgstr "Zde je váš tajný odkaz pro úpravu mapy, prosím, mějte ho v bezpečí:"
287
291
 
288
292
  #: templates/umap/components/alerts/alert.html:39
289
293
  msgid "Copy link"
290
- msgstr ""
294
+ msgstr "Zkopírovat odkaz"
291
295
 
292
296
  #: templates/umap/components/alerts/alert.html:46
293
297
  msgid "Enter your email address to receive the secret link:"
294
- msgstr ""
298
+ msgstr "Zadejte svou e-mailovou adresu, abyste obdrželi tajný odkaz:"
295
299
 
296
300
  #: templates/umap/components/alerts/alert.html:52
297
301
  msgid "Email"
298
- msgstr ""
302
+ msgstr "E-mail"
299
303
 
300
304
  #: templates/umap/components/alerts/alert.html:55
301
305
  msgid "Send me the link"
302
- msgstr ""
306
+ msgstr "Pošlete mi odkaz"
303
307
 
304
308
  #: templates/umap/components/alerts/alert.html:79
305
309
  msgid "See their edits in another tab"
306
- msgstr ""
310
+ msgstr "Zobrazit jejich úpravy na jiné kartě"
307
311
 
308
312
  #: templates/umap/components/alerts/alert.html:82
309
313
  msgid "Keep your changes and loose theirs"
310
- msgstr ""
314
+ msgstr "Ponechte si své změny a opusťte cizí"
311
315
 
312
316
  #: templates/umap/components/alerts/alert.html:85
313
317
  msgid "Keep their changes and loose yours"
314
- msgstr ""
318
+ msgstr "Ponechte si jejich změny a opusťte své"
315
319
 
316
320
  #: templates/umap/content.html:26
317
321
  msgid ""
@@ -330,19 +334,19 @@ msgstr "Toto je ukázková verze, používaná na testování nových vydání u
330
334
 
331
335
  #: templates/umap/content_footer.html:5
332
336
  msgid "An OpenStreetMap project"
333
- msgstr ""
337
+ msgstr "Projekt OpenStreetMap"
334
338
 
335
339
  #: templates/umap/content_footer.html:6
336
340
  msgid "version"
337
- msgstr ""
341
+ msgstr "verze"
338
342
 
339
343
  #: templates/umap/content_footer.html:7
340
344
  msgid "Hosted by"
341
- msgstr ""
345
+ msgstr "Běží na"
342
346
 
343
347
  #: templates/umap/content_footer.html:8
344
348
  msgid "Contact"
345
- msgstr ""
349
+ msgstr "Kontakt"
346
350
 
347
351
  #: templates/umap/content_footer.html:9 templates/umap/navigation.html:25
348
352
  msgid "Help"
@@ -351,19 +355,19 @@ msgstr "Nápověda"
351
355
  #: templates/umap/dashboard_menu.html:6
352
356
  #, python-format
353
357
  msgid "My Maps (%(count)s)"
354
- msgstr ""
358
+ msgstr "Moje mapy (%(count)s)"
355
359
 
356
360
  #: templates/umap/dashboard_menu.html:8
357
361
  msgid "My Maps"
358
- msgstr ""
362
+ msgstr "Moje mapy"
359
363
 
360
- #: templates/umap/dashboard_menu.html:11
364
+ #: templates/umap/dashboard_menu.html:12
361
365
  msgid "My profile"
362
366
  msgstr "Můj profil"
363
367
 
364
- #: templates/umap/dashboard_menu.html:13
368
+ #: templates/umap/dashboard_menu.html:15
365
369
  msgid "My teams"
366
- msgstr ""
370
+ msgstr "Moje týmy"
367
371
 
368
372
  #: templates/umap/home.html:14
369
373
  msgid "Map of the uMaps"
@@ -377,11 +381,11 @@ msgstr "Inspirujte se, koukněte na mapy jiných"
377
381
  msgid "You are logged in. Continuing..."
378
382
  msgstr "Jste přihlášeni. Jedeme dál ..."
379
383
 
380
- #: templates/umap/map_list.html:10 views.py:433
384
+ #: templates/umap/map_list.html:11 views.py:433
381
385
  msgid "by"
382
386
  msgstr ", autor:"
383
387
 
384
- #: templates/umap/map_list.html:18
388
+ #: templates/umap/map_list.html:20
385
389
  msgid "More"
386
390
  msgstr "Více"
387
391
 
@@ -391,15 +395,15 @@ msgstr "Název"
391
395
 
392
396
  #: templates/umap/map_table.html:11
393
397
  msgid "Preview"
394
- msgstr ""
398
+ msgstr "Náhled"
395
399
 
396
400
  #: templates/umap/map_table.html:14
397
401
  msgid "Who can see"
398
- msgstr ""
402
+ msgstr "Kdo může vidět"
399
403
 
400
404
  #: templates/umap/map_table.html:17
401
405
  msgid "Who can edit"
402
- msgstr ""
406
+ msgstr "Kdo může upravit"
403
407
 
404
408
  #: templates/umap/map_table.html:20
405
409
  msgid "Last save"
@@ -415,7 +419,7 @@ msgstr "Akce"
415
419
 
416
420
  #: templates/umap/map_table.html:41 templates/umap/map_table.html:43
417
421
  msgid "Open preview"
418
- msgstr ""
422
+ msgstr "Otevřít náhled"
419
423
 
420
424
  #: templates/umap/map_table.html:72 templates/umap/map_table.html:74
421
425
  msgid "Share"
@@ -432,42 +436,42 @@ msgstr "Stažení"
432
436
 
433
437
  #: templates/umap/map_table.html:90 templates/umap/map_table.html:92
434
438
  msgid "Clone"
435
- msgstr ""
439
+ msgstr "Klonovat"
436
440
 
437
441
  #: templates/umap/map_table.html:101 templates/umap/map_table.html:103
438
442
  msgid "Delete"
439
- msgstr ""
443
+ msgstr "Smazat"
440
444
 
441
445
  #: templates/umap/map_table.html:117
442
446
  msgid "first"
443
- msgstr ""
447
+ msgstr "první"
444
448
 
445
449
  #: templates/umap/map_table.html:118
446
450
  msgid "previous"
447
- msgstr ""
451
+ msgstr "předchozí"
448
452
 
449
453
  #: templates/umap/map_table.html:126
450
454
  #, python-format
451
455
  msgid "Page %(maps_number)s of %(num_pages)s"
452
- msgstr ""
456
+ msgstr "Strana %(maps_number)s z %(num_pages)s"
453
457
 
454
458
  #: templates/umap/map_table.html:131
455
459
  msgid "next"
456
- msgstr ""
460
+ msgstr "další"
457
461
 
458
462
  #: templates/umap/map_table.html:132
459
463
  msgid "last"
460
- msgstr ""
464
+ msgstr "poslední"
461
465
 
462
466
  #: templates/umap/map_table.html:140
463
467
  #, python-format
464
468
  msgid "Lines per page: %(per_page)s"
465
- msgstr ""
469
+ msgstr "Řádek na stranu: %(per_page)s"
466
470
 
467
471
  #: templates/umap/map_table.html:145
468
472
  #, python-format
469
473
  msgid "%(count)s maps"
470
- msgstr ""
474
+ msgstr "%(count)s map"
471
475
 
472
476
  #: templates/umap/navigation.html:11 templates/umap/user_dashboard.html:6
473
477
  msgid "My Dashboard"
@@ -559,20 +563,20 @@ msgstr "Hledej"
559
563
  #: templates/umap/team_detail.html:10
560
564
  #, python-format
561
565
  msgid "Browse %(current_team)s's maps"
562
- msgstr ""
566
+ msgstr "Prohlížet mapy týmu %(current_team)s"
563
567
 
564
568
  #: templates/umap/team_detail.html:22
565
569
  #, python-format
566
570
  msgid "%(current_team)s has no public maps."
567
- msgstr ""
571
+ msgstr "%(current_team)s nemá veřejné mapy."
568
572
 
569
573
  #: templates/umap/team_form.html:24
570
574
  msgid "Delete this team"
571
- msgstr ""
575
+ msgstr "Smazat tento tým"
572
576
 
573
577
  #: templates/umap/team_form.html:47
574
578
  msgid "Add user"
575
- msgstr ""
579
+ msgstr "Přidat uživatele"
576
580
 
577
581
  #: templates/umap/user_dashboard.html:9 templates/umap/user_dashboard.html:25
578
582
  msgid "Search my maps"
@@ -580,12 +584,12 @@ msgstr "Prohledávat moje mapy"
580
584
 
581
585
  #: templates/umap/user_dashboard.html:17 templates/umap/user_dashboard.html:22
582
586
  msgid "Map’s title"
583
- msgstr ""
587
+ msgstr "Název mapy"
584
588
 
585
589
  #: templates/umap/user_dashboard.html:30
586
590
  #, python-format
587
591
  msgid "Download %(count)s maps"
588
- msgstr ""
592
+ msgstr "Stáhnout %(count)s map"
589
593
 
590
594
  #: templates/umap/user_dashboard.html:40
591
595
  msgid "You have no map yet."
@@ -593,76 +597,76 @@ msgstr "Zatím nemáte žádnou mapu."
593
597
 
594
598
  #: templates/umap/user_teams.html:17
595
599
  msgid "Users"
596
- msgstr ""
600
+ msgstr "Uživatelé"
597
601
 
598
602
  #: templates/umap/user_teams.html:48
599
603
  msgid "New team"
600
- msgstr ""
604
+ msgstr "Nový tým"
601
605
 
602
606
  #: views.py:235
603
607
  msgid "Cannot delete a team with more than one member"
604
- msgstr ""
608
+ msgstr "Nelze smazat tým s více než jedním členem"
605
609
 
606
610
  #: views.py:239
607
611
  #, python-format
608
612
  msgid "Team “%(name)s” has been deleted"
609
- msgstr ""
613
+ msgstr "Tým \"%(name)s\" byl smazán"
610
614
 
611
615
  #: views.py:438
612
616
  msgid "View the map"
613
617
  msgstr "Prohlídnout si tuto mapu"
614
618
 
615
- #: views.py:824
619
+ #: views.py:818
616
620
  msgid "See full screen"
617
- msgstr ""
621
+ msgstr "Zobrazit celou obrazovku"
618
622
 
619
- #: views.py:953
623
+ #: views.py:950
620
624
  msgid "Map editors updated with success!"
621
625
  msgstr "Seznam přispěvovatelů byl úspěšně upraven!"
622
626
 
623
- #: views.py:989
627
+ #: views.py:986
624
628
  #, python-format
625
629
  msgid "The uMap edit link for your map: %(map_name)s"
626
630
  msgstr "Odkaz na úpravu uMap pro vaši mapu: %(map_name)s"
627
631
 
628
- #: views.py:992
632
+ #: views.py:989
629
633
  #, python-format
630
634
  msgid "Here is your secret edit link: %(link)s"
631
635
  msgstr "Zde je váš tajný odkaz na úpravu: %(link)s"
632
636
 
633
- #: views.py:999
637
+ #: views.py:996
634
638
  #, python-format
635
639
  msgid "Can't send email to %(email)s"
636
- msgstr ""
640
+ msgstr "Nelze odeslat e-mail na %(email)s"
637
641
 
638
- #: views.py:1002
642
+ #: views.py:999
639
643
  #, python-format
640
644
  msgid "Email sent to %(email)s"
641
645
  msgstr "E-mail odeslán na %(email)s"
642
646
 
643
- #: views.py:1013
647
+ #: views.py:1010
644
648
  msgid "Only its owner can delete the map."
645
649
  msgstr "Jen vlastník může vymzat tuto mapu."
646
650
 
647
- #: views.py:1016
651
+ #: views.py:1013
648
652
  msgid "Map successfully deleted."
649
- msgstr ""
653
+ msgstr "Mapa byla úspěšně smazána."
650
654
 
651
- #: views.py:1042
655
+ #: views.py:1039
652
656
  #, python-format
653
657
  msgid ""
654
658
  "Your map has been cloned! If you want to edit this map from another "
655
659
  "computer, please use this link: %(anonymous_url)s"
656
660
  msgstr "Byla vytvořena kopie mapy! Pokud chcete upravovat tuto mapu z jiného počítače, použijte tento odkaz: %(anonymous_url)s"
657
661
 
658
- #: views.py:1047
662
+ #: views.py:1044
659
663
  msgid "Congratulations, your map has been cloned!"
660
664
  msgstr "Gratulujeme, byla vytvořena kopie mapy!"
661
665
 
662
- #: views.py:1282
666
+ #: views.py:1277
663
667
  msgid "Layer successfully deleted."
664
668
  msgstr "Vrstva úspěšně vymazána."
665
669
 
666
- #: views.py:1304
670
+ #: views.py:1299
667
671
  msgid "Permissions updated with success!"
668
672
  msgstr "Oprávnění úspěšně aktualizována!"
Binary file