umap-project 2.6.0b0__py3-none-any.whl → 2.6.0b1__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 (119) hide show
  1. umap/__init__.py +1 -1
  2. umap/locale/en/LC_MESSAGES/django.po +3 -3
  3. umap/settings/base.py +6 -0
  4. umap/static/umap/js/modules/autocomplete.js +5 -9
  5. umap/static/umap/js/modules/data/features.js +5 -11
  6. umap/static/umap/js/modules/importers/overpass.js +22 -8
  7. umap/static/umap/js/modules/rendering/ui.js +18 -2
  8. umap/static/umap/js/modules/schema.js +1 -1
  9. umap/static/umap/js/umap.controls.js +2 -1
  10. umap/static/umap/js/umap.forms.js +9 -5
  11. umap/static/umap/js/umap.js +7 -2
  12. umap/static/umap/locale/am_ET.js +8 -2
  13. umap/static/umap/locale/am_ET.json +8 -2
  14. umap/static/umap/locale/ar.js +8 -2
  15. umap/static/umap/locale/ar.json +8 -2
  16. umap/static/umap/locale/ast.js +8 -2
  17. umap/static/umap/locale/ast.json +8 -2
  18. umap/static/umap/locale/bg.js +8 -2
  19. umap/static/umap/locale/bg.json +8 -2
  20. umap/static/umap/locale/br.js +8 -2
  21. umap/static/umap/locale/br.json +8 -2
  22. umap/static/umap/locale/ca.js +18 -12
  23. umap/static/umap/locale/ca.json +18 -12
  24. umap/static/umap/locale/cs_CZ.js +8 -2
  25. umap/static/umap/locale/cs_CZ.json +8 -2
  26. umap/static/umap/locale/da.js +8 -2
  27. umap/static/umap/locale/da.json +8 -2
  28. umap/static/umap/locale/de.js +8 -2
  29. umap/static/umap/locale/de.json +8 -2
  30. umap/static/umap/locale/el.js +8 -2
  31. umap/static/umap/locale/el.json +8 -2
  32. umap/static/umap/locale/en.js +2 -2
  33. umap/static/umap/locale/en.json +2 -2
  34. umap/static/umap/locale/en_US.json +8 -2
  35. umap/static/umap/locale/es.js +8 -2
  36. umap/static/umap/locale/es.json +8 -2
  37. umap/static/umap/locale/et.js +8 -2
  38. umap/static/umap/locale/et.json +8 -2
  39. umap/static/umap/locale/eu.js +344 -338
  40. umap/static/umap/locale/eu.json +344 -338
  41. umap/static/umap/locale/fa_IR.js +368 -362
  42. umap/static/umap/locale/fa_IR.json +368 -362
  43. umap/static/umap/locale/fi.js +8 -2
  44. umap/static/umap/locale/fi.json +8 -2
  45. umap/static/umap/locale/fr.js +2 -2
  46. umap/static/umap/locale/fr.json +2 -2
  47. umap/static/umap/locale/gl.js +8 -2
  48. umap/static/umap/locale/gl.json +8 -2
  49. umap/static/umap/locale/he.js +8 -2
  50. umap/static/umap/locale/he.json +8 -2
  51. umap/static/umap/locale/hr.js +8 -2
  52. umap/static/umap/locale/hr.json +8 -2
  53. umap/static/umap/locale/hu.js +24 -18
  54. umap/static/umap/locale/hu.json +24 -18
  55. umap/static/umap/locale/id.js +8 -2
  56. umap/static/umap/locale/id.json +8 -2
  57. umap/static/umap/locale/is.js +8 -2
  58. umap/static/umap/locale/is.json +8 -2
  59. umap/static/umap/locale/it.js +8 -2
  60. umap/static/umap/locale/it.json +8 -2
  61. umap/static/umap/locale/ja.js +8 -2
  62. umap/static/umap/locale/ja.json +8 -2
  63. umap/static/umap/locale/ko.js +8 -2
  64. umap/static/umap/locale/ko.json +8 -2
  65. umap/static/umap/locale/lt.js +8 -2
  66. umap/static/umap/locale/lt.json +8 -2
  67. umap/static/umap/locale/ms.js +8 -2
  68. umap/static/umap/locale/ms.json +8 -2
  69. umap/static/umap/locale/nl.js +8 -2
  70. umap/static/umap/locale/nl.json +8 -2
  71. umap/static/umap/locale/no.js +8 -2
  72. umap/static/umap/locale/no.json +8 -2
  73. umap/static/umap/locale/pl.js +54 -48
  74. umap/static/umap/locale/pl.json +54 -48
  75. umap/static/umap/locale/pl_PL.json +8 -2
  76. umap/static/umap/locale/pt.js +8 -2
  77. umap/static/umap/locale/pt.json +8 -2
  78. umap/static/umap/locale/pt_BR.js +8 -2
  79. umap/static/umap/locale/pt_BR.json +8 -2
  80. umap/static/umap/locale/pt_PT.js +8 -2
  81. umap/static/umap/locale/pt_PT.json +8 -2
  82. umap/static/umap/locale/ro.js +8 -2
  83. umap/static/umap/locale/ro.json +8 -2
  84. umap/static/umap/locale/ru.js +8 -2
  85. umap/static/umap/locale/ru.json +8 -2
  86. umap/static/umap/locale/sk_SK.js +8 -2
  87. umap/static/umap/locale/sk_SK.json +8 -2
  88. umap/static/umap/locale/sl.js +8 -2
  89. umap/static/umap/locale/sl.json +8 -2
  90. umap/static/umap/locale/sr.js +8 -2
  91. umap/static/umap/locale/sr.json +8 -2
  92. umap/static/umap/locale/sv.js +8 -2
  93. umap/static/umap/locale/sv.json +8 -2
  94. umap/static/umap/locale/th_TH.js +8 -2
  95. umap/static/umap/locale/th_TH.json +8 -2
  96. umap/static/umap/locale/tr.js +8 -2
  97. umap/static/umap/locale/tr.json +8 -2
  98. umap/static/umap/locale/uk_UA.js +8 -2
  99. umap/static/umap/locale/uk_UA.json +8 -2
  100. umap/static/umap/locale/vi.js +8 -2
  101. umap/static/umap/locale/vi.json +8 -2
  102. umap/static/umap/locale/vi_VN.json +8 -2
  103. umap/static/umap/locale/zh.js +8 -2
  104. umap/static/umap/locale/zh.json +8 -2
  105. umap/static/umap/locale/zh_CN.json +8 -2
  106. umap/static/umap/locale/zh_TW.Big5.json +8 -2
  107. umap/static/umap/locale/zh_TW.js +102 -96
  108. umap/static/umap/locale/zh_TW.json +102 -96
  109. umap/static/umap/map.css +2 -2
  110. umap/templates/umap/content_footer.html +1 -1
  111. umap/templates/umap/map_list.html +3 -1
  112. umap/tests/integration/test_edit_datalayer.py +2 -2
  113. umap/tests/integration/test_import.py +60 -0
  114. umap/tests/integration/test_querystring.py +7 -0
  115. {umap_project-2.6.0b0.dist-info → umap_project-2.6.0b1.dist-info}/METADATA +6 -6
  116. {umap_project-2.6.0b0.dist-info → umap_project-2.6.0b1.dist-info}/RECORD +119 -119
  117. {umap_project-2.6.0b0.dist-info → umap_project-2.6.0b1.dist-info}/WHEEL +0 -0
  118. {umap_project-2.6.0b0.dist-info → umap_project-2.6.0b1.dist-info}/entry_points.txt +0 -0
  119. {umap_project-2.6.0b0.dist-info → umap_project-2.6.0b1.dist-info}/licenses/LICENSE +0 -0
@@ -115,7 +115,6 @@
115
115
  "display name": "display name",
116
116
  "Display on load": "Display on load",
117
117
  "Display the control to open OpenStreetMap editor": "Display the control to open OpenStreetMap editor",
118
- "Display the data layers control": "Display the data layers control",
119
118
  "Display the embed control": "Display the embed control",
120
119
  "Display the fullscreen control": "Display the fullscreen control",
121
120
  "Display the locate control": "Display the locate control",
@@ -498,5 +497,12 @@
498
497
  "Found {count} rows. Are you sure you want to delete all?": "Found {count} rows. Are you sure you want to delete all?",
499
498
  "Expression is empty": "Expression is empty",
500
499
  "OK": "OK",
501
- "Cancel": "Cancel"
500
+ "Cancel": "Cancel",
501
+ "Attach map to a team": "Attach map to a team",
502
+ "Display the polygon inverted": "Display the polygon inverted",
503
+ "Proportional circles": "Proportional circles",
504
+ "Property name to compute circles": "Property name to compute circles",
505
+ "Min circle radius": "Min circle radius",
506
+ "Max circle radius": "Max circle radius",
507
+ "Display the open browser control": "Display the open browser control"
502
508
  }
@@ -115,7 +115,6 @@ const locale = {
115
115
  "display name": "顯示名稱",
116
116
  "Display on load": "載入時顯示",
117
117
  "Display the control to open OpenStreetMap editor": "顯示開啟開放街圖編輯器的按鍵",
118
- "Display the data layers control": "顯示資料圖層鍵",
119
118
  "Display the embed control": "顯示嵌入鍵",
120
119
  "Display the fullscreen control": "顯示全螢幕鍵",
121
120
  "Display the locate control": "顯示定位鍵",
@@ -340,7 +339,7 @@ const locale = {
340
339
  "Table": "表格",
341
340
  "Text color for the cluster label": "叢集標籤的文字顏色",
342
341
  "Text formatting": "文字格式",
343
- "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}\")",
342
+ "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\")。你也可以使用場地內的括號一個或多個靜態內容 (例如 \"{name} in {place}\")",
344
343
  "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier.",
345
344
  "The zoom and center have been modified.": "已變動完成置中及切換功能。",
346
345
  "TMS format": "TMS 格式",
@@ -404,101 +403,108 @@ const locale = {
404
403
  "{distance} miles": "{distance} 英哩",
405
404
  "{distance} NM": "{distance} 海浬",
406
405
  "{distance} yd": "{distance} 英呎",
407
- "Edit map name and caption": "Edit map name and caption",
408
- "Map advanced properties": "Map advanced properties",
409
- "Edit map details": "Edit map details",
410
- "Back to browser": "Back to browser",
411
- "Toggle size": "Toggle size",
412
- "Display the caption control": "Display the caption control",
406
+ "Edit map name and caption": "編輯地圖名稱與標題",
407
+ "Map advanced properties": "地圖進階屬性",
408
+ "Edit map details": "編輯地圖詳情",
409
+ "Back to browser": "回到瀏覽器",
410
+ "Toggle size": "縮放大小",
411
+ "Display the caption control": "顯示標題控制",
413
412
  "<empty value>": "<empty value>",
414
- "Min": "Min",
415
- "Max": "Max",
416
- "From": "From",
417
- "Until": "Until",
418
- "Example: key1,key2|Label 2,key3|Label 3|checkbox": "Example: key1,key2|Label 2,key3|Label 3|checkbox",
419
- "Edit in OpenStreetMap": "Edit in OpenStreetMap",
420
- "Cannot determine latitude and longitude columns.": "Cannot determine latitude and longitude columns.",
421
- "Back to layers": "Back to layers",
422
- "Filters": "Filters",
423
- "Comma separated list of properties to use when filtering features by text input": "Comma separated list of properties to use when filtering features by text input",
424
- "Comma separated list of properties to use for filters (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key). To control input field type, add it after another | (eg.: mykey|My Key|checkbox,otherkey|Other Key|datetime). Allowed values for the input field type are checkbox (default), radio, number, date and datetime.": "Comma separated list of properties to use for filters (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key). To control input field type, add it after another | (eg.: mykey|My Key|checkbox,otherkey|Other Key|datetime). Allowed values for the input field type are checkbox (default), radio, number, date and datetime.",
425
- "Search keys": "Search keys",
426
- "Filters keys": "Filters keys",
427
- "Filter data": "Filter data",
428
- "Search map features…": "Search map features…",
429
- "Reset all": "Reset all",
430
- "Open browser": "Open browser",
431
- "Open caption": "Open caption",
432
- "Your map has been created with an anonymous account!": "Your map has been created with an anonymous account!",
433
- "Real-time collaboration": "Real-time collaboration",
434
- "Cannot parse data": "Cannot parse data",
435
- "Start typing...": "Start typing...",
436
- "No result": "No result",
437
- "Data browser": "Data browser",
438
- "When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.": "When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.",
439
- "Overpass supported expressions": "Overpass supported expressions",
440
- "key (eg. building)": "key (eg. building)",
441
- "!key (eg. !name)": "!key (eg. !name)",
442
- "key=value (eg. building=yes)": "key=value (eg. building=yes)",
443
- "key!=value (eg. building!=yes)": "key!=value (eg. building!=yes)",
444
- "key~value (eg. name~Grisy)": "key~value (eg. name~Grisy)",
445
- "key=\"value|value2\" (eg. name=\"Paris|Berlin\")": "key=\"value|value2\" (eg. name=\"Paris|Berlin\")",
446
- "More info about Overpass syntax": "More info about Overpass syntax",
447
- "For more complex needs, see": "For more complex needs, see",
448
- "Choose data": "Choose data",
449
- "Import helpers:": "Import helpers:",
450
- "Choose the format": "Choose the format",
451
- "Choose the layer": "Choose the layer",
452
- "Layer name": "Layer name",
453
- "Choose import mode": "Choose import mode",
454
- "Copy into the layer": "Copy into the layer",
455
- "Link to the layer as remote data": "Link to the layer as remote data",
456
- "Condition": "Condition",
457
- "key=value or key!=value": "key=value or key!=value",
458
- "Are you sure you want to delete this rule?": "Are you sure you want to delete this rule?",
459
- "empty rule": "empty rule",
460
- "Conditional style rules": "Conditional style rules",
461
- "Add rule": "Add rule",
462
- "Browser: data": "Browser: data",
463
- "Browser: layers": "Browser: layers",
464
- "Browser: filters": "Browser: filters",
465
- "Enable real-time collaboration": "Enable real-time collaboration",
466
- "✅ Copied!": "✅ Copied!",
467
- "Choose a dataset": "Choose a dataset",
468
- "Choose this dataset": "Choose this dataset",
469
- "GeoDataMine: thematic data from OpenStreetMap": "GeoDataMine: thematic data from OpenStreetMap",
470
- "Choose a theme": "Choose a theme",
471
- "Symplify all geometries to points": "Symplify all geometries to points",
472
- "Choose this data": "Choose this data",
473
- "Search admin boundary": "Search admin boundary",
474
- "Please choose a theme and a boundary first.": "Please choose a theme and a boundary first.",
475
- "Expression": "Expression",
476
- "Geometry mode": "Geometry mode",
477
- "Only geometry centers": "Only geometry centers",
478
- "Search area": "Search area",
479
- "Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
480
- "Data successfully imported!": "Data successfully imported!",
481
- "My Dashboard ({username})": "My Dashboard ({username})",
482
- "Clear data": "Clear data",
483
- "Remove layers": "Remove layers",
484
- "Categorized": "Categorized",
485
- "Alphabetical": "Alphabetical",
486
- "Category property": "Category property",
487
- "Color palette": "Color palette",
488
- "Categories": "Categories",
489
- "Comma separated list of categories.": "Comma separated list of categories.",
490
- "Categories mode": "Categories mode",
491
- "Remove filter for this column": "Remove filter for this column",
492
- "Add filter for this column": "Add filter for this column",
493
- "Rename this column": "Rename this column",
494
- "Delete this column": "Delete this column",
495
- "Name “{name}” should not contain a dot.": "Name {name} should not contain a dot.",
496
- "This name already exists: “{name}”": "This name already exists: “{name}",
497
- "Delete selected rows": "Delete selected rows",
498
- "Found {count} rows. Are you sure you want to delete all?": "Found {count} rows. Are you sure you want to delete all?",
499
- "Expression is empty": "Expression is empty",
500
- "OK": "OK",
501
- "Cancel": "Cancel"
413
+ "Min": "最小",
414
+ "Max": "最大",
415
+ "From": "",
416
+ "Until": "",
417
+ "Example: key1,key2|Label 2,key3|Label 3|checkbox": "例如:key1,key2|Label 2,key3|Label 3|checkbox",
418
+ "Edit in OpenStreetMap": "在開放街圖編輯",
419
+ "Cannot determine latitude and longitude columns.": "無法決定緯度與經度欄。",
420
+ "Back to layers": "回到圖層",
421
+ "Filters": "篩選",
422
+ "Comma separated list of properties to use when filtering features by text input": "逗號分隔清單的屬性,用在文字輸入時篩選用途",
423
+ "Comma separated list of properties to use for filters (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key). To control input field type, add it after another | (eg.: mykey|My Key|checkbox,otherkey|Other Key|datetime). Allowed values for the input field type are checkbox (default), radio, number, date and datetime.": "為了用在篩選的逗號分隔清單屬性 (例如:mykey,otherkey)。要控制標籤,在後面加上 | (例如:mykey|My Key,otherkey|Other Key)。要控制輸入欄位類型,則在後面加另一個 | (例如:mykey|My Key|checkbox,otherkey|Other Key|datetime)。允許輸入欄位類型的值有核取方塊 (預設)、頻率、數字、日期以及時間日期。",
424
+ "Search keys": "搜尋鍵",
425
+ "Filters keys": "篩選鍵",
426
+ "Filter data": "篩選資料",
427
+ "Search map features…": "搜尋地圖圖徵",
428
+ "Reset all": "重設所有",
429
+ "Open browser": "開啟瀏覽器",
430
+ "Open caption": "開啟標題",
431
+ "Your map has been created with an anonymous account!": "你用暱名方式創建地圖!",
432
+ "Real-time collaboration": "即時合作模式",
433
+ "Cannot parse data": "無法解析資料",
434
+ "Start typing...": "開始輸入...",
435
+ "No result": "沒有結果",
436
+ "Data browser": "資料瀏覽器",
437
+ "When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.": "當你提供 URLuMap 能夠複製遠端資料成為圖層,或是用這一 URL 來當作遠端來源的圖層。在這一例子,資料總能從 URL 取得,能夠維持即時狀態,但仍不能直接在 uMap 裡編輯。",
438
+ "Overpass supported expressions": "Overpass 支援的表示式",
439
+ "key (eg. building)": "key (例如 building)",
440
+ "!key (eg. !name)": "!key (例如 !name)",
441
+ "key=value (eg. building=yes)": "key=value (例如 building=yes)",
442
+ "key!=value (eg. building!=yes)": "key!=value (例如 building!=yes)",
443
+ "key~value (eg. name~Grisy)": "key~value (例如 name~Grisy)",
444
+ "key=\"value|value2\" (eg. name=\"Paris|Berlin\")": "key=\"value|value2\" (例如 name=\"Paris|berlin\")",
445
+ "More info about Overpass syntax": "更多 Overpass 語法資訊",
446
+ "For more complex needs, see": "而更多複雜的需求,請見",
447
+ "Choose data": "選擇日期",
448
+ "Import helpers:": "匯入幫手:",
449
+ "Choose the format": "選擇格式",
450
+ "Choose the layer": "選擇圖層",
451
+ "Layer name": "圖層名稱",
452
+ "Choose import mode": "選擇匯入模式",
453
+ "Copy into the layer": "複製到圖層",
454
+ "Link to the layer as remote data": "以遠端資料型式連結到圖層",
455
+ "Condition": "條件",
456
+ "key=value or key!=value": "key=value 或是 key!=value",
457
+ "Are you sure you want to delete this rule?": "你確定要刪除這一規則?",
458
+ "empty rule": "空白規則",
459
+ "Conditional style rules": "條件樣式規則",
460
+ "Add rule": "增加規則",
461
+ "Browser: data": "瀏覽:資料",
462
+ "Browser: layers": "瀏覽:圖層",
463
+ "Browser: filters": "瀏覽:篩選",
464
+ "Enable real-time collaboration": "啟用即時合作模式",
465
+ "✅ Copied!": "✅ 已複製!",
466
+ "Choose a dataset": "選擇資料集",
467
+ "Choose this dataset": "選擇這個資料集",
468
+ "GeoDataMine: thematic data from OpenStreetMap": "GeoDataMine:從開放街圖來的主題資料",
469
+ "Choose a theme": "選擇主題",
470
+ "Symplify all geometries to points": "簡化所有地理範圍的節點",
471
+ "Choose this data": "選擇這個資料",
472
+ "Search admin boundary": "搜尋行政邊界",
473
+ "Please choose a theme and a boundary first.": "請先選擇主題與邊界。",
474
+ "Expression": "表示式",
475
+ "Geometry mode": "地理範圍模式",
476
+ "Only geometry centers": "只有地理範圍中心",
477
+ "Search area": "搜尋區域",
478
+ "Type area name, or let empty to load data in current map view": "輸入區域名稱,或是保持空白載入目前地圖檢視",
479
+ "Data successfully imported!": "成功匯入資料",
480
+ "My Dashboard ({username})": "我的儀表版 ({username})",
481
+ "Clear data": "清除資料",
482
+ "Remove layers": "移除圖層",
483
+ "Categorized": "分類化",
484
+ "Alphabetical": "字母排列",
485
+ "Category property": "分類屬性",
486
+ "Color palette": "色盤",
487
+ "Categories": "分類",
488
+ "Comma separated list of categories.": "逗號分隔清單的分類。",
489
+ "Categories mode": "分類模式",
490
+ "Remove filter for this column": "移除這一欄的篩選",
491
+ "Add filter for this column": "增加這一欄的篩選",
492
+ "Rename this column": "重新命名這一欄",
493
+ "Delete this column": "刪除這一欄",
494
+ "Name “{name}” should not contain a dot.": "名稱 {name}\" 內不應該有點。",
495
+ "This name already exists: “{name}”": "這個名稱已經存在了:\"{name}\"",
496
+ "Delete selected rows": "刪除選擇的行",
497
+ "Found {count} rows. Are you sure you want to delete all?": "找到 {count} 行。你確定要刪除全部嗎?",
498
+ "Expression is empty": "表示式為空白",
499
+ "OK": "確認",
500
+ "Cancel": "取消",
501
+ "Attach map to a team": "Attach map to a team",
502
+ "Display the polygon inverted": "Display the polygon inverted",
503
+ "Proportional circles": "Proportional circles",
504
+ "Property name to compute circles": "Property name to compute circles",
505
+ "Min circle radius": "Min circle radius",
506
+ "Max circle radius": "Max circle radius",
507
+ "Display the open browser control": "Display the open browser control"
502
508
  }
503
509
  L.registerLocale("zh_TW", locale)
504
510
  L.setLocale("zh_TW")
@@ -115,7 +115,6 @@
115
115
  "display name": "顯示名稱",
116
116
  "Display on load": "載入時顯示",
117
117
  "Display the control to open OpenStreetMap editor": "顯示開啟開放街圖編輯器的按鍵",
118
- "Display the data layers control": "顯示資料圖層鍵",
119
118
  "Display the embed control": "顯示嵌入鍵",
120
119
  "Display the fullscreen control": "顯示全螢幕鍵",
121
120
  "Display the locate control": "顯示定位鍵",
@@ -340,7 +339,7 @@
340
339
  "Table": "表格",
341
340
  "Text color for the cluster label": "叢集標籤的文字顏色",
342
341
  "Text formatting": "文字格式",
343
- "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.: \"&lcub;name&rcub; in &lcub;place&rcub;\")": "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.: \"&lcub;name&rcub; in &lcub;place&rcub;\")",
342
+ "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.: \"&lcub;name&rcub; in &lcub;place&rcub;\")": "場所的名稱會用做圖徵標籤 (例如:\"nom\")。你也可以使用場地內的括號一個或多個靜態內容 (例如 \"&lcub;name&rcub; in &lcub;place&rcub;\")",
344
343
  "The name of the property to use as feature unique identifier.": "The name of the property to use as feature unique identifier.",
345
344
  "The zoom and center have been modified.": "已變動完成置中及切換功能。",
346
345
  "TMS format": "TMS 格式",
@@ -404,99 +403,106 @@
404
403
  "{distance}&#8239;miles": "{distance} 英哩",
405
404
  "{distance}&#8239;NM": "{distance} 海浬",
406
405
  "{distance}&#8239;yd": "{distance} 英呎",
407
- "Edit map name and caption": "Edit map name and caption",
408
- "Map advanced properties": "Map advanced properties",
409
- "Edit map details": "Edit map details",
410
- "Back to browser": "Back to browser",
411
- "Toggle size": "Toggle size",
412
- "Display the caption control": "Display the caption control",
406
+ "Edit map name and caption": "編輯地圖名稱與標題",
407
+ "Map advanced properties": "地圖進階屬性",
408
+ "Edit map details": "編輯地圖詳情",
409
+ "Back to browser": "回到瀏覽器",
410
+ "Toggle size": "縮放大小",
411
+ "Display the caption control": "顯示標題控制",
413
412
  "<empty value>": "<empty value>",
414
- "Min": "Min",
415
- "Max": "Max",
416
- "From": "From",
417
- "Until": "Until",
418
- "Example: key1,key2|Label 2,key3|Label 3|checkbox": "Example: key1,key2|Label 2,key3|Label 3|checkbox",
419
- "Edit in OpenStreetMap": "Edit in OpenStreetMap",
420
- "Cannot determine latitude and longitude columns.": "Cannot determine latitude and longitude columns.",
421
- "Back to layers": "Back to layers",
422
- "Filters": "Filters",
423
- "Comma separated list of properties to use when filtering features by text input": "Comma separated list of properties to use when filtering features by text input",
424
- "Comma separated list of properties to use for filters (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key). To control input field type, add it after another | (eg.: mykey|My Key|checkbox,otherkey|Other Key|datetime). Allowed values for the input field type are checkbox (default), radio, number, date and datetime.": "Comma separated list of properties to use for filters (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key). To control input field type, add it after another | (eg.: mykey|My Key|checkbox,otherkey|Other Key|datetime). Allowed values for the input field type are checkbox (default), radio, number, date and datetime.",
425
- "Search keys": "Search keys",
426
- "Filters keys": "Filters keys",
427
- "Filter data": "Filter data",
428
- "Search map features…": "Search map features…",
429
- "Reset all": "Reset all",
430
- "Open browser": "Open browser",
431
- "Open caption": "Open caption",
432
- "Your map has been created with an anonymous account!": "Your map has been created with an anonymous account!",
433
- "Real-time collaboration": "Real-time collaboration",
434
- "Cannot parse data": "Cannot parse data",
435
- "Start typing...": "Start typing...",
436
- "No result": "No result",
437
- "Data browser": "Data browser",
438
- "When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.": "When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.",
439
- "Overpass supported expressions": "Overpass supported expressions",
440
- "key (eg. building)": "key (eg. building)",
441
- "!key (eg. !name)": "!key (eg. !name)",
442
- "key=value (eg. building=yes)": "key=value (eg. building=yes)",
443
- "key!=value (eg. building!=yes)": "key!=value (eg. building!=yes)",
444
- "key~value (eg. name~Grisy)": "key~value (eg. name~Grisy)",
445
- "key=\"value|value2\" (eg. name=\"Paris|Berlin\")": "key=\"value|value2\" (eg. name=\"Paris|Berlin\")",
446
- "More info about Overpass syntax": "More info about Overpass syntax",
447
- "For more complex needs, see": "For more complex needs, see",
448
- "Choose data": "Choose data",
449
- "Import helpers:": "Import helpers:",
450
- "Choose the format": "Choose the format",
451
- "Choose the layer": "Choose the layer",
452
- "Layer name": "Layer name",
453
- "Choose import mode": "Choose import mode",
454
- "Copy into the layer": "Copy into the layer",
455
- "Link to the layer as remote data": "Link to the layer as remote data",
456
- "Condition": "Condition",
457
- "key=value or key!=value": "key=value or key!=value",
458
- "Are you sure you want to delete this rule?": "Are you sure you want to delete this rule?",
459
- "empty rule": "empty rule",
460
- "Conditional style rules": "Conditional style rules",
461
- "Add rule": "Add rule",
462
- "Browser: data": "Browser: data",
463
- "Browser: layers": "Browser: layers",
464
- "Browser: filters": "Browser: filters",
465
- "Enable real-time collaboration": "Enable real-time collaboration",
466
- "✅ Copied!": "✅ Copied!",
467
- "Choose a dataset": "Choose a dataset",
468
- "Choose this dataset": "Choose this dataset",
469
- "GeoDataMine: thematic data from OpenStreetMap": "GeoDataMine: thematic data from OpenStreetMap",
470
- "Choose a theme": "Choose a theme",
471
- "Symplify all geometries to points": "Symplify all geometries to points",
472
- "Choose this data": "Choose this data",
473
- "Search admin boundary": "Search admin boundary",
474
- "Please choose a theme and a boundary first.": "Please choose a theme and a boundary first.",
475
- "Expression": "Expression",
476
- "Geometry mode": "Geometry mode",
477
- "Only geometry centers": "Only geometry centers",
478
- "Search area": "Search area",
479
- "Type area name, or let empty to load data in current map view": "Type area name, or let empty to load data in current map view",
480
- "Data successfully imported!": "Data successfully imported!",
481
- "My Dashboard ({username})": "My Dashboard ({username})",
482
- "Clear data": "Clear data",
483
- "Remove layers": "Remove layers",
484
- "Categorized": "Categorized",
485
- "Alphabetical": "Alphabetical",
486
- "Category property": "Category property",
487
- "Color palette": "Color palette",
488
- "Categories": "Categories",
489
- "Comma separated list of categories.": "Comma separated list of categories.",
490
- "Categories mode": "Categories mode",
491
- "Remove filter for this column": "Remove filter for this column",
492
- "Add filter for this column": "Add filter for this column",
493
- "Rename this column": "Rename this column",
494
- "Delete this column": "Delete this column",
495
- "Name “{name}” should not contain a dot.": "Name {name} should not contain a dot.",
496
- "This name already exists: “{name}”": "This name already exists: “{name}",
497
- "Delete selected rows": "Delete selected rows",
498
- "Found {count} rows. Are you sure you want to delete all?": "Found {count} rows. Are you sure you want to delete all?",
499
- "Expression is empty": "Expression is empty",
500
- "OK": "OK",
501
- "Cancel": "Cancel"
413
+ "Min": "最小",
414
+ "Max": "最大",
415
+ "From": "",
416
+ "Until": "",
417
+ "Example: key1,key2|Label 2,key3|Label 3|checkbox": "例如:key1,key2|Label 2,key3|Label 3|checkbox",
418
+ "Edit in OpenStreetMap": "在開放街圖編輯",
419
+ "Cannot determine latitude and longitude columns.": "無法決定緯度與經度欄。",
420
+ "Back to layers": "回到圖層",
421
+ "Filters": "篩選",
422
+ "Comma separated list of properties to use when filtering features by text input": "逗號分隔清單的屬性,用在文字輸入時篩選用途",
423
+ "Comma separated list of properties to use for filters (eg.: mykey,otherkey). To control label, add it after a | (eg.: mykey|My Key,otherkey|Other Key). To control input field type, add it after another | (eg.: mykey|My Key|checkbox,otherkey|Other Key|datetime). Allowed values for the input field type are checkbox (default), radio, number, date and datetime.": "為了用在篩選的逗號分隔清單屬性 (例如:mykey,otherkey)。要控制標籤,在後面加上 | (例如:mykey|My Key,otherkey|Other Key)。要控制輸入欄位類型,則在後面加另一個 | (例如:mykey|My Key|checkbox,otherkey|Other Key|datetime)。允許輸入欄位類型的值有核取方塊 (預設)、頻率、數字、日期以及時間日期。",
424
+ "Search keys": "搜尋鍵",
425
+ "Filters keys": "篩選鍵",
426
+ "Filter data": "篩選資料",
427
+ "Search map features…": "搜尋地圖圖徵",
428
+ "Reset all": "重設所有",
429
+ "Open browser": "開啟瀏覽器",
430
+ "Open caption": "開啟標題",
431
+ "Your map has been created with an anonymous account!": "你用暱名方式創建地圖!",
432
+ "Real-time collaboration": "即時合作模式",
433
+ "Cannot parse data": "無法解析資料",
434
+ "Start typing...": "開始輸入...",
435
+ "No result": "沒有結果",
436
+ "Data browser": "資料瀏覽器",
437
+ "When providing an URL, uMap can copy the remote data in a layer, or add this URL as remote source of the layer. In that case, data will always be fetched from that URL, and thus be up to date, but it will not be possible to edit it inside uMap.": "當你提供 URLuMap 能夠複製遠端資料成為圖層,或是用這一 URL 來當作遠端來源的圖層。在這一例子,資料總能從 URL 取得,能夠維持即時狀態,但仍不能直接在 uMap 裡編輯。",
438
+ "Overpass supported expressions": "Overpass 支援的表示式",
439
+ "key (eg. building)": "key (例如 building)",
440
+ "!key (eg. !name)": "!key (例如 !name)",
441
+ "key=value (eg. building=yes)": "key=value (例如 building=yes)",
442
+ "key!=value (eg. building!=yes)": "key!=value (例如 building!=yes)",
443
+ "key~value (eg. name~Grisy)": "key~value (例如 name~Grisy)",
444
+ "key=\"value|value2\" (eg. name=\"Paris|Berlin\")": "key=\"value|value2\" (例如 name=\"Paris|berlin\")",
445
+ "More info about Overpass syntax": "更多 Overpass 語法資訊",
446
+ "For more complex needs, see": "而更多複雜的需求,請見",
447
+ "Choose data": "選擇日期",
448
+ "Import helpers:": "匯入幫手:",
449
+ "Choose the format": "選擇格式",
450
+ "Choose the layer": "選擇圖層",
451
+ "Layer name": "圖層名稱",
452
+ "Choose import mode": "選擇匯入模式",
453
+ "Copy into the layer": "複製到圖層",
454
+ "Link to the layer as remote data": "以遠端資料型式連結到圖層",
455
+ "Condition": "條件",
456
+ "key=value or key!=value": "key=value 或是 key!=value",
457
+ "Are you sure you want to delete this rule?": "你確定要刪除這一規則?",
458
+ "empty rule": "空白規則",
459
+ "Conditional style rules": "條件樣式規則",
460
+ "Add rule": "增加規則",
461
+ "Browser: data": "瀏覽:資料",
462
+ "Browser: layers": "瀏覽:圖層",
463
+ "Browser: filters": "瀏覽:篩選",
464
+ "Enable real-time collaboration": "啟用即時合作模式",
465
+ "✅ Copied!": "✅ 已複製!",
466
+ "Choose a dataset": "選擇資料集",
467
+ "Choose this dataset": "選擇這個資料集",
468
+ "GeoDataMine: thematic data from OpenStreetMap": "GeoDataMine:從開放街圖來的主題資料",
469
+ "Choose a theme": "選擇主題",
470
+ "Symplify all geometries to points": "簡化所有地理範圍的節點",
471
+ "Choose this data": "選擇這個資料",
472
+ "Search admin boundary": "搜尋行政邊界",
473
+ "Please choose a theme and a boundary first.": "請先選擇主題與邊界。",
474
+ "Expression": "表示式",
475
+ "Geometry mode": "地理範圍模式",
476
+ "Only geometry centers": "只有地理範圍中心",
477
+ "Search area": "搜尋區域",
478
+ "Type area name, or let empty to load data in current map view": "輸入區域名稱,或是保持空白載入目前地圖檢視",
479
+ "Data successfully imported!": "成功匯入資料",
480
+ "My Dashboard ({username})": "我的儀表版 ({username})",
481
+ "Clear data": "清除資料",
482
+ "Remove layers": "移除圖層",
483
+ "Categorized": "分類化",
484
+ "Alphabetical": "字母排列",
485
+ "Category property": "分類屬性",
486
+ "Color palette": "色盤",
487
+ "Categories": "分類",
488
+ "Comma separated list of categories.": "逗號分隔清單的分類。",
489
+ "Categories mode": "分類模式",
490
+ "Remove filter for this column": "移除這一欄的篩選",
491
+ "Add filter for this column": "增加這一欄的篩選",
492
+ "Rename this column": "重新命名這一欄",
493
+ "Delete this column": "刪除這一欄",
494
+ "Name “{name}” should not contain a dot.": "名稱 {name}\" 內不應該有點。",
495
+ "This name already exists: “{name}”": "這個名稱已經存在了:\"{name}\"",
496
+ "Delete selected rows": "刪除選擇的行",
497
+ "Found {count} rows. Are you sure you want to delete all?": "找到 {count} 行。你確定要刪除全部嗎?",
498
+ "Expression is empty": "表示式為空白",
499
+ "OK": "確認",
500
+ "Cancel": "取消",
501
+ "Attach map to a team": "Attach map to a team",
502
+ "Display the polygon inverted": "Display the polygon inverted",
503
+ "Proportional circles": "Proportional circles",
504
+ "Property name to compute circles": "Property name to compute circles",
505
+ "Min circle radius": "Min circle radius",
506
+ "Max circle radius": "Max circle radius",
507
+ "Display the open browser control": "Display the open browser control"
502
508
  }
umap/static/umap/map.css CHANGED
@@ -105,12 +105,12 @@ html[dir="rtl"] .leaflet-tooltip-pane > * {
105
105
  .umap-control-more,
106
106
  .umap-control-less {
107
107
  background-image: url('./img/24-white.svg');
108
- background-position: -72px -474px;
108
+ background-position: -72px -366px;
109
109
  text-indent: -9999px;
110
110
  margin-bottom: 0;
111
111
  }
112
112
  .umap-control-less {
113
- background-position: -108px -476px;
113
+ background-position: -108px -366px;
114
114
  }
115
115
  .umap-more-controls .display-on-more,
116
116
  .umap-more-controls .umap-control-less {
@@ -14,7 +14,7 @@
14
14
  {% for language in languages %}
15
15
  <option value="{{ language.code }}"
16
16
  {% if language.code == LANGUAGE_CODE %}selected="selected"{% endif %}>
17
- {{ language.name_local }}
17
+ {{ language.name_local }} ({{ language.code }})
18
18
  </option>
19
19
  {% endfor %}
20
20
  </select>
@@ -7,7 +7,9 @@
7
7
  <div class="legend">
8
8
  <a href="{{ map_inst.get_absolute_url }}">{{ map_inst.name }}</a>
9
9
  {% with author=map_inst.get_author %}
10
- <em>{% trans "by" %} <a href="{{ author.get_url }}">{{ author }}</a></em>
10
+ {% if author %}
11
+ <em>{% trans "by" %} <a href="{{ author.get_url }}">{{ author }}</a></em>
12
+ {% endif %}
11
13
  {% endwith %}
12
14
  </div>
13
15
  </div>
@@ -114,7 +114,7 @@ def test_can_change_icon_class(live_server, openmap, page):
114
114
 
115
115
  def test_can_change_name(live_server, openmap, page, datalayer):
116
116
  page.goto(
117
- f"{live_server.url}{openmap.get_absolute_url()}?edit&datalayersControl=expanded"
117
+ f"{live_server.url}{openmap.get_absolute_url()}?edit&onLoadPanel=databrowser"
118
118
  )
119
119
  page.get_by_role("link", name="Manage layers").click()
120
120
  page.locator(".panel.right").get_by_title("Edit", exact=True).click()
@@ -133,7 +133,7 @@ def test_can_change_name(live_server, openmap, page, datalayer):
133
133
 
134
134
  def test_can_create_new_datalayer(live_server, openmap, page, datalayer):
135
135
  page.goto(
136
- f"{live_server.url}{openmap.get_absolute_url()}?edit&datalayersControl=expanded"
136
+ f"{live_server.url}{openmap.get_absolute_url()}?edit&onLoadPanel=databrowser"
137
137
  )
138
138
  page.get_by_role("link", name="Manage layers").click()
139
139
  page.get_by_role("button", name="Add a layer").click()
@@ -579,6 +579,66 @@ def test_overpass_import_with_bbox(page, live_server, tilelayer, settings):
579
579
  )
580
580
 
581
581
 
582
+ def test_overpass_import_retains_boundary(page, live_server, tilelayer, settings):
583
+ settings.UMAP_IMPORTERS = {
584
+ "overpass": {
585
+ "url": "https://my.overpass.io/interpreter",
586
+ "searchUrl": "https://foobar.io/api?q={q}",
587
+ }
588
+ }
589
+
590
+ def handle(route):
591
+ route.fulfill(
592
+ json={
593
+ "features": [
594
+ {
595
+ "geometry": {
596
+ "coordinates": [3.2394035, 48.4149956],
597
+ "type": "Point",
598
+ },
599
+ "type": "Feature",
600
+ "properties": {
601
+ "osm_type": "R",
602
+ "osm_id": 1393025,
603
+ "extent": [3.2290211, 48.4268302, 3.2623032, 48.4041636],
604
+ "country": "France",
605
+ "osm_key": "place",
606
+ "countrycode": "FR",
607
+ "osm_value": "village",
608
+ "postcode": "77480",
609
+ "name": "Bray-sur-Seine",
610
+ "county": "Seine-et-Marne",
611
+ "state": "Île-de-France",
612
+ "type": "city",
613
+ },
614
+ }
615
+ ],
616
+ "type": "FeatureCollection",
617
+ }
618
+ )
619
+
620
+ # Intercept the route
621
+ page.route(re.compile("https://foobar.io/api.*"), handle)
622
+ page.goto(f"{live_server.url}/map/new/")
623
+ page.get_by_role("link", name="Import data").click()
624
+ page.get_by_role("button", name="Overpass").click()
625
+ page.get_by_placeholder("amenity=drinking_water").fill("building")
626
+ page.get_by_placeholder("Type area name, or let empty").click()
627
+ page.get_by_placeholder("Type area name, or let empty").press_sequentially("bray")
628
+ page.get_by_text("Bray-sur-Seine, Seine-et-Marne, Île-de-France, France").click()
629
+ expect(page.locator("#area")).to_contain_text(
630
+ "Bray-sur-Seine, Seine-et-Marne, Île-de-France, France"
631
+ )
632
+ page.get_by_role("button", name="Choose this data").click()
633
+ expect(page.get_by_placeholder("Provide an URL here")).to_have_value(
634
+ "https://my.overpass.io/interpreter?data=[out:json];nwr[building](area:3601393025);out geom;"
635
+ )
636
+ page.get_by_role("button", name="Overpass").click()
637
+ expect(page.locator("#area")).to_contain_text(
638
+ "Bray-sur-Seine, Seine-et-Marne, Île-de-France, France"
639
+ )
640
+
641
+
582
642
  def test_import_from_datasets(page, live_server, tilelayer, settings):
583
643
  settings.UMAP_IMPORTERS = {
584
644
  "datasets": {