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
@@ -8,7 +8,7 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Modoboa\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2025-08-28 09:41+0200\n"
11
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
12
12
  "PO-Revision-Date: 2016-11-09 16:13+0000\n"
13
13
  "Last-Translator: Gregor <info@gregorjev.net>\n"
14
14
  "Language-Team: Slovenian (Slovenia) (http://www.transifex.com/tonio/modoboa/"
@@ -43,14 +43,14 @@ msgid "Cannot be greater than domain quota"
43
43
  msgstr ""
44
44
 
45
45
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
46
- #: admin/api/v2/serializers.py:564 admin/models/alias.py:44
46
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
47
47
  msgid "Permission denied."
48
48
  msgstr ""
49
49
 
50
50
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
51
- #: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
52
- #: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
53
- #: transport/backends.py:40
51
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
52
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
53
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
54
54
  msgid "This field is required"
55
55
  msgstr ""
56
56
 
@@ -59,7 +59,7 @@ msgid ""
59
59
  "List of administered domains (resellers and domain administrators only)."
60
60
  msgstr ""
61
61
 
62
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
62
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
63
63
  msgid "Not allowed for this role."
64
64
  msgstr ""
65
65
 
@@ -67,13 +67,12 @@ msgstr ""
67
67
  msgid "Must be equal to mailbox full_address"
68
68
  msgstr ""
69
69
 
70
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
71
- #: calendars/serializers.py:175 calendars/serializers.py:177
72
- #: pdfcredentials/api/v2/serializers.py:91
70
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
71
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
73
72
  msgid "This field is required."
74
73
  msgstr ""
75
74
 
76
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
75
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
77
76
  msgid "Local domain {} does not exist"
78
77
  msgstr ""
79
78
 
@@ -81,7 +80,7 @@ msgstr ""
81
80
  msgid "A list of recipient"
82
81
  msgstr ""
83
82
 
84
- #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
83
+ #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
85
84
  msgid "This alias already exists"
86
85
  msgstr ""
87
86
 
@@ -114,49 +113,49 @@ msgstr ""
114
113
  msgid "User '%s' already exists"
115
114
  msgstr ""
116
115
 
117
- #: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
116
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
118
117
  msgid "Must be a positive integer"
119
118
  msgstr ""
120
119
 
121
- #: admin/api/v2/serializers.py:265
120
+ #: admin/api/v2/serializers.py:271
122
121
  msgid "openssl not found, please make sure it is installed."
123
122
  msgstr ""
124
123
 
125
- #: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
124
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
126
125
  msgid "Directory not found."
127
126
  msgstr ""
128
127
 
129
- #: admin/api/v2/serializers.py:279
128
+ #: admin/api/v2/serializers.py:285
130
129
  msgid "This field only allows valid IP addresses (or networks)"
131
130
  msgstr ""
132
131
 
133
- #: admin/api/v2/serializers.py:292
132
+ #: admin/api/v2/serializers.py:298
134
133
  msgid "Please disable imap migration before disabling this option."
135
134
  msgstr ""
136
135
 
137
- #: admin/api/v2/serializers.py:305
136
+ #: admin/api/v2/serializers.py:311
138
137
  msgid "Define at least one authorized network / address"
139
138
  msgstr ""
140
139
 
141
- #: admin/api/v2/serializers.py:581
140
+ #: admin/api/v2/serializers.py:588
142
141
  msgid "The left part of an email address can't be more than 64 characters."
143
142
  msgstr ""
144
143
 
145
- #: admin/api/v2/serializers.py:603
144
+ #: admin/api/v2/serializers.py:610
146
145
  msgid "A mailbox is required to create aliases."
147
146
  msgstr ""
148
147
 
149
- #: admin/api/v2/serializers.py:772
148
+ #: admin/api/v2/serializers.py:783
150
149
  #, fuzzy
151
150
  #| msgid "Unknow migration"
152
151
  msgid "Unknown status"
153
152
  msgstr "Neznana selitev"
154
153
 
155
- #: admin/api/v2/viewsets.py:84
154
+ #: admin/api/v2/viewsets.py:95
156
155
  msgid "You don't have access to this domain"
157
156
  msgstr ""
158
157
 
159
- #: admin/api/v2/viewsets.py:87
158
+ #: admin/api/v2/viewsets.py:98
160
159
  msgid "You can't delete your own domain"
161
160
  msgstr ""
162
161
 
@@ -240,113 +239,151 @@ msgstr ""
240
239
  msgid "Check every domain against major DNSBL providers"
241
240
  msgstr ""
242
241
 
243
- #: admin/app_settings.py:116
242
+ #: admin/app_settings.py:117
243
+ msgid "Notify domain admins about DNS issues"
244
+ msgstr ""
245
+
246
+ #: admin/app_settings.py:120
247
+ msgid ""
248
+ "Send a notification by email to domain administrators when DNS issues are "
249
+ "encountered"
250
+ msgstr ""
251
+
252
+ #: admin/app_settings.py:128
244
253
  msgid "Custom DNS server"
245
254
  msgstr ""
246
255
 
247
- #: admin/app_settings.py:118
256
+ #: admin/app_settings.py:130
248
257
  msgid "Use a custom DNS server instead of local server configuration"
249
258
  msgstr ""
250
259
 
251
- #: admin/app_settings.py:126
260
+ #: admin/app_settings.py:138
252
261
  msgid "DKIM keys storage directory"
253
262
  msgstr ""
254
263
 
255
- #: admin/app_settings.py:128
264
+ #: admin/app_settings.py:140
256
265
  msgid ""
257
266
  "Absolute path of the directory where DKIM private keys will be stored. Make "
258
267
  "sure this directory belongs to root user and is not readable by the outside "
259
268
  "world."
260
269
  msgstr ""
261
270
 
262
- #: admin/app_settings.py:137
271
+ #: admin/app_settings.py:149
263
272
  msgid "Default DKIM key length"
264
273
  msgstr ""
265
274
 
266
- #: admin/app_settings.py:139
275
+ #: admin/app_settings.py:151
267
276
  msgid "Default length in bits for newly generated DKIM keys."
268
277
  msgstr ""
269
278
 
270
- #: admin/app_settings.py:146
279
+ #: admin/app_settings.py:158
271
280
  msgid "Default domain quota"
272
281
  msgstr ""
273
282
 
274
- #: admin/app_settings.py:148
283
+ #: admin/app_settings.py:160
275
284
  msgid ""
276
285
  "Default quota (in MB) applied to freshly created domains with no value "
277
286
  "specified. A value of 0 means no quota."
278
287
  msgstr ""
279
288
 
280
- #: admin/app_settings.py:156
289
+ #: admin/app_settings.py:168
281
290
  msgid "Default domain sending limit"
282
291
  msgstr ""
283
292
 
284
- #: admin/app_settings.py:158
293
+ #: admin/app_settings.py:170
285
294
  msgid ""
286
295
  "Number of messages freshly created domains will be allowed to send per day. "
287
296
  "Leave empty for no limit."
288
297
  msgstr ""
289
298
 
290
- #: admin/app_settings.py:170 limits/app_settings.py:61
299
+ #: admin/app_settings.py:182 limits/app_settings.py:61
291
300
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
292
301
  msgid "Mailboxes"
293
302
  msgstr ""
294
303
 
295
- #: admin/app_settings.py:176
304
+ #: admin/app_settings.py:188
296
305
  msgid "Handle mailboxes on filesystem"
297
306
  msgstr ""
298
307
 
299
- #: admin/app_settings.py:178
308
+ #: admin/app_settings.py:190
300
309
  msgid ""
301
310
  "Rename or remove mailboxes on the filesystem when they get renamed or "
302
311
  "removed within Modoboa"
303
312
  msgstr ""
304
313
 
305
- #: admin/app_settings.py:186 admin/models/domain.py:36
314
+ #: admin/app_settings.py:198 admin/models/domain.py:36
306
315
  msgid "Default mailbox quota"
307
316
  msgstr ""
308
317
 
309
- #: admin/app_settings.py:188
318
+ #: admin/app_settings.py:200
310
319
  msgid ""
311
320
  "Default mailbox quota (in MB) applied to freshly created domains with no "
312
321
  "value specified. A value of 0 means no quota."
313
322
  msgstr ""
314
323
 
315
- #: admin/app_settings.py:197
324
+ #: admin/app_settings.py:209
316
325
  msgid "Default mailbox sending limit"
317
326
  msgstr ""
318
327
 
319
- #: admin/app_settings.py:199
328
+ #: admin/app_settings.py:211
320
329
  msgid ""
321
330
  "Number of messages freshly created mailboxes will be allowed to send per "
322
331
  "day. Leave empty for no limit."
323
332
  msgstr ""
324
333
 
325
- #: admin/app_settings.py:207
334
+ #: admin/app_settings.py:219
326
335
  msgid "Automatic account removal"
327
336
  msgstr ""
328
337
 
329
- #: admin/app_settings.py:209
338
+ #: admin/app_settings.py:221
330
339
  msgid "When a mailbox is removed, also remove the associated account"
331
340
  msgstr ""
332
341
 
333
- #: admin/app_settings.py:218
342
+ #: admin/app_settings.py:230
334
343
  msgid "Automatic domain/mailbox creation"
335
344
  msgstr ""
336
345
 
337
- #: admin/app_settings.py:221
346
+ #: admin/app_settings.py:233
338
347
  msgid "Create a domain and a mailbox when an account is automatically created."
339
348
  msgstr ""
340
349
 
341
- #: admin/app_settings.py:230
350
+ #: admin/app_settings.py:242
342
351
  msgid "Create an alias when a mailbox is renamed"
343
352
  msgstr ""
344
353
 
345
- #: admin/app_settings.py:233
354
+ #: admin/app_settings.py:245
346
355
  msgid "Create an alias using the old address when a mailbox is renamed."
347
356
  msgstr ""
348
357
 
349
- #: admin/app_settings.py:287 core/api/v2/viewsets.py:174
358
+ #: admin/app_settings.py:257
359
+ msgid "Aliases"
360
+ msgstr ""
361
+
362
+ #: admin/app_settings.py:263
363
+ msgid "Alias can target any domain"
364
+ msgstr ""
365
+
366
+ #: admin/app_settings.py:265
367
+ msgid "Allow aliases to target any domain, not just the local domains."
368
+ msgstr ""
369
+
370
+ #: admin/app_settings.py:272
371
+ msgid "Alias target block list"
372
+ msgstr ""
373
+
374
+ #: admin/app_settings.py:274
375
+ msgid "A list of domains that aliases cannot target (comma separated)."
376
+ msgstr ""
377
+
378
+ #: admin/app_settings.py:282
379
+ msgid "Alias target allow list"
380
+ msgstr ""
381
+
382
+ #: admin/app_settings.py:284
383
+ msgid "A list of domains that aliases can target (comma separated)."
384
+ msgstr ""
385
+
386
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
350
387
  #, fuzzy
351
388
  #| msgid "IMAP migration"
352
389
  msgid "Administration"
@@ -368,6 +405,35 @@ msgstr ""
368
405
  msgid "Closed"
369
406
  msgstr ""
370
407
 
408
+ #: admin/dns_checker.py:96
409
+ msgid "MX {} listed by DNSBL provider {}"
410
+ msgstr ""
411
+
412
+ #: admin/dns_checker.py:138
413
+ msgid "Domain has no MX record"
414
+ msgstr ""
415
+
416
+ #: admin/dns_checker.py:141
417
+ msgid "Domain {} has no MX record"
418
+ msgstr ""
419
+
420
+ #: admin/dns_checker.py:159
421
+ msgid "Invalid MX record: {}"
422
+ msgstr ""
423
+
424
+ #: admin/dns_checker.py:166
425
+ #, python-brace-format
426
+ msgid "MX record for domain {0} is invalid: {1}"
427
+ msgstr ""
428
+
429
+ #: admin/dns_checker.py:177
430
+ msgid "[modoboa] MX issue(s) for domain {}"
431
+ msgstr ""
432
+
433
+ #: admin/dns_checker.py:224
434
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
435
+ msgstr ""
436
+
371
437
  #: admin/handlers.py:179
372
438
  msgid "domain alias"
373
439
  msgstr ""
@@ -377,58 +443,54 @@ msgstr ""
377
443
  msgid "Account import failed (%s): domain does not exist"
378
444
  msgstr ""
379
445
 
380
- #: admin/handlers.py:242 admin/models/mailbox.py:342
381
- msgid "Mailbox {} already exists"
382
- msgstr ""
383
-
384
- #: admin/handlers.py:251
446
+ #: admin/handlers.py:246
385
447
  #, python-format
386
448
  msgid "Account import failed (%s): wrong quota value"
387
449
  msgstr ""
388
450
 
389
- #: admin/lib.py:121
451
+ #: admin/lib.py:126
390
452
  msgid "You are not allowed to import domains"
391
453
  msgstr ""
392
454
 
393
- #: admin/lib.py:130
455
+ #: admin/lib.py:135
394
456
  msgid "You are not allowed to import domain aliases."
395
457
  msgstr ""
396
458
 
397
- #: admin/lib.py:222 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
398
- #: admin/tests/test_mx.py:171
459
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
460
+ #: admin/tests/test_mx.py:157
399
461
  #, python-format
400
462
  msgid "No DNS record found for %s"
401
463
  msgstr ""
402
464
 
403
- #: admin/lib.py:225
465
+ #: admin/lib.py:230
404
466
  #, python-format
405
467
  msgid "No %(type)s record for %(name)s"
406
468
  msgstr ""
407
469
 
408
- #: admin/lib.py:229 admin/tests/test_mx.py:156
470
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
409
471
  msgid "No working name servers found"
410
472
  msgstr ""
411
473
 
412
- #: admin/lib.py:232 admin/tests/test_mx.py:160
474
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
413
475
  #, python-format
414
476
  msgid "DNS resolution timeout, unable to query %s at the moment"
415
477
  msgstr ""
416
478
 
417
- #: admin/lib.py:236
479
+ #: admin/lib.py:241
418
480
  msgid "DNS name is too long: {}"
419
481
  msgstr ""
420
482
 
421
- #: admin/lib.py:267
483
+ #: admin/lib.py:272
422
484
  #, python-brace-format
423
485
  msgid "Invalid IP address format for {domain}; {addr}"
424
486
  msgstr ""
425
487
 
426
- #: admin/lib.py:360
488
+ #: admin/lib.py:365
427
489
  #, python-format
428
490
  msgid "Object already exists: %s"
429
491
  msgstr ""
430
492
 
431
- #: admin/lib.py:364
493
+ #: admin/lib.py:369
432
494
  #, python-format
433
495
  msgid "%d objects imported successfully"
434
496
  msgstr ""
@@ -461,81 +523,56 @@ msgstr ""
461
523
  msgid "Failed to generate DKIM public key"
462
524
  msgstr ""
463
525
 
464
- #: admin/management/commands/subcommands/_mx.py:133
465
- msgid "MX {} listed by DNSBL provider {}"
466
- msgstr ""
467
-
468
- #: admin/management/commands/subcommands/_mx.py:174
469
- msgid "Domain has no MX record"
470
- msgstr ""
471
-
472
- #: admin/management/commands/subcommands/_mx.py:177
473
- msgid "Domain {} has no MX record"
474
- msgstr ""
475
-
476
- #: admin/management/commands/subcommands/_mx.py:195
477
- msgid "Invalid MX record: {}"
478
- msgstr ""
479
-
480
- #: admin/management/commands/subcommands/_mx.py:202
481
- #, python-brace-format
482
- msgid "MX record for domain {0} is invalid: {1}"
483
- msgstr ""
484
-
485
- #: admin/management/commands/subcommands/_mx.py:213
486
- msgid "[modoboa] MX issue(s) for domain {}"
487
- msgstr ""
488
-
489
- #: admin/management/commands/subcommands/_mx.py:269
490
- msgid "[modoboa] DNSBL issue(s) for domain {}"
491
- msgstr ""
492
-
493
- #: admin/models/alias.py:42
526
+ #: admin/models/alias.py:43
494
527
  msgid "Domain not found."
495
528
  msgstr ""
496
529
 
497
- #: admin/models/alias.py:97 admin/models/mailbox.py:85
530
+ #: admin/models/alias.py:117 admin/models/mailbox.py:85
498
531
  #, fuzzy
499
532
  #| msgid "Server address"
500
533
  msgid "address"
501
534
  msgstr "Naslov strežnika"
502
535
 
503
- #: admin/models/alias.py:99
536
+ #: admin/models/alias.py:119
504
537
  msgid "The alias address."
505
538
  msgstr ""
506
539
 
507
- #: admin/models/alias.py:103 admin/models/domain.py:45
540
+ #: admin/models/alias.py:123 admin/models/domain.py:45
508
541
  #: admin/models/domain_alias.py:45 autoreply/models.py:25
509
542
  msgid "enabled"
510
543
  msgstr ""
511
544
 
512
- #: admin/models/alias.py:104 admin/models/domain_alias.py:46
545
+ #: admin/models/alias.py:124 admin/models/domain_alias.py:46
513
546
  msgid "Check to activate this alias"
514
547
  msgstr ""
515
548
 
516
- #: admin/models/alias.py:108
549
+ #: admin/models/alias.py:128
517
550
  msgid "Description"
518
551
  msgstr ""
519
552
 
520
- #: admin/models/alias.py:109
553
+ #: admin/models/alias.py:129
521
554
  msgid "Expire at"
522
555
  msgstr ""
523
556
 
524
- #: admin/models/alias.py:150
557
+ #: admin/models/alias.py:170
525
558
  msgid "alias"
526
559
  msgstr ""
527
560
 
528
- #: admin/models/alias.py:183
561
+ #: admin/models/alias.py:203
529
562
  #, fuzzy
530
563
  #| msgid "Server address"
531
564
  msgid "Invalid address"
532
565
  msgstr "Naslov strežnika"
533
566
 
534
- #: admin/models/alias.py:202
567
+ #: admin/models/alias.py:206
568
+ msgid "Target domain not allowed"
569
+ msgstr ""
570
+
571
+ #: admin/models/alias.py:224
535
572
  msgid "Local recipient {}@{} not found"
536
573
  msgstr ""
537
574
 
538
- #: admin/models/alias.py:251
575
+ #: admin/models/alias.py:273
539
576
  msgid "Invalid line: {}"
540
577
  msgstr ""
541
578
 
@@ -644,6 +681,10 @@ msgstr ""
644
681
  msgid "Domain does not exist"
645
682
  msgstr ""
646
683
 
684
+ #: admin/models/mailbox.py:342
685
+ msgid "Mailbox {} already exists"
686
+ msgstr ""
687
+
647
688
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:3
648
689
  #, python-format
649
690
  msgid ""
@@ -663,21 +704,355 @@ msgstr ""
663
704
  msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
664
705
  msgstr ""
665
706
 
666
- #: admin/tests/test_mx.py:155
707
+ #: admin/tests/test_mx.py:141
667
708
  #, python-format
668
709
  msgid "No MX record for %s"
669
710
  msgstr ""
670
711
 
671
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
712
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
672
713
  #, python-format
673
714
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
674
715
  msgstr ""
675
716
 
676
- #: admin/tests/test_mx.py:199
717
+ #: admin/tests/test_mx.py:185
677
718
  #, python-format
678
719
  msgid "No AAAA record for %s"
679
720
  msgstr ""
680
721
 
722
+ #: amavis/app_settings.py:11
723
+ #, fuzzy
724
+ #| msgid "OfflineIMAP settings"
725
+ msgid "Amavis settings"
726
+ msgstr "IMAP nastavitve brez povezave"
727
+
728
+ #: amavis/app_settings.py:17
729
+ msgid "Localpart is case sensitive"
730
+ msgstr ""
731
+
732
+ #: amavis/app_settings.py:19
733
+ msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
734
+ msgstr ""
735
+
736
+ #: amavis/app_settings.py:27
737
+ msgid "Recipient delimiter"
738
+ msgstr ""
739
+
740
+ #: amavis/app_settings.py:29
741
+ msgid "Value should match amavisd.conf variable $recipient_delimiter"
742
+ msgstr ""
743
+
744
+ #: amavis/app_settings.py:41
745
+ #, fuzzy
746
+ #| msgid "Connection settings"
747
+ msgid "Quarantine settings"
748
+ msgstr "Nastavitve povezave"
749
+
750
+ #: amavis/app_settings.py:47
751
+ msgid "Maximum message age"
752
+ msgstr ""
753
+
754
+ #: amavis/app_settings.py:49
755
+ msgid "Quarantine messages maximum age (in days) before deletion"
756
+ msgstr ""
757
+
758
+ #: amavis/app_settings.py:60
759
+ msgid "Message releasing"
760
+ msgstr ""
761
+
762
+ #: amavis/app_settings.py:66
763
+ msgid "Remove released messages"
764
+ msgstr ""
765
+
766
+ #: amavis/app_settings.py:68
767
+ msgid "Remove messages marked as released while cleaning up the database"
768
+ msgstr ""
769
+
770
+ #: amavis/app_settings.py:76
771
+ #, fuzzy
772
+ #| msgid "Use a secured connection"
773
+ msgid "Amavis connection mode"
774
+ msgstr "Uporabi zavarovano povezavo"
775
+
776
+ #: amavis/app_settings.py:78
777
+ #, fuzzy
778
+ #| msgid "Use a secured connection to access IMAP server"
779
+ msgid "Mode used to access the PDP server"
780
+ msgstr "Za dostop do IMAP strežnika, uporabite zavarovano povezavo"
781
+
782
+ #: amavis/app_settings.py:85
783
+ #, fuzzy
784
+ #| msgid "Server address"
785
+ msgid "PDP server address"
786
+ msgstr "Naslov strežnika"
787
+
788
+ #: amavis/app_settings.py:87
789
+ #, fuzzy
790
+ #| msgid "Server address"
791
+ msgid "PDP server address (if inet mode)"
792
+ msgstr "Naslov strežnika"
793
+
794
+ #: amavis/app_settings.py:95
795
+ #, fuzzy
796
+ #| msgid "Server port"
797
+ msgid "PDP server port"
798
+ msgstr "Vrata strežnika"
799
+
800
+ #: amavis/app_settings.py:97
801
+ msgid "PDP server port (if inet mode)"
802
+ msgstr ""
803
+
804
+ #: amavis/app_settings.py:105
805
+ #, fuzzy
806
+ #| msgid "Server port"
807
+ msgid "PDP server socket"
808
+ msgstr "Vrata strežnika"
809
+
810
+ #: amavis/app_settings.py:107
811
+ msgid "Path to the PDP server socket (if unix mode)"
812
+ msgstr ""
813
+
814
+ #: amavis/app_settings.py:115
815
+ msgid "Allow direct release"
816
+ msgstr ""
817
+
818
+ #: amavis/app_settings.py:117
819
+ msgid "Allow users to directly release their messages"
820
+ msgstr ""
821
+
822
+ #: amavis/app_settings.py:124
823
+ msgid "Enable self-service mode"
824
+ msgstr ""
825
+
826
+ #: amavis/app_settings.py:126
827
+ msgid "Activate the 'self-service' mode"
828
+ msgstr ""
829
+
830
+ #: amavis/app_settings.py:133
831
+ msgid "Notifications sender"
832
+ msgstr ""
833
+
834
+ #: amavis/app_settings.py:135
835
+ msgid "The e-mail address used to send notitications"
836
+ msgstr ""
837
+
838
+ #: amavis/app_settings.py:146
839
+ msgid "Manual learning"
840
+ msgstr ""
841
+
842
+ #: amavis/app_settings.py:152
843
+ msgid "Enable manual learning"
844
+ msgstr ""
845
+
846
+ #: amavis/app_settings.py:154
847
+ msgid "Allow super administrators to manually train Spamassassin"
848
+ msgstr ""
849
+
850
+ #: amavis/app_settings.py:161
851
+ msgid "Is Spamassassin local?"
852
+ msgstr ""
853
+
854
+ #: amavis/app_settings.py:163
855
+ msgid "Tell if Spamassassin is running on the same server than modoboa"
856
+ msgstr ""
857
+
858
+ #: amavis/app_settings.py:171
859
+ msgid "Default user"
860
+ msgstr ""
861
+
862
+ #: amavis/app_settings.py:173
863
+ msgid "Name of the user owning the default bayesian database"
864
+ msgstr ""
865
+
866
+ #: amavis/app_settings.py:181
867
+ #, fuzzy
868
+ #| msgid "Server address"
869
+ msgid "Spamd address"
870
+ msgstr "Naslov strežnika"
871
+
872
+ #: amavis/app_settings.py:183
873
+ msgid "The IP address where spamd can be reached"
874
+ msgstr ""
875
+
876
+ #: amavis/app_settings.py:191
877
+ msgid "Spamd port"
878
+ msgstr ""
879
+
880
+ #: amavis/app_settings.py:193
881
+ msgid "The TCP port spamd is listening on"
882
+ msgstr ""
883
+
884
+ #: amavis/app_settings.py:202
885
+ msgid "Enable per-domain manual learning"
886
+ msgstr ""
887
+
888
+ #: amavis/app_settings.py:205
889
+ msgid ""
890
+ "Allow domain administrators to train Spamassassin (within dedicated per-"
891
+ "domain databases)"
892
+ msgstr ""
893
+
894
+ #: amavis/app_settings.py:215
895
+ msgid "Enable per-user manual learning"
896
+ msgstr ""
897
+
898
+ #: amavis/app_settings.py:218
899
+ msgid ""
900
+ "Allow simple users to personally train Spamassassin (within a dedicated "
901
+ "database)"
902
+ msgstr ""
903
+
904
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
905
+ msgid "Display"
906
+ msgstr ""
907
+
908
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
909
+ msgid "Number of displayed emails per page"
910
+ msgstr ""
911
+
912
+ #: amavis/app_settings.py:246
913
+ msgid "Set the maximum number of messages displayed in a page"
914
+ msgstr ""
915
+
916
+ #: amavis/app_settings.py:266 amavis/app_settings.py:273
917
+ msgid "Amavis"
918
+ msgstr ""
919
+
920
+ #: amavis/checks/settings_checks.py:8
921
+ msgid ""
922
+ "AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
923
+ "by the Amavis database."
924
+ msgstr ""
925
+
926
+ #: amavis/checks/settings_checks.py:12
927
+ msgid ""
928
+ "Check your database character encoding and set/update "
929
+ "AMAVIS_DEFAULT_DATABASE_ENCODING."
930
+ msgstr ""
931
+
932
+ #: amavis/checks/settings_checks.py:19
933
+ msgid "Modoboa Amavis has not been tested using the selected database engine."
934
+ msgstr ""
935
+
936
+ #: amavis/checks/settings_checks.py:20
937
+ msgid "Try using PostgreSQL, MySQL or MariaDB."
938
+ msgstr ""
939
+
940
+ #: amavis/handlers.py:141
941
+ msgid "Pending requests"
942
+ msgstr ""
943
+
944
+ #: amavis/lib.py:59
945
+ #, fuzzy, python-format
946
+ #| msgid "Connection to IMAP server failed: %s"
947
+ msgid "Connection to amavis failed: %s"
948
+ msgstr "Povezava z IMAP strežnikom ni uspela: %s"
949
+
950
+ #: amavis/lib.py:133
951
+ msgid "Failed to find {} binary"
952
+ msgstr ""
953
+
954
+ #: amavis/lib.py:148
955
+ msgid "No recipient found"
956
+ msgstr ""
957
+
958
+ #: amavis/lib.py:159
959
+ msgid "Local domain not found"
960
+ msgstr ""
961
+
962
+ #: amavis/management/commands/amnotify.py:59
963
+ msgid "[modoboa] Pending release requests"
964
+ msgstr ""
965
+
966
+ #: amavis/models.py:101
967
+ msgid "Virus filter"
968
+ msgstr ""
969
+
970
+ #: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
971
+ msgid "yes"
972
+ msgstr ""
973
+
974
+ #: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
975
+ msgid "no"
976
+ msgstr ""
977
+
978
+ #: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
979
+ msgid "default"
980
+ msgstr ""
981
+
982
+ #: amavis/models.py:111
983
+ msgid "Bypass virus checks or not. Choose 'default' to use global settings."
984
+ msgstr ""
985
+
986
+ #: amavis/models.py:115
987
+ msgid "Spam filter"
988
+ msgstr ""
989
+
990
+ #: amavis/models.py:125
991
+ msgid "Bypass spam checks or not. Choose 'default' to use global settings."
992
+ msgstr ""
993
+
994
+ #: amavis/models.py:129
995
+ msgid "Banned filter"
996
+ msgstr ""
997
+
998
+ #: amavis/models.py:139
999
+ msgid "Bypass banned checks or not. Choose 'default' to use global settings."
1000
+ msgstr ""
1001
+
1002
+ #: amavis/models.py:170
1003
+ msgid "Spam marker"
1004
+ msgstr ""
1005
+
1006
+ #: amavis/models.py:176
1007
+ msgid ""
1008
+ "Modify spam subject using the specified text. Choose 'default' to use global "
1009
+ "settings."
1010
+ msgstr ""
1011
+
1012
+ #: amavis/templates/amavis/notifications/pending_requests.html:3
1013
+ #, python-format
1014
+ msgid "%(counter)s release request is pending for action."
1015
+ msgid_plural "%(counter)s release requests are pending for action."
1016
+ msgstr[0] ""
1017
+ msgstr[1] ""
1018
+ msgstr[2] ""
1019
+ msgstr[3] ""
1020
+
1021
+ #: amavis/templates/amavis/notifications/pending_requests.html:8
1022
+ msgid "Sketch:"
1023
+ msgstr ""
1024
+
1025
+ #: amavis/templates/amavis/notifications/pending_requests.html:10
1026
+ msgid "From:"
1027
+ msgstr ""
1028
+
1029
+ #: amavis/templates/amavis/notifications/pending_requests.html:11
1030
+ msgid "To:"
1031
+ msgstr ""
1032
+
1033
+ #: amavis/templates/amavis/notifications/pending_requests.html:12
1034
+ msgid "Date:"
1035
+ msgstr ""
1036
+
1037
+ #: amavis/templates/amavis/notifications/pending_requests.html:13
1038
+ msgid "Subject:"
1039
+ msgstr ""
1040
+
1041
+ #: amavis/templates/amavis/notifications/pending_requests.html:14
1042
+ msgid "Act on this message:"
1043
+ msgstr ""
1044
+
1045
+ #: amavis/templates/amavis/notifications/pending_requests.html:16
1046
+ #, python-format
1047
+ msgid "Please visit %(listingurl)s for a full listing."
1048
+ msgstr ""
1049
+
1050
+ #: amavis/viewsets.py:122
1051
+ #, fuzzy
1052
+ #| msgid "Server address"
1053
+ msgid "Invalid request"
1054
+ msgstr "Naslov strežnika"
1055
+
681
1056
  #: autoreply/api/v2/serializers.py:27
682
1057
  msgid "Value can't be less than 1 day"
683
1058
  msgstr ""
@@ -784,7 +1159,7 @@ msgstr "Selitev IMAP"
784
1159
  msgid "Allow domain administrators to manage user calendars (read and write)"
785
1160
  msgstr ""
786
1161
 
787
- #: calendars/app_settings.py:60 core/app_settings.py:676
1162
+ #: calendars/app_settings.py:60 core/app_settings.py:664
788
1163
  #: rspamd/app_settings.py:45
789
1164
  msgid "Miscellaneous"
790
1165
  msgstr ""
@@ -798,15 +1173,15 @@ msgid ""
798
1173
  "Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
799
1174
  msgstr ""
800
1175
 
801
- #: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
1176
+ #: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
802
1177
  msgid "Calendars"
803
1178
  msgstr ""
804
1179
 
805
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1180
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
806
1181
  msgid "Server location is not set, please fix it."
807
1182
  msgstr ""
808
1183
 
809
- #: calendars/viewsets.py:197
1184
+ #: calendars/viewsets.py:199
810
1185
  msgid "Uploaded file is too big (max: {} bytes)"
811
1186
  msgstr ""
812
1187
 
@@ -836,7 +1211,7 @@ msgstr "Nastavitve povezave"
836
1211
  msgid "Interval in seconds between 2 synchronization requests"
837
1212
  msgstr ""
838
1213
 
839
- #: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
1214
+ #: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
840
1215
  msgid "Contacts"
841
1216
  msgstr ""
842
1217
 
@@ -884,12 +1259,12 @@ msgstr ""
884
1259
  msgid "2FA is already enabled"
885
1260
  msgstr ""
886
1261
 
887
- #: core/api/v1/serializers.py:86
1262
+ #: core/api/v1/serializers.py:87
888
1263
  #, python-format
889
1264
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
890
1265
  msgstr ""
891
1266
 
892
- #: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
1267
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
893
1268
  msgid "Invalid password"
894
1269
  msgstr ""
895
1270
 
@@ -901,24 +1276,20 @@ msgstr ""
901
1276
  msgid "Local"
902
1277
  msgstr ""
903
1278
 
904
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
905
- msgid "User profile"
906
- msgstr ""
907
-
908
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
909
- #: core/api/v2/serializers.py:228
1279
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1280
+ #: core/api/v2/serializers.py:221
910
1281
  msgid "Invalid syntax"
911
1282
  msgstr ""
912
1283
 
913
- #: core/api/v2/serializers.py:233
1284
+ #: core/api/v2/serializers.py:226
914
1285
  msgid "Invalid rounds number"
915
1286
  msgstr ""
916
1287
 
917
- #: core/api/v2/serializers.py:433 core/forms.py:81
1288
+ #: core/api/v2/serializers.py:426 core/forms.py:81
918
1289
  msgid "This code is invalid"
919
1290
  msgstr ""
920
1291
 
921
- #: core/api/v2/serializers.py:503 core/views/auth.py:194 core/views/auth.py:247
1292
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
922
1293
  msgid "Please use the following code to recover your Modoboa password: {}"
923
1294
  msgstr ""
924
1295
 
@@ -928,550 +1299,550 @@ msgstr ""
928
1299
  msgid "Administration console"
929
1300
  msgstr "Selitev IMAP"
930
1301
 
931
- #: core/api/v2/viewsets.py:187
1302
+ #: core/api/v2/viewsets.py:184 dmarc/models.py:11
1303
+ msgid "Quarantine"
1304
+ msgstr ""
1305
+
1306
+ #: core/api/v2/viewsets.py:186
1307
+ msgid "Amavis quarantine"
1308
+ msgstr ""
1309
+
1310
+ #: core/api/v2/viewsets.py:197
932
1311
  #, fuzzy
933
1312
  #| msgid "Server address"
934
1313
  msgid "Address book"
935
1314
  msgstr "Naslov strežnika"
936
1315
 
937
- #: core/api/v2/viewsets.py:197
1316
+ #: core/api/v2/viewsets.py:207
938
1317
  msgid "Calendar"
939
1318
  msgstr ""
940
1319
 
941
- #: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
942
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1320
+ #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1321
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
943
1322
  msgid "Webmail"
944
1323
  msgstr ""
945
1324
 
946
- #: core/app_settings.py:37
1325
+ #: core/app_settings.py:25
947
1326
  msgid "Authentication"
948
1327
  msgstr ""
949
1328
 
950
- #: core/app_settings.py:43
1329
+ #: core/app_settings.py:31
951
1330
  msgid "Authentication type"
952
1331
  msgstr ""
953
1332
 
954
- #: core/app_settings.py:45
1333
+ #: core/app_settings.py:33
955
1334
  msgid "The backend used for authentication"
956
1335
  msgstr ""
957
1336
 
958
- #: core/app_settings.py:52
1337
+ #: core/app_settings.py:40
959
1338
  msgid "Default password scheme"
960
1339
  msgstr ""
961
1340
 
962
- #: core/app_settings.py:54
1341
+ #: core/app_settings.py:42
963
1342
  msgid "Scheme used to crypt mailbox passwords"
964
1343
  msgstr ""
965
1344
 
966
- #: core/app_settings.py:61
1345
+ #: core/app_settings.py:49
967
1346
  msgid "Rounds"
968
1347
  msgstr ""
969
1348
 
970
- #: core/app_settings.py:63
1349
+ #: core/app_settings.py:51
971
1350
  msgid ""
972
1351
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
973
1352
  "between 1000 and 999999999, inclusive."
974
1353
  msgstr ""
975
1354
 
976
- #: core/app_settings.py:73
1355
+ #: core/app_settings.py:61
977
1356
  msgid "Update password scheme at login"
978
1357
  msgstr ""
979
1358
 
980
- #: core/app_settings.py:76
1359
+ #: core/app_settings.py:64
981
1360
  msgid "Update user password at login to use the default password scheme"
982
1361
  msgstr ""
983
1362
 
984
- #: core/app_settings.py:84
1363
+ #: core/app_settings.py:72
985
1364
  msgid "Default password"
986
1365
  msgstr ""
987
1366
 
988
- #: core/app_settings.py:86
1367
+ #: core/app_settings.py:74
989
1368
  msgid "Default password for automatically created accounts."
990
1369
  msgstr ""
991
1370
 
992
- #: core/app_settings.py:93
1371
+ #: core/app_settings.py:81
993
1372
  msgid "Random password length"
994
1373
  msgstr ""
995
1374
 
996
- #: core/app_settings.py:95
1375
+ #: core/app_settings.py:83
997
1376
  msgid "Length of randomly generated passwords."
998
1377
  msgstr ""
999
1378
 
1000
- #: core/app_settings.py:103
1379
+ #: core/app_settings.py:91
1001
1380
  msgid "Allow special characters for random password"
1002
1381
  msgstr ""
1003
1382
 
1004
- #: core/app_settings.py:106
1383
+ #: core/app_settings.py:94
1005
1384
  msgid "Enable special characters in randomly generated passwords."
1006
1385
  msgstr ""
1007
1386
 
1008
- #: core/app_settings.py:114
1387
+ #: core/app_settings.py:102
1009
1388
  msgid "Update password service URL"
1010
1389
  msgstr ""
1011
1390
 
1012
- #: core/app_settings.py:116
1391
+ #: core/app_settings.py:104
1013
1392
  msgid ""
1014
1393
  "The URL of an external page where users will be able to update their "
1015
1394
  "password. It applies only to non local users, ie. those automatically "
1016
1395
  "created after a successful external authentication (LDAP, SMTP)."
1017
1396
  msgstr ""
1018
1397
 
1019
- #: core/app_settings.py:126
1398
+ #: core/app_settings.py:114
1020
1399
  msgid "Password recovery announcement"
1021
1400
  msgstr ""
1022
1401
 
1023
- #: core/app_settings.py:128
1402
+ #: core/app_settings.py:116
1024
1403
  msgid "A temporary message that will be displayed on the reset password page."
1025
1404
  msgstr ""
1026
1405
 
1027
- #: core/app_settings.py:137
1406
+ #: core/app_settings.py:125
1028
1407
  msgid "Enable password recovery by SMS"
1029
1408
  msgstr ""
1030
1409
 
1031
- #: core/app_settings.py:140
1410
+ #: core/app_settings.py:128
1032
1411
  msgid "Enable password recovery by SMS for users who filled a phone number."
1033
1412
  msgstr ""
1034
1413
 
1035
- #: core/app_settings.py:148
1414
+ #: core/app_settings.py:136
1036
1415
  msgid "SMS provider"
1037
1416
  msgstr ""
1038
1417
 
1039
- #: core/app_settings.py:151
1418
+ #: core/app_settings.py:139
1040
1419
  msgid "Choose a provider to send password recovery SMS"
1041
1420
  msgstr ""
1042
1421
 
1043
- #: core/app_settings.py:163
1422
+ #: core/app_settings.py:151
1044
1423
  msgid "LDAP"
1045
1424
  msgstr ""
1046
1425
 
1047
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1426
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1048
1427
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1049
- #: webmail/app_settings.py:73
1428
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1050
1429
  msgid "Server address"
1051
1430
  msgstr "Naslov strežnika"
1052
1431
 
1053
- #: core/app_settings.py:171
1432
+ #: core/app_settings.py:159
1054
1433
  msgid "The IP address or the DNS name of the LDAP server"
1055
1434
  msgstr ""
1056
1435
 
1057
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1436
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1058
1437
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1059
- #: webmail/app_settings.py:91
1438
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1060
1439
  msgid "Server port"
1061
1440
  msgstr "Vrata strežnika"
1062
1441
 
1063
- #: core/app_settings.py:180
1442
+ #: core/app_settings.py:168
1064
1443
  msgid "The TCP port number used by the LDAP server"
1065
1444
  msgstr ""
1066
1445
 
1067
- #: core/app_settings.py:188
1446
+ #: core/app_settings.py:176
1068
1447
  msgid "Enable secondary server (fallback)"
1069
1448
  msgstr ""
1070
1449
 
1071
- #: core/app_settings.py:191
1450
+ #: core/app_settings.py:179
1072
1451
  msgid ""
1073
1452
  "Enable a secondary LDAP server which will be used if the primary one fails"
1074
1453
  msgstr ""
1075
1454
 
1076
- #: core/app_settings.py:199
1455
+ #: core/app_settings.py:187
1077
1456
  #, fuzzy
1078
1457
  #| msgid "Server address"
1079
1458
  msgid "Secondary server address"
1080
1459
  msgstr "Naslov strežnika"
1081
1460
 
1082
- #: core/app_settings.py:202
1461
+ #: core/app_settings.py:190
1083
1462
  msgid "The IP address or the DNS name of the seondary LDAP server"
1084
1463
  msgstr ""
1085
1464
 
1086
- #: core/app_settings.py:209
1465
+ #: core/app_settings.py:197
1087
1466
  #, fuzzy
1088
1467
  #| msgid "Server port"
1089
1468
  msgid "Secondary server port"
1090
1469
  msgstr "Vrata strežnika"
1091
1470
 
1092
- #: core/app_settings.py:212
1471
+ #: core/app_settings.py:200
1093
1472
  msgid "The TCP port number used by the LDAP secondary server"
1094
1473
  msgstr ""
1095
1474
 
1096
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1475
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1097
1476
  #: webmail/app_settings.py:45
1098
1477
  msgid "Use a secured connection"
1099
1478
  msgstr "Uporabi zavarovano povezavo"
1100
1479
 
1101
- #: core/app_settings.py:221
1480
+ #: core/app_settings.py:209
1102
1481
  #, fuzzy
1103
1482
  #| msgid "Use a secured connection to access IMAP server"
1104
1483
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1105
1484
  msgstr "Za dostop do IMAP strežnika, uporabite zavarovano povezavo"
1106
1485
 
1107
- #: core/app_settings.py:228
1486
+ #: core/app_settings.py:216
1108
1487
  msgid "Active Directory"
1109
1488
  msgstr ""
1110
1489
 
1111
- #: core/app_settings.py:230
1490
+ #: core/app_settings.py:218
1112
1491
  msgid "Tell if the LDAP server is an Active Directory one"
1113
1492
  msgstr ""
1114
1493
 
1115
- #: core/app_settings.py:237
1494
+ #: core/app_settings.py:225
1116
1495
  msgid "Administrator groups"
1117
1496
  msgstr ""
1118
1497
 
1119
- #: core/app_settings.py:239
1498
+ #: core/app_settings.py:227
1120
1499
  msgid ""
1121
1500
  "Members of those LDAP Posix groups will be created as domain administrators. "
1122
1501
  "Use ';' characters to separate groups."
1123
1502
  msgstr ""
1124
1503
 
1125
- #: core/app_settings.py:248
1504
+ #: core/app_settings.py:236
1126
1505
  msgid "Group type"
1127
1506
  msgstr ""
1128
1507
 
1129
- #: core/app_settings.py:250
1508
+ #: core/app_settings.py:238
1130
1509
  msgid "The LDAP group type to use with your directory."
1131
1510
  msgstr ""
1132
1511
 
1133
- #: core/app_settings.py:257
1512
+ #: core/app_settings.py:245
1134
1513
  msgid "Groups search base"
1135
1514
  msgstr ""
1136
1515
 
1137
- #: core/app_settings.py:259
1516
+ #: core/app_settings.py:247
1138
1517
  msgid "The distinguished name of the search base used to find groups"
1139
1518
  msgstr ""
1140
1519
 
1141
- #: core/app_settings.py:267
1520
+ #: core/app_settings.py:255
1142
1521
  msgid "Password attribute"
1143
1522
  msgstr ""
1144
1523
 
1145
- #: core/app_settings.py:269
1524
+ #: core/app_settings.py:257
1146
1525
  msgid "The attribute used to store user passwords"
1147
1526
  msgstr ""
1148
1527
 
1149
- #: core/app_settings.py:276
1528
+ #: core/app_settings.py:264
1150
1529
  #, fuzzy
1151
1530
  #| msgid "Connection settings"
1152
1531
  msgid "LDAP authentication settings"
1153
1532
  msgstr "Nastavitve povezave"
1154
1533
 
1155
- #: core/app_settings.py:284
1534
+ #: core/app_settings.py:272
1156
1535
  msgid "Authentication method"
1157
1536
  msgstr ""
1158
1537
 
1159
- #: core/app_settings.py:287
1538
+ #: core/app_settings.py:275
1160
1539
  msgid "Choose the authentication method to use"
1161
1540
  msgstr ""
1162
1541
 
1163
- #: core/app_settings.py:294 core/app_settings.py:357
1542
+ #: core/app_settings.py:282 core/app_settings.py:345
1164
1543
  msgid "Bind DN"
1165
1544
  msgstr ""
1166
1545
 
1167
- #: core/app_settings.py:296 core/app_settings.py:359
1546
+ #: core/app_settings.py:284 core/app_settings.py:347
1168
1547
  msgid ""
1169
1548
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1170
1549
  "for an anonymous bind"
1171
1550
  msgstr ""
1172
1551
 
1173
- #: core/app_settings.py:305 core/app_settings.py:367
1552
+ #: core/app_settings.py:293 core/app_settings.py:355
1174
1553
  msgid "Bind password"
1175
1554
  msgstr ""
1176
1555
 
1177
- #: core/app_settings.py:307 core/app_settings.py:369
1556
+ #: core/app_settings.py:295 core/app_settings.py:357
1178
1557
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1179
1558
  msgstr ""
1180
1559
 
1181
- #: core/app_settings.py:317 core/app_settings.py:422
1560
+ #: core/app_settings.py:305 core/app_settings.py:410
1182
1561
  msgid "Users search base"
1183
1562
  msgstr ""
1184
1563
 
1185
- #: core/app_settings.py:319 core/app_settings.py:424
1564
+ #: core/app_settings.py:307 core/app_settings.py:412
1186
1565
  msgid "The distinguished name of the search base used to find users"
1187
1566
  msgstr ""
1188
1567
 
1189
- #: core/app_settings.py:328 core/app_settings.py:433
1568
+ #: core/app_settings.py:316 core/app_settings.py:421
1190
1569
  msgid "Search filter"
1191
1570
  msgstr ""
1192
1571
 
1193
- #: core/app_settings.py:330 core/app_settings.py:435
1572
+ #: core/app_settings.py:318 core/app_settings.py:423
1194
1573
  msgid ""
1195
1574
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1196
1575
  "valid, it must be enclosed in parentheses."
1197
1576
  msgstr ""
1198
1577
 
1199
- #: core/app_settings.py:339
1578
+ #: core/app_settings.py:327
1200
1579
  msgid "User DN template"
1201
1580
  msgstr ""
1202
1581
 
1203
- #: core/app_settings.py:341
1582
+ #: core/app_settings.py:329
1204
1583
  #, python-format
1205
1584
  msgid ""
1206
1585
  "The template used to construct a user's DN. It should contain one "
1207
1586
  "placeholder (ie. %(user)s)"
1208
1587
  msgstr ""
1209
1588
 
1210
- #: core/app_settings.py:350
1589
+ #: core/app_settings.py:338
1211
1590
  #, fuzzy
1212
1591
  #| msgid "Connection settings"
1213
1592
  msgid "LDAP synchronization settings"
1214
1593
  msgstr "Nastavitve povezave"
1215
1594
 
1216
- #: core/app_settings.py:378
1595
+ #: core/app_settings.py:366
1217
1596
  msgid "Enable export to LDAP"
1218
1597
  msgstr ""
1219
1598
 
1220
- #: core/app_settings.py:380
1599
+ #: core/app_settings.py:368
1221
1600
  msgid ""
1222
1601
  "Enable automatic synchronization between local database and LDAP directory"
1223
1602
  msgstr ""
1224
1603
 
1225
- #: core/app_settings.py:389
1604
+ #: core/app_settings.py:377
1226
1605
  msgid "Delete remote LDAP account when local account is deleted"
1227
1606
  msgstr ""
1228
1607
 
1229
- #: core/app_settings.py:392
1608
+ #: core/app_settings.py:380
1230
1609
  msgid ""
1231
1610
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1232
1611
  "be disabled."
1233
1612
  msgstr ""
1234
1613
 
1235
- #: core/app_settings.py:401
1614
+ #: core/app_settings.py:389
1236
1615
  msgid "Account DN template"
1237
1616
  msgstr ""
1238
1617
 
1239
- #: core/app_settings.py:403
1618
+ #: core/app_settings.py:391
1240
1619
  #, python-format
1241
1620
  msgid ""
1242
1621
  "The template used to construct an account's DN. It should contain one "
1243
1622
  "placeholder (ie. %(user)s)"
1244
1623
  msgstr ""
1245
1624
 
1246
- #: core/app_settings.py:412
1625
+ #: core/app_settings.py:400
1247
1626
  msgid "Enable import from LDAP"
1248
1627
  msgstr ""
1249
1628
 
1250
- #: core/app_settings.py:414
1629
+ #: core/app_settings.py:402
1251
1630
  msgid "Enable account synchronization from LDAP directory to local database"
1252
1631
  msgstr ""
1253
1632
 
1254
- #: core/app_settings.py:444
1633
+ #: core/app_settings.py:432
1255
1634
  msgid "Username attribute"
1256
1635
  msgstr ""
1257
1636
 
1258
- #: core/app_settings.py:446
1637
+ #: core/app_settings.py:434
1259
1638
  msgid "The name of the LDAP attribute where the username can be found."
1260
1639
  msgstr ""
1261
1640
 
1262
- #: core/app_settings.py:455
1641
+ #: core/app_settings.py:443
1263
1642
  msgid "Enable Dovecot LDAP sync"
1264
1643
  msgstr ""
1265
1644
 
1266
- #: core/app_settings.py:457
1645
+ #: core/app_settings.py:445
1267
1646
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1268
1647
  msgstr ""
1269
1648
 
1270
- #: core/app_settings.py:465
1649
+ #: core/app_settings.py:453
1271
1650
  msgid "Dovecot LDAP config file"
1272
1651
  msgstr ""
1273
1652
 
1274
- #: core/app_settings.py:467
1653
+ #: core/app_settings.py:455
1275
1654
  msgid ""
1276
1655
  "Location of the configuration file which contains Dovecot LDAP settings."
1277
1656
  msgstr ""
1278
1657
 
1279
- #: core/app_settings.py:480
1658
+ #: core/app_settings.py:468
1280
1659
  msgid "Dashboard"
1281
1660
  msgstr ""
1282
1661
 
1283
- #: core/app_settings.py:486
1662
+ #: core/app_settings.py:474
1284
1663
  msgid "Custom welcome message"
1285
1664
  msgstr ""
1286
1665
 
1287
- #: core/app_settings.py:488
1666
+ #: core/app_settings.py:476
1288
1667
  msgid "A welcome message that will be displayed instead the default one"
1289
1668
  msgstr ""
1290
1669
 
1291
- #: core/app_settings.py:495
1670
+ #: core/app_settings.py:483
1292
1671
  msgid "Custom RSS feed"
1293
1672
  msgstr ""
1294
1673
 
1295
- #: core/app_settings.py:497
1674
+ #: core/app_settings.py:485
1296
1675
  msgid "Display custom RSS feed to resellers and domain administrators"
1297
1676
  msgstr ""
1298
1677
 
1299
- #: core/app_settings.py:506
1678
+ #: core/app_settings.py:494
1300
1679
  msgid "Display custom RSS feed to super admins"
1301
1680
  msgstr ""
1302
1681
 
1303
- #: core/app_settings.py:509
1682
+ #: core/app_settings.py:497
1304
1683
  msgid "Display custom RSS feed also to super administrators"
1305
1684
  msgstr ""
1306
1685
 
1307
- #: core/app_settings.py:517
1686
+ #: core/app_settings.py:505
1308
1687
  msgid "Hide features widget"
1309
1688
  msgstr ""
1310
1689
 
1311
- #: core/app_settings.py:519
1690
+ #: core/app_settings.py:507
1312
1691
  msgid "Hide features widget for resellers and domain administrators"
1313
1692
  msgstr ""
1314
1693
 
1315
- #: core/app_settings.py:531
1694
+ #: core/app_settings.py:519
1316
1695
  msgid "Theme"
1317
1696
  msgstr ""
1318
1697
 
1319
- #: core/app_settings.py:537
1698
+ #: core/app_settings.py:525
1320
1699
  msgid "Primary theme color"
1321
1700
  msgstr ""
1322
1701
 
1323
- #: core/app_settings.py:539
1702
+ #: core/app_settings.py:527
1324
1703
  msgid ""
1325
1704
  "Primary color of the theme (hexadecimal code), used as the background color "
1326
1705
  "of the left menu for example"
1327
1706
  msgstr ""
1328
1707
 
1329
- #: core/app_settings.py:548
1708
+ #: core/app_settings.py:536
1330
1709
  msgid "Primary theme color (lighter version)"
1331
1710
  msgstr ""
1332
1711
 
1333
- #: core/app_settings.py:551 core/app_settings.py:563
1712
+ #: core/app_settings.py:539 core/app_settings.py:551
1334
1713
  msgid "Primary color of the theme (hexadecimal code)"
1335
1714
  msgstr ""
1336
1715
 
1337
- #: core/app_settings.py:560
1716
+ #: core/app_settings.py:548
1338
1717
  msgid "Primary theme color (darker version)"
1339
1718
  msgstr ""
1340
1719
 
1341
- #: core/app_settings.py:571
1720
+ #: core/app_settings.py:559
1342
1721
  #, fuzzy
1343
1722
  #| msgid "Server port"
1344
1723
  msgid "Secondary theme color"
1345
1724
  msgstr "Vrata strežnika"
1346
1725
 
1347
- #: core/app_settings.py:573
1726
+ #: core/app_settings.py:561
1348
1727
  msgid ""
1349
1728
  "Secondary color of the theme (hexadecimal code), used as the background "
1350
1729
  "color of some buttons for example"
1351
1730
  msgstr ""
1352
1731
 
1353
- #: core/app_settings.py:581
1732
+ #: core/app_settings.py:569
1354
1733
  msgid "Labels theme color"
1355
1734
  msgstr ""
1356
1735
 
1357
- #: core/app_settings.py:583
1736
+ #: core/app_settings.py:571
1358
1737
  msgid "Theme color for labels (hexadecimal code)"
1359
1738
  msgstr ""
1360
1739
 
1361
- #: core/app_settings.py:595
1740
+ #: core/app_settings.py:583
1362
1741
  msgid "Notifications"
1363
1742
  msgstr ""
1364
1743
 
1365
- #: core/app_settings.py:601
1744
+ #: core/app_settings.py:589
1366
1745
  #, fuzzy
1367
1746
  #| msgid "Server address"
1368
1747
  msgid "Sender address"
1369
1748
  msgstr "Naslov strežnika"
1370
1749
 
1371
- #: core/app_settings.py:603
1750
+ #: core/app_settings.py:591
1372
1751
  msgid "Email address used to send notifications."
1373
1752
  msgstr ""
1374
1753
 
1375
- #: core/app_settings.py:614
1754
+ #: core/app_settings.py:602
1376
1755
  msgid "Public API"
1377
1756
  msgstr ""
1378
1757
 
1379
- #: core/app_settings.py:620
1758
+ #: core/app_settings.py:608
1380
1759
  msgid "Enable communication"
1381
1760
  msgstr ""
1382
1761
 
1383
- #: core/app_settings.py:622 core/app_settings.py:632
1762
+ #: core/app_settings.py:610 core/app_settings.py:620
1384
1763
  msgid "Automatically checks if a newer version is available"
1385
1764
  msgstr ""
1386
1765
 
1387
- #: core/app_settings.py:629
1766
+ #: core/app_settings.py:617
1388
1767
  msgid "Check new versions"
1389
1768
  msgstr ""
1390
1769
 
1391
- #: core/app_settings.py:640
1770
+ #: core/app_settings.py:628
1392
1771
  msgid "Send an email when new versions are found"
1393
1772
  msgstr ""
1394
1773
 
1395
- #: core/app_settings.py:644
1774
+ #: core/app_settings.py:632
1396
1775
  msgid "Send an email to notify admins about new versions"
1397
1776
  msgstr ""
1398
1777
 
1399
- #: core/app_settings.py:651 sievefilters/constants.py:25
1778
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1400
1779
  msgid "Recipient"
1401
1780
  msgstr ""
1402
1781
 
1403
- #: core/app_settings.py:654
1782
+ #: core/app_settings.py:642
1404
1783
  msgid "Recipient of new versions notification emails."
1405
1784
  msgstr ""
1406
1785
 
1407
- #: core/app_settings.py:661
1786
+ #: core/app_settings.py:649
1408
1787
  msgid "Send statistics"
1409
1788
  msgstr ""
1410
1789
 
1411
- #: core/app_settings.py:664
1790
+ #: core/app_settings.py:652
1412
1791
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1413
1792
  msgstr ""
1414
1793
 
1415
- #: core/app_settings.py:683
1794
+ #: core/app_settings.py:671
1416
1795
  msgid "Enable inactive account tracking"
1417
1796
  msgstr ""
1418
1797
 
1419
- #: core/app_settings.py:686
1798
+ #: core/app_settings.py:674
1420
1799
  msgid ""
1421
1800
  "Allow the administrator to set a threshold (in days) beyond which an account "
1422
1801
  "is considered inactive if the user hasn't logged in"
1423
1802
  msgstr ""
1424
1803
 
1425
- #: core/app_settings.py:695
1804
+ #: core/app_settings.py:683
1426
1805
  msgid "Inactive account threshold"
1427
1806
  msgstr ""
1428
1807
 
1429
- #: core/app_settings.py:698
1808
+ #: core/app_settings.py:686
1430
1809
  msgid ""
1431
1810
  "An account with a last login date greater than this threshold (in days) will "
1432
1811
  "be considered as inactive"
1433
1812
  msgstr ""
1434
1813
 
1435
- #: core/app_settings.py:707
1814
+ #: core/app_settings.py:695
1436
1815
  msgid "Top notifications check interval"
1437
1816
  msgstr ""
1438
1817
 
1439
- #: core/app_settings.py:710
1818
+ #: core/app_settings.py:698
1440
1819
  msgid "Interval between two top notification checks (in seconds)"
1441
1820
  msgstr ""
1442
1821
 
1443
- #: core/app_settings.py:717
1822
+ #: core/app_settings.py:705
1444
1823
  msgid "Maximum log record age"
1445
1824
  msgstr ""
1446
1825
 
1447
- #: core/app_settings.py:719
1826
+ #: core/app_settings.py:707
1448
1827
  msgid "The maximum age in days of a log record"
1449
1828
  msgstr ""
1450
1829
 
1451
- #: core/app_settings.py:727
1830
+ #: core/app_settings.py:715
1452
1831
  msgid "Retention time in message history"
1453
1832
  msgstr ""
1454
1833
 
1455
- #: core/app_settings.py:730
1834
+ #: core/app_settings.py:718
1456
1835
  msgid "Retention time (in days) of a message in the message history section"
1457
1836
  msgstr ""
1458
1837
 
1459
- #: core/app_settings.py:737
1838
+ #: core/app_settings.py:725
1460
1839
  msgid "Items per page"
1461
1840
  msgstr ""
1462
1841
 
1463
- #: core/app_settings.py:739
1842
+ #: core/app_settings.py:727
1464
1843
  msgid "Number of displayed items per page"
1465
1844
  msgstr ""
1466
1845
 
1467
- #: core/app_settings.py:746
1468
- msgid "Default top redirection"
1469
- msgstr ""
1470
-
1471
- #: core/app_settings.py:748
1472
- msgid "The default redirection used when no application is specified"
1473
- msgstr ""
1474
-
1475
1846
  #: core/checks.py:15
1476
1847
  msgid ""
1477
1848
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -1597,7 +1968,7 @@ msgstr ""
1597
1968
  msgid "One or more updates are available"
1598
1969
  msgstr ""
1599
1970
 
1600
- #: core/handlers.py:138
1971
+ #: core/handlers.py:140
1601
1972
  #, python-format
1602
1973
  msgid "You are still using a deprecated password scheme (%s)"
1603
1974
  msgstr ""
@@ -1764,22 +2135,22 @@ msgstr[3] ""
1764
2135
  msgid "The core part of Modoboa"
1765
2136
  msgstr ""
1766
2137
 
1767
- #: core/views/auth.py:65
2138
+ #: core/views/auth.py:82
1768
2139
  #, python-format
1769
2140
  msgid "User '%s' successfully logged in"
1770
2141
  msgstr ""
1771
2142
 
1772
- #: core/views/auth.py:109
2143
+ #: core/views/auth.py:128
1773
2144
  #, python-format
1774
2145
  msgid "Password scheme mismatch. Updating %s password"
1775
2146
  msgstr ""
1776
2147
 
1777
- #: core/views/auth.py:116
2148
+ #: core/views/auth.py:135
1778
2149
  #, python-format
1779
2150
  msgid "Password hash parameter missmatch. Updating %s password"
1780
2151
  msgstr ""
1781
2152
 
1782
- #: core/views/auth.py:154
2153
+ #: core/views/auth.py:173
1783
2154
  msgid "User '{}' successfully logged out"
1784
2155
  msgstr ""
1785
2156
 
@@ -1804,14 +2175,10 @@ msgid "Not resolved"
1804
2175
  msgstr ""
1805
2176
 
1806
2177
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
1807
- #: webmail/constants.py:18
2178
+ #: webmail/constants.py:38
1808
2179
  msgid "None"
1809
2180
  msgstr ""
1810
2181
 
1811
- #: dmarc/models.py:11
1812
- msgid "Quarantine"
1813
- msgstr ""
1814
-
1815
2182
  #: dmarc/models.py:12
1816
2183
  msgid "Reject"
1817
2184
  msgstr ""
@@ -1936,7 +2303,11 @@ msgstr ""
1936
2303
  msgid "Public key mismatchs"
1937
2304
  msgstr ""
1938
2305
 
1939
- #: imap_migration/api/v2/serializers.py:117
2306
+ #: imap_migration/api/v2/serializers.py:66
2307
+ msgid "Migrated domain with name {} already exists"
2308
+ msgstr ""
2309
+
2310
+ #: imap_migration/api/v2/serializers.py:130
1940
2311
  msgid "Access denied"
1941
2312
  msgstr ""
1942
2313
 
@@ -2649,7 +3020,7 @@ msgstr ""
2649
3020
  msgid "Rspamd"
2650
3021
  msgstr ""
2651
3022
 
2652
- #: sievefilters/api/v2/viewsets.py:193
3023
+ #: sievefilters/api/v2/viewsets.py:203
2653
3024
  #, python-format
2654
3025
  msgid "Filter %s already exists"
2655
3026
  msgstr ""
@@ -2736,7 +3107,7 @@ msgstr ""
2736
3107
  msgid "is not"
2737
3108
  msgstr ""
2738
3109
 
2739
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3110
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
2740
3111
  msgid "Subject"
2741
3112
  msgstr ""
2742
3113
 
@@ -2968,25 +3339,25 @@ msgstr ""
2968
3339
  msgid "SMTP settings"
2969
3340
  msgstr "IMAP nastavitve brez povezave"
2970
3341
 
2971
- #: webmail/app_settings.py:75
3342
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
2972
3343
  #, fuzzy
2973
3344
  #| msgid "Address of your IMAP server"
2974
3345
  msgid "Address of your SMTP server"
2975
3346
  msgstr "Naslov vašega IMAP strežnika"
2976
3347
 
2977
- #: webmail/app_settings.py:82
3348
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
2978
3349
  #, fuzzy
2979
3350
  #| msgid "Use a secured connection"
2980
3351
  msgid "Secured connection mode"
2981
3352
  msgstr "Uporabi zavarovano povezavo"
2982
3353
 
2983
- #: webmail/app_settings.py:84
3354
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
2984
3355
  #, fuzzy
2985
3356
  #| msgid "Use a secured connection to access IMAP server"
2986
3357
  msgid "Use a secured connection to access SMTP server"
2987
3358
  msgstr "Za dostop do IMAP strežnika, uporabite zavarovano povezavo"
2988
3359
 
2989
- #: webmail/app_settings.py:93
3360
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
2990
3361
  #, fuzzy
2991
3362
  #| msgid "Listening port of your IMAP server"
2992
3363
  msgid "Listening port of your SMTP server"
@@ -3004,103 +3375,101 @@ msgstr "Nastavitve povezave"
3004
3375
  msgid "Server needs authentication"
3005
3376
  msgstr "Nastavitve povezave"
3006
3377
 
3007
- #: webmail/app_settings.py:118
3008
- msgid "Display"
3009
- msgstr ""
3378
+ #: webmail/app_settings.py:113
3379
+ #, fuzzy
3380
+ #| msgid "Connection settings"
3381
+ msgid "Scheduling settings"
3382
+ msgstr "Nastavitve povezave"
3010
3383
 
3011
- #: webmail/app_settings.py:124
3384
+ #: webmail/app_settings.py:161
3012
3385
  msgid "Default message display mode"
3013
3386
  msgstr ""
3014
3387
 
3015
- #: webmail/app_settings.py:126
3388
+ #: webmail/app_settings.py:163
3016
3389
  msgid "The default mode used when displaying a message"
3017
3390
  msgstr ""
3018
3391
 
3019
- #: webmail/app_settings.py:133
3392
+ #: webmail/app_settings.py:170
3020
3393
  msgid "Enable HTML links display"
3021
3394
  msgstr ""
3022
3395
 
3023
- #: webmail/app_settings.py:136
3396
+ #: webmail/app_settings.py:173
3024
3397
  msgid "Enable/Disable HTML links display"
3025
3398
  msgstr ""
3026
3399
 
3027
- #: webmail/app_settings.py:144
3028
- msgid "Number of displayed emails per page"
3029
- msgstr ""
3030
-
3031
- #: webmail/app_settings.py:147
3400
+ #: webmail/app_settings.py:184
3032
3401
  msgid "Sets the maximum number of messages displayed in a page"
3033
3402
  msgstr ""
3034
3403
 
3035
- #: webmail/app_settings.py:154
3404
+ #: webmail/app_settings.py:191
3036
3405
  msgid "Listing refresh rate"
3037
3406
  msgstr ""
3038
3407
 
3039
- #: webmail/app_settings.py:156
3408
+ #: webmail/app_settings.py:193
3040
3409
  msgid "Automatic listing refresh rate (in secconds)"
3041
3410
  msgstr ""
3042
3411
 
3043
- #: webmail/app_settings.py:163
3412
+ #: webmail/app_settings.py:200
3044
3413
  msgid "Folder container's width"
3045
3414
  msgstr ""
3046
3415
 
3047
- #: webmail/app_settings.py:165
3416
+ #: webmail/app_settings.py:202
3048
3417
  msgid "The width of the folder list container"
3049
3418
  msgstr ""
3050
3419
 
3051
- #: webmail/app_settings.py:176
3420
+ #: webmail/app_settings.py:213
3052
3421
  msgid "Folders"
3053
3422
  msgstr ""
3054
3423
 
3055
- #: webmail/app_settings.py:182
3424
+ #: webmail/app_settings.py:219
3056
3425
  msgid "Trash folder"
3057
3426
  msgstr ""
3058
3427
 
3059
- #: webmail/app_settings.py:184
3428
+ #: webmail/app_settings.py:221
3060
3429
  msgid "Folder where deleted messages go"
3061
3430
  msgstr ""
3062
3431
 
3063
- #: webmail/app_settings.py:191
3432
+ #: webmail/app_settings.py:228
3064
3433
  msgid "Sent folder"
3065
3434
  msgstr ""
3066
3435
 
3067
- #: webmail/app_settings.py:193
3436
+ #: webmail/app_settings.py:230
3068
3437
  msgid "Folder where copies of sent messages go"
3069
3438
  msgstr ""
3070
3439
 
3071
- #: webmail/app_settings.py:200
3440
+ #: webmail/app_settings.py:237
3072
3441
  msgid "Drafts folder"
3073
3442
  msgstr ""
3074
3443
 
3075
- #: webmail/app_settings.py:201
3444
+ #: webmail/app_settings.py:238
3076
3445
  msgid "Folder where drafts go"
3077
3446
  msgstr ""
3078
3447
 
3079
- #: webmail/app_settings.py:207
3448
+ #: webmail/app_settings.py:244
3080
3449
  msgid "Junk folder"
3081
3450
  msgstr ""
3082
3451
 
3083
- #: webmail/app_settings.py:209
3452
+ #: webmail/app_settings.py:246
3084
3453
  msgid "Folder where junk messages should go"
3085
3454
  msgstr ""
3086
3455
 
3087
- #: webmail/app_settings.py:220
3456
+ #: webmail/app_settings.py:257
3088
3457
  msgid "Composing messages"
3089
3458
  msgstr ""
3090
3459
 
3091
- #: webmail/app_settings.py:226
3460
+ #: webmail/app_settings.py:263
3092
3461
  msgid "Default editor"
3093
3462
  msgstr ""
3094
3463
 
3095
- #: webmail/app_settings.py:228
3464
+ #: webmail/app_settings.py:265
3096
3465
  msgid "The default editor to use when composing a message"
3097
3466
  msgstr ""
3098
3467
 
3099
- #: webmail/app_settings.py:235
3468
+ #: webmail/app_settings.py:272
3100
3469
  msgid "Signature text"
3101
3470
  msgstr ""
3102
3471
 
3103
- #: webmail/app_settings.py:237
3472
+ #: webmail/app_settings.py:274
3104
3473
  msgid "User defined email signature"
3105
3474
  msgstr ""
3106
3475
 
@@ -3114,48 +3483,59 @@ msgstr "Naslov strežnika"
3114
3483
  msgid "Failed to remove attachment: "
3115
3484
  msgstr ""
3116
3485
 
3117
- #: webmail/lib/imapemail.py:272
3486
+ #: webmail/lib/imapemail.py:270
3118
3487
  msgid "wrote:"
3119
3488
  msgstr ""
3120
3489
 
3121
- #: webmail/lib/imapemail.py:306
3490
+ #: webmail/lib/imapemail.py:304
3122
3491
  msgid "Date"
3123
3492
  msgstr ""
3124
3493
 
3125
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3494
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3126
3495
  msgid "Original message"
3127
3496
  msgstr ""
3128
3497
 
3129
- #: webmail/lib/imaputils.py:221
3498
+ #: webmail/lib/imaputils.py:222
3130
3499
  msgid "Failed to retrieve hierarchy delimiter"
3131
3500
  msgstr ""
3132
3501
 
3133
- #: webmail/lib/imaputils.py:472
3502
+ #: webmail/lib/imaputils.py:478
3134
3503
  msgid "Inbox"
3135
3504
  msgstr ""
3136
3505
 
3137
- #: webmail/lib/imaputils.py:476
3506
+ #: webmail/lib/imaputils.py:482
3138
3507
  msgid "Drafts"
3139
3508
  msgstr ""
3140
3509
 
3141
- #: webmail/lib/imaputils.py:481
3510
+ #: webmail/lib/imaputils.py:487
3142
3511
  msgid "Junk"
3143
3512
  msgstr ""
3144
3513
 
3145
- #: webmail/lib/imaputils.py:486
3514
+ #: webmail/lib/imaputils.py:492
3146
3515
  msgid "Sent"
3147
3516
  msgstr ""
3148
3517
 
3149
- #: webmail/lib/imaputils.py:491
3518
+ #: webmail/lib/imaputils.py:500
3519
+ msgid "Scheduled"
3520
+ msgstr ""
3521
+
3522
+ #: webmail/lib/imaputils.py:507
3150
3523
  msgid "Trash"
3151
3524
  msgstr ""
3152
3525
 
3153
- #: webmail/viewsets.py:343
3526
+ #: webmail/serializers.py:220
3527
+ msgid "Moving scheduled messages is forbidden"
3528
+ msgstr ""
3529
+
3530
+ #: webmail/serializers.py:253
3531
+ msgid "Only datetime in the future is allowed"
3532
+ msgstr ""
3533
+
3534
+ #: webmail/serializers.py:258
3535
+ msgid "Provived datetime must be one minute in the future at least"
3536
+ msgstr ""
3537
+
3538
+ #: webmail/viewsets.py:359
3154
3539
  #, python-format
3155
3540
  msgid "Attachment is too big (limit: %s)"
3156
3541
  msgstr ""
3157
-
3158
- #, fuzzy, python-brace-format
3159
- #~| msgid "Connection to IMAP server failed: %s"
3160
- #~ msgid "Connection to IMAP server failed: {error}"
3161
- #~ msgstr "Povezava z IMAP strežnikom ni uspela: %s"