modoboa 2.6.4__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 (364) 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/autoreply/models.py +4 -4
  16. modoboa/calendars/backends/caldav_.py +17 -13
  17. modoboa/calendars/jobs.py +7 -0
  18. modoboa/calendars/mocks.py +4 -1
  19. modoboa/calendars/serializers.py +14 -9
  20. modoboa/calendars/tests.py +10 -9
  21. modoboa/calendars/viewsets.py +3 -1
  22. modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
  23. modoboa/contacts/models.py +1 -0
  24. modoboa/contacts/serializers.py +5 -2
  25. modoboa/contacts/tasks.py +9 -3
  26. modoboa/contacts/tests.py +32 -6
  27. modoboa/contacts/viewsets.py +7 -1
  28. modoboa/core/api/v2/serializers.py +0 -7
  29. modoboa/core/api/v2/tests.py +0 -10
  30. modoboa/core/app_settings.py +0 -22
  31. modoboa/core/commands/deploy.py +13 -0
  32. modoboa/core/commands/templates/cron_config.py.tpl +33 -0
  33. modoboa/core/commands/templates/settings.py.tpl +21 -0
  34. modoboa/core/jobs.py +34 -0
  35. modoboa/core/management/commands/load_initial_data.py +1 -1
  36. modoboa/core/password_hashers/base.py +4 -1
  37. modoboa/core/tests/test_core.py +0 -14
  38. modoboa/core/tests/test_jobs.py +40 -0
  39. modoboa/frontend_dist/assets/{AccountAliasForm-tLHotdIR.js → AccountAliasForm-DO6DwfjE.js} +1 -1
  40. modoboa/frontend_dist/assets/{AccountEditView-DnQIIg47.js → AccountEditView-CCuN9mGB.js} +1 -1
  41. modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
  42. modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
  43. modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
  44. modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
  45. modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
  46. modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
  47. modoboa/frontend_dist/assets/{AliasEditView-n75NEN_s.js → AliasEditView-CTjrXYPf.js} +1 -1
  48. modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
  49. modoboa/frontend_dist/assets/{AliasView-DFIvPeIm.js → AliasView-BN13MNN_.js} +1 -1
  50. modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
  51. modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
  52. modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
  53. modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
  54. modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
  55. modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
  56. modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
  57. modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
  58. modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
  59. modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
  60. modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
  61. modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
  62. modoboa/frontend_dist/assets/{DomainAdminList-BjtfbhRj.js → DomainAdminList-DD7p3i6F.js} +1 -1
  63. modoboa/frontend_dist/assets/{DomainEditView-Cq5Ea4RW.js → DomainEditView-DoIoNYC4.js} +1 -1
  64. modoboa/frontend_dist/assets/{DomainTransportForm-DAXJGNLA.js → DomainTransportForm-CbiJF9z5.js} +1 -1
  65. modoboa/frontend_dist/assets/{DomainView-BfpK7U14.js → DomainView-BXvznFYz.js} +3 -3
  66. modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
  67. modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
  68. modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
  69. modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
  70. modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
  71. modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
  72. modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
  73. modoboa/frontend_dist/assets/{HtmlEditor-D753fIAJ.js → HtmlEditor-CyBl5wj2.js} +15 -15
  74. modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
  75. modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
  76. modoboa/frontend_dist/assets/{LoadingData-Tm56XNwj.js → LoadingData-C2txD49L.js} +1 -1
  77. modoboa/frontend_dist/assets/{LoginCallbackView-DjCHUgz5.js → LoginCallbackView-DAvty3CI.js} +1 -1
  78. modoboa/frontend_dist/assets/{LoginView-D0r4XBEl.js → LoginView-DHYITkn4.js} +1 -1
  79. modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
  80. modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
  81. modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
  82. modoboa/frontend_dist/assets/{MessageView-BWh9BqzS.js → MessageView-CrrEJpNI.js} +1 -1
  83. modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
  84. modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
  85. modoboa/frontend_dist/assets/{ParametersForm-y02-GM0r.js → ParametersForm-DFKYkPAs.js} +1 -1
  86. modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
  87. modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
  88. modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
  89. modoboa/frontend_dist/assets/ProviderGeneralForm-DO-IpJMQ.js +1 -0
  90. modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
  91. modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
  92. modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
  93. modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
  94. modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
  95. modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
  96. modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
  97. modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
  98. modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
  99. modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
  100. modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
  101. modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
  102. modoboa/frontend_dist/assets/{VAlert-CNys_LUS.js → VAlert-MDbeolOo.js} +1 -1
  103. modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
  104. modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
  105. modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
  106. modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
  107. modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
  108. modoboa/frontend_dist/assets/{VCard-BoH6kjPa.js → VCard-CBtX8JF-.js} +1 -1
  109. modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
  110. modoboa/frontend_dist/assets/{VCheckboxBtn-Ccl786Rg.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
  111. modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
  112. modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
  113. modoboa/frontend_dist/assets/{VContainer-DKMcKasC.js → VContainer-Cn-vKB3s.js} +1 -1
  114. modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
  115. modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
  116. modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
  117. modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
  118. modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
  119. modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
  120. modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
  121. modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
  122. modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
  123. modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
  124. modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
  125. modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
  126. modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
  127. modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
  128. modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
  129. modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
  130. modoboa/frontend_dist/assets/{VRow-CuVZGqBj.js → VRow-83Qnr5iB.js} +1 -1
  131. modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
  132. modoboa/frontend_dist/assets/{VSelectionControl-uKY9Zull.js → VSelectionControl-Cqi1xt-q.js} +1 -1
  133. modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
  134. modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
  135. modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
  136. modoboa/frontend_dist/assets/{VTable-gDsAUSLX.js → VTable-f7wcr2AZ.js} +1 -1
  137. modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
  138. modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
  139. modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
  140. modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
  141. modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
  142. modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
  143. modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
  144. modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
  145. modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
  146. modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
  147. modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
  148. modoboa/frontend_dist/assets/{accounts-DqbBlaLK.js → accounts-KUsk6LHW.js} +1 -1
  149. modoboa/frontend_dist/assets/{admin-D36m_nXq.js → admin-BW9cZW0P.js} +1 -1
  150. modoboa/frontend_dist/assets/{aliases-BtyF8GC8.js → aliases-Ge0hjIsH.js} +1 -1
  151. modoboa/frontend_dist/assets/{amavis-DySmsCJQ.js → amavis-BbFeFfsk.js} +1 -1
  152. modoboa/frontend_dist/assets/{amavis-B4QhM5Fa.js → amavis-DtuzP_CS.js} +1 -1
  153. modoboa/frontend_dist/assets/{contacts-Df8ptuMn.js → contacts-DMJlQTe0.js} +1 -1
  154. modoboa/frontend_dist/assets/{domains-CSxtTvUh.js → domains-Du64lcXT.js} +1 -1
  155. modoboa/frontend_dist/assets/domains.store-1U61jeCV.js +1 -0
  156. modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
  157. modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
  158. modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
  159. modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
  160. modoboa/frontend_dist/assets/{index-Bp9Fb67E.js → index-Dv00bmw9.js} +1 -1
  161. modoboa/frontend_dist/assets/index-jui3edpn.js +1001 -0
  162. modoboa/frontend_dist/assets/{language.store-_-zrrEiS.js → language.store-OcfdXL_-.js} +1 -1
  163. modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
  164. modoboa/frontend_dist/assets/{layout-CjSP_k58.js → layout-DOO7TRTJ.js} +1 -1
  165. modoboa/frontend_dist/assets/{layout.store-CF5WRevH.js → layout.store-C0g-piJn.js} +1 -1
  166. modoboa/frontend_dist/assets/{logos-95XYS6uH.js → logos-Dz2Gzei-.js} +1 -1
  167. modoboa/frontend_dist/assets/{logs-CyU_PIDh.js → logs-CLm32Weu.js} +1 -1
  168. modoboa/frontend_dist/assets/{parameters-BxAXBXU1.js → parameters-DMIAQ7cd.js} +1 -1
  169. modoboa/frontend_dist/assets/{parameters.store-CATOSoQZ.js → parameters.store-DLnFzCwV.js} +1 -1
  170. modoboa/frontend_dist/assets/{permissions-cSkGqV3M.js → permissions-CrpE0b4w.js} +1 -1
  171. modoboa/frontend_dist/assets/{ssrBoot-05WtbG6H.js → ssrBoot-B7cr7q9U.js} +1 -1
  172. modoboa/frontend_dist/assets/{tag-BmV84V2s.js → tag-WF93n81Q.js} +1 -1
  173. modoboa/frontend_dist/assets/{theme-myV4ekXo.js → theme-_0oOYChG.js} +1 -1
  174. modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
  175. modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
  176. modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
  177. modoboa/frontend_dist/index.html +2 -2
  178. modoboa/imap_migration/api/v2/serializers.py +13 -0
  179. modoboa/imap_migration/models.py +3 -3
  180. modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
  181. modoboa/imap_migration/tests.py +28 -0
  182. modoboa/lib/cryptutils.py +2 -2
  183. modoboa/lib/sysutils.py +1 -1
  184. modoboa/lib/tests/__init__.py +0 -1
  185. modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
  186. modoboa/locale/br/LC_MESSAGES/django.po +753 -317
  187. modoboa/locale/cs/LC_MESSAGES/django.po +671 -309
  188. modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  189. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +801 -378
  190. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  191. modoboa/locale/de/LC_MESSAGES/django.po +1116 -455
  192. modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
  193. modoboa/locale/de_DE/LC_MESSAGES/django.po +745 -318
  194. modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
  195. modoboa/locale/el_GR/LC_MESSAGES/django.po +825 -393
  196. modoboa/locale/en/LC_MESSAGES/django.po +669 -309
  197. modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
  198. modoboa/locale/es/LC_MESSAGES/django.po +810 -390
  199. modoboa/locale/es_MX/LC_MESSAGES/django.po +669 -309
  200. modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/fi/LC_MESSAGES/django.po +756 -316
  202. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  203. modoboa/locale/fr/LC_MESSAGES/django.po +674 -313
  204. modoboa/locale/hu/LC_MESSAGES/django.po +669 -309
  205. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/it/LC_MESSAGES/django.po +807 -380
  207. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  208. modoboa/locale/ja_JP/LC_MESSAGES/django.po +951 -419
  209. modoboa/locale/ka/LC_MESSAGES/django.po +669 -309
  210. modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  211. modoboa/locale/nl_NL/LC_MESSAGES/django.po +807 -387
  212. modoboa/locale/no/LC_MESSAGES/django.po +669 -309
  213. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  214. modoboa/locale/pl_PL/LC_MESSAGES/django.po +826 -396
  215. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  216. modoboa/locale/pt_BR/LC_MESSAGES/django.po +830 -392
  217. modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  218. modoboa/locale/pt_PT/LC_MESSAGES/django.po +788 -371
  219. modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
  220. modoboa/locale/ro_RO/LC_MESSAGES/django.po +763 -316
  221. modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
  222. modoboa/locale/ru/LC_MESSAGES/django.po +1336 -1046
  223. modoboa/locale/si/LC_MESSAGES/django.po +669 -309
  224. modoboa/locale/sk/LC_MESSAGES/django.po +671 -309
  225. modoboa/locale/sk_SK/LC_MESSAGES/django.po +671 -309
  226. modoboa/locale/sl_SI/LC_MESSAGES/django.po +695 -315
  227. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  228. modoboa/locale/sv/LC_MESSAGES/django.po +819 -387
  229. modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
  230. modoboa/locale/tr/LC_MESSAGES/django.po +737 -315
  231. modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  232. modoboa/locale/tr_TR/LC_MESSAGES/django.po +711 -310
  233. modoboa/locale/uk/LC_MESSAGES/django.po +671 -309
  234. modoboa/locale/zh/LC_MESSAGES/django.po +668 -309
  235. modoboa/locale/zh_CN/LC_MESSAGES/django.po +668 -309
  236. modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  237. modoboa/locale/zh_TW/LC_MESSAGES/django.po +747 -316
  238. modoboa/maillog/jobs.py +11 -0
  239. modoboa/maillog/tests/test_views.py +5 -4
  240. modoboa/parameters/api/v2/tests.py +1 -1
  241. modoboa/policyd/management/commands/policy_daemon.py +5 -1
  242. modoboa/policyd/tests.py +4 -2
  243. modoboa/rspamd/tests.py +20 -0
  244. modoboa/templates/registration/twofactor_code_verify.html +1 -1
  245. modoboa/webmail/app_settings.py +37 -0
  246. modoboa/webmail/constants.py +21 -1
  247. modoboa/webmail/factories.py +19 -0
  248. modoboa/webmail/jobs.py +27 -0
  249. modoboa/webmail/lib/__init__.py +0 -2
  250. modoboa/webmail/lib/imapemail.py +9 -11
  251. modoboa/webmail/lib/imapheader.py +25 -13
  252. modoboa/webmail/lib/imaputils.py +51 -13
  253. modoboa/webmail/lib/sendmail.py +88 -105
  254. modoboa/webmail/lib/utils.py +109 -0
  255. modoboa/webmail/migrations/0001_initial.py +90 -0
  256. modoboa/webmail/migrations/__init__.py +0 -0
  257. modoboa/webmail/mocks.py +12 -3
  258. modoboa/webmail/models.py +102 -0
  259. modoboa/webmail/serializers.py +84 -4
  260. modoboa/webmail/tests/data.py +21 -0
  261. modoboa/webmail/tests/test_lib_imaputils.py +33 -0
  262. modoboa/webmail/tests/test_viewsets.py +108 -0
  263. modoboa/webmail/urls.py +5 -0
  264. modoboa/webmail/viewsets.py +39 -9
  265. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
  266. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/RECORD +271 -254
  267. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
  268. modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
  269. modoboa/core/management/commands/cleanlogs.py +0 -53
  270. modoboa/frontend_dist/assets/AccountLayout-B2HptJzY.js +0 -1
  271. modoboa/frontend_dist/assets/AccountPasswordSubForm-DpADntAL.js +0 -1
  272. modoboa/frontend_dist/assets/AccountView-CJBGh9Oe.js +0 -1
  273. modoboa/frontend_dist/assets/AddressBook-CrFqzlzZ.js +0 -1
  274. modoboa/frontend_dist/assets/AdminLayout-BbCt7YxX.js +0 -1
  275. modoboa/frontend_dist/assets/AlarmsView-CIlt_IKQ.js +0 -1
  276. modoboa/frontend_dist/assets/AliasRecipientForm-jjj5yJJw.js +0 -1
  277. modoboa/frontend_dist/assets/AuditTrailView-sWnED3E9.js +0 -1
  278. modoboa/frontend_dist/assets/CalendarView-DSCBIvef.js +0 -1
  279. modoboa/frontend_dist/assets/ChoiceField-RDT6XcnX.js +0 -1
  280. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
  281. modoboa/frontend_dist/assets/ComposeEmailForm-G3sXQAwI.js +0 -1
  282. modoboa/frontend_dist/assets/ComposeEmailView-Ce1CtFjD.js +0 -1
  283. modoboa/frontend_dist/assets/ConfirmDialog-Du7aqKbR.js +0 -1
  284. modoboa/frontend_dist/assets/ConnectedLayout-BHWaBAzH.js +0 -1
  285. modoboa/frontend_dist/assets/CreationForm-CjtILq0_.js +0 -1
  286. modoboa/frontend_dist/assets/DashboardView-DFNwusDZ.js +0 -1
  287. modoboa/frontend_dist/assets/DomainsView-CYxLy-3Y.js +0 -1
  288. modoboa/frontend_dist/assets/EmailField-DmPc4pyP.js +0 -1
  289. modoboa/frontend_dist/assets/EmailView-BE3vYZtJ.js +0 -1
  290. modoboa/frontend_dist/assets/EmptyLayout-DMwKNHfI.js +0 -1
  291. modoboa/frontend_dist/assets/FiltersView-Dps3_fAh.js +0 -1
  292. modoboa/frontend_dist/assets/ForwardEmailView-C0I00eXf.js +0 -1
  293. modoboa/frontend_dist/assets/IdentitiesView-CoGBVhZx.js +0 -1
  294. modoboa/frontend_dist/assets/InformationView-eB2ayeLD.js +0 -1
  295. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
  296. modoboa/frontend_dist/assets/MailboxView-DNokO2WZ.js +0 -5
  297. modoboa/frontend_dist/assets/MenuItems-dl38msRA.js +0 -1
  298. modoboa/frontend_dist/assets/MessagesView-BZ7NUOwo.js +0 -1
  299. modoboa/frontend_dist/assets/MigrationsView-DcOVgmcH.js +0 -1
  300. modoboa/frontend_dist/assets/ParametersView-B6abt-LH.js +0 -1
  301. modoboa/frontend_dist/assets/ParametersView-v0YS6WU4.js +0 -1
  302. modoboa/frontend_dist/assets/ProviderEditView-BaL9mKxJ.js +0 -1
  303. modoboa/frontend_dist/assets/ProviderGeneralForm-eoHMDO5v.js +0 -1
  304. modoboa/frontend_dist/assets/ProvidersView-Zu-G35u7.js +0 -1
  305. modoboa/frontend_dist/assets/QuarantineLayout-BHiiksnP.js +0 -1
  306. modoboa/frontend_dist/assets/QuarantineView-BOXSobRz.js +0 -1
  307. modoboa/frontend_dist/assets/ReplyEmailView-JmSiNWPy.js +0 -1
  308. modoboa/frontend_dist/assets/ResourcesForm-D0YBapCG.js +0 -1
  309. modoboa/frontend_dist/assets/SelfServiceLayout-DUmQzUDk.js +0 -1
  310. modoboa/frontend_dist/assets/SettingsView-DIvKGRBY.css +0 -1
  311. modoboa/frontend_dist/assets/SettingsView-DMuaKagM.js +0 -6
  312. modoboa/frontend_dist/assets/StatisticsView-CyY_CNcI.js +0 -1
  313. modoboa/frontend_dist/assets/TimeSerieChart-BTDBH33K.js +0 -1
  314. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
  315. modoboa/frontend_dist/assets/UserLayout-DwxcQr4L.js +0 -1
  316. modoboa/frontend_dist/assets/VApp-B0vRc3-6.js +0 -1
  317. modoboa/frontend_dist/assets/VAutocomplete-Huaz_-hf.js +0 -1
  318. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
  319. modoboa/frontend_dist/assets/VAvatar-JdJfoK0C.js +0 -1
  320. modoboa/frontend_dist/assets/VBadge-Cg5iu5LG.js +0 -1
  321. modoboa/frontend_dist/assets/VCheckbox-CCLOJFKF.js +0 -1
  322. modoboa/frontend_dist/assets/VColorPicker-452uc3tY.js +0 -1
  323. modoboa/frontend_dist/assets/VDataTable-BkLLfcQK.js +0 -1
  324. modoboa/frontend_dist/assets/VDataTableServer-B_6fWBA3.js +0 -1
  325. modoboa/frontend_dist/assets/VDataTableVirtual-Ike7oqcC.js +0 -1
  326. modoboa/frontend_dist/assets/VDialog-DIUeAIpw.js +0 -1
  327. modoboa/frontend_dist/assets/VExpansionPanels-BeMgiS7A.js +0 -1
  328. modoboa/frontend_dist/assets/VFileInput-Dvj95FL5.js +0 -1
  329. modoboa/frontend_dist/assets/VForm-DkphQD3e.js +0 -1
  330. modoboa/frontend_dist/assets/VInput-CbqehdOu.js +0 -1
  331. modoboa/frontend_dist/assets/VMenu-B6SCtOwT.js +0 -1
  332. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
  333. modoboa/frontend_dist/assets/VPicker-BUx70Wjg.js +0 -1
  334. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
  335. modoboa/frontend_dist/assets/VProgressCircular-DTDGzl2O.js +0 -1
  336. modoboa/frontend_dist/assets/VRadioGroup-CS9ULZ1c.js +0 -1
  337. modoboa/frontend_dist/assets/VSelect-D5IXDPEX.js +0 -1
  338. modoboa/frontend_dist/assets/VSheet-HeHw6g5_.js +0 -1
  339. modoboa/frontend_dist/assets/VSpacer-BUxSSJbH.js +0 -1
  340. modoboa/frontend_dist/assets/VSwitch-Dh_dserW.js +0 -1
  341. modoboa/frontend_dist/assets/VTabs-5XSICLQP.js +0 -1
  342. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
  343. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
  344. modoboa/frontend_dist/assets/VTextField-QXQFhKxm.js +0 -1
  345. modoboa/frontend_dist/assets/VTextarea-Bdy4UKmV.js +0 -1
  346. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
  347. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
  348. modoboa/frontend_dist/assets/VToolbar-CyrYSqJZ.js +0 -1
  349. modoboa/frontend_dist/assets/VWindowItem-kZpArwK1.js +0 -1
  350. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
  351. modoboa/frontend_dist/assets/WebmailLayout-CNUHODnw.js +0 -1
  352. modoboa/frontend_dist/assets/domains.store-D4ZqCQ-O.js +0 -1
  353. modoboa/frontend_dist/assets/filter-DHKXX97M.js +0 -1
  354. modoboa/frontend_dist/assets/global.store-DYMmGKpn.js +0 -1
  355. modoboa/frontend_dist/assets/importExport-C-adpHJX.js +0 -1
  356. modoboa/frontend_dist/assets/index-B1bntsLR.js +0 -995
  357. modoboa/frontend_dist/assets/languages-CxjoT69j.js +0 -1
  358. modoboa/frontend_dist/assets/transports-ChdHV5hX.js +0 -1
  359. modoboa/frontend_dist/assets/webmail-B7MNMkv_.js +0 -1
  360. modoboa/frontend_dist/assets/webmail.store-Cm-h6hhE.js +0 -1
  361. {modoboa-2.6.4.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
  362. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
  363. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
  364. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
@@ -15,23 +15,26 @@ msgid ""
15
15
  msgstr ""
16
16
  "Project-Id-Version: Modoboa\n"
17
17
  "Report-Msgid-Bugs-To: \n"
18
- "POT-Creation-Date: 2025-08-28 09:41+0200\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
- "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/language/pl_PL/)\n"
21
+ "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/"
22
+ "language/pl_PL/)\n"
22
23
  "Language: pl_PL\n"
23
24
  "MIME-Version: 1.0\n"
24
25
  "Content-Type: text/plain; charset=UTF-8\n"
25
26
  "Content-Transfer-Encoding: 8bit\n"
26
- "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
27
+ "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
28
+ "(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
29
+ "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
27
30
 
28
31
  #: admin/api/v1/serializers.py:39
29
32
  msgid ""
30
33
  "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
31
34
  "A value of 0 means no quota."
32
35
  msgstr ""
33
- "Miejsce dzielone między skrzynki. Może być wyrażone w KB, MB (domyślnie) lub"
34
- " GB. Wartość 0 oznacza brak limitu."
36
+ "Miejsce dzielone między skrzynki. Może być wyrażone w KB, MB (domyślnie) lub "
37
+ "GB. Wartość 0 oznacza brak limitu."
35
38
 
36
39
  #: admin/api/v1/serializers.py:46
37
40
  msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
@@ -53,14 +56,14 @@ msgid "Cannot be greater than domain quota"
53
56
  msgstr "Nie może być wyższa niż limit domeny"
54
57
 
55
58
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
56
- #: admin/api/v2/serializers.py:564 admin/models/alias.py:44
59
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
57
60
  msgid "Permission denied."
58
61
  msgstr "Odmowa dostępu"
59
62
 
60
63
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
61
- #: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
62
- #: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
63
- #: 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
64
67
  msgid "This field is required"
65
68
  msgstr "To pole jest obowiązkowe"
66
69
 
@@ -70,7 +73,7 @@ msgid ""
70
73
  msgstr ""
71
74
  "Lista administratorów domen (tylko resellerów i administratorów domen)."
72
75
 
73
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
76
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
74
77
  msgid "Not allowed for this role."
75
78
  msgstr "Niedozwolone dla tej roli."
76
79
 
@@ -78,13 +81,12 @@ msgstr "Niedozwolone dla tej roli."
78
81
  msgid "Must be equal to mailbox full_address"
79
82
  msgstr "Musi być równe z full_address skrzynki."
80
83
 
81
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
82
- #: calendars/serializers.py:175 calendars/serializers.py:177
83
- #: 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
84
86
  msgid "This field is required."
85
87
  msgstr "To pole jest wymagane"
86
88
 
87
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
89
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
88
90
  msgid "Local domain {} does not exist"
89
91
  msgstr "Lokalna domena {} nie istnieje"
90
92
 
@@ -92,7 +94,7 @@ msgstr "Lokalna domena {} nie istnieje"
92
94
  msgid "A list of recipient"
93
95
  msgstr "Lista odbiorców"
94
96
 
95
- #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
97
+ #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
96
98
  #, fuzzy
97
99
  #| msgid "User '%s' already exists"
98
100
  msgid "This alias already exists"
@@ -127,51 +129,51 @@ msgstr "Nie możesz przypisać nielimitowanej przestrzeni"
127
129
  msgid "User '%s' already exists"
128
130
  msgstr "Użytkownik '%s' już istnieje"
129
131
 
130
- #: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
132
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
131
133
  msgid "Must be a positive integer"
132
134
  msgstr "Musi być liczbą całkowitą dodatnią"
133
135
 
134
- #: admin/api/v2/serializers.py:265
136
+ #: admin/api/v2/serializers.py:271
135
137
  msgid "openssl not found, please make sure it is installed."
136
138
  msgstr "Brak openssl , upewnij się że jest zainstalowany."
137
139
 
138
- #: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
140
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
139
141
  msgid "Directory not found."
140
142
  msgstr "Katalog nie znaleziony."
141
143
 
142
- #: admin/api/v2/serializers.py:279
144
+ #: admin/api/v2/serializers.py:285
143
145
  msgid "This field only allows valid IP addresses (or networks)"
144
146
  msgstr ""
145
147
 
146
- #: admin/api/v2/serializers.py:292
148
+ #: admin/api/v2/serializers.py:298
147
149
  msgid "Please disable imap migration before disabling this option."
148
150
  msgstr ""
149
151
 
150
- #: admin/api/v2/serializers.py:305
152
+ #: admin/api/v2/serializers.py:311
151
153
  msgid "Define at least one authorized network / address"
152
154
  msgstr "Zdefiniuj przynajmniej jedną autoryzowaną sieć / adres"
153
155
 
154
- #: admin/api/v2/serializers.py:581
156
+ #: admin/api/v2/serializers.py:588
155
157
  msgid "The left part of an email address can't be more than 64 characters."
156
158
  msgstr ""
157
159
 
158
- #: admin/api/v2/serializers.py:603
160
+ #: admin/api/v2/serializers.py:610
159
161
  #, fuzzy
160
162
  #| msgid "A mailbox is required"
161
163
  msgid "A mailbox is required to create aliases."
162
164
  msgstr "Skrzynka jest obowiązkowa"
163
165
 
164
- #: admin/api/v2/serializers.py:772
166
+ #: admin/api/v2/serializers.py:783
165
167
  #, fuzzy
166
168
  #| msgid "Unknown"
167
169
  msgid "Unknown status"
168
170
  msgstr "Nieznany"
169
171
 
170
- #: admin/api/v2/viewsets.py:84
172
+ #: admin/api/v2/viewsets.py:95
171
173
  msgid "You don't have access to this domain"
172
174
  msgstr "Nie masz uprawnień dla tej domeny"
173
175
 
174
- #: admin/api/v2/viewsets.py:87
176
+ #: admin/api/v2/viewsets.py:98
175
177
  msgid "You can't delete your own domain"
176
178
  msgstr "Nie możesz usunąć swoje własnej domeny"
177
179
 
@@ -193,11 +195,11 @@ msgstr "Poprawne MXy"
193
195
 
194
196
  #: admin/app_settings.py:37
195
197
  msgid ""
196
- "A list of IP or network address every MX record should match. A warning will"
197
- " be sent if a record does not respect it."
198
+ "A list of IP or network address every MX record should match. A warning will "
199
+ "be sent if a record does not respect it."
198
200
  msgstr ""
199
- "Lista adresów IP lub sieci dla każdego pasującego rekordu MX. Monit zostanie"
200
- " wysłany w przypadku błędu."
201
+ "Lista adresów IP lub sieci dla każdego pasującego rekordu MX. Monit zostanie "
202
+ "wysłany w przypadku błędu."
201
203
 
202
204
  #: admin/app_settings.py:47
203
205
  msgid "New domains must use authorized MX(s)"
@@ -263,41 +265,51 @@ msgstr "Włącz sprawdzanie DNSBL"
263
265
  msgid "Check every domain against major DNSBL providers"
264
266
  msgstr "Sprawdź każdą domenę po kątem głównych providerów DNSBL"
265
267
 
266
- #: 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
267
279
  msgid "Custom DNS server"
268
280
  msgstr "Własny serwer DNS"
269
281
 
270
- #: admin/app_settings.py:118
282
+ #: admin/app_settings.py:130
271
283
  msgid "Use a custom DNS server instead of local server configuration"
272
284
  msgstr "Użyj własnego serwera DNS zamiast konfiguracji lokalnego serwera"
273
285
 
274
- #: admin/app_settings.py:126
286
+ #: admin/app_settings.py:138
275
287
  msgid "DKIM keys storage directory"
276
288
  msgstr "Katalog przechowywania kluczy DKIM"
277
289
 
278
- #: admin/app_settings.py:128
290
+ #: admin/app_settings.py:140
279
291
  msgid ""
280
292
  "Absolute path of the directory where DKIM private keys will be stored. Make "
281
293
  "sure this directory belongs to root user and is not readable by the outside "
282
294
  "world."
283
295
  msgstr ""
284
- "Ścieżka bezwzględna do katalogu w którym będą trzymane klucze prywatne DKIM."
285
- " Upewnij się że właścicielem katalogu jest \"użytkownik root\" i że katalog "
296
+ "Ścieżka bezwzględna do katalogu w którym będą trzymane klucze prywatne DKIM. "
297
+ "Upewnij się że właścicielem katalogu jest \"użytkownik root\" i że katalog "
286
298
  "nie jest publicznie dostępny do odczytu."
287
299
 
288
- #: admin/app_settings.py:137
300
+ #: admin/app_settings.py:149
289
301
  msgid "Default DKIM key length"
290
302
  msgstr "Domyślna długość klucza DKIM"
291
303
 
292
- #: admin/app_settings.py:139
304
+ #: admin/app_settings.py:151
293
305
  msgid "Default length in bits for newly generated DKIM keys."
294
306
  msgstr "Domyślna długość w bitach dla nowo wygenerowanych kluczy DKIM."
295
307
 
296
- #: admin/app_settings.py:146
308
+ #: admin/app_settings.py:158
297
309
  msgid "Default domain quota"
298
310
  msgstr "Domyślne ograniczenie dla domeny"
299
311
 
300
- #: admin/app_settings.py:148
312
+ #: admin/app_settings.py:160
301
313
  msgid ""
302
314
  "Default quota (in MB) applied to freshly created domains with no value "
303
315
  "specified. A value of 0 means no quota."
@@ -305,44 +317,44 @@ msgstr ""
305
317
  "Domyślne ograniczenie (w MB) dla nowych domen, gdy nie zostało podane. (0 - "
306
318
  "brak ograniczenia)"
307
319
 
308
- #: admin/app_settings.py:156
320
+ #: admin/app_settings.py:168
309
321
  msgid "Default domain sending limit"
310
322
  msgstr "Domyślny limit wysyłania dla domey"
311
323
 
312
- #: admin/app_settings.py:158
324
+ #: admin/app_settings.py:170
313
325
  msgid ""
314
326
  "Number of messages freshly created domains will be allowed to send per day. "
315
327
  "Leave empty for no limit."
316
328
  msgstr ""
317
- "Liczba wiadomości, które świeżo utworzone domeny będą mogły wysłać dziennie."
318
- " Pozostaw puste dla braku limitu."
329
+ "Liczba wiadomości, które świeżo utworzone domeny będą mogły wysłać dziennie. "
330
+ "Pozostaw puste dla braku limitu."
319
331
 
320
- #: admin/app_settings.py:170 limits/app_settings.py:61
332
+ #: admin/app_settings.py:182 limits/app_settings.py:61
321
333
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
322
334
  msgid "Mailboxes"
323
335
  msgstr "Skrzynki pocztowe"
324
336
 
325
- #: admin/app_settings.py:176
337
+ #: admin/app_settings.py:188
326
338
  msgid "Handle mailboxes on filesystem"
327
339
  msgstr "Przechowuj skrzynka na filesystemie"
328
340
 
329
- #: admin/app_settings.py:178
341
+ #: admin/app_settings.py:190
330
342
  msgid ""
331
343
  "Rename or remove mailboxes on the filesystem when they get renamed or "
332
344
  "removed within Modoboa"
333
345
  msgstr ""
334
- "Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub"
335
- " usuniętę przez Modoboa"
346
+ "Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub "
347
+ "usuniętę przez Modoboa"
336
348
 
337
- #: admin/app_settings.py:186 admin/models/domain.py:36
349
+ #: admin/app_settings.py:198 admin/models/domain.py:36
338
350
  msgid "Default mailbox quota"
339
351
  msgstr "Domyślna przestrzeń dla konta pocztowego"
340
352
 
341
- #: admin/app_settings.py:188
353
+ #: admin/app_settings.py:200
342
354
  #, fuzzy
343
355
  #| msgid ""
344
- #| "Default mailbox quota (in MB) applied to freshly created mailboxes with no "
345
- #| "value specified. A value of 0 means no quota."
356
+ #| "Default mailbox quota (in MB) applied to freshly created mailboxes with "
357
+ #| "no value specified. A value of 0 means no quota."
346
358
  msgid ""
347
359
  "Default mailbox quota (in MB) applied to freshly created domains with no "
348
360
  "value specified. A value of 0 means no quota."
@@ -350,11 +362,11 @@ msgstr ""
350
362
  "Domyślny limit skrzynki (w MB) stosowany dla świeżo utworzonych skrzynek, "
351
363
  "dla których nie podano wartości. Wartość 0 oznacza brak limitu."
352
364
 
353
- #: admin/app_settings.py:197
365
+ #: admin/app_settings.py:209
354
366
  msgid "Default mailbox sending limit"
355
367
  msgstr "Domyślny limit wysyłania skrzynki"
356
368
 
357
- #: admin/app_settings.py:199
369
+ #: admin/app_settings.py:211
358
370
  msgid ""
359
371
  "Number of messages freshly created mailboxes will be allowed to send per "
360
372
  "day. Leave empty for no limit."
@@ -362,32 +374,61 @@ msgstr ""
362
374
  "Liczba wiadomości, które będą mogły wysyłać świeżo utworzone skrzynki na "
363
375
  "dzień. Pozostaw puste dla braku limitu."
364
376
 
365
- #: admin/app_settings.py:207
377
+ #: admin/app_settings.py:219
366
378
  msgid "Automatic account removal"
367
379
  msgstr "Automatyczne usuwanie konta"
368
380
 
369
- #: admin/app_settings.py:209
381
+ #: admin/app_settings.py:221
370
382
  msgid "When a mailbox is removed, also remove the associated account"
371
383
  msgstr "Gdy usuwana jest skrzynka usuń powizane z nią konto"
372
384
 
373
- #: admin/app_settings.py:218
385
+ #: admin/app_settings.py:230
374
386
  msgid "Automatic domain/mailbox creation"
375
387
  msgstr "Automatyczne tworzenie domeny/skrzynki"
376
388
 
377
- #: admin/app_settings.py:221
378
- msgid ""
379
- "Create a domain and a mailbox when an account is automatically created."
389
+ #: admin/app_settings.py:233
390
+ msgid "Create a domain and a mailbox when an account is automatically created."
380
391
  msgstr "Utwórz domenę i skrzynkę gdy tworzone jest konto"
381
392
 
382
- #: admin/app_settings.py:230
393
+ #: admin/app_settings.py:242
383
394
  msgid "Create an alias when a mailbox is renamed"
384
395
  msgstr "Utwórz alias podczas zmiany nazwy skrzynki"
385
396
 
386
- #: admin/app_settings.py:233
397
+ #: admin/app_settings.py:245
387
398
  msgid "Create an alias using the old address when a mailbox is renamed."
388
399
  msgstr "Utwórz alias używając starego adresu podczas zmiany nazwy skrzynki."
389
400
 
390
- #: admin/app_settings.py:287 core/api/v2/viewsets.py:174
401
+ #: admin/app_settings.py:257
402
+ #, fuzzy
403
+ #| msgid "alias"
404
+ msgid "Aliases"
405
+ msgstr "alias"
406
+
407
+ #: admin/app_settings.py:263
408
+ msgid "Alias can target any domain"
409
+ msgstr ""
410
+
411
+ #: admin/app_settings.py:265
412
+ msgid "Allow aliases to target any domain, not just the local domains."
413
+ msgstr ""
414
+
415
+ #: admin/app_settings.py:272
416
+ msgid "Alias target block list"
417
+ msgstr ""
418
+
419
+ #: admin/app_settings.py:274
420
+ msgid "A list of domains that aliases cannot target (comma separated)."
421
+ msgstr ""
422
+
423
+ #: admin/app_settings.py:282
424
+ msgid "Alias target allow list"
425
+ msgstr ""
426
+
427
+ #: admin/app_settings.py:284
428
+ msgid "A list of domains that aliases can target (comma separated)."
429
+ msgstr ""
430
+
431
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
391
432
  msgid "Administration"
392
433
  msgstr "Administracja"
393
434
 
@@ -407,6 +448,35 @@ msgstr "Otwarty"
407
448
  msgid "Closed"
408
449
  msgstr "Zamknięty"
409
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
+
410
480
  #: admin/handlers.py:179
411
481
  msgid "domain alias"
412
482
  msgstr "alias domeny"
@@ -416,60 +486,56 @@ msgstr "alias domeny"
416
486
  msgid "Account import failed (%s): domain does not exist"
417
487
  msgstr "Błąd importu (%s): domena nie istnieje"
418
488
 
419
- #: admin/handlers.py:242 admin/models/mailbox.py:342
420
- msgid "Mailbox {} already exists"
421
- msgstr "Skrzynka {} już istnieje"
422
-
423
- #: admin/handlers.py:251
489
+ #: admin/handlers.py:246
424
490
  #, python-format
425
491
  msgid "Account import failed (%s): wrong quota value"
426
492
  msgstr "Błąd importu (%s): błędna wartość limitu"
427
493
 
428
- #: admin/lib.py:121
494
+ #: admin/lib.py:126
429
495
  msgid "You are not allowed to import domains"
430
496
  msgstr "Nie masz uprawnień do importowania domen"
431
497
 
432
- #: admin/lib.py:130
498
+ #: admin/lib.py:135
433
499
  msgid "You are not allowed to import domain aliases."
434
500
  msgstr "Nie masz uprawnień do importowania aliasów."
435
501
 
436
- #: admin/lib.py:222 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
437
- #: 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
438
504
  #, python-format
439
505
  msgid "No DNS record found for %s"
440
506
  msgstr "Nie znaleziono rekordu DNS dla %s"
441
507
 
442
- #: admin/lib.py:225
508
+ #: admin/lib.py:230
443
509
  #, python-format
444
510
  msgid "No %(type)s record for %(name)s"
445
511
  msgstr "Brak %(type)s zapisów dla %(name)s"
446
512
 
447
- #: admin/lib.py:229 admin/tests/test_mx.py:156
513
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
448
514
  msgid "No working name servers found"
449
515
  msgstr "Znaleziono nie działające serwery nazw"
450
516
 
451
- #: admin/lib.py:232 admin/tests/test_mx.py:160
517
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
452
518
  #, python-format
453
519
  msgid "DNS resolution timeout, unable to query %s at the moment"
454
520
  msgstr ""
455
- "Upłynąć czas na rozwiązanie nazwy w DNS, w tym momencie nie potrafię odpytać"
456
- " %s"
521
+ "Upłynąć czas na rozwiązanie nazwy w DNS, w tym momencie nie potrafię odpytać "
522
+ "%s"
457
523
 
458
- #: admin/lib.py:236
524
+ #: admin/lib.py:241
459
525
  msgid "DNS name is too long: {}"
460
526
  msgstr ""
461
527
 
462
- #: admin/lib.py:267
528
+ #: admin/lib.py:272
463
529
  #, python-brace-format
464
530
  msgid "Invalid IP address format for {domain}; {addr}"
465
531
  msgstr "Nieprawidłowy format adresu IP dla {domain}; {addr}"
466
532
 
467
- #: admin/lib.py:360
533
+ #: admin/lib.py:365
468
534
  #, python-format
469
535
  msgid "Object already exists: %s"
470
536
  msgstr "Obiekt %s już istnieje"
471
537
 
472
- #: admin/lib.py:364
538
+ #: admin/lib.py:369
473
539
  #, python-format
474
540
  msgid "%d objects imported successfully"
475
541
  msgstr "Zaimportowano %d obiektów z sukcesem"
@@ -504,77 +570,54 @@ msgstr ""
504
570
  msgid "Failed to generate DKIM public key"
505
571
  msgstr "Włącz komunikację z publicznym API Modoboa"
506
572
 
507
- #: admin/management/commands/subcommands/_mx.py:133
508
- msgid "MX {} listed by DNSBL provider {}"
509
- msgstr "MX {} wymienione przez dostawcę DNSBL {}"
510
-
511
- #: admin/management/commands/subcommands/_mx.py:174
512
- msgid "Domain has no MX record"
513
- msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
514
-
515
- #: admin/management/commands/subcommands/_mx.py:177
516
- msgid "Domain {} has no MX record"
517
- msgstr "Domena {} nie ma zdefiniowanego rekordu MX"
518
-
519
- #: admin/management/commands/subcommands/_mx.py:195
520
- msgid "Invalid MX record: {}"
521
- msgstr "Nieprawidłowy rekord MX: {}"
522
-
523
- #: admin/management/commands/subcommands/_mx.py:202
524
- #, python-brace-format
525
- msgid "MX record for domain {0} is invalid: {1}"
526
- msgstr "Rekord MX dla domeny {0} jest niepoprawny: {1}"
527
-
528
- #: admin/management/commands/subcommands/_mx.py:213
529
- msgid "[modoboa] MX issue(s) for domain {}"
530
- msgstr "[modoboa] Wykryto problem(y) z MX dla domeny {}"
531
-
532
- #: admin/management/commands/subcommands/_mx.py:269
533
- msgid "[modoboa] DNSBL issue(s) for domain {}"
534
- msgstr "[modoboa] DNSBL problem(y) dla domeny {}"
535
-
536
- #: admin/models/alias.py:42
573
+ #: admin/models/alias.py:43
537
574
  msgid "Domain not found."
538
575
  msgstr "Domena nie znaleziona."
539
576
 
540
- #: admin/models/alias.py:97 admin/models/mailbox.py:85
577
+ #: admin/models/alias.py:117 admin/models/mailbox.py:85
541
578
  msgid "address"
542
579
  msgstr "adres"
543
580
 
544
- #: admin/models/alias.py:99
581
+ #: admin/models/alias.py:119
545
582
  msgid "The alias address."
546
583
  msgstr "Adres aliasu."
547
584
 
548
- #: admin/models/alias.py:103 admin/models/domain.py:45
585
+ #: admin/models/alias.py:123 admin/models/domain.py:45
549
586
  #: admin/models/domain_alias.py:45 autoreply/models.py:25
550
587
  msgid "enabled"
551
588
  msgstr "włączone"
552
589
 
553
- #: admin/models/alias.py:104 admin/models/domain_alias.py:46
590
+ #: admin/models/alias.py:124 admin/models/domain_alias.py:46
554
591
  msgid "Check to activate this alias"
555
592
  msgstr "Zaznacz aby aktywować ten alias"
556
593
 
557
- #: admin/models/alias.py:108
594
+ #: admin/models/alias.py:128
558
595
  msgid "Description"
559
596
  msgstr "Opis"
560
597
 
561
- #: admin/models/alias.py:109
598
+ #: admin/models/alias.py:129
562
599
  msgid "Expire at"
563
600
  msgstr "Wygasa"
564
601
 
565
- #: admin/models/alias.py:150
602
+ #: admin/models/alias.py:170
566
603
  msgid "alias"
567
604
  msgstr "alias"
568
605
 
569
- #: admin/models/alias.py:183
606
+ #: admin/models/alias.py:203
570
607
  msgid "Invalid address"
571
608
  msgstr "Niepoprawny adres"
572
609
 
573
- #: admin/models/alias.py:202
610
+ #: admin/models/alias.py:206
611
+ #, fuzzy
612
+ #| msgid "The domain name"
613
+ msgid "Target domain not allowed"
614
+ msgstr "Nazwa domeny"
615
+
616
+ #: admin/models/alias.py:224
574
617
  msgid "Local recipient {}@{} not found"
575
618
  msgstr "Lokalny odbiorca {}@{} nie został odnaleziony"
576
619
 
577
- #: admin/models/alias.py:251
620
+ #: admin/models/alias.py:273
578
621
  #, fuzzy
579
622
  #| msgid "Invalid line: %s"
580
623
  msgid "Invalid line: {}"
@@ -616,8 +659,8 @@ msgstr "Włącz podpisywanie DKIM"
616
659
  msgid ""
617
660
  "If you activate this feature, a DKIM key will be generated for this domain."
618
661
  msgstr ""
619
- "Jeśli włączysz tą funkcjonalność, dla tej domeny zostanie wygenerowany klucz"
620
- " DKIM"
662
+ "Jeśli włączysz tą funkcjonalność, dla tej domeny zostanie wygenerowany klucz "
663
+ "DKIM"
621
664
 
622
665
  #: admin/models/domain.py:70
623
666
  msgid "Key length"
@@ -697,6 +740,10 @@ msgstr "Przekroczono limit przydziału"
697
740
  msgid "Domain does not exist"
698
741
  msgstr "Domena nie istnieje"
699
742
 
743
+ #: admin/models/mailbox.py:342
744
+ msgid "Mailbox {} already exists"
745
+ msgstr "Skrzynka {} już istnieje"
746
+
700
747
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:3
701
748
  #, python-format
702
749
  msgid ""
@@ -722,22 +769,399 @@ msgstr ""
722
769
  "Modoboa sygnalizuje że ta domena %(domain)s nie posiada poprawnego rekordu "
723
770
  "MX:"
724
771
 
725
- #: admin/tests/test_mx.py:155
772
+ #: admin/tests/test_mx.py:141
726
773
  #, python-format
727
774
  msgid "No MX record for %s"
728
775
  msgstr "Brak wpisów MX dla %s"
729
776
 
730
- #: 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
731
778
  #, python-format
732
779
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
733
780
  msgstr "Nieprawidłowy format adresu IP dla %(domain)s; %(addr)s"
734
781
 
735
- #: admin/tests/test_mx.py:199
782
+ #: admin/tests/test_mx.py:185
736
783
  #, fuzzy, python-format
737
784
  #| msgid "No MX record for %s"
738
785
  msgid "No AAAA record for %s"
739
786
  msgstr "Brak wpisów MX dla %s"
740
787
 
788
+ #: amavis/app_settings.py:11
789
+ #, fuzzy
790
+ #| msgid "LDAP settings"
791
+ msgid "Amavis settings"
792
+ msgstr "Ustawienia IMAP"
793
+
794
+ #: amavis/app_settings.py:17
795
+ msgid "Localpart is case sensitive"
796
+ msgstr ""
797
+
798
+ #: amavis/app_settings.py:19
799
+ msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
800
+ msgstr ""
801
+
802
+ #: amavis/app_settings.py:27
803
+ #, fuzzy
804
+ #| msgid "Recipient"
805
+ msgid "Recipient delimiter"
806
+ msgstr "Odbioraca"
807
+
808
+ #: amavis/app_settings.py:29
809
+ msgid "Value should match amavisd.conf variable $recipient_delimiter"
810
+ msgstr ""
811
+
812
+ #: amavis/app_settings.py:41
813
+ #, fuzzy
814
+ #| msgid "Quantity"
815
+ msgid "Quarantine settings"
816
+ msgstr "Kwarantanna"
817
+
818
+ #: amavis/app_settings.py:47
819
+ #, fuzzy
820
+ #| msgid "Maximum log record age"
821
+ msgid "Maximum message age"
822
+ msgstr "Max wiek wpisu w logu"
823
+
824
+ #: amavis/app_settings.py:49
825
+ msgid "Quarantine messages maximum age (in days) before deletion"
826
+ msgstr ""
827
+
828
+ #: amavis/app_settings.py:60
829
+ #, fuzzy
830
+ #| msgid "Message sending limit"
831
+ msgid "Message releasing"
832
+ msgstr "Limit wysyłania wiadomości"
833
+
834
+ #: amavis/app_settings.py:66
835
+ #, fuzzy
836
+ #| msgid "Show greylisted messages"
837
+ msgid "Remove released messages"
838
+ msgstr "Pokaż greylistowane wiadomości"
839
+
840
+ #: amavis/app_settings.py:68
841
+ msgid "Remove messages marked as released while cleaning up the database"
842
+ msgstr ""
843
+
844
+ #: amavis/app_settings.py:76
845
+ #, fuzzy
846
+ #| msgid "Use a secured connection"
847
+ msgid "Amavis connection mode"
848
+ msgstr "Użyj bezpiecznego polączenia"
849
+
850
+ #: amavis/app_settings.py:78
851
+ #, fuzzy
852
+ #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
853
+ msgid "Mode used to access the PDP server"
854
+ msgstr "Użyj SSL/STARTTLS dla połączenia z serwerem LDAP"
855
+
856
+ #: amavis/app_settings.py:85
857
+ #, fuzzy
858
+ #| msgid "SMTP server address"
859
+ msgid "PDP server address"
860
+ msgstr "Adres serwera SMTP"
861
+
862
+ #: amavis/app_settings.py:87
863
+ #, fuzzy
864
+ #| msgid "SMTP server address"
865
+ msgid "PDP server address (if inet mode)"
866
+ msgstr "Adres serwera SMTP"
867
+
868
+ #: amavis/app_settings.py:95
869
+ #, fuzzy
870
+ #| msgid "SMTP server port"
871
+ msgid "PDP server port"
872
+ msgstr "Port serwera SMTP"
873
+
874
+ #: amavis/app_settings.py:97
875
+ msgid "PDP server port (if inet mode)"
876
+ msgstr ""
877
+
878
+ #: amavis/app_settings.py:105
879
+ #, fuzzy
880
+ #| msgid "SMTP server port"
881
+ msgid "PDP server socket"
882
+ msgstr "Port serwera SMTP"
883
+
884
+ #: amavis/app_settings.py:107
885
+ msgid "Path to the PDP server socket (if unix mode)"
886
+ msgstr ""
887
+
888
+ #: amavis/app_settings.py:115
889
+ msgid "Allow direct release"
890
+ msgstr ""
891
+
892
+ #: amavis/app_settings.py:117
893
+ msgid "Allow users to directly release their messages"
894
+ msgstr ""
895
+
896
+ #: amavis/app_settings.py:124
897
+ msgid "Enable self-service mode"
898
+ msgstr ""
899
+
900
+ #: amavis/app_settings.py:126
901
+ msgid "Activate the 'self-service' mode"
902
+ msgstr ""
903
+
904
+ #: amavis/app_settings.py:133
905
+ #, fuzzy
906
+ #| msgid "Notifications"
907
+ msgid "Notifications sender"
908
+ msgstr "Powiadomienia"
909
+
910
+ #: amavis/app_settings.py:135
911
+ #, fuzzy
912
+ #| msgid "Email address used to send notifications."
913
+ msgid "The e-mail address used to send notitications"
914
+ msgstr "Adres e-mail używany do wysyłania powiadomień"
915
+
916
+ #: amavis/app_settings.py:146
917
+ msgid "Manual learning"
918
+ msgstr ""
919
+
920
+ #: amavis/app_settings.py:152
921
+ msgid "Enable manual learning"
922
+ msgstr ""
923
+
924
+ #: amavis/app_settings.py:154
925
+ #, fuzzy
926
+ #| msgid "Allow this administrator to access user mailboxes"
927
+ msgid "Allow super administrators to manually train Spamassassin"
928
+ msgstr "Zezwól temu administratorowi na dostęp do skrzynek użytkowników"
929
+
930
+ #: amavis/app_settings.py:161
931
+ msgid "Is Spamassassin local?"
932
+ msgstr ""
933
+
934
+ #: amavis/app_settings.py:163
935
+ msgid "Tell if Spamassassin is running on the same server than modoboa"
936
+ msgstr ""
937
+
938
+ #: amavis/app_settings.py:171
939
+ #, fuzzy
940
+ #| msgid "Default top redirection"
941
+ msgid "Default user"
942
+ msgstr "Domyślne górne przekierowanie"
943
+
944
+ #: amavis/app_settings.py:173
945
+ msgid "Name of the user owning the default bayesian database"
946
+ msgstr ""
947
+
948
+ #: amavis/app_settings.py:181
949
+ #, fuzzy
950
+ #| msgid "Sender address"
951
+ msgid "Spamd address"
952
+ msgstr "Adres nadawcy"
953
+
954
+ #: amavis/app_settings.py:183
955
+ msgid "The IP address where spamd can be reached"
956
+ msgstr ""
957
+
958
+ #: amavis/app_settings.py:191
959
+ msgid "Spamd port"
960
+ msgstr ""
961
+
962
+ #: amavis/app_settings.py:193
963
+ msgid "The TCP port spamd is listening on"
964
+ msgstr ""
965
+
966
+ #: amavis/app_settings.py:202
967
+ #, fuzzy
968
+ #| msgid "Enable per-domain limits"
969
+ msgid "Enable per-domain manual learning"
970
+ msgstr "Włącz limity na domenę"
971
+
972
+ #: amavis/app_settings.py:205
973
+ #, fuzzy
974
+ #| msgid "Allow this administrator to access user mailboxes"
975
+ msgid ""
976
+ "Allow domain administrators to train Spamassassin (within dedicated per-"
977
+ "domain databases)"
978
+ msgstr "Zezwól temu administratorowi na dostęp do skrzynek użytkowników"
979
+
980
+ #: amavis/app_settings.py:215
981
+ #, fuzzy
982
+ #| msgid "Enable per-domain limits"
983
+ msgid "Enable per-user manual learning"
984
+ msgstr "Włącz limity na domenę"
985
+
986
+ #: amavis/app_settings.py:218
987
+ msgid ""
988
+ "Allow simple users to personally train Spamassassin (within a dedicated "
989
+ "database)"
990
+ msgstr ""
991
+
992
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
993
+ msgid "Display"
994
+ msgstr "Wyświetl"
995
+
996
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
997
+ #, fuzzy
998
+ #| msgid "Number of displayed items per page"
999
+ msgid "Number of displayed emails per page"
1000
+ msgstr "Liczba wyświetlanych wiadomości na stronie"
1001
+
1002
+ #: amavis/app_settings.py:246
1003
+ msgid "Set the maximum number of messages displayed in a page"
1004
+ msgstr ""
1005
+
1006
+ #: amavis/app_settings.py:266 amavis/app_settings.py:273
1007
+ msgid "Amavis"
1008
+ msgstr ""
1009
+
1010
+ #: amavis/checks/settings_checks.py:8
1011
+ msgid ""
1012
+ "AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
1013
+ "by the Amavis database."
1014
+ msgstr ""
1015
+
1016
+ #: amavis/checks/settings_checks.py:12
1017
+ msgid ""
1018
+ "Check your database character encoding and set/update "
1019
+ "AMAVIS_DEFAULT_DATABASE_ENCODING."
1020
+ msgstr ""
1021
+
1022
+ #: amavis/checks/settings_checks.py:19
1023
+ msgid "Modoboa Amavis has not been tested using the selected database engine."
1024
+ msgstr ""
1025
+
1026
+ #: amavis/checks/settings_checks.py:20
1027
+ msgid "Try using PostgreSQL, MySQL or MariaDB."
1028
+ msgstr ""
1029
+
1030
+ #: amavis/handlers.py:141
1031
+ msgid "Pending requests"
1032
+ msgstr ""
1033
+
1034
+ #: amavis/lib.py:59
1035
+ #, fuzzy, python-format
1036
+ msgid "Connection to amavis failed: %s"
1037
+ msgstr "Błąd połączenia do serwera IMAP: %s"
1038
+
1039
+ #: amavis/lib.py:133
1040
+ #, fuzzy
1041
+ #| msgid "Failed to locate rrdtool binary."
1042
+ msgid "Failed to find {} binary"
1043
+ msgstr "Nie znaleziono binarki rrdtool."
1044
+
1045
+ #: amavis/lib.py:148
1046
+ #, fuzzy
1047
+ #| msgid "Local recipient {}@{} not found"
1048
+ msgid "No recipient found"
1049
+ msgstr "Lokalny odbiorca {}@{} nie został odnaleziony"
1050
+
1051
+ #: amavis/lib.py:159
1052
+ #, fuzzy
1053
+ #| msgid "Domain not found."
1054
+ msgid "Local domain not found"
1055
+ msgstr "Domena nie znaleziona."
1056
+
1057
+ #: amavis/management/commands/amnotify.py:59
1058
+ #, fuzzy
1059
+ #| msgid "%s: limit reached"
1060
+ msgid "[modoboa] Pending release requests"
1061
+ msgstr "Osiągnięto limit: %s"
1062
+
1063
+ #: amavis/models.py:101
1064
+ #, fuzzy
1065
+ #| msgid "Search filter"
1066
+ msgid "Virus filter"
1067
+ msgstr "Filtr wyszukiwania"
1068
+
1069
+ #: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
1070
+ msgid "yes"
1071
+ msgstr ""
1072
+
1073
+ #: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
1074
+ msgid "no"
1075
+ msgstr ""
1076
+
1077
+ #: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
1078
+ msgid "default"
1079
+ msgstr ""
1080
+
1081
+ #: amavis/models.py:111
1082
+ msgid "Bypass virus checks or not. Choose 'default' to use global settings."
1083
+ msgstr ""
1084
+
1085
+ #: amavis/models.py:115
1086
+ #, fuzzy
1087
+ #| msgid "Search filter"
1088
+ msgid "Spam filter"
1089
+ msgstr "Filtr wyszukiwania"
1090
+
1091
+ #: amavis/models.py:125
1092
+ msgid "Bypass spam checks or not. Choose 'default' to use global settings."
1093
+ msgstr ""
1094
+
1095
+ #: amavis/models.py:129
1096
+ #, fuzzy
1097
+ #| msgid "Search filter"
1098
+ msgid "Banned filter"
1099
+ msgstr "Filtr wyszukiwania"
1100
+
1101
+ #: amavis/models.py:139
1102
+ msgid "Bypass banned checks or not. Choose 'default' to use global settings."
1103
+ msgstr ""
1104
+
1105
+ #: amavis/models.py:170
1106
+ msgid "Spam marker"
1107
+ msgstr ""
1108
+
1109
+ #: amavis/models.py:176
1110
+ msgid ""
1111
+ "Modify spam subject using the specified text. Choose 'default' to use global "
1112
+ "settings."
1113
+ msgstr ""
1114
+
1115
+ #: amavis/templates/amavis/notifications/pending_requests.html:3
1116
+ #, python-format
1117
+ msgid "%(counter)s release request is pending for action."
1118
+ msgid_plural "%(counter)s release requests are pending for action."
1119
+ msgstr[0] ""
1120
+ msgstr[1] ""
1121
+ msgstr[2] ""
1122
+ msgstr[3] ""
1123
+
1124
+ #: amavis/templates/amavis/notifications/pending_requests.html:8
1125
+ msgid "Sketch:"
1126
+ msgstr ""
1127
+
1128
+ #: amavis/templates/amavis/notifications/pending_requests.html:10
1129
+ msgid "From:"
1130
+ msgstr ""
1131
+
1132
+ #: amavis/templates/amavis/notifications/pending_requests.html:11
1133
+ msgid "To:"
1134
+ msgstr ""
1135
+
1136
+ #: amavis/templates/amavis/notifications/pending_requests.html:12
1137
+ #, fuzzy
1138
+ #| msgid "Date"
1139
+ msgid "Date:"
1140
+ msgstr "Data"
1141
+
1142
+ #: amavis/templates/amavis/notifications/pending_requests.html:13
1143
+ #, fuzzy
1144
+ #| msgid "Subject"
1145
+ msgid "Subject:"
1146
+ msgstr "Temat"
1147
+
1148
+ #: amavis/templates/amavis/notifications/pending_requests.html:14
1149
+ #, fuzzy
1150
+ #| msgid "sent messages"
1151
+ msgid "Act on this message:"
1152
+ msgstr "Wysłane wiadomości"
1153
+
1154
+ #: amavis/templates/amavis/notifications/pending_requests.html:16
1155
+ #, python-format
1156
+ msgid "Please visit %(listingurl)s for a full listing."
1157
+ msgstr ""
1158
+
1159
+ #: amavis/viewsets.py:122
1160
+ #, fuzzy
1161
+ #| msgid "Invalid address"
1162
+ msgid "Invalid request"
1163
+ msgstr "Niepoprawny adres"
1164
+
741
1165
  #: autoreply/api/v2/serializers.py:27
742
1166
  msgid "Value can't be less than 1 day"
743
1167
  msgstr ""
@@ -762,16 +1186,14 @@ msgstr "Ogólne"
762
1186
 
763
1187
  #: autoreply/app_settings.py:18
764
1188
  #, fuzzy
765
- #| msgid ""
766
- #| "Timeout in seconds between two auto-replies to the same recipient"
1189
+ #| msgid "Timeout in seconds between two auto-replies to the same recipient"
767
1190
  msgid "Period between two auto-replies"
768
1191
  msgstr ""
769
1192
  "Limit w sek. pomiędzie dwiema auto-odpowiedziami dla tego samego odbiorcy"
770
1193
 
771
1194
  #: autoreply/app_settings.py:20
772
1195
  #, fuzzy
773
- #| msgid ""
774
- #| "Timeout in seconds between two auto-replies to the same recipient"
1196
+ #| msgid "Timeout in seconds between two auto-replies to the same recipient"
775
1197
  msgid ""
776
1198
  "Number of days to wait before sending a new auto-reply to the same recipient"
777
1199
  msgstr ""
@@ -864,7 +1286,7 @@ msgstr "Administrator domeny"
864
1286
  msgid "Allow domain administrators to manage user calendars (read and write)"
865
1287
  msgstr "Zezwól temu administratorowi na dostęp do skrzynek użytkowników"
866
1288
 
867
- #: calendars/app_settings.py:60 core/app_settings.py:676
1289
+ #: calendars/app_settings.py:60 core/app_settings.py:664
868
1290
  #: rspamd/app_settings.py:45
869
1291
  msgid "Miscellaneous"
870
1292
  msgstr "Różne"
@@ -878,15 +1300,15 @@ msgid ""
878
1300
  "Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
879
1301
  msgstr ""
880
1302
 
881
- #: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
1303
+ #: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
882
1304
  msgid "Calendars"
883
1305
  msgstr ""
884
1306
 
885
- #: 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
886
1308
  msgid "Server location is not set, please fix it."
887
1309
  msgstr "Lokalizacja serwera nie jest ustawiona, należy to poprawić."
888
1310
 
889
- #: calendars/viewsets.py:197
1311
+ #: calendars/viewsets.py:199
890
1312
  msgid "Uploaded file is too big (max: {} bytes)"
891
1313
  msgstr ""
892
1314
 
@@ -918,7 +1340,7 @@ msgstr "Częstotliwość synchronizacji"
918
1340
  msgid "Interval in seconds between 2 synchronization requests"
919
1341
  msgstr "Odstęp pomiędzy synchronizacjami, w sekundach"
920
1342
 
921
- #: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
1343
+ #: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
922
1344
  #, fuzzy
923
1345
  #| msgid "Domains"
924
1346
  msgid "Contacts"
@@ -970,12 +1392,12 @@ msgstr "Nieprawidłowy kod PIN"
970
1392
  msgid "2FA is already enabled"
971
1393
  msgstr "2FA jest już włączone"
972
1394
 
973
- #: core/api/v1/serializers.py:86
1395
+ #: core/api/v1/serializers.py:87
974
1396
  #, python-format
975
1397
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
976
1398
  msgstr ""
977
1399
 
978
- #: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
1400
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
979
1401
  #, fuzzy
980
1402
  #| msgid "Old password"
981
1403
  msgid "Invalid password"
@@ -989,25 +1411,20 @@ msgstr "2FA nie jest włączone"
989
1411
  msgid "Local"
990
1412
  msgstr "Lokalnie"
991
1413
 
992
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
993
- msgid "User profile"
994
- msgstr "Profil użytkownika"
995
-
996
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
997
- #: 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
998
1416
  msgid "Invalid syntax"
999
1417
  msgstr "Nieprawidłowa składnia"
1000
1418
 
1001
- #: core/api/v2/serializers.py:233
1419
+ #: core/api/v2/serializers.py:226
1002
1420
  msgid "Invalid rounds number"
1003
1421
  msgstr "Nieprawidłowa liczba rund"
1004
1422
 
1005
- #: core/api/v2/serializers.py:433 core/forms.py:81
1423
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1006
1424
  msgid "This code is invalid"
1007
1425
  msgstr "Ten kod jest nieprawidłowy"
1008
1426
 
1009
- #: core/api/v2/serializers.py:503 core/views/auth.py:194
1010
- #: core/views/auth.py:247
1427
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1011
1428
  msgid "Please use the following code to recover your Modoboa password: {}"
1012
1429
  msgstr "Proszę użyć następującego kodu, aby odzyskać hasło Modoboa: {}"
1013
1430
 
@@ -1017,48 +1434,60 @@ msgstr "Proszę użyć następującego kodu, aby odzyskać hasło Modoboa: {}"
1017
1434
  msgid "Administration console"
1018
1435
  msgstr "Administracja"
1019
1436
 
1020
- #: core/api/v2/viewsets.py:187
1437
+ #: core/api/v2/viewsets.py:184 dmarc/models.py:11
1438
+ #, fuzzy
1439
+ #| msgid "Quantity"
1440
+ msgid "Quarantine"
1441
+ msgstr "Kwarantanna"
1442
+
1443
+ #: core/api/v2/viewsets.py:186
1444
+ #, fuzzy
1445
+ #| msgid "Quantity"
1446
+ msgid "Amavis quarantine"
1447
+ msgstr "Kwarantanna"
1448
+
1449
+ #: core/api/v2/viewsets.py:197
1021
1450
  #, fuzzy
1022
1451
  #| msgid "Address"
1023
1452
  msgid "Address book"
1024
1453
  msgstr "Książka adresowa"
1025
1454
 
1026
- #: core/api/v2/viewsets.py:197
1455
+ #: core/api/v2/viewsets.py:207
1027
1456
  msgid "Calendar"
1028
1457
  msgstr ""
1029
1458
 
1030
- #: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
1031
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1459
+ #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1460
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1032
1461
  #, fuzzy
1033
1462
  #| msgid "E-mail"
1034
1463
  msgid "Webmail"
1035
1464
  msgstr "E-mail"
1036
1465
 
1037
- #: core/app_settings.py:37
1466
+ #: core/app_settings.py:25
1038
1467
  msgid "Authentication"
1039
1468
  msgstr "Uwierzytelnianie"
1040
1469
 
1041
- #: core/app_settings.py:43
1470
+ #: core/app_settings.py:31
1042
1471
  msgid "Authentication type"
1043
1472
  msgstr "Typ uwierzytelniania"
1044
1473
 
1045
- #: core/app_settings.py:45
1474
+ #: core/app_settings.py:33
1046
1475
  msgid "The backend used for authentication"
1047
1476
  msgstr "Backend używany do uwierzytelniania"
1048
1477
 
1049
- #: core/app_settings.py:52
1478
+ #: core/app_settings.py:40
1050
1479
  msgid "Default password scheme"
1051
1480
  msgstr "Domyślny schemat hasła"
1052
1481
 
1053
- #: core/app_settings.py:54
1482
+ #: core/app_settings.py:42
1054
1483
  msgid "Scheme used to crypt mailbox passwords"
1055
1484
  msgstr "Schemat używany do szyfrowania haseł do skrzynek"
1056
1485
 
1057
- #: core/app_settings.py:61
1486
+ #: core/app_settings.py:49
1058
1487
  msgid "Rounds"
1059
1488
  msgstr "Rund"
1060
1489
 
1061
- #: core/app_settings.py:63
1490
+ #: core/app_settings.py:51
1062
1491
  msgid ""
1063
1492
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1064
1493
  "between 1000 and 999999999, inclusive."
@@ -1066,47 +1495,47 @@ msgstr ""
1066
1495
  "Liczba rund (tylko dla sha256crypt i sha512crypt). Musi się zawierać "
1067
1496
  "pomiędzy 1000 a 999999999 włącznie."
1068
1497
 
1069
- #: core/app_settings.py:73
1498
+ #: core/app_settings.py:61
1070
1499
  msgid "Update password scheme at login"
1071
1500
  msgstr "Aktualizuj schemat haseł przy logowaniu"
1072
1501
 
1073
- #: core/app_settings.py:76
1502
+ #: core/app_settings.py:64
1074
1503
  msgid "Update user password at login to use the default password scheme"
1075
1504
  msgstr ""
1076
1505
  "Zaktualizuj hasło użytkownika przy logowaniu, tak aby używało domyślnego "
1077
1506
  "schematu haseł"
1078
1507
 
1079
- #: core/app_settings.py:84
1508
+ #: core/app_settings.py:72
1080
1509
  msgid "Default password"
1081
1510
  msgstr "Domyślne hasło"
1082
1511
 
1083
- #: core/app_settings.py:86
1512
+ #: core/app_settings.py:74
1084
1513
  msgid "Default password for automatically created accounts."
1085
1514
  msgstr "Domyślne hasło dla automatycznie dodawanych kont."
1086
1515
 
1087
- #: core/app_settings.py:93
1516
+ #: core/app_settings.py:81
1088
1517
  msgid "Random password length"
1089
1518
  msgstr "Długość losowego hasła"
1090
1519
 
1091
- #: core/app_settings.py:95
1520
+ #: core/app_settings.py:83
1092
1521
  msgid "Length of randomly generated passwords."
1093
1522
  msgstr "Długość losowo wygenerowanego hasła"
1094
1523
 
1095
- #: core/app_settings.py:103
1524
+ #: core/app_settings.py:91
1096
1525
  msgid "Allow special characters for random password"
1097
1526
  msgstr ""
1098
1527
 
1099
- #: core/app_settings.py:106
1528
+ #: core/app_settings.py:94
1100
1529
  #, fuzzy
1101
1530
  #| msgid "Length of randomly generated passwords."
1102
1531
  msgid "Enable special characters in randomly generated passwords."
1103
1532
  msgstr "Długość losowo wygenerowanego hasła"
1104
1533
 
1105
- #: core/app_settings.py:114
1534
+ #: core/app_settings.py:102
1106
1535
  msgid "Update password service URL"
1107
1536
  msgstr "Zaktualizuj URL usługi hasła"
1108
1537
 
1109
- #: core/app_settings.py:116
1538
+ #: core/app_settings.py:104
1110
1539
  msgid ""
1111
1540
  "The URL of an external page where users will be able to update their "
1112
1541
  "password. It applies only to non local users, ie. those automatically "
@@ -1117,154 +1546,154 @@ msgstr ""
1117
1546
  "utworzonych automatycznie po prawidłowym zalogowaniu do zewnętrznych usług "
1118
1547
  "(LDAP, SMTP)."
1119
1548
 
1120
- #: core/app_settings.py:126
1549
+ #: core/app_settings.py:114
1121
1550
  msgid "Password recovery announcement"
1122
1551
  msgstr "Komunikat o odzyskiwaniu hasła"
1123
1552
 
1124
- #: core/app_settings.py:128
1553
+ #: core/app_settings.py:116
1125
1554
  msgid "A temporary message that will be displayed on the reset password page."
1126
1555
  msgstr ""
1127
1556
  "Tymczasowa wiadomość, która będzie wyświetlana na stronie resetowania hasła."
1128
1557
 
1129
- #: core/app_settings.py:137
1558
+ #: core/app_settings.py:125
1130
1559
  msgid "Enable password recovery by SMS"
1131
1560
  msgstr "Włącz odzyskiwania hasła przez SMS"
1132
1561
 
1133
- #: core/app_settings.py:140
1562
+ #: core/app_settings.py:128
1134
1563
  msgid "Enable password recovery by SMS for users who filled a phone number."
1135
1564
  msgstr ""
1136
1565
  "Włącz odzyskiwanie hasła przez SMS dla użytkowników, którzy podali numer "
1137
1566
  "telefonu."
1138
1567
 
1139
- #: core/app_settings.py:148
1568
+ #: core/app_settings.py:136
1140
1569
  msgid "SMS provider"
1141
1570
  msgstr "Dostawca SMS"
1142
1571
 
1143
- #: core/app_settings.py:151
1572
+ #: core/app_settings.py:139
1144
1573
  msgid "Choose a provider to send password recovery SMS"
1145
1574
  msgstr "Wybierz dostawcę, aby wysłać SMS odzyskiwania hasła Dostawca SMS"
1146
1575
 
1147
- #: core/app_settings.py:163
1576
+ #: core/app_settings.py:151
1148
1577
  msgid "LDAP"
1149
1578
  msgstr ""
1150
1579
 
1151
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1580
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1152
1581
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1153
- #: webmail/app_settings.py:73
1582
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1154
1583
  msgid "Server address"
1155
1584
  msgstr "Adres serwera"
1156
1585
 
1157
- #: core/app_settings.py:171
1586
+ #: core/app_settings.py:159
1158
1587
  msgid "The IP address or the DNS name of the LDAP server"
1159
1588
  msgstr "IP lub nazwa DNS serwera LDAP"
1160
1589
 
1161
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1590
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1162
1591
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1163
- #: webmail/app_settings.py:91
1592
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1164
1593
  msgid "Server port"
1165
1594
  msgstr "Port serwera"
1166
1595
 
1167
- #: core/app_settings.py:180
1596
+ #: core/app_settings.py:168
1168
1597
  msgid "The TCP port number used by the LDAP server"
1169
1598
  msgstr "Port TCP używany przez LDAP"
1170
1599
 
1171
- #: core/app_settings.py:188
1600
+ #: core/app_settings.py:176
1172
1601
  msgid "Enable secondary server (fallback)"
1173
1602
  msgstr "Włącz dodatkowy serwer (awaryjny)"
1174
1603
 
1175
- #: core/app_settings.py:191
1604
+ #: core/app_settings.py:179
1176
1605
  msgid ""
1177
1606
  "Enable a secondary LDAP server which will be used if the primary one fails"
1178
1607
  msgstr ""
1179
1608
  "Włącz dodatkowy serwer LDAP, który będzie użyty, gdy pierwszorzędny nie "
1180
1609
  "będzie dostępny"
1181
1610
 
1182
- #: core/app_settings.py:199
1611
+ #: core/app_settings.py:187
1183
1612
  msgid "Secondary server address"
1184
1613
  msgstr "Adres serwera dodatkowego"
1185
1614
 
1186
- #: core/app_settings.py:202
1615
+ #: core/app_settings.py:190
1187
1616
  msgid "The IP address or the DNS name of the seondary LDAP server"
1188
1617
  msgstr "Adres IP lub nazwa DNS dodatkowego serwera LDAP"
1189
1618
 
1190
- #: core/app_settings.py:209
1619
+ #: core/app_settings.py:197
1191
1620
  msgid "Secondary server port"
1192
1621
  msgstr "Port na serwerze dodatkowym"
1193
1622
 
1194
- #: core/app_settings.py:212
1623
+ #: core/app_settings.py:200
1195
1624
  msgid "The TCP port number used by the LDAP secondary server"
1196
1625
  msgstr "Numer portu TCP używanego przez dodatkowy serwer LDAP"
1197
1626
 
1198
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1627
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1199
1628
  #: webmail/app_settings.py:45
1200
1629
  msgid "Use a secured connection"
1201
1630
  msgstr "Użyj bezpiecznego polączenia"
1202
1631
 
1203
- #: core/app_settings.py:221
1632
+ #: core/app_settings.py:209
1204
1633
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1205
1634
  msgstr "Użyj SSL/STARTTLS dla połączenia z serwerem LDAP"
1206
1635
 
1207
- #: core/app_settings.py:228
1636
+ #: core/app_settings.py:216
1208
1637
  msgid "Active Directory"
1209
1638
  msgstr "Active Directory"
1210
1639
 
1211
- #: core/app_settings.py:230
1640
+ #: core/app_settings.py:218
1212
1641
  msgid "Tell if the LDAP server is an Active Directory one"
1213
1642
  msgstr "Czy LDAP jest Active Directory "
1214
1643
 
1215
- #: core/app_settings.py:237
1644
+ #: core/app_settings.py:225
1216
1645
  msgid "Administrator groups"
1217
1646
  msgstr "Administrator grup"
1218
1647
 
1219
- #: core/app_settings.py:239
1648
+ #: core/app_settings.py:227
1220
1649
  msgid ""
1221
- "Members of those LDAP Posix groups will be created as domain administrators."
1222
- " Use ';' characters to separate groups."
1650
+ "Members of those LDAP Posix groups will be created as domain administrators. "
1651
+ "Use ';' characters to separate groups."
1223
1652
  msgstr ""
1224
- "Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny."
1225
- " Użyj znaku ';' jako separatora grup."
1653
+ "Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny. "
1654
+ "Użyj znaku ';' jako separatora grup."
1226
1655
 
1227
- #: core/app_settings.py:248
1656
+ #: core/app_settings.py:236
1228
1657
  msgid "Group type"
1229
1658
  msgstr "Typ grupy"
1230
1659
 
1231
- #: core/app_settings.py:250
1660
+ #: core/app_settings.py:238
1232
1661
  msgid "The LDAP group type to use with your directory."
1233
1662
  msgstr "Typ grupy LDAP do wykorzystania z Twoim katalogiem."
1234
1663
 
1235
- #: core/app_settings.py:257
1664
+ #: core/app_settings.py:245
1236
1665
  msgid "Groups search base"
1237
1666
  msgstr "Wyszukiwarka grup"
1238
1667
 
1239
- #: core/app_settings.py:259
1668
+ #: core/app_settings.py:247
1240
1669
  msgid "The distinguished name of the search base used to find groups"
1241
1670
  msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy"
1242
1671
 
1243
- #: core/app_settings.py:267
1672
+ #: core/app_settings.py:255
1244
1673
  msgid "Password attribute"
1245
1674
  msgstr "Atrybut hasła"
1246
1675
 
1247
- #: core/app_settings.py:269
1676
+ #: core/app_settings.py:257
1248
1677
  msgid "The attribute used to store user passwords"
1249
1678
  msgstr "Atrybut używany do przechowywania haseł użytkowników"
1250
1679
 
1251
- #: core/app_settings.py:276
1680
+ #: core/app_settings.py:264
1252
1681
  msgid "LDAP authentication settings"
1253
1682
  msgstr "Ustawienia uwierzytelniania LDAP"
1254
1683
 
1255
- #: core/app_settings.py:284
1684
+ #: core/app_settings.py:272
1256
1685
  msgid "Authentication method"
1257
1686
  msgstr "Metoda autentykacji"
1258
1687
 
1259
- #: core/app_settings.py:287
1688
+ #: core/app_settings.py:275
1260
1689
  msgid "Choose the authentication method to use"
1261
1690
  msgstr "Wybierz metode autentykacji"
1262
1691
 
1263
- #: core/app_settings.py:294 core/app_settings.py:357
1692
+ #: core/app_settings.py:282 core/app_settings.py:345
1264
1693
  msgid "Bind DN"
1265
1694
  msgstr "Przypnij do DN"
1266
1695
 
1267
- #: core/app_settings.py:296 core/app_settings.py:359
1696
+ #: core/app_settings.py:284 core/app_settings.py:347
1268
1697
  msgid ""
1269
1698
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1270
1699
  "for an anonymous bind"
@@ -1272,37 +1701,37 @@ msgstr ""
1272
1701
  "DN do użycia przy połączeniu do LDAP'a. Zostaw puste dla anonimowego "
1273
1702
  "podłączenia"
1274
1703
 
1275
- #: core/app_settings.py:305 core/app_settings.py:367
1704
+ #: core/app_settings.py:293 core/app_settings.py:355
1276
1705
  msgid "Bind password"
1277
1706
  msgstr "Hasło"
1278
1707
 
1279
- #: core/app_settings.py:307 core/app_settings.py:369
1708
+ #: core/app_settings.py:295 core/app_settings.py:357
1280
1709
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1281
1710
  msgstr "Hasło używane do połdłączenia do LDAP'a (z wskazanym DN)"
1282
1711
 
1283
- #: core/app_settings.py:317 core/app_settings.py:422
1712
+ #: core/app_settings.py:305 core/app_settings.py:410
1284
1713
  msgid "Users search base"
1285
1714
  msgstr "Wyszukiwania użytkowników"
1286
1715
 
1287
- #: core/app_settings.py:319 core/app_settings.py:424
1716
+ #: core/app_settings.py:307 core/app_settings.py:412
1288
1717
  msgid "The distinguished name of the search base used to find users"
1289
1718
  msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy"
1290
1719
 
1291
- #: core/app_settings.py:328 core/app_settings.py:433
1720
+ #: core/app_settings.py:316 core/app_settings.py:421
1292
1721
  msgid "Search filter"
1293
1722
  msgstr "Filtr wyszukiwania"
1294
1723
 
1295
- #: core/app_settings.py:330 core/app_settings.py:435
1724
+ #: core/app_settings.py:318 core/app_settings.py:423
1296
1725
  msgid ""
1297
1726
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1298
1727
  "valid, it must be enclosed in parentheses."
1299
1728
  msgstr "Użyj szablonu DN"
1300
1729
 
1301
- #: core/app_settings.py:339
1730
+ #: core/app_settings.py:327
1302
1731
  msgid "User DN template"
1303
1732
  msgstr "Użyj szablonu DN"
1304
1733
 
1305
- #: core/app_settings.py:341
1734
+ #: core/app_settings.py:329
1306
1735
  #, python-format
1307
1736
  msgid ""
1308
1737
  "The template used to construct a user's DN. It should contain one "
@@ -1311,92 +1740,90 @@ msgstr ""
1311
1740
  "Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden "
1312
1741
  "symbol zastępczy (np. %(user)s)"
1313
1742
 
1314
- #: core/app_settings.py:350
1743
+ #: core/app_settings.py:338
1315
1744
  msgid "LDAP synchronization settings"
1316
1745
  msgstr "Ustawienia synchronizacji z LDAP"
1317
1746
 
1318
- #: core/app_settings.py:378
1747
+ #: core/app_settings.py:366
1319
1748
  msgid "Enable export to LDAP"
1320
1749
  msgstr "Włącz export do LDAP"
1321
1750
 
1322
- #: core/app_settings.py:380
1751
+ #: core/app_settings.py:368
1323
1752
  msgid ""
1324
1753
  "Enable automatic synchronization between local database and LDAP directory"
1325
- msgstr ""
1326
- "Włącz automatyczną synchronizację lokalnej bazy danych i katalogu LDAP"
1754
+ msgstr "Włącz automatyczną synchronizację lokalnej bazy danych i katalogu LDAP"
1327
1755
 
1328
- #: core/app_settings.py:389
1756
+ #: core/app_settings.py:377
1329
1757
  msgid "Delete remote LDAP account when local account is deleted"
1330
1758
  msgstr "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne"
1331
1759
 
1332
- #: core/app_settings.py:392
1760
+ #: core/app_settings.py:380
1333
1761
  msgid ""
1334
1762
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1335
1763
  "be disabled."
1336
1764
  msgstr ""
1337
- "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne, w innym"
1338
- " przypadku zostanie ono wyłączone."
1765
+ "Skasuj konto na zdalnym LDAP kiedy zostanie skasowane konto lokalne, w innym "
1766
+ "przypadku zostanie ono wyłączone."
1339
1767
 
1340
- #: core/app_settings.py:401
1768
+ #: core/app_settings.py:389
1341
1769
  msgid "Account DN template"
1342
1770
  msgstr "Szablon konta DN"
1343
1771
 
1344
- #: core/app_settings.py:403
1772
+ #: core/app_settings.py:391
1345
1773
  #, python-format
1346
1774
  msgid ""
1347
1775
  "The template used to construct an account's DN. It should contain one "
1348
1776
  "placeholder (ie. %(user)s)"
1349
1777
  msgstr ""
1350
- "Szablon używany do budowy DN konta. Powinien zawierać jeden placeholder (ie."
1351
- " %(user)s)"
1778
+ "Szablon używany do budowy DN konta. Powinien zawierać jeden placeholder (ie. "
1779
+ "%(user)s)"
1352
1780
 
1353
- #: core/app_settings.py:412
1781
+ #: core/app_settings.py:400
1354
1782
  msgid "Enable import from LDAP"
1355
1783
  msgstr "Włącz import z LDAP"
1356
1784
 
1357
- #: core/app_settings.py:414
1785
+ #: core/app_settings.py:402
1358
1786
  msgid "Enable account synchronization from LDAP directory to local database"
1359
1787
  msgstr "Włącz synchronizację konta ze katalogu LDAP z lokalną bazą danych"
1360
1788
 
1361
- #: core/app_settings.py:444
1789
+ #: core/app_settings.py:432
1362
1790
  msgid "Username attribute"
1363
1791
  msgstr "Atrybut nazwa użytkownika"
1364
1792
 
1365
- #: core/app_settings.py:446
1793
+ #: core/app_settings.py:434
1366
1794
  msgid "The name of the LDAP attribute where the username can be found."
1367
1795
  msgstr "Nazwa atrybutu LDAP, w którym można znaleźć nazwę użytkownika."
1368
1796
 
1369
- #: core/app_settings.py:455
1797
+ #: core/app_settings.py:443
1370
1798
  msgid "Enable Dovecot LDAP sync"
1371
1799
  msgstr "Włącz synchronizację Dovecot LDAP"
1372
1800
 
1373
- #: core/app_settings.py:457
1801
+ #: core/app_settings.py:445
1374
1802
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1375
1803
  msgstr ""
1376
- "Ustawienia uwierzytelniania LDAP zostaną zastosowane do konfiguracji "
1377
- "Dovecot."
1804
+ "Ustawienia uwierzytelniania LDAP zostaną zastosowane do konfiguracji Dovecot."
1378
1805
 
1379
- #: core/app_settings.py:465
1806
+ #: core/app_settings.py:453
1380
1807
  msgid "Dovecot LDAP config file"
1381
1808
  msgstr "Plik konfiguracyjny Dovecot LDAP"
1382
1809
 
1383
- #: core/app_settings.py:467
1810
+ #: core/app_settings.py:455
1384
1811
  msgid ""
1385
1812
  "Location of the configuration file which contains Dovecot LDAP settings."
1386
1813
  msgstr ""
1387
1814
  "Lokalizacja pliku konfiguracyjnego, który zawiera ustawienia Dovecot LDAP."
1388
1815
 
1389
- #: core/app_settings.py:480
1816
+ #: core/app_settings.py:468
1390
1817
  msgid "Dashboard"
1391
1818
  msgstr "Panel główny"
1392
1819
 
1393
- #: core/app_settings.py:486
1820
+ #: core/app_settings.py:474
1394
1821
  #, fuzzy
1395
1822
  #| msgid "Custom message"
1396
1823
  msgid "Custom welcome message"
1397
1824
  msgstr "Własna wiadomość"
1398
1825
 
1399
- #: core/app_settings.py:488
1826
+ #: core/app_settings.py:476
1400
1827
  #, fuzzy
1401
1828
  #| msgid ""
1402
1829
  #| "A temporary message that will be displayed on the reset password page."
@@ -1404,203 +1831,192 @@ msgid "A welcome message that will be displayed instead the default one"
1404
1831
  msgstr ""
1405
1832
  "Tymczasowa wiadomość, która będzie wyświetlana na stronie resetowania hasła."
1406
1833
 
1407
- #: core/app_settings.py:495
1834
+ #: core/app_settings.py:483
1408
1835
  msgid "Custom RSS feed"
1409
1836
  msgstr "Spersonalizowany kanał RSS"
1410
1837
 
1411
- #: core/app_settings.py:497
1838
+ #: core/app_settings.py:485
1412
1839
  msgid "Display custom RSS feed to resellers and domain administrators"
1413
1840
  msgstr ""
1414
1841
  "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
1415
1842
 
1416
- #: core/app_settings.py:506
1843
+ #: core/app_settings.py:494
1417
1844
  #, fuzzy
1418
- #| msgid ""
1419
- #| "Display custom RSS feed to resellers and domain administrators"
1845
+ #| msgid "Display custom RSS feed to resellers and domain administrators"
1420
1846
  msgid "Display custom RSS feed to super admins"
1421
1847
  msgstr ""
1422
1848
  "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
1423
1849
 
1424
- #: core/app_settings.py:509
1850
+ #: core/app_settings.py:497
1425
1851
  #, fuzzy
1426
- #| msgid ""
1427
- #| "Display custom RSS feed to resellers and domain administrators"
1852
+ #| msgid "Display custom RSS feed to resellers and domain administrators"
1428
1853
  msgid "Display custom RSS feed also to super administrators"
1429
1854
  msgstr ""
1430
1855
  "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen"
1431
1856
 
1432
- #: core/app_settings.py:517
1857
+ #: core/app_settings.py:505
1433
1858
  msgid "Hide features widget"
1434
1859
  msgstr "Ukryj kontrolki opcji"
1435
1860
 
1436
- #: core/app_settings.py:519
1861
+ #: core/app_settings.py:507
1437
1862
  msgid "Hide features widget for resellers and domain administrators"
1438
1863
  msgstr "Ukryj kontrolki opcji dla administratorów domeny i resellerów"
1439
1864
 
1440
- #: core/app_settings.py:531
1865
+ #: core/app_settings.py:519
1441
1866
  msgid "Theme"
1442
1867
  msgstr ""
1443
1868
 
1444
- #: core/app_settings.py:537
1869
+ #: core/app_settings.py:525
1445
1870
  msgid "Primary theme color"
1446
1871
  msgstr ""
1447
1872
 
1448
- #: core/app_settings.py:539
1873
+ #: core/app_settings.py:527
1449
1874
  msgid ""
1450
1875
  "Primary color of the theme (hexadecimal code), used as the background color "
1451
1876
  "of the left menu for example"
1452
1877
  msgstr ""
1453
1878
 
1454
- #: core/app_settings.py:548
1879
+ #: core/app_settings.py:536
1455
1880
  msgid "Primary theme color (lighter version)"
1456
1881
  msgstr ""
1457
1882
 
1458
- #: core/app_settings.py:551 core/app_settings.py:563
1883
+ #: core/app_settings.py:539 core/app_settings.py:551
1459
1884
  msgid "Primary color of the theme (hexadecimal code)"
1460
1885
  msgstr ""
1461
1886
 
1462
- #: core/app_settings.py:560
1887
+ #: core/app_settings.py:548
1463
1888
  msgid "Primary theme color (darker version)"
1464
1889
  msgstr ""
1465
1890
 
1466
- #: core/app_settings.py:571
1891
+ #: core/app_settings.py:559
1467
1892
  #, fuzzy
1468
1893
  #| msgid "Secondary email"
1469
1894
  msgid "Secondary theme color"
1470
1895
  msgstr "Zapasowy email"
1471
1896
 
1472
- #: core/app_settings.py:573
1897
+ #: core/app_settings.py:561
1473
1898
  msgid ""
1474
1899
  "Secondary color of the theme (hexadecimal code), used as the background "
1475
1900
  "color of some buttons for example"
1476
1901
  msgstr ""
1477
1902
 
1478
- #: core/app_settings.py:581
1903
+ #: core/app_settings.py:569
1479
1904
  msgid "Labels theme color"
1480
1905
  msgstr ""
1481
1906
 
1482
- #: core/app_settings.py:583
1907
+ #: core/app_settings.py:571
1483
1908
  msgid "Theme color for labels (hexadecimal code)"
1484
1909
  msgstr ""
1485
1910
 
1486
- #: core/app_settings.py:595
1911
+ #: core/app_settings.py:583
1487
1912
  msgid "Notifications"
1488
1913
  msgstr "Powiadomienia"
1489
1914
 
1490
- #: core/app_settings.py:601
1915
+ #: core/app_settings.py:589
1491
1916
  msgid "Sender address"
1492
1917
  msgstr "Adres nadawcy"
1493
1918
 
1494
- #: core/app_settings.py:603
1919
+ #: core/app_settings.py:591
1495
1920
  msgid "Email address used to send notifications."
1496
1921
  msgstr "Adres e-mail używany do wysyłania powiadomień"
1497
1922
 
1498
- #: core/app_settings.py:614
1923
+ #: core/app_settings.py:602
1499
1924
  msgid "Public API"
1500
1925
  msgstr "Publiczne API"
1501
1926
 
1502
- #: core/app_settings.py:620
1927
+ #: core/app_settings.py:608
1503
1928
  msgid "Enable communication"
1504
1929
  msgstr "Włącz komunikację"
1505
1930
 
1506
- #: core/app_settings.py:622 core/app_settings.py:632
1931
+ #: core/app_settings.py:610 core/app_settings.py:620
1507
1932
  msgid "Automatically checks if a newer version is available"
1508
1933
  msgstr "Automatycznie sprawdzaj czy nowa wersja jest dostępna"
1509
1934
 
1510
- #: core/app_settings.py:629
1935
+ #: core/app_settings.py:617
1511
1936
  msgid "Check new versions"
1512
1937
  msgstr "Sprawdź nowe wersje"
1513
1938
 
1514
- #: core/app_settings.py:640
1939
+ #: core/app_settings.py:628
1515
1940
  msgid "Send an email when new versions are found"
1516
1941
  msgstr "Wyślij email, jeżeli została znaleziona nowa wersja"
1517
1942
 
1518
- #: core/app_settings.py:644
1943
+ #: core/app_settings.py:632
1519
1944
  msgid "Send an email to notify admins about new versions"
1520
1945
  msgstr "Wyślij email, by powiadomić aministratorów o nowej wersji"
1521
1946
 
1522
- #: core/app_settings.py:651 sievefilters/constants.py:25
1947
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1523
1948
  msgid "Recipient"
1524
1949
  msgstr "Odbioraca"
1525
1950
 
1526
- #: core/app_settings.py:654
1951
+ #: core/app_settings.py:642
1527
1952
  msgid "Recipient of new versions notification emails."
1528
1953
  msgstr "Odbiorca emaili z powiadomieniem o nowej wersji"
1529
1954
 
1530
- #: core/app_settings.py:661
1955
+ #: core/app_settings.py:649
1531
1956
  msgid "Send statistics"
1532
1957
  msgstr "Wyślij statystyki"
1533
1958
 
1534
- #: core/app_settings.py:664
1959
+ #: core/app_settings.py:652
1535
1960
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1536
1961
  msgstr ""
1537
- "Prześlij statystyki do publicznego API Modoboa (licznik i użyte "
1538
- "rozszerzenia)"
1962
+ "Prześlij statystyki do publicznego API Modoboa (licznik i użyte rozszerzenia)"
1539
1963
 
1540
- #: core/app_settings.py:683
1964
+ #: core/app_settings.py:671
1541
1965
  #, fuzzy
1542
1966
  #| msgid "Inactive account threshold"
1543
1967
  msgid "Enable inactive account tracking"
1544
1968
  msgstr "Próg nieaktywności konta"
1545
1969
 
1546
- #: core/app_settings.py:686
1970
+ #: core/app_settings.py:674
1547
1971
  msgid ""
1548
- "Allow the administrator to set a threshold (in days) beyond which an account"
1549
- " is considered inactive if the user hasn't logged in"
1972
+ "Allow the administrator to set a threshold (in days) beyond which an account "
1973
+ "is considered inactive if the user hasn't logged in"
1550
1974
  msgstr ""
1551
1975
 
1552
- #: core/app_settings.py:695
1976
+ #: core/app_settings.py:683
1553
1977
  msgid "Inactive account threshold"
1554
1978
  msgstr "Próg nieaktywności konta"
1555
1979
 
1556
- #: core/app_settings.py:698
1980
+ #: core/app_settings.py:686
1557
1981
  msgid ""
1558
- "An account with a last login date greater than this threshold (in days) will"
1559
- " be considered as inactive"
1982
+ "An account with a last login date greater than this threshold (in days) will "
1983
+ "be considered as inactive"
1560
1984
  msgstr ""
1561
1985
  "Konto z datą ostatniego logowania większą niż podany próg (w dniach) "
1562
1986
  "zostanie uznane za nieaktywne. "
1563
1987
 
1564
- #: core/app_settings.py:707
1988
+ #: core/app_settings.py:695
1565
1989
  msgid "Top notifications check interval"
1566
1990
  msgstr "Odstęp pomiędzy powiadomieniami "
1567
1991
 
1568
- #: core/app_settings.py:710
1992
+ #: core/app_settings.py:698
1569
1993
  msgid "Interval between two top notification checks (in seconds)"
1570
1994
  msgstr "Odstęp pomiędzy dwoma powiadomieniami (w sek.)"
1571
1995
 
1572
- #: core/app_settings.py:717
1996
+ #: core/app_settings.py:705
1573
1997
  msgid "Maximum log record age"
1574
1998
  msgstr "Max wiek wpisu w logu"
1575
1999
 
1576
- #: core/app_settings.py:719
2000
+ #: core/app_settings.py:707
1577
2001
  msgid "The maximum age in days of a log record"
1578
2002
  msgstr "Max wiek w dniach dla wpisu w logu"
1579
2003
 
1580
- #: core/app_settings.py:727
2004
+ #: core/app_settings.py:715
1581
2005
  msgid "Retention time in message history"
1582
2006
  msgstr ""
1583
2007
 
1584
- #: core/app_settings.py:730
2008
+ #: core/app_settings.py:718
1585
2009
  msgid "Retention time (in days) of a message in the message history section"
1586
2010
  msgstr ""
1587
2011
 
1588
- #: core/app_settings.py:737
2012
+ #: core/app_settings.py:725
1589
2013
  msgid "Items per page"
1590
2014
  msgstr "Elementów na stronie"
1591
2015
 
1592
- #: core/app_settings.py:739
2016
+ #: core/app_settings.py:727
1593
2017
  msgid "Number of displayed items per page"
1594
2018
  msgstr "Liczba wyświetlanych elementów na stronie"
1595
2019
 
1596
- #: core/app_settings.py:746
1597
- msgid "Default top redirection"
1598
- msgstr "Domyślne górne przekierowanie"
1599
-
1600
- #: core/app_settings.py:748
1601
- msgid "The default redirection used when no application is specified"
1602
- msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"
1603
-
1604
2020
  #: core/checks.py:15
1605
2021
  msgid ""
1606
2022
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -1633,9 +2049,8 @@ msgstr ""
1633
2049
 
1634
2050
  #: core/checks.py:34
1635
2051
  msgid ""
1636
- "Visit : "
1637
- "https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
1638
- "oauth2"
2052
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
2053
+ "dovecot.html#dovecot-oauth2"
1639
2054
  msgstr ""
1640
2055
 
1641
2056
  #: core/checks.py:41
@@ -1646,9 +2061,8 @@ msgstr ""
1646
2061
 
1647
2062
  #: core/checks.py:45
1648
2063
  msgid ""
1649
- "Visit : "
1650
- "https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
1651
- "oauth2"
2064
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
2065
+ "radicale.html#radicale-oauth2"
1652
2066
  msgstr ""
1653
2067
 
1654
2068
  #: core/constants.py:6
@@ -1733,7 +2147,7 @@ msgstr "Nie możesz usunąć własnego konta"
1733
2147
  msgid "One or more updates are available"
1734
2148
  msgstr "Jedna lub więcej aktualizacji jest dostępnych"
1735
2149
 
1736
- #: core/handlers.py:138
2150
+ #: core/handlers.py:140
1737
2151
  #, python-format
1738
2152
  msgid "You are still using a deprecated password scheme (%s)"
1739
2153
  msgstr ""
@@ -1912,22 +2326,22 @@ msgstr[3] ""
1912
2326
  msgid "The core part of Modoboa"
1913
2327
  msgstr "Zasadnicza część Modoboa"
1914
2328
 
1915
- #: core/views/auth.py:65
2329
+ #: core/views/auth.py:82
1916
2330
  #, python-format
1917
2331
  msgid "User '%s' successfully logged in"
1918
2332
  msgstr "Użytkownik '%s' pomyślnie zalogowany"
1919
2333
 
1920
- #: core/views/auth.py:109
2334
+ #: core/views/auth.py:128
1921
2335
  #, python-format
1922
2336
  msgid "Password scheme mismatch. Updating %s password"
1923
2337
  msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
1924
2338
 
1925
- #: core/views/auth.py:116
2339
+ #: core/views/auth.py:135
1926
2340
  #, python-format
1927
2341
  msgid "Password hash parameter missmatch. Updating %s password"
1928
2342
  msgstr "Niezgodny schemat hasła. Aktualizuję hasło %s"
1929
2343
 
1930
- #: core/views/auth.py:154
2344
+ #: core/views/auth.py:173
1931
2345
  msgid "User '{}' successfully logged out"
1932
2346
  msgstr "Użytkownik '{}' wylogowany pomyślnie"
1933
2347
 
@@ -1956,16 +2370,10 @@ msgid "Not resolved"
1956
2370
  msgstr "Nie zdefiniowano"
1957
2371
 
1958
2372
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
1959
- #: webmail/constants.py:18
2373
+ #: webmail/constants.py:38
1960
2374
  msgid "None"
1961
2375
  msgstr "Brak"
1962
2376
 
1963
- #: dmarc/models.py:11
1964
- #, fuzzy
1965
- #| msgid "Quantity"
1966
- msgid "Quarantine"
1967
- msgstr "Kwarantanna"
1968
-
1969
2377
  #: dmarc/models.py:12
1970
2378
  #, fuzzy
1971
2379
  #| msgid "Subject"
@@ -2096,7 +2504,12 @@ msgstr ""
2096
2504
  msgid "Public key mismatchs"
2097
2505
  msgstr ""
2098
2506
 
2099
- #: imap_migration/api/v2/serializers.py:117
2507
+ #: imap_migration/api/v2/serializers.py:66
2508
+ #, fuzzy
2509
+ msgid "Migrated domain with name {} already exists"
2510
+ msgstr "Alias z taką nazwą już istnieje"
2511
+
2512
+ #: imap_migration/api/v2/serializers.py:130
2100
2513
  #, fuzzy
2101
2514
  #| msgid "Access updated"
2102
2515
  msgid "Access denied"
@@ -2247,16 +2660,16 @@ msgid ""
2247
2660
  "Maximum number of allowed domain administrators for a new administrator. (0 "
2248
2661
  "to deny any creation, -1 to allow unlimited creations)"
2249
2662
  msgstr ""
2250
- "Maksymalna dozwolona liczba administratorów domen dla nowego administratora."
2251
- " (0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
2663
+ "Maksymalna dozwolona liczba administratorów domen dla nowego administratora. "
2664
+ "(0 - tworzenie niedozwolone, -1 nielimitowana ilość)"
2252
2665
 
2253
2666
  #: limits/app_settings.py:41
2254
2667
  msgid ""
2255
2668
  "Maximum number of allowed domains for a new administrator. (0 to deny any "
2256
2669
  "creation, -1 to allow unlimited creations)"
2257
2670
  msgstr ""
2258
- "Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie"
2259
- " niedozwolone, -1 nielimitowana ilość)"
2671
+ "Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie "
2672
+ "niedozwolone, -1 nielimitowana ilość)"
2260
2673
 
2261
2674
  #: limits/app_settings.py:49 limits/app_settings.py:123 limits/constants.py:22
2262
2675
  #: limits/constants.py:76
@@ -2265,8 +2678,8 @@ msgstr "Aliasy domen"
2265
2678
 
2266
2679
  #: limits/app_settings.py:52
2267
2680
  msgid ""
2268
- "Maximum number of allowed domain aliases for a new administrator. (0 to deny"
2269
- " any creation, -1 to allow unlimited creations)"
2681
+ "Maximum number of allowed domain aliases for a new administrator. (0 to deny "
2682
+ "any creation, -1 to allow unlimited creations)"
2270
2683
  msgstr ""
2271
2684
  "Maksymalna dozwolona ilość aliasów domen dla nowego administratora. (0 dla "
2272
2685
  "tworzenie niedozwolone, -1 nielimitowana ilość)"
@@ -2318,8 +2731,8 @@ msgstr "Włącz lub wyłącz limity na domenę"
2318
2731
 
2319
2732
  #: limits/app_settings.py:114
2320
2733
  msgid ""
2321
- "Maximum number of allowed domain administrators for a new domain. (0 to deny"
2322
- " any creation, -1 to allow unlimited creations)"
2734
+ "Maximum number of allowed domain administrators for a new domain. (0 to deny "
2735
+ "any creation, -1 to allow unlimited creations)"
2323
2736
  msgstr ""
2324
2737
  "Max liczba administratrów nowej domeny. (0 tworzenie niedozwolone, -1 dla "
2325
2738
  "braku limitu)"
@@ -2342,8 +2755,8 @@ msgstr ""
2342
2755
 
2343
2756
  #: limits/app_settings.py:149
2344
2757
  msgid ""
2345
- "Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
2346
- " -1 to allow unlimited creations)"
2758
+ "Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
2759
+ "-1 to allow unlimited creations)"
2347
2760
  msgstr ""
2348
2761
  "Max liczba aliasów dla nowej domeny. (0 tworzenie niedozwolone, -1 "
2349
2762
  "nielimitowana ilość)"
@@ -2557,8 +2970,7 @@ msgid ""
2557
2970
  "Automatically delete a document just after its first download from this "
2558
2971
  "interface"
2559
2972
  msgstr ""
2560
- "Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten "
2561
- "interfejs"
2973
+ "Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten interfejs"
2562
2974
 
2563
2975
  #: pdfcredentials/app_settings.py:68
2564
2976
  msgid "Generate documents only at account creation"
@@ -2570,8 +2982,7 @@ msgid ""
2570
2982
  "new document will be created each time a password is updated."
2571
2983
  msgstr ""
2572
2984
  "Generuj nowy dokument tylko wtedy, kiedy nowe konto jest zakładane. Jeśli "
2573
- "ustawione na nie, to nowy dokument będzie tworzony przy każdej zmianie "
2574
- "hasła."
2985
+ "ustawione na nie, to nowy dokument będzie tworzony przy każdej zmianie hasła."
2575
2986
 
2576
2987
  #: pdfcredentials/app_settings.py:84
2577
2988
  msgid "Customization options"
@@ -2674,7 +3085,9 @@ msgid ""
2674
3085
  "the document as soon as possible.\n"
2675
3086
  msgstr ""
2676
3087
  "\n"
2677
- "Drogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które będzeisz potrzebował to połączenia się. Zapoznaj się z nim i usuń go najszybciej jak to możliwe.\n"
3088
+ "Drogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które "
3089
+ "będzeisz potrzebował to połączenia się. Zapoznaj się z nim i usuń go "
3090
+ "najszybciej jak to możliwe.\n"
2678
3091
 
2679
3092
  #: pdfcredentials/documents.py:95
2680
3093
  msgid "Web panel:"
@@ -2695,7 +3108,8 @@ msgid ""
2695
3108
  "your contacts.\n"
2696
3109
  msgstr ""
2697
3110
  "\n"
2698
- "Pod tym adresem możesz online przeczytać swoje wiadomości, stworzyć filtry lub zarządzać\n"
3111
+ "Pod tym adresem możesz online przeczytać swoje wiadomości, stworzyć filtry "
3112
+ "lub zarządzać\n"
2699
3113
  " listą kontaktów.\n"
2700
3114
 
2701
3115
  #: pdfcredentials/documents.py:126
@@ -2724,8 +3138,7 @@ msgstr "Poświadczenia PDF"
2724
3138
 
2725
3139
  #: pdfcredentials/lib.py:29
2726
3140
  #, fuzzy
2727
- #| msgid ""
2728
- #| "Failed to create the directory that will contain PDF documents (%s)"
3141
+ #| msgid "Failed to create the directory that will contain PDF documents (%s)"
2729
3142
  msgid "Can't write to selected directory to store PDF documents"
2730
3143
  msgstr "Nie można utworzyć katalogu do przechowywania PDF'ów (%s)"
2731
3144
 
@@ -2803,8 +3216,8 @@ msgstr ""
2803
3216
 
2804
3217
  #: rspamd/app_settings.py:21
2805
3218
  msgid ""
2806
- "Absolute path of the file which contains paths to DKIM private keys. Must be"
2807
- " readable by _rspamd group or user."
3219
+ "Absolute path of the file which contains paths to DKIM private keys. Must be "
3220
+ "readable by _rspamd group or user."
2808
3221
  msgstr ""
2809
3222
 
2810
3223
  #: rspamd/app_settings.py:30
@@ -2823,8 +3236,8 @@ msgstr ""
2823
3236
 
2824
3237
  #: rspamd/app_settings.py:53
2825
3238
  msgid ""
2826
- "Location of the rspamd dashboard. Can either be a relative URL (eg. "
2827
- "'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
3239
+ "Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
3240
+ "rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
2828
3241
  "guidance on the Super-Admin dashboard."
2829
3242
  msgstr ""
2830
3243
 
@@ -2832,7 +3245,7 @@ msgstr ""
2832
3245
  msgid "Rspamd"
2833
3246
  msgstr ""
2834
3247
 
2835
- #: sievefilters/api/v2/viewsets.py:193
3248
+ #: sievefilters/api/v2/viewsets.py:203
2836
3249
  #, fuzzy, python-format
2837
3250
  #| msgid "User '%s' already exists"
2838
3251
  msgid "Filter %s already exists"
@@ -2924,7 +3337,7 @@ msgstr "jest"
2924
3337
  msgid "is not"
2925
3338
  msgstr "nie jest"
2926
3339
 
2927
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3340
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
2928
3341
  msgid "Subject"
2929
3342
  msgstr "Temat"
2930
3343
 
@@ -3137,8 +3550,8 @@ msgstr "Stare hasło"
3137
3550
 
3138
3551
  #: templates/registration/twofactor_code_verify.html:35
3139
3552
  msgid ""
3140
- "Enter the code from the two-factor app on your mobile device. If you've lost"
3141
- " your device, you may enter one of your recovery codes."
3553
+ "Enter the code from the two-factor app on your mobile device. If you've lost "
3554
+ "your device, you may enter one of your recovery codes."
3142
3555
  msgstr ""
3143
3556
 
3144
3557
  #: templates/registration/twofactor_code_verify.html:42
@@ -3186,25 +3599,25 @@ msgstr ""
3186
3599
  msgid "SMTP settings"
3187
3600
  msgstr "Ustawienia IMAP"
3188
3601
 
3189
- #: webmail/app_settings.py:75
3602
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3190
3603
  #, fuzzy
3191
3604
  #| msgid "Address of the IMAP server (hostname or IP)"
3192
3605
  msgid "Address of your SMTP server"
3193
3606
  msgstr "Adres serwera IMAP"
3194
3607
 
3195
- #: webmail/app_settings.py:82
3608
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3196
3609
  #, fuzzy
3197
3610
  #| msgid "Use a secured connection"
3198
3611
  msgid "Secured connection mode"
3199
3612
  msgstr "Użyj bezpiecznego polączenia"
3200
3613
 
3201
- #: webmail/app_settings.py:84
3614
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3202
3615
  #, fuzzy
3203
3616
  #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
3204
3617
  msgid "Use a secured connection to access SMTP server"
3205
3618
  msgstr "Użyj bezpiecznego połączenia do serwera IMAP"
3206
3619
 
3207
- #: webmail/app_settings.py:93
3620
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3208
3621
  #, fuzzy
3209
3622
  #| msgid "Listening port of the IMAP server"
3210
3623
  msgid "Listening port of your SMTP server"
@@ -3221,127 +3634,123 @@ msgstr "Metoda autentykacji"
3221
3634
  msgid "Server needs authentication"
3222
3635
  msgstr "Preferowany mechanizm uwierzytelnienia"
3223
3636
 
3224
- #: webmail/app_settings.py:118
3225
- msgid "Display"
3226
- msgstr "Wyświetl"
3637
+ #: webmail/app_settings.py:113
3638
+ #, fuzzy
3639
+ #| msgid "LDAP settings"
3640
+ msgid "Scheduling settings"
3641
+ msgstr "Ustawienia ManageSieve"
3227
3642
 
3228
- #: webmail/app_settings.py:124
3643
+ #: webmail/app_settings.py:161
3229
3644
  msgid "Default message display mode"
3230
3645
  msgstr ""
3231
3646
 
3232
- #: webmail/app_settings.py:126
3647
+ #: webmail/app_settings.py:163
3233
3648
  #, fuzzy
3234
3649
  #| msgid "The default redirection used when no application is specified"
3235
3650
  msgid "The default mode used when displaying a message"
3236
3651
  msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"
3237
3652
 
3238
- #: webmail/app_settings.py:133
3653
+ #: webmail/app_settings.py:170
3239
3654
  msgid "Enable HTML links display"
3240
3655
  msgstr ""
3241
3656
 
3242
- #: webmail/app_settings.py:136
3657
+ #: webmail/app_settings.py:173
3243
3658
  msgid "Enable/Disable HTML links display"
3244
3659
  msgstr ""
3245
3660
 
3246
- #: webmail/app_settings.py:144
3247
- #, fuzzy
3248
- #| msgid "Number of displayed items per page"
3249
- msgid "Number of displayed emails per page"
3250
- msgstr "Liczba wyświetlanych wiadomości na stronie"
3251
-
3252
- #: webmail/app_settings.py:147
3661
+ #: webmail/app_settings.py:184
3253
3662
  msgid "Sets the maximum number of messages displayed in a page"
3254
3663
  msgstr ""
3255
3664
 
3256
- #: webmail/app_settings.py:154
3665
+ #: webmail/app_settings.py:191
3257
3666
  msgid "Listing refresh rate"
3258
3667
  msgstr ""
3259
3668
 
3260
- #: webmail/app_settings.py:156
3669
+ #: webmail/app_settings.py:193
3261
3670
  msgid "Automatic listing refresh rate (in secconds)"
3262
3671
  msgstr ""
3263
3672
 
3264
- #: webmail/app_settings.py:163
3673
+ #: webmail/app_settings.py:200
3265
3674
  msgid "Folder container's width"
3266
3675
  msgstr ""
3267
3676
 
3268
- #: webmail/app_settings.py:165
3677
+ #: webmail/app_settings.py:202
3269
3678
  msgid "The width of the folder list container"
3270
3679
  msgstr ""
3271
3680
 
3272
- #: webmail/app_settings.py:176
3681
+ #: webmail/app_settings.py:213
3273
3682
  #, fuzzy
3274
3683
  #| msgid "Create aliases"
3275
3684
  msgid "Folders"
3276
3685
  msgstr "Utwórz aliasy"
3277
3686
 
3278
- #: webmail/app_settings.py:182
3687
+ #: webmail/app_settings.py:219
3279
3688
  #, fuzzy
3280
3689
  #| msgid "Create aliases"
3281
3690
  msgid "Trash folder"
3282
3691
  msgstr "Folder kosza"
3283
3692
 
3284
- #: webmail/app_settings.py:184
3693
+ #: webmail/app_settings.py:221
3285
3694
  #, fuzzy
3286
3695
  #| msgid "rejected messages"
3287
3696
  msgid "Folder where deleted messages go"
3288
3697
  msgstr "Folder, do którego trafiają usunięte wiadomości"
3289
3698
 
3290
- #: webmail/app_settings.py:191
3699
+ #: webmail/app_settings.py:228
3291
3700
  #, fuzzy
3292
3701
  #| msgid "Create aliases"
3293
3702
  msgid "Sent folder"
3294
3703
  msgstr "Folder wysłane"
3295
3704
 
3296
- #: webmail/app_settings.py:193
3705
+ #: webmail/app_settings.py:230
3297
3706
  msgid "Folder where copies of sent messages go"
3298
3707
  msgstr "Folder, do którego trafiają kopie wysłanych wiadomości"
3299
3708
 
3300
- #: webmail/app_settings.py:200
3709
+ #: webmail/app_settings.py:237
3301
3710
  #, fuzzy
3302
3711
  #| msgid "Create aliases"
3303
3712
  msgid "Drafts folder"
3304
3713
  msgstr "Folder kopie robocze"
3305
3714
 
3306
- #: webmail/app_settings.py:201
3715
+ #: webmail/app_settings.py:238
3307
3716
  msgid "Folder where drafts go"
3308
3717
  msgstr "Folder, do którego trafiają kopie robocze"
3309
3718
 
3310
- #: webmail/app_settings.py:207
3719
+ #: webmail/app_settings.py:244
3311
3720
  #, fuzzy
3312
3721
  #| msgid "Create aliases"
3313
3722
  msgid "Junk folder"
3314
3723
  msgstr "Folder wysłane"
3315
3724
 
3316
- #: webmail/app_settings.py:209
3725
+ #: webmail/app_settings.py:246
3317
3726
  #, fuzzy
3318
3727
  #| msgid "rejected messages"
3319
3728
  msgid "Folder where junk messages should go"
3320
3729
  msgstr "Folder, do którego trafiają usunięte wiadomości"
3321
3730
 
3322
- #: webmail/app_settings.py:220
3731
+ #: webmail/app_settings.py:257
3323
3732
  #, fuzzy
3324
3733
  #| msgid "sent messages"
3325
3734
  msgid "Composing messages"
3326
3735
  msgstr "Wysłane wiadomości"
3327
3736
 
3328
- #: webmail/app_settings.py:226
3737
+ #: webmail/app_settings.py:263
3329
3738
  #, fuzzy
3330
3739
  #| msgid "Default top redirection"
3331
3740
  msgid "Default editor"
3332
3741
  msgstr "Domyślne górne przekierowanie"
3333
3742
 
3334
- #: webmail/app_settings.py:228
3743
+ #: webmail/app_settings.py:265
3335
3744
  #, fuzzy
3336
3745
  #| msgid "The default redirection used when no application is specified"
3337
3746
  msgid "The default editor to use when composing a message"
3338
3747
  msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji"
3339
3748
 
3340
- #: webmail/app_settings.py:235
3749
+ #: webmail/app_settings.py:272
3341
3750
  msgid "Signature text"
3342
3751
  msgstr ""
3343
3752
 
3344
- #: webmail/app_settings.py:237
3753
+ #: webmail/app_settings.py:274
3345
3754
  msgid "User defined email signature"
3346
3755
  msgstr ""
3347
3756
 
@@ -3357,51 +3766,72 @@ msgstr "Adres serwera"
3357
3766
  msgid "Failed to remove attachment: "
3358
3767
  msgstr "Nie udało się usunąć filtru"
3359
3768
 
3360
- #: webmail/lib/imapemail.py:272
3769
+ #: webmail/lib/imapemail.py:270
3361
3770
  msgid "wrote:"
3362
3771
  msgstr ""
3363
3772
 
3364
- #: webmail/lib/imapemail.py:306
3773
+ #: webmail/lib/imapemail.py:304
3365
3774
  msgid "Date"
3366
3775
  msgstr "Data"
3367
3776
 
3368
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3777
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3369
3778
  #, fuzzy
3370
3779
  #| msgid "sent messages"
3371
3780
  msgid "Original message"
3372
3781
  msgstr "Wszystkie wiadomości"
3373
3782
 
3374
- #: webmail/lib/imaputils.py:221
3783
+ #: webmail/lib/imaputils.py:222
3375
3784
  msgid "Failed to retrieve hierarchy delimiter"
3376
3785
  msgstr "Nie udało się rozpoznać hierarchii separatora"
3377
3786
 
3378
- #: webmail/lib/imaputils.py:472
3787
+ #: webmail/lib/imaputils.py:478
3379
3788
  msgid "Inbox"
3380
3789
  msgstr ""
3381
3790
 
3382
- #: webmail/lib/imaputils.py:476
3791
+ #: webmail/lib/imaputils.py:482
3383
3792
  #, fuzzy
3384
3793
  #| msgid "Create aliases"
3385
3794
  msgid "Drafts"
3386
3795
  msgstr "Folder kopie robocze"
3387
3796
 
3388
- #: webmail/lib/imaputils.py:481
3797
+ #: webmail/lib/imaputils.py:487
3389
3798
  msgid "Junk"
3390
3799
  msgstr ""
3391
3800
 
3392
- #: webmail/lib/imaputils.py:486
3801
+ #: webmail/lib/imaputils.py:492
3393
3802
  msgid "Sent"
3394
3803
  msgstr ""
3395
3804
 
3396
- #: webmail/lib/imaputils.py:491
3805
+ #: webmail/lib/imaputils.py:500
3806
+ msgid "Scheduled"
3807
+ msgstr ""
3808
+
3809
+ #: webmail/lib/imaputils.py:507
3397
3810
  msgid "Trash"
3398
3811
  msgstr ""
3399
3812
 
3400
- #: webmail/viewsets.py:343
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
3401
3826
  #, python-format
3402
3827
  msgid "Attachment is too big (limit: %s)"
3403
3828
  msgstr ""
3404
3829
 
3405
- #, fuzzy, python-brace-format
3406
- #~ msgid "Connection to IMAP server failed: {error}"
3407
- #~ msgstr "Błąd połączenia do serwera IMAP: %s"
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"