modoboa 2.6.5__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.
Files changed (359) hide show
  1. modoboa/admin/api/v2/serializers.py +1 -0
  2. modoboa/admin/app_settings.py +12 -0
  3. modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
  4. modoboa/admin/jobs.py +86 -0
  5. modoboa/admin/management/commands/modo.py +0 -2
  6. modoboa/admin/tests/test_mailbox_operations.py +4 -4
  7. modoboa/admin/tests/test_mx.py +68 -56
  8. modoboa/amavis/jobs.py +11 -0
  9. modoboa/amavis/tests/test_jobs.py +18 -0
  10. modoboa/amavis/tests/test_viewsets.py +2 -3
  11. modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
  12. modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
  13. modoboa/autoconfig/tests.py +2 -1
  14. modoboa/autoconfig/views.py +11 -3
  15. modoboa/calendars/backends/caldav_.py +17 -13
  16. modoboa/calendars/jobs.py +7 -0
  17. modoboa/calendars/mocks.py +4 -1
  18. modoboa/calendars/serializers.py +14 -9
  19. modoboa/calendars/tests.py +10 -9
  20. modoboa/calendars/viewsets.py +3 -1
  21. modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
  22. modoboa/contacts/models.py +1 -0
  23. modoboa/contacts/serializers.py +5 -2
  24. modoboa/contacts/tasks.py +9 -3
  25. modoboa/contacts/tests.py +32 -6
  26. modoboa/contacts/viewsets.py +7 -1
  27. modoboa/core/api/v2/serializers.py +0 -7
  28. modoboa/core/api/v2/tests.py +0 -10
  29. modoboa/core/app_settings.py +0 -22
  30. modoboa/core/commands/deploy.py +13 -0
  31. modoboa/core/commands/templates/cron_config.py.tpl +33 -0
  32. modoboa/core/commands/templates/settings.py.tpl +21 -0
  33. modoboa/core/jobs.py +34 -0
  34. modoboa/core/management/commands/load_initial_data.py +1 -1
  35. modoboa/core/password_hashers/base.py +4 -1
  36. modoboa/core/tests/test_core.py +0 -14
  37. modoboa/core/tests/test_jobs.py +40 -0
  38. modoboa/frontend_dist/assets/{AccountAliasForm-B-hTKSFr.js → AccountAliasForm-DO6DwfjE.js} +1 -1
  39. modoboa/frontend_dist/assets/{AccountEditView-LkP_qhf_.js → AccountEditView-CCuN9mGB.js} +1 -1
  40. modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
  41. modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
  42. modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
  43. modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
  44. modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
  45. modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
  46. modoboa/frontend_dist/assets/{AliasEditView-BVjNJekt.js → AliasEditView-CTjrXYPf.js} +1 -1
  47. modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
  48. modoboa/frontend_dist/assets/{AliasView-DvvI6cV9.js → AliasView-BN13MNN_.js} +1 -1
  49. modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
  50. modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
  51. modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
  52. modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
  53. modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
  54. modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
  55. modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
  56. modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
  57. modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
  58. modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
  59. modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
  60. modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
  61. modoboa/frontend_dist/assets/{DomainAdminList-BO8_4Cwt.js → DomainAdminList-DD7p3i6F.js} +1 -1
  62. modoboa/frontend_dist/assets/{DomainEditView-BXylM4aB.js → DomainEditView-DoIoNYC4.js} +1 -1
  63. modoboa/frontend_dist/assets/{DomainTransportForm-Ccw5BXyM.js → DomainTransportForm-CbiJF9z5.js} +1 -1
  64. modoboa/frontend_dist/assets/{DomainView-Bd5XQI-1.js → DomainView-BXvznFYz.js} +3 -3
  65. modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
  66. modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
  67. modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
  68. modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
  69. modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
  70. modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
  71. modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
  72. modoboa/frontend_dist/assets/{HtmlEditor-DNn3CY-w.js → HtmlEditor-CyBl5wj2.js} +15 -15
  73. modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
  74. modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
  75. modoboa/frontend_dist/assets/{LoadingData-CnQ_aVqa.js → LoadingData-C2txD49L.js} +1 -1
  76. modoboa/frontend_dist/assets/{LoginCallbackView-Nh_gmh8e.js → LoginCallbackView-DAvty3CI.js} +1 -1
  77. modoboa/frontend_dist/assets/{LoginView-BtC9BHuJ.js → LoginView-DHYITkn4.js} +1 -1
  78. modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
  79. modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
  80. modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
  81. modoboa/frontend_dist/assets/{MessageView-C1Goz-hY.js → MessageView-CrrEJpNI.js} +1 -1
  82. modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
  83. modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
  84. modoboa/frontend_dist/assets/{ParametersForm-BegEnkQM.js → ParametersForm-DFKYkPAs.js} +1 -1
  85. modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
  86. modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
  87. modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
  88. modoboa/frontend_dist/assets/{ProviderGeneralForm-BAELnXh6.js → ProviderGeneralForm-DO-IpJMQ.js} +1 -1
  89. modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
  90. modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
  91. modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
  92. modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
  93. modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
  94. modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
  95. modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
  96. modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
  97. modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
  98. modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
  99. modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
  100. modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
  101. modoboa/frontend_dist/assets/{VAlert-Buv8Z5G4.js → VAlert-MDbeolOo.js} +1 -1
  102. modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
  103. modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
  104. modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
  105. modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
  106. modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
  107. modoboa/frontend_dist/assets/{VCard-D7AwBs4w.js → VCard-CBtX8JF-.js} +1 -1
  108. modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
  109. modoboa/frontend_dist/assets/{VCheckboxBtn-B5evxN9K.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
  110. modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
  111. modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
  112. modoboa/frontend_dist/assets/{VContainer-DY9021j4.js → VContainer-Cn-vKB3s.js} +1 -1
  113. modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
  114. modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
  115. modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
  116. modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
  117. modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
  118. modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
  119. modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
  120. modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
  121. modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
  122. modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
  123. modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
  124. modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
  125. modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
  126. modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
  127. modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
  128. modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
  129. modoboa/frontend_dist/assets/{VRow-DyK_Mj7R.js → VRow-83Qnr5iB.js} +1 -1
  130. modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
  131. modoboa/frontend_dist/assets/{VSelectionControl-Dkms9_P5.js → VSelectionControl-Cqi1xt-q.js} +1 -1
  132. modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
  133. modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
  134. modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
  135. modoboa/frontend_dist/assets/{VTable-D8ZwwC_B.js → VTable-f7wcr2AZ.js} +1 -1
  136. modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
  137. modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
  138. modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
  139. modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
  140. modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
  141. modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
  142. modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
  143. modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
  144. modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
  145. modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
  146. modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
  147. modoboa/frontend_dist/assets/{accounts-BZBqbAmd.js → accounts-KUsk6LHW.js} +1 -1
  148. modoboa/frontend_dist/assets/{admin-uCrKjpln.js → admin-BW9cZW0P.js} +1 -1
  149. modoboa/frontend_dist/assets/{aliases-CFwFkX45.js → aliases-Ge0hjIsH.js} +1 -1
  150. modoboa/frontend_dist/assets/{amavis-DCy0U0TD.js → amavis-BbFeFfsk.js} +1 -1
  151. modoboa/frontend_dist/assets/{amavis-B4ScfQsG.js → amavis-DtuzP_CS.js} +1 -1
  152. modoboa/frontend_dist/assets/{contacts-DKmh2q-4.js → contacts-DMJlQTe0.js} +1 -1
  153. modoboa/frontend_dist/assets/{domains-CDE4_LDF.js → domains-Du64lcXT.js} +1 -1
  154. modoboa/frontend_dist/assets/{domains.store-a9Y5UlDV.js → domains.store-1U61jeCV.js} +1 -1
  155. modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
  156. modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
  157. modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
  158. modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
  159. modoboa/frontend_dist/assets/{index-Dwg6jPTX.js → index-Dv00bmw9.js} +1 -1
  160. modoboa/frontend_dist/assets/{index-BjibLozh.js → index-jui3edpn.js} +47 -41
  161. modoboa/frontend_dist/assets/{language.store-DGuI8jG0.js → language.store-OcfdXL_-.js} +1 -1
  162. modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
  163. modoboa/frontend_dist/assets/{layout-5PvsmkGR.js → layout-DOO7TRTJ.js} +1 -1
  164. modoboa/frontend_dist/assets/{layout.store-DJVcXtxk.js → layout.store-C0g-piJn.js} +1 -1
  165. modoboa/frontend_dist/assets/{logos-CMmd0hOG.js → logos-Dz2Gzei-.js} +1 -1
  166. modoboa/frontend_dist/assets/{logs-D2GOydPZ.js → logs-CLm32Weu.js} +1 -1
  167. modoboa/frontend_dist/assets/{parameters-DJdlq9sh.js → parameters-DMIAQ7cd.js} +1 -1
  168. modoboa/frontend_dist/assets/{parameters.store-DH3pPlaT.js → parameters.store-DLnFzCwV.js} +1 -1
  169. modoboa/frontend_dist/assets/{permissions-CgFJFhCp.js → permissions-CrpE0b4w.js} +1 -1
  170. modoboa/frontend_dist/assets/{ssrBoot-ChTB-PYP.js → ssrBoot-B7cr7q9U.js} +1 -1
  171. modoboa/frontend_dist/assets/{tag-CvrHE14f.js → tag-WF93n81Q.js} +1 -1
  172. modoboa/frontend_dist/assets/{theme-DFzlhSh5.js → theme-_0oOYChG.js} +1 -1
  173. modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
  174. modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
  175. modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
  176. modoboa/frontend_dist/index.html +2 -2
  177. modoboa/imap_migration/models.py +3 -3
  178. modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
  179. modoboa/imap_migration/tests.py +21 -0
  180. modoboa/lib/cryptutils.py +2 -2
  181. modoboa/lib/sysutils.py +1 -1
  182. modoboa/lib/tests/__init__.py +0 -1
  183. modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
  184. modoboa/locale/br/LC_MESSAGES/django.po +301 -273
  185. modoboa/locale/cs/LC_MESSAGES/django.po +286 -269
  186. modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  187. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +303 -275
  188. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  189. modoboa/locale/de/LC_MESSAGES/django.po +297 -269
  190. modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
  191. modoboa/locale/de_DE/LC_MESSAGES/django.po +303 -275
  192. modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
  193. modoboa/locale/el_GR/LC_MESSAGES/django.po +303 -275
  194. modoboa/locale/en/LC_MESSAGES/django.po +286 -269
  195. modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
  196. modoboa/locale/es/LC_MESSAGES/django.po +302 -274
  197. modoboa/locale/es_MX/LC_MESSAGES/django.po +286 -269
  198. modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
  199. modoboa/locale/fi/LC_MESSAGES/django.po +299 -271
  200. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/fr/LC_MESSAGES/django.po +288 -271
  202. modoboa/locale/hu/LC_MESSAGES/django.po +286 -269
  203. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  204. modoboa/locale/it/LC_MESSAGES/django.po +303 -275
  205. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/ja_JP/LC_MESSAGES/django.po +390 -413
  207. modoboa/locale/ka/LC_MESSAGES/django.po +286 -269
  208. modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  209. modoboa/locale/nl_NL/LC_MESSAGES/django.po +299 -271
  210. modoboa/locale/no/LC_MESSAGES/django.po +286 -269
  211. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  212. modoboa/locale/pl_PL/LC_MESSAGES/django.po +297 -269
  213. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  214. modoboa/locale/pt_BR/LC_MESSAGES/django.po +298 -270
  215. modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  216. modoboa/locale/pt_PT/LC_MESSAGES/django.po +303 -275
  217. modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
  218. modoboa/locale/ro_RO/LC_MESSAGES/django.po +299 -271
  219. modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
  220. modoboa/locale/ru/LC_MESSAGES/django.po +993 -1096
  221. modoboa/locale/si/LC_MESSAGES/django.po +286 -269
  222. modoboa/locale/sk/LC_MESSAGES/django.po +286 -269
  223. modoboa/locale/sk_SK/LC_MESSAGES/django.po +286 -269
  224. modoboa/locale/sl_SI/LC_MESSAGES/django.po +288 -269
  225. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  226. modoboa/locale/sv/LC_MESSAGES/django.po +297 -269
  227. modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
  228. modoboa/locale/tr/LC_MESSAGES/django.po +301 -272
  229. modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  230. modoboa/locale/tr_TR/LC_MESSAGES/django.po +291 -269
  231. modoboa/locale/uk/LC_MESSAGES/django.po +286 -269
  232. modoboa/locale/zh/LC_MESSAGES/django.po +286 -269
  233. modoboa/locale/zh_CN/LC_MESSAGES/django.po +286 -269
  234. modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  235. modoboa/locale/zh_TW/LC_MESSAGES/django.po +295 -273
  236. modoboa/maillog/jobs.py +11 -0
  237. modoboa/maillog/tests/test_views.py +5 -4
  238. modoboa/parameters/api/v2/tests.py +1 -1
  239. modoboa/policyd/management/commands/policy_daemon.py +5 -1
  240. modoboa/policyd/tests.py +4 -2
  241. modoboa/rspamd/tests.py +20 -0
  242. modoboa/templates/registration/twofactor_code_verify.html +1 -1
  243. modoboa/webmail/app_settings.py +37 -0
  244. modoboa/webmail/constants.py +21 -1
  245. modoboa/webmail/factories.py +19 -0
  246. modoboa/webmail/jobs.py +27 -0
  247. modoboa/webmail/lib/__init__.py +0 -2
  248. modoboa/webmail/lib/imapemail.py +9 -11
  249. modoboa/webmail/lib/imapheader.py +25 -13
  250. modoboa/webmail/lib/imaputils.py +51 -13
  251. modoboa/webmail/lib/sendmail.py +88 -105
  252. modoboa/webmail/lib/utils.py +109 -0
  253. modoboa/webmail/migrations/0001_initial.py +90 -0
  254. modoboa/webmail/migrations/__init__.py +0 -0
  255. modoboa/webmail/mocks.py +12 -3
  256. modoboa/webmail/models.py +102 -0
  257. modoboa/webmail/serializers.py +84 -4
  258. modoboa/webmail/tests/data.py +21 -0
  259. modoboa/webmail/tests/test_lib_imaputils.py +33 -0
  260. modoboa/webmail/tests/test_viewsets.py +108 -0
  261. modoboa/webmail/urls.py +5 -0
  262. modoboa/webmail/viewsets.py +39 -9
  263. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
  264. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/RECORD +269 -252
  265. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
  266. modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
  267. modoboa/core/management/commands/cleanlogs.py +0 -53
  268. modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +0 -1
  269. modoboa/frontend_dist/assets/AccountPasswordSubForm-D4vB2yQK.js +0 -1
  270. modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +0 -1
  271. modoboa/frontend_dist/assets/AddressBook-C03MXg3y.js +0 -1
  272. modoboa/frontend_dist/assets/AdminLayout-DFmyKOo6.js +0 -1
  273. modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +0 -1
  274. modoboa/frontend_dist/assets/AliasRecipientForm-CZ_SvjtG.js +0 -1
  275. modoboa/frontend_dist/assets/AuditTrailView-Cyq25Jle.js +0 -1
  276. modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +0 -1
  277. modoboa/frontend_dist/assets/ChoiceField-BPhUvoyr.js +0 -1
  278. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
  279. modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +0 -1
  280. modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +0 -1
  281. modoboa/frontend_dist/assets/ConfirmDialog-BMIg94-U.js +0 -1
  282. modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +0 -1
  283. modoboa/frontend_dist/assets/CreationForm-CaAZYATm.js +0 -1
  284. modoboa/frontend_dist/assets/DashboardView-DErmyUoy.js +0 -1
  285. modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +0 -1
  286. modoboa/frontend_dist/assets/EmailField-BFgga4zp.js +0 -1
  287. modoboa/frontend_dist/assets/EmailView-DPWTch_6.js +0 -1
  288. modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +0 -1
  289. modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +0 -1
  290. modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +0 -1
  291. modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +0 -1
  292. modoboa/frontend_dist/assets/InformationView-Cc0aBA5j.js +0 -1
  293. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
  294. modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +0 -5
  295. modoboa/frontend_dist/assets/MenuItems-efx2rqwT.js +0 -1
  296. modoboa/frontend_dist/assets/MessagesView-CesYYZ9f.js +0 -1
  297. modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +0 -1
  298. modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +0 -1
  299. modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +0 -1
  300. modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +0 -1
  301. modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +0 -1
  302. modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +0 -1
  303. modoboa/frontend_dist/assets/QuarantineView-BzjeDhTm.js +0 -1
  304. modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +0 -1
  305. modoboa/frontend_dist/assets/ResourcesForm-noC3AXd9.js +0 -1
  306. modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +0 -1
  307. modoboa/frontend_dist/assets/SettingsView-DJTdIeRK.css +0 -1
  308. modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +0 -6
  309. modoboa/frontend_dist/assets/StatisticsView-BZkVSh5o.js +0 -1
  310. modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +0 -1
  311. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
  312. modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +0 -1
  313. modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +0 -1
  314. modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +0 -1
  315. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
  316. modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +0 -1
  317. modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +0 -1
  318. modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +0 -1
  319. modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +0 -1
  320. modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +0 -1
  321. modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +0 -1
  322. modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +0 -1
  323. modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +0 -1
  324. modoboa/frontend_dist/assets/VExpansionPanels-CkwHiKsA.js +0 -1
  325. modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +0 -1
  326. modoboa/frontend_dist/assets/VForm-ClJU5x_v.js +0 -1
  327. modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +0 -1
  328. modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +0 -1
  329. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
  330. modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +0 -1
  331. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
  332. modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +0 -1
  333. modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +0 -1
  334. modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +0 -1
  335. modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +0 -1
  336. modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +0 -1
  337. modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +0 -1
  338. modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +0 -1
  339. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
  340. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
  341. modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +0 -1
  342. modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +0 -1
  343. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
  344. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
  345. modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +0 -1
  346. modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +0 -1
  347. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
  348. modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +0 -1
  349. modoboa/frontend_dist/assets/filter-BVvMTmPG.js +0 -1
  350. modoboa/frontend_dist/assets/global.store-Bha4Z76j.js +0 -1
  351. modoboa/frontend_dist/assets/importExport-EgijWlC1.js +0 -1
  352. modoboa/frontend_dist/assets/languages-Cge6pECg.js +0 -1
  353. modoboa/frontend_dist/assets/transports-BUSYxSF4.js +0 -1
  354. modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +0 -1
  355. modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +0 -1
  356. {modoboa-2.6.5.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
  357. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
  358. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
  359. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
@@ -15,7 +15,7 @@ msgid ""
15
15
  msgstr ""
16
16
  "Project-Id-Version: Modoboa\n"
17
17
  "Report-Msgid-Bugs-To: \n"
18
- "POT-Creation-Date: 2025-12-02 16:07+0100\n"
18
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
19
19
  "PO-Revision-Date: 2021-07-09 07:40+0000\n"
20
20
  "Last-Translator: KrystianPlichta <polandtorros@gmail.com>\n"
21
21
  "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/"
@@ -56,14 +56,14 @@ msgid "Cannot be greater than domain quota"
56
56
  msgstr "Nie może być wyższa niż limit domeny"
57
57
 
58
58
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
59
- #: admin/api/v2/serializers.py:570 admin/models/alias.py:45
59
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
60
60
  msgid "Permission denied."
61
61
  msgstr "Odmowa dostępu"
62
62
 
63
63
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
64
- #: admin/api/v2/serializers.py:491 amavis/serializers.py:39
65
- #: core/api/v2/serializers.py:255 core/api/v2/serializers.py:257
66
- #: core/api/v2/serializers.py:266 transport/backends.py:40
64
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
65
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
66
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
67
67
  msgid "This field is required"
68
68
  msgstr "To pole jest obowiązkowe"
69
69
 
@@ -73,7 +73,7 @@ msgid ""
73
73
  msgstr ""
74
74
  "Lista administratorów domen (tylko resellerów i administratorów domen)."
75
75
 
76
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:552
76
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
77
77
  msgid "Not allowed for this role."
78
78
  msgstr "Niedozwolone dla tej roli."
79
79
 
@@ -81,13 +81,12 @@ msgstr "Niedozwolone dla tej roli."
81
81
  msgid "Must be equal to mailbox full_address"
82
82
  msgstr "Musi być równe z full_address skrzynki."
83
83
 
84
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:604
85
- #: calendars/serializers.py:175 calendars/serializers.py:177
86
- #: pdfcredentials/api/v2/serializers.py:91
84
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
85
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
87
86
  msgid "This field is required."
88
87
  msgstr "To pole jest wymagane"
89
88
 
90
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:621
89
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
91
90
  msgid "Local domain {} does not exist"
92
91
  msgstr "Lokalna domena {} nie istnieje"
93
92
 
@@ -130,41 +129,41 @@ msgstr "Nie możesz przypisać nielimitowanej przestrzeni"
130
129
  msgid "User '%s' already exists"
131
130
  msgstr "Użytkownik '%s' już istnieje"
132
131
 
133
- #: admin/api/v2/serializers.py:255 admin/api/v2/serializers.py:261
132
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
134
133
  msgid "Must be a positive integer"
135
134
  msgstr "Musi być liczbą całkowitą dodatnią"
136
135
 
137
- #: admin/api/v2/serializers.py:270
136
+ #: admin/api/v2/serializers.py:271
138
137
  msgid "openssl not found, please make sure it is installed."
139
138
  msgstr "Brak openssl , upewnij się że jest zainstalowany."
140
139
 
141
- #: admin/api/v2/serializers.py:273 pdfcredentials/api/v2/serializers.py:84
140
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
142
141
  msgid "Directory not found."
143
142
  msgstr "Katalog nie znaleziony."
144
143
 
145
- #: admin/api/v2/serializers.py:284
144
+ #: admin/api/v2/serializers.py:285
146
145
  msgid "This field only allows valid IP addresses (or networks)"
147
146
  msgstr ""
148
147
 
149
- #: admin/api/v2/serializers.py:297
148
+ #: admin/api/v2/serializers.py:298
150
149
  msgid "Please disable imap migration before disabling this option."
151
150
  msgstr ""
152
151
 
153
- #: admin/api/v2/serializers.py:310
152
+ #: admin/api/v2/serializers.py:311
154
153
  msgid "Define at least one authorized network / address"
155
154
  msgstr "Zdefiniuj przynajmniej jedną autoryzowaną sieć / adres"
156
155
 
157
- #: admin/api/v2/serializers.py:587
156
+ #: admin/api/v2/serializers.py:588
158
157
  msgid "The left part of an email address can't be more than 64 characters."
159
158
  msgstr ""
160
159
 
161
- #: admin/api/v2/serializers.py:609
160
+ #: admin/api/v2/serializers.py:610
162
161
  #, fuzzy
163
162
  #| msgid "A mailbox is required"
164
163
  msgid "A mailbox is required to create aliases."
165
164
  msgstr "Skrzynka jest obowiązkowa"
166
165
 
167
- #: admin/api/v2/serializers.py:782
166
+ #: admin/api/v2/serializers.py:783
168
167
  #, fuzzy
169
168
  #| msgid "Unknown"
170
169
  msgid "Unknown status"
@@ -266,19 +265,29 @@ msgstr "Włącz sprawdzanie DNSBL"
266
265
  msgid "Check every domain against major DNSBL providers"
267
266
  msgstr "Sprawdź każdą domenę po kątem głównych providerów DNSBL"
268
267
 
269
- #: admin/app_settings.py:116
268
+ #: admin/app_settings.py:117
269
+ msgid "Notify domain admins about DNS issues"
270
+ msgstr ""
271
+
272
+ #: admin/app_settings.py:120
273
+ msgid ""
274
+ "Send a notification by email to domain administrators when DNS issues are "
275
+ "encountered"
276
+ msgstr ""
277
+
278
+ #: admin/app_settings.py:128
270
279
  msgid "Custom DNS server"
271
280
  msgstr "Własny serwer DNS"
272
281
 
273
- #: admin/app_settings.py:118
282
+ #: admin/app_settings.py:130
274
283
  msgid "Use a custom DNS server instead of local server configuration"
275
284
  msgstr "Użyj własnego serwera DNS zamiast konfiguracji lokalnego serwera"
276
285
 
277
- #: admin/app_settings.py:126
286
+ #: admin/app_settings.py:138
278
287
  msgid "DKIM keys storage directory"
279
288
  msgstr "Katalog przechowywania kluczy DKIM"
280
289
 
281
- #: admin/app_settings.py:128
290
+ #: admin/app_settings.py:140
282
291
  msgid ""
283
292
  "Absolute path of the directory where DKIM private keys will be stored. Make "
284
293
  "sure this directory belongs to root user and is not readable by the outside "
@@ -288,19 +297,19 @@ msgstr ""
288
297
  "Upewnij się że właścicielem katalogu jest \"użytkownik root\" i że katalog "
289
298
  "nie jest publicznie dostępny do odczytu."
290
299
 
291
- #: admin/app_settings.py:137
300
+ #: admin/app_settings.py:149
292
301
  msgid "Default DKIM key length"
293
302
  msgstr "Domyślna długość klucza DKIM"
294
303
 
295
- #: admin/app_settings.py:139
304
+ #: admin/app_settings.py:151
296
305
  msgid "Default length in bits for newly generated DKIM keys."
297
306
  msgstr "Domyślna długość w bitach dla nowo wygenerowanych kluczy DKIM."
298
307
 
299
- #: admin/app_settings.py:146
308
+ #: admin/app_settings.py:158
300
309
  msgid "Default domain quota"
301
310
  msgstr "Domyślne ograniczenie dla domeny"
302
311
 
303
- #: admin/app_settings.py:148
312
+ #: admin/app_settings.py:160
304
313
  msgid ""
305
314
  "Default quota (in MB) applied to freshly created domains with no value "
306
315
  "specified. A value of 0 means no quota."
@@ -308,11 +317,11 @@ msgstr ""
308
317
  "Domyślne ograniczenie (w MB) dla nowych domen, gdy nie zostało podane. (0 - "
309
318
  "brak ograniczenia)"
310
319
 
311
- #: admin/app_settings.py:156
320
+ #: admin/app_settings.py:168
312
321
  msgid "Default domain sending limit"
313
322
  msgstr "Domyślny limit wysyłania dla domey"
314
323
 
315
- #: admin/app_settings.py:158
324
+ #: admin/app_settings.py:170
316
325
  msgid ""
317
326
  "Number of messages freshly created domains will be allowed to send per day. "
318
327
  "Leave empty for no limit."
@@ -320,16 +329,16 @@ msgstr ""
320
329
  "Liczba wiadomości, które świeżo utworzone domeny będą mogły wysłać dziennie. "
321
330
  "Pozostaw puste dla braku limitu."
322
331
 
323
- #: admin/app_settings.py:170 limits/app_settings.py:61
332
+ #: admin/app_settings.py:182 limits/app_settings.py:61
324
333
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
325
334
  msgid "Mailboxes"
326
335
  msgstr "Skrzynki pocztowe"
327
336
 
328
- #: admin/app_settings.py:176
337
+ #: admin/app_settings.py:188
329
338
  msgid "Handle mailboxes on filesystem"
330
339
  msgstr "Przechowuj skrzynka na filesystemie"
331
340
 
332
- #: admin/app_settings.py:178
341
+ #: admin/app_settings.py:190
333
342
  msgid ""
334
343
  "Rename or remove mailboxes on the filesystem when they get renamed or "
335
344
  "removed within Modoboa"
@@ -337,11 +346,11 @@ msgstr ""
337
346
  "Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub "
338
347
  "usuniętę przez Modoboa"
339
348
 
340
- #: admin/app_settings.py:186 admin/models/domain.py:36
349
+ #: admin/app_settings.py:198 admin/models/domain.py:36
341
350
  msgid "Default mailbox quota"
342
351
  msgstr "Domyślna przestrzeń dla konta pocztowego"
343
352
 
344
- #: admin/app_settings.py:188
353
+ #: admin/app_settings.py:200
345
354
  #, fuzzy
346
355
  #| msgid ""
347
356
  #| "Default mailbox quota (in MB) applied to freshly created mailboxes with "
@@ -353,11 +362,11 @@ msgstr ""
353
362
  "Domyślny limit skrzynki (w MB) stosowany dla świeżo utworzonych skrzynek, "
354
363
  "dla których nie podano wartości. Wartość 0 oznacza brak limitu."
355
364
 
356
- #: admin/app_settings.py:197
365
+ #: admin/app_settings.py:209
357
366
  msgid "Default mailbox sending limit"
358
367
  msgstr "Domyślny limit wysyłania skrzynki"
359
368
 
360
- #: admin/app_settings.py:199
369
+ #: admin/app_settings.py:211
361
370
  msgid ""
362
371
  "Number of messages freshly created mailboxes will be allowed to send per "
363
372
  "day. Leave empty for no limit."
@@ -365,61 +374,61 @@ msgstr ""
365
374
  "Liczba wiadomości, które będą mogły wysyłać świeżo utworzone skrzynki na "
366
375
  "dzień. Pozostaw puste dla braku limitu."
367
376
 
368
- #: admin/app_settings.py:207
377
+ #: admin/app_settings.py:219
369
378
  msgid "Automatic account removal"
370
379
  msgstr "Automatyczne usuwanie konta"
371
380
 
372
- #: admin/app_settings.py:209
381
+ #: admin/app_settings.py:221
373
382
  msgid "When a mailbox is removed, also remove the associated account"
374
383
  msgstr "Gdy usuwana jest skrzynka usuń powizane z nią konto"
375
384
 
376
- #: admin/app_settings.py:218
385
+ #: admin/app_settings.py:230
377
386
  msgid "Automatic domain/mailbox creation"
378
387
  msgstr "Automatyczne tworzenie domeny/skrzynki"
379
388
 
380
- #: admin/app_settings.py:221
389
+ #: admin/app_settings.py:233
381
390
  msgid "Create a domain and a mailbox when an account is automatically created."
382
391
  msgstr "Utwórz domenę i skrzynkę gdy tworzone jest konto"
383
392
 
384
- #: admin/app_settings.py:230
393
+ #: admin/app_settings.py:242
385
394
  msgid "Create an alias when a mailbox is renamed"
386
395
  msgstr "Utwórz alias podczas zmiany nazwy skrzynki"
387
396
 
388
- #: admin/app_settings.py:233
397
+ #: admin/app_settings.py:245
389
398
  msgid "Create an alias using the old address when a mailbox is renamed."
390
399
  msgstr "Utwórz alias używając starego adresu podczas zmiany nazwy skrzynki."
391
400
 
392
- #: admin/app_settings.py:245
401
+ #: admin/app_settings.py:257
393
402
  #, fuzzy
394
403
  #| msgid "alias"
395
404
  msgid "Aliases"
396
405
  msgstr "alias"
397
406
 
398
- #: admin/app_settings.py:251
407
+ #: admin/app_settings.py:263
399
408
  msgid "Alias can target any domain"
400
409
  msgstr ""
401
410
 
402
- #: admin/app_settings.py:253
411
+ #: admin/app_settings.py:265
403
412
  msgid "Allow aliases to target any domain, not just the local domains."
404
413
  msgstr ""
405
414
 
406
- #: admin/app_settings.py:260
415
+ #: admin/app_settings.py:272
407
416
  msgid "Alias target block list"
408
417
  msgstr ""
409
418
 
410
- #: admin/app_settings.py:262
419
+ #: admin/app_settings.py:274
411
420
  msgid "A list of domains that aliases cannot target (comma separated)."
412
421
  msgstr ""
413
422
 
414
- #: admin/app_settings.py:270
423
+ #: admin/app_settings.py:282
415
424
  msgid "Alias target allow list"
416
425
  msgstr ""
417
426
 
418
- #: admin/app_settings.py:272
427
+ #: admin/app_settings.py:284
419
428
  msgid "A list of domains that aliases can target (comma separated)."
420
429
  msgstr ""
421
430
 
422
- #: admin/app_settings.py:326 core/api/v2/viewsets.py:174
431
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
423
432
  msgid "Administration"
424
433
  msgstr "Administracja"
425
434
 
@@ -439,6 +448,35 @@ msgstr "Otwarty"
439
448
  msgid "Closed"
440
449
  msgstr "Zamknięty"
441
450
 
451
+ #: admin/dns_checker.py:96
452
+ msgid "MX {} listed by DNSBL provider {}"
453
+ msgstr "MX {} wymienione przez dostawcę DNSBL {}"
454
+
455
+ #: admin/dns_checker.py:138
456
+ msgid "Domain has no MX record"
457
+ msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
458
+
459
+ #: admin/dns_checker.py:141
460
+ msgid "Domain {} has no MX record"
461
+ msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
462
+
463
+ #: admin/dns_checker.py:159
464
+ msgid "Invalid MX record: {}"
465
+ msgstr "Nieprawidłowy rekord MX: {}"
466
+
467
+ #: admin/dns_checker.py:166
468
+ #, python-brace-format
469
+ msgid "MX record for domain {0} is invalid: {1}"
470
+ msgstr "Rekord MX dla domeny {0} jest niepoprawny: {1}"
471
+
472
+ #: admin/dns_checker.py:177
473
+ msgid "[modoboa] MX issue(s) for domain {}"
474
+ msgstr "[modoboa] Wykryto problem(y) z MX dla domeny {}"
475
+
476
+ #: admin/dns_checker.py:224
477
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
478
+ msgstr "[modoboa] DNSBL problem(y) dla domeny {}"
479
+
442
480
  #: admin/handlers.py:179
443
481
  msgid "domain alias"
444
482
  msgstr "alias domeny"
@@ -461,8 +499,8 @@ msgstr "Nie masz uprawnień do importowania domen"
461
499
  msgid "You are not allowed to import domain aliases."
462
500
  msgstr "Nie masz uprawnień do importowania aliasów."
463
501
 
464
- #: admin/lib.py:227 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
465
- #: admin/tests/test_mx.py:171
502
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
503
+ #: admin/tests/test_mx.py:157
466
504
  #, python-format
467
505
  msgid "No DNS record found for %s"
468
506
  msgstr "Nie znaleziono rekordu DNS dla %s"
@@ -472,11 +510,11 @@ msgstr "Nie znaleziono rekordu DNS dla %s"
472
510
  msgid "No %(type)s record for %(name)s"
473
511
  msgstr "Brak %(type)s zapisów dla %(name)s"
474
512
 
475
- #: admin/lib.py:234 admin/tests/test_mx.py:156
513
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
476
514
  msgid "No working name servers found"
477
515
  msgstr "Znaleziono nie działające serwery nazw"
478
516
 
479
- #: admin/lib.py:237 admin/tests/test_mx.py:160
517
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
480
518
  #, python-format
481
519
  msgid "DNS resolution timeout, unable to query %s at the moment"
482
520
  msgstr ""
@@ -532,35 +570,6 @@ msgstr ""
532
570
  msgid "Failed to generate DKIM public key"
533
571
  msgstr "Włącz komunikację z publicznym API Modoboa"
534
572
 
535
- #: admin/management/commands/subcommands/_mx.py:133
536
- msgid "MX {} listed by DNSBL provider {}"
537
- msgstr "MX {} wymienione przez dostawcę DNSBL {}"
538
-
539
- #: admin/management/commands/subcommands/_mx.py:174
540
- msgid "Domain has no MX record"
541
- msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
542
-
543
- #: admin/management/commands/subcommands/_mx.py:177
544
- msgid "Domain {} has no MX record"
545
- msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
546
-
547
- #: admin/management/commands/subcommands/_mx.py:195
548
- msgid "Invalid MX record: {}"
549
- msgstr "Nieprawidłowy rekord MX: {}"
550
-
551
- #: admin/management/commands/subcommands/_mx.py:202
552
- #, python-brace-format
553
- msgid "MX record for domain {0} is invalid: {1}"
554
- msgstr "Rekord MX dla domeny {0} jest niepoprawny: {1}"
555
-
556
- #: admin/management/commands/subcommands/_mx.py:213
557
- msgid "[modoboa] MX issue(s) for domain {}"
558
- msgstr "[modoboa] Wykryto problem(y) z MX dla domeny {}"
559
-
560
- #: admin/management/commands/subcommands/_mx.py:269
561
- msgid "[modoboa] DNSBL issue(s) for domain {}"
562
- msgstr "[modoboa] DNSBL problem(y) dla domeny {}"
563
-
564
573
  #: admin/models/alias.py:43
565
574
  msgid "Domain not found."
566
575
  msgstr "Domena nie znaleziona."
@@ -760,17 +769,17 @@ msgstr ""
760
769
  "Modoboa sygnalizuje że ta domena %(domain)s nie posiada poprawnego rekordu "
761
770
  "MX:"
762
771
 
763
- #: admin/tests/test_mx.py:155
772
+ #: admin/tests/test_mx.py:141
764
773
  #, python-format
765
774
  msgid "No MX record for %s"
766
775
  msgstr "Brak wpisów MX dla %s"
767
776
 
768
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
777
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
769
778
  #, python-format
770
779
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
771
780
  msgstr "Nieprawidłowy format adresu IP dla %(domain)s; %(addr)s"
772
781
 
773
- #: admin/tests/test_mx.py:199
782
+ #: admin/tests/test_mx.py:185
774
783
  #, fuzzy, python-format
775
784
  #| msgid "No MX record for %s"
776
785
  msgid "No AAAA record for %s"
@@ -980,11 +989,11 @@ msgid ""
980
989
  "database)"
981
990
  msgstr ""
982
991
 
983
- #: amavis/app_settings.py:236 webmail/app_settings.py:118
992
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
984
993
  msgid "Display"
985
994
  msgstr "Wyświetl"
986
995
 
987
- #: amavis/app_settings.py:243 webmail/app_settings.py:144
996
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
988
997
  #, fuzzy
989
998
  #| msgid "Number of displayed items per page"
990
999
  msgid "Number of displayed emails per page"
@@ -1277,7 +1286,7 @@ msgstr "Administrator domeny"
1277
1286
  msgid "Allow domain administrators to manage user calendars (read and write)"
1278
1287
  msgstr "Zezwól temu administratorowi na dostęp do skrzynek użytkowników"
1279
1288
 
1280
- #: calendars/app_settings.py:60 core/app_settings.py:676
1289
+ #: calendars/app_settings.py:60 core/app_settings.py:664
1281
1290
  #: rspamd/app_settings.py:45
1282
1291
  msgid "Miscellaneous"
1283
1292
  msgstr "Różne"
@@ -1295,11 +1304,11 @@ msgstr ""
1295
1304
  msgid "Calendars"
1296
1305
  msgstr ""
1297
1306
 
1298
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1307
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
1299
1308
  msgid "Server location is not set, please fix it."
1300
1309
  msgstr "Lokalizacja serwera nie jest ustawiona, należy to poprawić."
1301
1310
 
1302
- #: calendars/viewsets.py:197
1311
+ #: calendars/viewsets.py:199
1303
1312
  msgid "Uploaded file is too big (max: {} bytes)"
1304
1313
  msgstr ""
1305
1314
 
@@ -1388,7 +1397,7 @@ msgstr "2FA jest już włączone"
1388
1397
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
1389
1398
  msgstr ""
1390
1399
 
1391
- #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:445
1400
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
1392
1401
  #, fuzzy
1393
1402
  #| msgid "Old password"
1394
1403
  msgid "Invalid password"
@@ -1402,24 +1411,20 @@ msgstr "2FA nie jest włączone"
1402
1411
  msgid "Local"
1403
1412
  msgstr "Lokalnie"
1404
1413
 
1405
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
1406
- msgid "User profile"
1407
- msgstr "Profil użytkownika"
1408
-
1409
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
1410
- #: core/api/v2/serializers.py:228
1414
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1415
+ #: core/api/v2/serializers.py:221
1411
1416
  msgid "Invalid syntax"
1412
1417
  msgstr "Nieprawidłowa składnia"
1413
1418
 
1414
- #: core/api/v2/serializers.py:233
1419
+ #: core/api/v2/serializers.py:226
1415
1420
  msgid "Invalid rounds number"
1416
1421
  msgstr "Nieprawidłowa liczba rund"
1417
1422
 
1418
- #: core/api/v2/serializers.py:433 core/forms.py:81
1423
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1419
1424
  msgid "This code is invalid"
1420
1425
  msgstr "Ten kod jest nieprawidłowy"
1421
1426
 
1422
- #: core/api/v2/serializers.py:503 core/views/auth.py:213 core/views/auth.py:266
1427
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1423
1428
  msgid "Please use the following code to recover your Modoboa password: {}"
1424
1429
  msgstr "Proszę użyć następującego kodu, aby odzyskać hasło Modoboa: {}"
1425
1430
 
@@ -1452,37 +1457,37 @@ msgid "Calendar"
1452
1457
  msgstr ""
1453
1458
 
1454
1459
  #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1455
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1460
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1456
1461
  #, fuzzy
1457
1462
  #| msgid "E-mail"
1458
1463
  msgid "Webmail"
1459
1464
  msgstr "E-mail"
1460
1465
 
1461
- #: core/app_settings.py:37
1466
+ #: core/app_settings.py:25
1462
1467
  msgid "Authentication"
1463
1468
  msgstr "Uwierzytelnianie"
1464
1469
 
1465
- #: core/app_settings.py:43
1470
+ #: core/app_settings.py:31
1466
1471
  msgid "Authentication type"
1467
1472
  msgstr "Typ uwierzytelniania"
1468
1473
 
1469
- #: core/app_settings.py:45
1474
+ #: core/app_settings.py:33
1470
1475
  msgid "The backend used for authentication"
1471
1476
  msgstr "Backend używany do uwierzytelniania"
1472
1477
 
1473
- #: core/app_settings.py:52
1478
+ #: core/app_settings.py:40
1474
1479
  msgid "Default password scheme"
1475
1480
  msgstr "Domyślny schemat hasła"
1476
1481
 
1477
- #: core/app_settings.py:54
1482
+ #: core/app_settings.py:42
1478
1483
  msgid "Scheme used to crypt mailbox passwords"
1479
1484
  msgstr "Schemat używany do szyfrowania haseł do skrzynek"
1480
1485
 
1481
- #: core/app_settings.py:61
1486
+ #: core/app_settings.py:49
1482
1487
  msgid "Rounds"
1483
1488
  msgstr "Rund"
1484
1489
 
1485
- #: core/app_settings.py:63
1490
+ #: core/app_settings.py:51
1486
1491
  msgid ""
1487
1492
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1488
1493
  "between 1000 and 999999999, inclusive."
@@ -1490,47 +1495,47 @@ msgstr ""
1490
1495
  "Liczba rund (tylko dla sha256crypt i sha512crypt). Musi się zawierać "
1491
1496
  "pomiędzy 1000 a 999999999 włącznie."
1492
1497
 
1493
- #: core/app_settings.py:73
1498
+ #: core/app_settings.py:61
1494
1499
  msgid "Update password scheme at login"
1495
1500
  msgstr "Aktualizuj schemat haseł przy logowaniu"
1496
1501
 
1497
- #: core/app_settings.py:76
1502
+ #: core/app_settings.py:64
1498
1503
  msgid "Update user password at login to use the default password scheme"
1499
1504
  msgstr ""
1500
1505
  "Zaktualizuj hasło użytkownika przy logowaniu, tak aby używało domyślnego "
1501
1506
  "schematu haseł"
1502
1507
 
1503
- #: core/app_settings.py:84
1508
+ #: core/app_settings.py:72
1504
1509
  msgid "Default password"
1505
1510
  msgstr "Domyślne hasło"
1506
1511
 
1507
- #: core/app_settings.py:86
1512
+ #: core/app_settings.py:74
1508
1513
  msgid "Default password for automatically created accounts."
1509
1514
  msgstr "Domyślne hasło dla automatycznie dodawanych kont."
1510
1515
 
1511
- #: core/app_settings.py:93
1516
+ #: core/app_settings.py:81
1512
1517
  msgid "Random password length"
1513
1518
  msgstr "Długość losowego hasła"
1514
1519
 
1515
- #: core/app_settings.py:95
1520
+ #: core/app_settings.py:83
1516
1521
  msgid "Length of randomly generated passwords."
1517
1522
  msgstr "Długość losowo wygenerowanego hasła"
1518
1523
 
1519
- #: core/app_settings.py:103
1524
+ #: core/app_settings.py:91
1520
1525
  msgid "Allow special characters for random password"
1521
1526
  msgstr ""
1522
1527
 
1523
- #: core/app_settings.py:106
1528
+ #: core/app_settings.py:94
1524
1529
  #, fuzzy
1525
1530
  #| msgid "Length of randomly generated passwords."
1526
1531
  msgid "Enable special characters in randomly generated passwords."
1527
1532
  msgstr "Długość losowo wygenerowanego hasła"
1528
1533
 
1529
- #: core/app_settings.py:114
1534
+ #: core/app_settings.py:102
1530
1535
  msgid "Update password service URL"
1531
1536
  msgstr "Zaktualizuj URL usługi hasła"
1532
1537
 
1533
- #: core/app_settings.py:116
1538
+ #: core/app_settings.py:104
1534
1539
  msgid ""
1535
1540
  "The URL of an external page where users will be able to update their "
1536
1541
  "password. It applies only to non local users, ie. those automatically "
@@ -1541,106 +1546,106 @@ msgstr ""
1541
1546
  "utworzonych automatycznie po prawidłowym zalogowaniu do zewnętrznych usług "
1542
1547
  "(LDAP, SMTP)."
1543
1548
 
1544
- #: core/app_settings.py:126
1549
+ #: core/app_settings.py:114
1545
1550
  msgid "Password recovery announcement"
1546
1551
  msgstr "Komunikat o odzyskiwaniu hasła"
1547
1552
 
1548
- #: core/app_settings.py:128
1553
+ #: core/app_settings.py:116
1549
1554
  msgid "A temporary message that will be displayed on the reset password page."
1550
1555
  msgstr ""
1551
1556
  "Tymczasowa wiadomość, która będzie wyświetlana na stronie resetowania hasła."
1552
1557
 
1553
- #: core/app_settings.py:137
1558
+ #: core/app_settings.py:125
1554
1559
  msgid "Enable password recovery by SMS"
1555
1560
  msgstr "Włącz odzyskiwania hasła przez SMS"
1556
1561
 
1557
- #: core/app_settings.py:140
1562
+ #: core/app_settings.py:128
1558
1563
  msgid "Enable password recovery by SMS for users who filled a phone number."
1559
1564
  msgstr ""
1560
1565
  "Włącz odzyskiwanie hasła przez SMS dla użytkowników, którzy podali numer "
1561
1566
  "telefonu."
1562
1567
 
1563
- #: core/app_settings.py:148
1568
+ #: core/app_settings.py:136
1564
1569
  msgid "SMS provider"
1565
1570
  msgstr "Dostawca SMS"
1566
1571
 
1567
- #: core/app_settings.py:151
1572
+ #: core/app_settings.py:139
1568
1573
  msgid "Choose a provider to send password recovery SMS"
1569
1574
  msgstr "Wybierz dostawcę, aby wysłać SMS odzyskiwania hasła Dostawca SMS"
1570
1575
 
1571
- #: core/app_settings.py:163
1576
+ #: core/app_settings.py:151
1572
1577
  msgid "LDAP"
1573
1578
  msgstr ""
1574
1579
 
1575
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1580
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1576
1581
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1577
- #: webmail/app_settings.py:73
1582
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1578
1583
  msgid "Server address"
1579
1584
  msgstr "Adres serwera"
1580
1585
 
1581
- #: core/app_settings.py:171
1586
+ #: core/app_settings.py:159
1582
1587
  msgid "The IP address or the DNS name of the LDAP server"
1583
1588
  msgstr "IP lub nazwa DNS serwera LDAP"
1584
1589
 
1585
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1590
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1586
1591
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1587
- #: webmail/app_settings.py:91
1592
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1588
1593
  msgid "Server port"
1589
1594
  msgstr "Port serwera"
1590
1595
 
1591
- #: core/app_settings.py:180
1596
+ #: core/app_settings.py:168
1592
1597
  msgid "The TCP port number used by the LDAP server"
1593
1598
  msgstr "Port TCP używany przez LDAP"
1594
1599
 
1595
- #: core/app_settings.py:188
1600
+ #: core/app_settings.py:176
1596
1601
  msgid "Enable secondary server (fallback)"
1597
1602
  msgstr "Włącz dodatkowy serwer (awaryjny)"
1598
1603
 
1599
- #: core/app_settings.py:191
1604
+ #: core/app_settings.py:179
1600
1605
  msgid ""
1601
1606
  "Enable a secondary LDAP server which will be used if the primary one fails"
1602
1607
  msgstr ""
1603
1608
  "Włącz dodatkowy serwer LDAP, który będzie użyty, gdy pierwszorzędny nie "
1604
1609
  "będzie dostępny"
1605
1610
 
1606
- #: core/app_settings.py:199
1611
+ #: core/app_settings.py:187
1607
1612
  msgid "Secondary server address"
1608
1613
  msgstr "Adres serwera dodatkowego"
1609
1614
 
1610
- #: core/app_settings.py:202
1615
+ #: core/app_settings.py:190
1611
1616
  msgid "The IP address or the DNS name of the seondary LDAP server"
1612
1617
  msgstr "Adres IP lub nazwa DNS dodatkowego serwera LDAP"
1613
1618
 
1614
- #: core/app_settings.py:209
1619
+ #: core/app_settings.py:197
1615
1620
  msgid "Secondary server port"
1616
1621
  msgstr "Port na serwerze dodatkowym"
1617
1622
 
1618
- #: core/app_settings.py:212
1623
+ #: core/app_settings.py:200
1619
1624
  msgid "The TCP port number used by the LDAP secondary server"
1620
1625
  msgstr "Numer portu TCP używanego przez dodatkowy serwer LDAP"
1621
1626
 
1622
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1627
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1623
1628
  #: webmail/app_settings.py:45
1624
1629
  msgid "Use a secured connection"
1625
1630
  msgstr "Użyj bezpiecznego polączenia"
1626
1631
 
1627
- #: core/app_settings.py:221
1632
+ #: core/app_settings.py:209
1628
1633
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1629
1634
  msgstr "Użyj SSL/STARTTLS dla połączenia z serwerem LDAP"
1630
1635
 
1631
- #: core/app_settings.py:228
1636
+ #: core/app_settings.py:216
1632
1637
  msgid "Active Directory"
1633
1638
  msgstr "Active Directory"
1634
1639
 
1635
- #: core/app_settings.py:230
1640
+ #: core/app_settings.py:218
1636
1641
  msgid "Tell if the LDAP server is an Active Directory one"
1637
1642
  msgstr "Czy LDAP jest Active Directory "
1638
1643
 
1639
- #: core/app_settings.py:237
1644
+ #: core/app_settings.py:225
1640
1645
  msgid "Administrator groups"
1641
1646
  msgstr "Administrator grup"
1642
1647
 
1643
- #: core/app_settings.py:239
1648
+ #: core/app_settings.py:227
1644
1649
  msgid ""
1645
1650
  "Members of those LDAP Posix groups will be created as domain administrators. "
1646
1651
  "Use ';' characters to separate groups."
@@ -1648,47 +1653,47 @@ msgstr ""
1648
1653
  "Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny. "
1649
1654
  "Użyj znaku ';' jako separatora grup."
1650
1655
 
1651
- #: core/app_settings.py:248
1656
+ #: core/app_settings.py:236
1652
1657
  msgid "Group type"
1653
1658
  msgstr "Typ grupy"
1654
1659
 
1655
- #: core/app_settings.py:250
1660
+ #: core/app_settings.py:238
1656
1661
  msgid "The LDAP group type to use with your directory."
1657
1662
  msgstr "Typ grupy LDAP do wykorzystania z Twoim katalogiem."
1658
1663
 
1659
- #: core/app_settings.py:257
1664
+ #: core/app_settings.py:245
1660
1665
  msgid "Groups search base"
1661
1666
  msgstr "Wyszukiwarka grup"
1662
1667
 
1663
- #: core/app_settings.py:259
1668
+ #: core/app_settings.py:247
1664
1669
  msgid "The distinguished name of the search base used to find groups"
1665
1670
  msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy"
1666
1671
 
1667
- #: core/app_settings.py:267
1672
+ #: core/app_settings.py:255
1668
1673
  msgid "Password attribute"
1669
1674
  msgstr "Atrybut hasła"
1670
1675
 
1671
- #: core/app_settings.py:269
1676
+ #: core/app_settings.py:257
1672
1677
  msgid "The attribute used to store user passwords"
1673
1678
  msgstr "Atrybut używany do przechowywania haseł użytkowników"
1674
1679
 
1675
- #: core/app_settings.py:276
1680
+ #: core/app_settings.py:264
1676
1681
  msgid "LDAP authentication settings"
1677
1682
  msgstr "Ustawienia uwierzytelniania LDAP"
1678
1683
 
1679
- #: core/app_settings.py:284
1684
+ #: core/app_settings.py:272
1680
1685
  msgid "Authentication method"
1681
1686
  msgstr "Metoda autentykacji"
1682
1687
 
1683
- #: core/app_settings.py:287
1688
+ #: core/app_settings.py:275
1684
1689
  msgid "Choose the authentication method to use"
1685
1690
  msgstr "Wybierz metode autentykacji"
1686
1691
 
1687
- #: core/app_settings.py:294 core/app_settings.py:357
1692
+ #: core/app_settings.py:282 core/app_settings.py:345
1688
1693
  msgid "Bind DN"
1689
1694
  msgstr "Przypnij do DN"
1690
1695
 
1691
- #: core/app_settings.py:296 core/app_settings.py:359
1696
+ #: core/app_settings.py:284 core/app_settings.py:347
1692
1697
  msgid ""
1693
1698
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1694
1699
  "for an anonymous bind"
@@ -1696,37 +1701,37 @@ msgstr ""
1696
1701
  "DN do użycia przy połączeniu do LDAP'a. Zostaw puste dla anonimowego "
1697
1702
  "podłączenia"
1698
1703
 
1699
- #: core/app_settings.py:305 core/app_settings.py:367
1704
+ #: core/app_settings.py:293 core/app_settings.py:355
1700
1705
  msgid "Bind password"
1701
1706
  msgstr "Hasło"
1702
1707
 
1703
- #: core/app_settings.py:307 core/app_settings.py:369
1708
+ #: core/app_settings.py:295 core/app_settings.py:357
1704
1709
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1705
1710
  msgstr "Hasło używane do połdłączenia do LDAP'a (z wskazanym DN)"
1706
1711
 
1707
- #: core/app_settings.py:317 core/app_settings.py:422
1712
+ #: core/app_settings.py:305 core/app_settings.py:410
1708
1713
  msgid "Users search base"
1709
1714
  msgstr "Wyszukiwania użytkowników"
1710
1715
 
1711
- #: core/app_settings.py:319 core/app_settings.py:424
1716
+ #: core/app_settings.py:307 core/app_settings.py:412
1712
1717
  msgid "The distinguished name of the search base used to find users"
1713
1718
  msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy"
1714
1719
 
1715
- #: core/app_settings.py:328 core/app_settings.py:433
1720
+ #: core/app_settings.py:316 core/app_settings.py:421
1716
1721
  msgid "Search filter"
1717
1722
  msgstr "Filtr wyszukiwania"
1718
1723
 
1719
- #: core/app_settings.py:330 core/app_settings.py:435
1724
+ #: core/app_settings.py:318 core/app_settings.py:423
1720
1725
  msgid ""
1721
1726
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1722
1727
  "valid, it must be enclosed in parentheses."
1723
1728
  msgstr "Użyj szablonu DN"
1724
1729
 
1725
- #: core/app_settings.py:339
1730
+ #: core/app_settings.py:327
1726
1731
  msgid "User DN template"
1727
1732
  msgstr "Użyj szablonu DN"
1728
1733
 
1729
- #: core/app_settings.py:341
1734
+ #: core/app_settings.py:329
1730
1735
  #, python-format
1731
1736
  msgid ""
1732
1737
  "The template used to construct a user's DN. It should contain one "
@@ -1735,24 +1740,24 @@ msgstr ""
1735
1740
  "Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden "
1736
1741
  "symbol zastępczy (np. %(user)s)"
1737
1742
 
1738
- #: core/app_settings.py:350
1743
+ #: core/app_settings.py:338
1739
1744
  msgid "LDAP synchronization settings"
1740
1745
  msgstr "Ustawienia synchronizacji z LDAP"
1741
1746
 
1742
- #: core/app_settings.py:378
1747
+ #: core/app_settings.py:366
1743
1748
  msgid "Enable export to LDAP"
1744
1749
  msgstr "Włącz export do LDAP"
1745
1750
 
1746
- #: core/app_settings.py:380
1751
+ #: core/app_settings.py:368
1747
1752
  msgid ""
1748
1753
  "Enable automatic synchronization between local database and LDAP directory"
1749
1754
  msgstr "Włącz automatyczną synchronizację lokalnej bazy danych i katalogu LDAP"
1750
1755
 
1751
- #: core/app_settings.py:389
1756
+ #: core/app_settings.py:377
1752
1757
  msgid "Delete remote LDAP account when local account is deleted"
1753
1758
  msgstr "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne"
1754
1759
 
1755
- #: core/app_settings.py:392
1760
+ #: core/app_settings.py:380
1756
1761
  msgid ""
1757
1762
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1758
1763
  "be disabled."
@@ -1760,11 +1765,11 @@ msgstr ""
1760
1765
  "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne, w innym "
1761
1766
  "przypadku zostanie ono wyłączone."
1762
1767
 
1763
- #: core/app_settings.py:401
1768
+ #: core/app_settings.py:389
1764
1769
  msgid "Account DN template"
1765
1770
  msgstr "Szablon konta DN"
1766
1771
 
1767
- #: core/app_settings.py:403
1772
+ #: core/app_settings.py:391
1768
1773
  #, python-format
1769
1774
  msgid ""
1770
1775
  "The template used to construct an account's DN. It should contain one "
@@ -1773,52 +1778,52 @@ msgstr ""
1773
1778
  "Szablon używany do budowy DN konta. Powinien zawierać jeden placeholder (ie. "
1774
1779
  "%(user)s)"
1775
1780
 
1776
- #: core/app_settings.py:412
1781
+ #: core/app_settings.py:400
1777
1782
  msgid "Enable import from LDAP"
1778
1783
  msgstr "Włącz import z LDAP"
1779
1784
 
1780
- #: core/app_settings.py:414
1785
+ #: core/app_settings.py:402
1781
1786
  msgid "Enable account synchronization from LDAP directory to local database"
1782
1787
  msgstr "Włącz synchronizację konta ze katalogu LDAP z lokalną bazą danych"
1783
1788
 
1784
- #: core/app_settings.py:444
1789
+ #: core/app_settings.py:432
1785
1790
  msgid "Username attribute"
1786
1791
  msgstr "Atrybut nazwa użytkownika"
1787
1792
 
1788
- #: core/app_settings.py:446
1793
+ #: core/app_settings.py:434
1789
1794
  msgid "The name of the LDAP attribute where the username can be found."
1790
1795
  msgstr "Nazwa atrybutu LDAP, w którym można znaleźć nazwę użytkownika."
1791
1796
 
1792
- #: core/app_settings.py:455
1797
+ #: core/app_settings.py:443
1793
1798
  msgid "Enable Dovecot LDAP sync"
1794
1799
  msgstr "Włącz synchronizację Dovecot LDAP"
1795
1800
 
1796
- #: core/app_settings.py:457
1801
+ #: core/app_settings.py:445
1797
1802
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1798
1803
  msgstr ""
1799
1804
  "Ustawienia uwierzytelniania LDAP zostaną zastosowane do konfiguracji Dovecot."
1800
1805
 
1801
- #: core/app_settings.py:465
1806
+ #: core/app_settings.py:453
1802
1807
  msgid "Dovecot LDAP config file"
1803
1808
  msgstr "Plik konfiguracyjny Dovecot LDAP"
1804
1809
 
1805
- #: core/app_settings.py:467
1810
+ #: core/app_settings.py:455
1806
1811
  msgid ""
1807
1812
  "Location of the configuration file which contains Dovecot LDAP settings."
1808
1813
  msgstr ""
1809
1814
  "Lokalizacja pliku konfiguracyjnego, który zawiera ustawienia Dovecot LDAP."
1810
1815
 
1811
- #: core/app_settings.py:480
1816
+ #: core/app_settings.py:468
1812
1817
  msgid "Dashboard"
1813
1818
  msgstr "Panel główny"
1814
1819
 
1815
- #: core/app_settings.py:486
1820
+ #: core/app_settings.py:474
1816
1821
  #, fuzzy
1817
1822
  #| msgid "Custom message"
1818
1823
  msgid "Custom welcome message"
1819
1824
  msgstr "Własna wiadomość"
1820
1825
 
1821
- #: core/app_settings.py:488
1826
+ #: core/app_settings.py:476
1822
1827
  #, fuzzy
1823
1828
  #| msgid ""
1824
1829
  #| "A temporary message that will be displayed on the reset password page."
@@ -1826,153 +1831,153 @@ msgid "A welcome message that will be displayed instead the default one"
1826
1831
  msgstr ""
1827
1832
  "Tymczasowa wiadomość, która będzie wyświetlana na stronie resetowania hasła."
1828
1833
 
1829
- #: core/app_settings.py:495
1834
+ #: core/app_settings.py:483
1830
1835
  msgid "Custom RSS feed"
1831
1836
  msgstr "Spersonalizowany kanał RSS"
1832
1837
 
1833
- #: core/app_settings.py:497
1838
+ #: core/app_settings.py:485
1834
1839
  msgid "Display custom RSS feed to resellers and domain administrators"
1835
1840
  msgstr ""
1836
1841
  "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
1837
1842
 
1838
- #: core/app_settings.py:506
1843
+ #: core/app_settings.py:494
1839
1844
  #, fuzzy
1840
1845
  #| msgid "Display custom RSS feed to resellers and domain administrators"
1841
1846
  msgid "Display custom RSS feed to super admins"
1842
1847
  msgstr ""
1843
1848
  "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
1844
1849
 
1845
- #: core/app_settings.py:509
1850
+ #: core/app_settings.py:497
1846
1851
  #, fuzzy
1847
1852
  #| msgid "Display custom RSS feed to resellers and domain administrators"
1848
1853
  msgid "Display custom RSS feed also to super administrators"
1849
1854
  msgstr ""
1850
1855
  "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
1851
1856
 
1852
- #: core/app_settings.py:517
1857
+ #: core/app_settings.py:505
1853
1858
  msgid "Hide features widget"
1854
1859
  msgstr "Ukryj kontrolki opcji"
1855
1860
 
1856
- #: core/app_settings.py:519
1861
+ #: core/app_settings.py:507
1857
1862
  msgid "Hide features widget for resellers and domain administrators"
1858
1863
  msgstr "Ukryj kontrolki opcji dla administratorów domeny i resellerów"
1859
1864
 
1860
- #: core/app_settings.py:531
1865
+ #: core/app_settings.py:519
1861
1866
  msgid "Theme"
1862
1867
  msgstr ""
1863
1868
 
1864
- #: core/app_settings.py:537
1869
+ #: core/app_settings.py:525
1865
1870
  msgid "Primary theme color"
1866
1871
  msgstr ""
1867
1872
 
1868
- #: core/app_settings.py:539
1873
+ #: core/app_settings.py:527
1869
1874
  msgid ""
1870
1875
  "Primary color of the theme (hexadecimal code), used as the background color "
1871
1876
  "of the left menu for example"
1872
1877
  msgstr ""
1873
1878
 
1874
- #: core/app_settings.py:548
1879
+ #: core/app_settings.py:536
1875
1880
  msgid "Primary theme color (lighter version)"
1876
1881
  msgstr ""
1877
1882
 
1878
- #: core/app_settings.py:551 core/app_settings.py:563
1883
+ #: core/app_settings.py:539 core/app_settings.py:551
1879
1884
  msgid "Primary color of the theme (hexadecimal code)"
1880
1885
  msgstr ""
1881
1886
 
1882
- #: core/app_settings.py:560
1887
+ #: core/app_settings.py:548
1883
1888
  msgid "Primary theme color (darker version)"
1884
1889
  msgstr ""
1885
1890
 
1886
- #: core/app_settings.py:571
1891
+ #: core/app_settings.py:559
1887
1892
  #, fuzzy
1888
1893
  #| msgid "Secondary email"
1889
1894
  msgid "Secondary theme color"
1890
1895
  msgstr "Zapasowy email"
1891
1896
 
1892
- #: core/app_settings.py:573
1897
+ #: core/app_settings.py:561
1893
1898
  msgid ""
1894
1899
  "Secondary color of the theme (hexadecimal code), used as the background "
1895
1900
  "color of some buttons for example"
1896
1901
  msgstr ""
1897
1902
 
1898
- #: core/app_settings.py:581
1903
+ #: core/app_settings.py:569
1899
1904
  msgid "Labels theme color"
1900
1905
  msgstr ""
1901
1906
 
1902
- #: core/app_settings.py:583
1907
+ #: core/app_settings.py:571
1903
1908
  msgid "Theme color for labels (hexadecimal code)"
1904
1909
  msgstr ""
1905
1910
 
1906
- #: core/app_settings.py:595
1911
+ #: core/app_settings.py:583
1907
1912
  msgid "Notifications"
1908
1913
  msgstr "Powiadomienia"
1909
1914
 
1910
- #: core/app_settings.py:601
1915
+ #: core/app_settings.py:589
1911
1916
  msgid "Sender address"
1912
1917
  msgstr "Adres nadawcy"
1913
1918
 
1914
- #: core/app_settings.py:603
1919
+ #: core/app_settings.py:591
1915
1920
  msgid "Email address used to send notifications."
1916
1921
  msgstr "Adres e-mail używany do wysyłania powiadomień"
1917
1922
 
1918
- #: core/app_settings.py:614
1923
+ #: core/app_settings.py:602
1919
1924
  msgid "Public API"
1920
1925
  msgstr "Publiczne API"
1921
1926
 
1922
- #: core/app_settings.py:620
1927
+ #: core/app_settings.py:608
1923
1928
  msgid "Enable communication"
1924
1929
  msgstr "Włącz komunikację"
1925
1930
 
1926
- #: core/app_settings.py:622 core/app_settings.py:632
1931
+ #: core/app_settings.py:610 core/app_settings.py:620
1927
1932
  msgid "Automatically checks if a newer version is available"
1928
1933
  msgstr "Automatycznie sprawdzaj czy nowa wersja jest dostępna"
1929
1934
 
1930
- #: core/app_settings.py:629
1935
+ #: core/app_settings.py:617
1931
1936
  msgid "Check new versions"
1932
1937
  msgstr "Sprawdź nowe wersje"
1933
1938
 
1934
- #: core/app_settings.py:640
1939
+ #: core/app_settings.py:628
1935
1940
  msgid "Send an email when new versions are found"
1936
1941
  msgstr "Wyślij email, jeżeli została znaleziona nowa wersja"
1937
1942
 
1938
- #: core/app_settings.py:644
1943
+ #: core/app_settings.py:632
1939
1944
  msgid "Send an email to notify admins about new versions"
1940
1945
  msgstr "Wyślij email, by powiadomić aministratorów o nowej wersji"
1941
1946
 
1942
- #: core/app_settings.py:651 sievefilters/constants.py:25
1947
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1943
1948
  msgid "Recipient"
1944
1949
  msgstr "Odbioraca"
1945
1950
 
1946
- #: core/app_settings.py:654
1951
+ #: core/app_settings.py:642
1947
1952
  msgid "Recipient of new versions notification emails."
1948
1953
  msgstr "Odbiorca emaili z powiadomieniem o nowej wersji"
1949
1954
 
1950
- #: core/app_settings.py:661
1955
+ #: core/app_settings.py:649
1951
1956
  msgid "Send statistics"
1952
1957
  msgstr "Wyślij statystyki"
1953
1958
 
1954
- #: core/app_settings.py:664
1959
+ #: core/app_settings.py:652
1955
1960
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1956
1961
  msgstr ""
1957
1962
  "Prześlij statystyki do publicznego API Modoboa (licznik i użyte rozszerzenia)"
1958
1963
 
1959
- #: core/app_settings.py:683
1964
+ #: core/app_settings.py:671
1960
1965
  #, fuzzy
1961
1966
  #| msgid "Inactive account threshold"
1962
1967
  msgid "Enable inactive account tracking"
1963
1968
  msgstr "Próg nieaktywności konta"
1964
1969
 
1965
- #: core/app_settings.py:686
1970
+ #: core/app_settings.py:674
1966
1971
  msgid ""
1967
1972
  "Allow the administrator to set a threshold (in days) beyond which an account "
1968
1973
  "is considered inactive if the user hasn't logged in"
1969
1974
  msgstr ""
1970
1975
 
1971
- #: core/app_settings.py:695
1976
+ #: core/app_settings.py:683
1972
1977
  msgid "Inactive account threshold"
1973
1978
  msgstr "Próg nieaktywności konta"
1974
1979
 
1975
- #: core/app_settings.py:698
1980
+ #: core/app_settings.py:686
1976
1981
  msgid ""
1977
1982
  "An account with a last login date greater than this threshold (in days) will "
1978
1983
  "be considered as inactive"
@@ -1980,46 +1985,38 @@ msgstr ""
1980
1985
  "Konto z datą ostatniego logowania większą niż podany próg (w dniach) "
1981
1986
  "zostanie uznane za nieaktywne. "
1982
1987
 
1983
- #: core/app_settings.py:707
1988
+ #: core/app_settings.py:695
1984
1989
  msgid "Top notifications check interval"
1985
1990
  msgstr "Odstęp pomiędzy powiadomieniami "
1986
1991
 
1987
- #: core/app_settings.py:710
1992
+ #: core/app_settings.py:698
1988
1993
  msgid "Interval between two top notification checks (in seconds)"
1989
1994
  msgstr "Odstęp pomiędzy dwoma powiadomieniami (w sek.)"
1990
1995
 
1991
- #: core/app_settings.py:717
1996
+ #: core/app_settings.py:705
1992
1997
  msgid "Maximum log record age"
1993
1998
  msgstr "Max wiek wpisu w logu"
1994
1999
 
1995
- #: core/app_settings.py:719
2000
+ #: core/app_settings.py:707
1996
2001
  msgid "The maximum age in days of a log record"
1997
2002
  msgstr "Max wiek w dniach dla wpisu w logu"
1998
2003
 
1999
- #: core/app_settings.py:727
2004
+ #: core/app_settings.py:715
2000
2005
  msgid "Retention time in message history"
2001
2006
  msgstr ""
2002
2007
 
2003
- #: core/app_settings.py:730
2008
+ #: core/app_settings.py:718
2004
2009
  msgid "Retention time (in days) of a message in the message history section"
2005
2010
  msgstr ""
2006
2011
 
2007
- #: core/app_settings.py:737
2012
+ #: core/app_settings.py:725
2008
2013
  msgid "Items per page"
2009
2014
  msgstr "Elementów na stronie"
2010
2015
 
2011
- #: core/app_settings.py:739
2016
+ #: core/app_settings.py:727
2012
2017
  msgid "Number of displayed items per page"
2013
2018
  msgstr "Liczba wyświetlanych elementów na stronie"
2014
2019
 
2015
- #: core/app_settings.py:746
2016
- msgid "Default top redirection"
2017
- msgstr "Domyślne górne przekierowanie"
2018
-
2019
- #: core/app_settings.py:748
2020
- msgid "The default redirection used when no application is specified"
2021
- msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"
2022
-
2023
2020
  #: core/checks.py:15
2024
2021
  msgid ""
2025
2022
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -2373,7 +2370,7 @@ msgid "Not resolved"
2373
2370
  msgstr "Nie zdefiniowano"
2374
2371
 
2375
2372
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
2376
- #: webmail/constants.py:18
2373
+ #: webmail/constants.py:38
2377
2374
  msgid "None"
2378
2375
  msgstr "Brak"
2379
2376
 
@@ -3340,7 +3337,7 @@ msgstr "jest"
3340
3337
  msgid "is not"
3341
3338
  msgstr "nie jest"
3342
3339
 
3343
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3340
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
3344
3341
  msgid "Subject"
3345
3342
  msgstr "Temat"
3346
3343
 
@@ -3602,25 +3599,25 @@ msgstr ""
3602
3599
  msgid "SMTP settings"
3603
3600
  msgstr "Ustawienia IMAP"
3604
3601
 
3605
- #: webmail/app_settings.py:75
3602
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3606
3603
  #, fuzzy
3607
3604
  #| msgid "Address of the IMAP server (hostname or IP)"
3608
3605
  msgid "Address of your SMTP server"
3609
3606
  msgstr "Adres serwera IMAP"
3610
3607
 
3611
- #: webmail/app_settings.py:82
3608
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3612
3609
  #, fuzzy
3613
3610
  #| msgid "Use a secured connection"
3614
3611
  msgid "Secured connection mode"
3615
3612
  msgstr "Użyj bezpiecznego polączenia"
3616
3613
 
3617
- #: webmail/app_settings.py:84
3614
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3618
3615
  #, fuzzy
3619
3616
  #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
3620
3617
  msgid "Use a secured connection to access SMTP server"
3621
3618
  msgstr "Użyj bezpiecznego połączenia do serwera IMAP"
3622
3619
 
3623
- #: webmail/app_settings.py:93
3620
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3624
3621
  #, fuzzy
3625
3622
  #| msgid "Listening port of the IMAP server"
3626
3623
  msgid "Listening port of your SMTP server"
@@ -3637,117 +3634,123 @@ msgstr "Metoda autentykacji"
3637
3634
  msgid "Server needs authentication"
3638
3635
  msgstr "Preferowany mechanizm uwierzytelnienia"
3639
3636
 
3640
- #: webmail/app_settings.py:124
3637
+ #: webmail/app_settings.py:113
3638
+ #, fuzzy
3639
+ #| msgid "LDAP settings"
3640
+ msgid "Scheduling settings"
3641
+ msgstr "Ustawienia ManageSieve"
3642
+
3643
+ #: webmail/app_settings.py:161
3641
3644
  msgid "Default message display mode"
3642
3645
  msgstr ""
3643
3646
 
3644
- #: webmail/app_settings.py:126
3647
+ #: webmail/app_settings.py:163
3645
3648
  #, fuzzy
3646
3649
  #| msgid "The default redirection used when no application is specified"
3647
3650
  msgid "The default mode used when displaying a message"
3648
3651
  msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"
3649
3652
 
3650
- #: webmail/app_settings.py:133
3653
+ #: webmail/app_settings.py:170
3651
3654
  msgid "Enable HTML links display"
3652
3655
  msgstr ""
3653
3656
 
3654
- #: webmail/app_settings.py:136
3657
+ #: webmail/app_settings.py:173
3655
3658
  msgid "Enable/Disable HTML links display"
3656
3659
  msgstr ""
3657
3660
 
3658
- #: webmail/app_settings.py:147
3661
+ #: webmail/app_settings.py:184
3659
3662
  msgid "Sets the maximum number of messages displayed in a page"
3660
3663
  msgstr ""
3661
3664
 
3662
- #: webmail/app_settings.py:154
3665
+ #: webmail/app_settings.py:191
3663
3666
  msgid "Listing refresh rate"
3664
3667
  msgstr ""
3665
3668
 
3666
- #: webmail/app_settings.py:156
3669
+ #: webmail/app_settings.py:193
3667
3670
  msgid "Automatic listing refresh rate (in secconds)"
3668
3671
  msgstr ""
3669
3672
 
3670
- #: webmail/app_settings.py:163
3673
+ #: webmail/app_settings.py:200
3671
3674
  msgid "Folder container's width"
3672
3675
  msgstr ""
3673
3676
 
3674
- #: webmail/app_settings.py:165
3677
+ #: webmail/app_settings.py:202
3675
3678
  msgid "The width of the folder list container"
3676
3679
  msgstr ""
3677
3680
 
3678
- #: webmail/app_settings.py:176
3681
+ #: webmail/app_settings.py:213
3679
3682
  #, fuzzy
3680
3683
  #| msgid "Create aliases"
3681
3684
  msgid "Folders"
3682
3685
  msgstr "Utwórz aliasy"
3683
3686
 
3684
- #: webmail/app_settings.py:182
3687
+ #: webmail/app_settings.py:219
3685
3688
  #, fuzzy
3686
3689
  #| msgid "Create aliases"
3687
3690
  msgid "Trash folder"
3688
3691
  msgstr "Folder kosza"
3689
3692
 
3690
- #: webmail/app_settings.py:184
3693
+ #: webmail/app_settings.py:221
3691
3694
  #, fuzzy
3692
3695
  #| msgid "rejected messages"
3693
3696
  msgid "Folder where deleted messages go"
3694
3697
  msgstr "Folder, do którego trafiają usunięte wiadomości"
3695
3698
 
3696
- #: webmail/app_settings.py:191
3699
+ #: webmail/app_settings.py:228
3697
3700
  #, fuzzy
3698
3701
  #| msgid "Create aliases"
3699
3702
  msgid "Sent folder"
3700
3703
  msgstr "Folder wysłane"
3701
3704
 
3702
- #: webmail/app_settings.py:193
3705
+ #: webmail/app_settings.py:230
3703
3706
  msgid "Folder where copies of sent messages go"
3704
3707
  msgstr "Folder, do którego trafiają kopie wysłanych wiadomości"
3705
3708
 
3706
- #: webmail/app_settings.py:200
3709
+ #: webmail/app_settings.py:237
3707
3710
  #, fuzzy
3708
3711
  #| msgid "Create aliases"
3709
3712
  msgid "Drafts folder"
3710
3713
  msgstr "Folder kopie robocze"
3711
3714
 
3712
- #: webmail/app_settings.py:201
3715
+ #: webmail/app_settings.py:238
3713
3716
  msgid "Folder where drafts go"
3714
3717
  msgstr "Folder, do którego trafiają kopie robocze"
3715
3718
 
3716
- #: webmail/app_settings.py:207
3719
+ #: webmail/app_settings.py:244
3717
3720
  #, fuzzy
3718
3721
  #| msgid "Create aliases"
3719
3722
  msgid "Junk folder"
3720
3723
  msgstr "Folder wysłane"
3721
3724
 
3722
- #: webmail/app_settings.py:209
3725
+ #: webmail/app_settings.py:246
3723
3726
  #, fuzzy
3724
3727
  #| msgid "rejected messages"
3725
3728
  msgid "Folder where junk messages should go"
3726
3729
  msgstr "Folder, do którego trafiają usunięte wiadomości"
3727
3730
 
3728
- #: webmail/app_settings.py:220
3731
+ #: webmail/app_settings.py:257
3729
3732
  #, fuzzy
3730
3733
  #| msgid "sent messages"
3731
3734
  msgid "Composing messages"
3732
3735
  msgstr "Wysłane wiadomości"
3733
3736
 
3734
- #: webmail/app_settings.py:226
3737
+ #: webmail/app_settings.py:263
3735
3738
  #, fuzzy
3736
3739
  #| msgid "Default top redirection"
3737
3740
  msgid "Default editor"
3738
3741
  msgstr "Domyślne górne przekierowanie"
3739
3742
 
3740
- #: webmail/app_settings.py:228
3743
+ #: webmail/app_settings.py:265
3741
3744
  #, fuzzy
3742
3745
  #| msgid "The default redirection used when no application is specified"
3743
3746
  msgid "The default editor to use when composing a message"
3744
3747
  msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"
3745
3748
 
3746
- #: webmail/app_settings.py:235
3749
+ #: webmail/app_settings.py:272
3747
3750
  msgid "Signature text"
3748
3751
  msgstr ""
3749
3752
 
3750
- #: webmail/app_settings.py:237
3753
+ #: webmail/app_settings.py:274
3751
3754
  msgid "User defined email signature"
3752
3755
  msgstr ""
3753
3756
 
@@ -3763,47 +3766,72 @@ msgstr "Adres serwera"
3763
3766
  msgid "Failed to remove attachment: "
3764
3767
  msgstr "Nie udało się usunąć filtru"
3765
3768
 
3766
- #: webmail/lib/imapemail.py:272
3769
+ #: webmail/lib/imapemail.py:270
3767
3770
  msgid "wrote:"
3768
3771
  msgstr ""
3769
3772
 
3770
- #: webmail/lib/imapemail.py:306
3773
+ #: webmail/lib/imapemail.py:304
3771
3774
  msgid "Date"
3772
3775
  msgstr "Data"
3773
3776
 
3774
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3777
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3775
3778
  #, fuzzy
3776
3779
  #| msgid "sent messages"
3777
3780
  msgid "Original message"
3778
3781
  msgstr "Wszystkie wiadomości"
3779
3782
 
3780
- #: webmail/lib/imaputils.py:221
3783
+ #: webmail/lib/imaputils.py:222
3781
3784
  msgid "Failed to retrieve hierarchy delimiter"
3782
3785
  msgstr "Nie udało się rozpoznać hierarchii separatora"
3783
3786
 
3784
- #: webmail/lib/imaputils.py:472
3787
+ #: webmail/lib/imaputils.py:478
3785
3788
  msgid "Inbox"
3786
3789
  msgstr ""
3787
3790
 
3788
- #: webmail/lib/imaputils.py:476
3791
+ #: webmail/lib/imaputils.py:482
3789
3792
  #, fuzzy
3790
3793
  #| msgid "Create aliases"
3791
3794
  msgid "Drafts"
3792
3795
  msgstr "Folder kopie robocze"
3793
3796
 
3794
- #: webmail/lib/imaputils.py:481
3797
+ #: webmail/lib/imaputils.py:487
3795
3798
  msgid "Junk"
3796
3799
  msgstr ""
3797
3800
 
3798
- #: webmail/lib/imaputils.py:486
3801
+ #: webmail/lib/imaputils.py:492
3799
3802
  msgid "Sent"
3800
3803
  msgstr ""
3801
3804
 
3802
- #: webmail/lib/imaputils.py:491
3805
+ #: webmail/lib/imaputils.py:500
3806
+ msgid "Scheduled"
3807
+ msgstr ""
3808
+
3809
+ #: webmail/lib/imaputils.py:507
3803
3810
  msgid "Trash"
3804
3811
  msgstr ""
3805
3812
 
3806
- #: webmail/viewsets.py:357
3813
+ #: webmail/serializers.py:220
3814
+ msgid "Moving scheduled messages is forbidden"
3815
+ msgstr ""
3816
+
3817
+ #: webmail/serializers.py:253
3818
+ msgid "Only datetime in the future is allowed"
3819
+ msgstr ""
3820
+
3821
+ #: webmail/serializers.py:258
3822
+ msgid "Provived datetime must be one minute in the future at least"
3823
+ msgstr ""
3824
+
3825
+ #: webmail/viewsets.py:359
3807
3826
  #, python-format
3808
3827
  msgid "Attachment is too big (limit: %s)"
3809
3828
  msgstr ""
3829
+
3830
+ #~ msgid "User profile"
3831
+ #~ msgstr "Profil użytkownika"
3832
+
3833
+ #~ msgid "Default top redirection"
3834
+ #~ msgstr "Domyślne górne przekierowanie"
3835
+
3836
+ #~ msgid "The default redirection used when no application is specified"
3837
+ #~ msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"