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
@@ -16,10 +16,11 @@ msgid ""
16
16
  msgstr ""
17
17
  "Project-Id-Version: Modoboa\n"
18
18
  "Report-Msgid-Bugs-To: \n"
19
- "POT-Creation-Date: 2025-08-28 09:41+0200\n"
19
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
20
20
  "PO-Revision-Date: 2020-05-06 11:16+0000\n"
21
21
  "Last-Translator: Antoine Nguyen <tonio@ngyn.org>\n"
22
- "Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/es/)\n"
22
+ "Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/"
23
+ "es/)\n"
23
24
  "Language: es\n"
24
25
  "MIME-Version: 1.0\n"
25
26
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -57,14 +58,14 @@ msgid "Cannot be greater than domain quota"
57
58
  msgstr "No puede superar la cuota de dominio"
58
59
 
59
60
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
60
- #: admin/api/v2/serializers.py:564 admin/models/alias.py:44
61
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
61
62
  msgid "Permission denied."
62
63
  msgstr "Permiso denegado."
63
64
 
64
65
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
65
- #: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
66
- #: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
67
- #: transport/backends.py:40
66
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
67
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
68
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
68
69
  msgid "This field is required"
69
70
  msgstr "Este campo es obligatorio"
70
71
 
@@ -75,7 +76,7 @@ msgstr ""
75
76
  "Lista de dominios administrados (sólo distribuidores y administradores de "
76
77
  "dominio)."
77
78
 
78
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
79
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
79
80
  msgid "Not allowed for this role."
80
81
  msgstr "No estás autorizado para esta función."
81
82
 
@@ -83,13 +84,12 @@ msgstr "No estás autorizado para esta función."
83
84
  msgid "Must be equal to mailbox full_address"
84
85
  msgstr "Debe ser igual a la dirección completa del buzón"
85
86
 
86
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
87
- #: calendars/serializers.py:175 calendars/serializers.py:177
88
- #: pdfcredentials/api/v2/serializers.py:91
87
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
88
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
89
89
  msgid "This field is required."
90
90
  msgstr "Este campo es obligatorio."
91
91
 
92
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
92
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
93
93
  msgid "Local domain {} does not exist"
94
94
  msgstr "El dominio local {} no existe"
95
95
 
@@ -97,7 +97,7 @@ msgstr "El dominio local {} no existe"
97
97
  msgid "A list of recipient"
98
98
  msgstr "Lista de destinatarios"
99
99
 
100
- #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
100
+ #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
101
101
  #, fuzzy
102
102
  #| msgid "User '%s' already exists"
103
103
  msgid "This alias already exists"
@@ -136,53 +136,53 @@ msgstr "No puede definir una cuota ilimitada."
136
136
  msgid "User '%s' already exists"
137
137
  msgstr "El usuario '%s' ya existe"
138
138
 
139
- #: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
139
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
140
140
  msgid "Must be a positive integer"
141
141
  msgstr "Debe ser un entero positivo"
142
142
 
143
- #: admin/api/v2/serializers.py:265
143
+ #: admin/api/v2/serializers.py:271
144
144
  msgid "openssl not found, please make sure it is installed."
145
145
  msgstr ""
146
146
 
147
- #: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
147
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
148
148
  #, fuzzy
149
149
  #| msgid "Domain not found."
150
150
  msgid "Directory not found."
151
151
  msgstr "Dominio no encontrado."
152
152
 
153
- #: admin/api/v2/serializers.py:279
153
+ #: admin/api/v2/serializers.py:285
154
154
  msgid "This field only allows valid IP addresses (or networks)"
155
155
  msgstr ""
156
156
 
157
- #: admin/api/v2/serializers.py:292
157
+ #: admin/api/v2/serializers.py:298
158
158
  msgid "Please disable imap migration before disabling this option."
159
159
  msgstr ""
160
160
 
161
- #: admin/api/v2/serializers.py:305
161
+ #: admin/api/v2/serializers.py:311
162
162
  msgid "Define at least one authorized network / address"
163
163
  msgstr ""
164
164
 
165
- #: admin/api/v2/serializers.py:581
165
+ #: admin/api/v2/serializers.py:588
166
166
  msgid "The left part of an email address can't be more than 64 characters."
167
167
  msgstr ""
168
168
 
169
- #: admin/api/v2/serializers.py:603
169
+ #: admin/api/v2/serializers.py:610
170
170
  #, fuzzy
171
171
  #| msgid "A mailbox is required"
172
172
  msgid "A mailbox is required to create aliases."
173
173
  msgstr "Es obligatorio un buzón"
174
174
 
175
- #: admin/api/v2/serializers.py:772
175
+ #: admin/api/v2/serializers.py:783
176
176
  #, fuzzy
177
177
  #| msgid "Unknown"
178
178
  msgid "Unknown status"
179
179
  msgstr "Desconocido"
180
180
 
181
- #: admin/api/v2/viewsets.py:84
181
+ #: admin/api/v2/viewsets.py:95
182
182
  msgid "You don't have access to this domain"
183
183
  msgstr "No tienes acceso a este dominio"
184
184
 
185
- #: admin/api/v2/viewsets.py:87
185
+ #: admin/api/v2/viewsets.py:98
186
186
  msgid "You can't delete your own domain"
187
187
  msgstr "No puedo eliminar su propio dominio"
188
188
 
@@ -204,8 +204,8 @@ msgstr "MX Validos"
204
204
 
205
205
  #: admin/app_settings.py:37
206
206
  msgid ""
207
- "A list of IP or network address every MX record should match. A warning will"
208
- " be sent if a record does not respect it."
207
+ "A list of IP or network address every MX record should match. A warning will "
208
+ "be sent if a record does not respect it."
209
209
  msgstr ""
210
210
  "Una lista de IP o dirección de red, cada registro MX debe coincidir. Se "
211
211
  "enviará una advertencia si un registro no la respeta."
@@ -286,68 +286,77 @@ msgstr "Habilitar comprobación DNSBL"
286
286
  msgid "Check every domain against major DNSBL providers"
287
287
  msgstr "Compruebe cada dominio con los principales proveedores de DNSBL"
288
288
 
289
- #: admin/app_settings.py:116
289
+ #: admin/app_settings.py:117
290
+ msgid "Notify domain admins about DNS issues"
291
+ msgstr ""
292
+
293
+ #: admin/app_settings.py:120
294
+ msgid ""
295
+ "Send a notification by email to domain administrators when DNS issues are "
296
+ "encountered"
297
+ msgstr ""
298
+
299
+ #: admin/app_settings.py:128
290
300
  msgid "Custom DNS server"
291
301
  msgstr ""
292
302
 
293
- #: admin/app_settings.py:118
303
+ #: admin/app_settings.py:130
294
304
  msgid "Use a custom DNS server instead of local server configuration"
295
305
  msgstr ""
296
306
 
297
- #: admin/app_settings.py:126
307
+ #: admin/app_settings.py:138
298
308
  msgid "DKIM keys storage directory"
299
309
  msgstr ""
300
310
 
301
- #: admin/app_settings.py:128
311
+ #: admin/app_settings.py:140
302
312
  msgid ""
303
313
  "Absolute path of the directory where DKIM private keys will be stored. Make "
304
314
  "sure this directory belongs to root user and is not readable by the outside "
305
315
  "world."
306
316
  msgstr ""
307
317
 
308
- #: admin/app_settings.py:137
318
+ #: admin/app_settings.py:149
309
319
  msgid "Default DKIM key length"
310
320
  msgstr ""
311
321
 
312
- #: admin/app_settings.py:139
322
+ #: admin/app_settings.py:151
313
323
  msgid "Default length in bits for newly generated DKIM keys."
314
324
  msgstr ""
315
325
 
316
- #: admin/app_settings.py:146
326
+ #: admin/app_settings.py:158
317
327
  msgid "Default domain quota"
318
328
  msgstr "Cuota del dominio por defecto"
319
329
 
320
- #: admin/app_settings.py:148
330
+ #: admin/app_settings.py:160
321
331
  msgid ""
322
332
  "Default quota (in MB) applied to freshly created domains with no value "
323
333
  "specified. A value of 0 means no quota."
324
334
  msgstr ""
325
- "Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que"
326
- " no tuvieran un valor especificado. Un valor de 0 significa que no hay "
327
- "cuota."
335
+ "Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que "
336
+ "no tuvieran un valor especificado. Un valor de 0 significa que no hay cuota."
328
337
 
329
- #: admin/app_settings.py:156
338
+ #: admin/app_settings.py:168
330
339
  #, fuzzy
331
340
  #| msgid "Default domain quota"
332
341
  msgid "Default domain sending limit"
333
342
  msgstr "Cuota del dominio por defecto"
334
343
 
335
- #: admin/app_settings.py:158
344
+ #: admin/app_settings.py:170
336
345
  msgid ""
337
346
  "Number of messages freshly created domains will be allowed to send per day. "
338
347
  "Leave empty for no limit."
339
348
  msgstr ""
340
349
 
341
- #: admin/app_settings.py:170 limits/app_settings.py:61
350
+ #: admin/app_settings.py:182 limits/app_settings.py:61
342
351
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
343
352
  msgid "Mailboxes"
344
353
  msgstr "Mailboxes"
345
354
 
346
- #: admin/app_settings.py:176
355
+ #: admin/app_settings.py:188
347
356
  msgid "Handle mailboxes on filesystem"
348
357
  msgstr "Manejar mailboxes en el sistema de fichero"
349
358
 
350
- #: admin/app_settings.py:178
359
+ #: admin/app_settings.py:190
351
360
  msgid ""
352
361
  "Rename or remove mailboxes on the filesystem when they get renamed or "
353
362
  "removed within Modoboa"
@@ -355,11 +364,11 @@ msgstr ""
355
364
  "Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean "
356
365
  "renombrados o eliminados dentro de Modoboa"
357
366
 
358
- #: admin/app_settings.py:186 admin/models/domain.py:36
367
+ #: admin/app_settings.py:198 admin/models/domain.py:36
359
368
  msgid "Default mailbox quota"
360
369
  msgstr "Cuota de mailbox por defecto"
361
370
 
362
- #: admin/app_settings.py:188
371
+ #: admin/app_settings.py:200
363
372
  #, fuzzy
364
373
  #| msgid ""
365
374
  #| "Default mailbox quota (in MB) applied to freshly created domains with no "
@@ -371,45 +380,73 @@ msgstr ""
371
380
  "La cuota de mailbox por defecto (en MB) se aplica a los dominios nuevos que "
372
381
  "no especifican este valor. Un valor de 0 significa ningún limite."
373
382
 
374
- #: admin/app_settings.py:197
383
+ #: admin/app_settings.py:209
375
384
  #, fuzzy
376
385
  #| msgid "Default mailbox quota"
377
386
  msgid "Default mailbox sending limit"
378
387
  msgstr "Cuota de mailbox por defecto"
379
388
 
380
- #: admin/app_settings.py:199
389
+ #: admin/app_settings.py:211
381
390
  msgid ""
382
391
  "Number of messages freshly created mailboxes will be allowed to send per "
383
392
  "day. Leave empty for no limit."
384
393
  msgstr ""
385
394
 
386
- #: admin/app_settings.py:207
395
+ #: admin/app_settings.py:219
387
396
  msgid "Automatic account removal"
388
397
  msgstr "Elminar cuentas automáticamente"
389
398
 
390
- #: admin/app_settings.py:209
399
+ #: admin/app_settings.py:221
391
400
  msgid "When a mailbox is removed, also remove the associated account"
392
401
  msgstr "Cuando un mailbox es eliminado, también lo es su cuenta asociada."
393
402
 
394
- #: admin/app_settings.py:218
403
+ #: admin/app_settings.py:230
395
404
  msgid "Automatic domain/mailbox creation"
396
405
  msgstr "Creación automática de dominio/buzón"
397
406
 
398
- #: admin/app_settings.py:221
399
- msgid ""
400
- "Create a domain and a mailbox when an account is automatically created."
401
- msgstr ""
402
- "Crear un dominio y un buzón cuando se cree automáticamente una cuenta."
407
+ #: admin/app_settings.py:233
408
+ msgid "Create a domain and a mailbox when an account is automatically created."
409
+ msgstr "Crear un dominio y un buzón cuando se cree automáticamente una cuenta."
403
410
 
404
- #: admin/app_settings.py:230
411
+ #: admin/app_settings.py:242
405
412
  msgid "Create an alias when a mailbox is renamed"
406
413
  msgstr ""
407
414
 
408
- #: admin/app_settings.py:233
415
+ #: admin/app_settings.py:245
409
416
  msgid "Create an alias using the old address when a mailbox is renamed."
410
417
  msgstr ""
411
418
 
412
- #: admin/app_settings.py:287 core/api/v2/viewsets.py:174
419
+ #: admin/app_settings.py:257
420
+ #, fuzzy
421
+ #| msgid "alias"
422
+ msgid "Aliases"
423
+ msgstr "alias"
424
+
425
+ #: admin/app_settings.py:263
426
+ msgid "Alias can target any domain"
427
+ msgstr ""
428
+
429
+ #: admin/app_settings.py:265
430
+ msgid "Allow aliases to target any domain, not just the local domains."
431
+ msgstr ""
432
+
433
+ #: admin/app_settings.py:272
434
+ msgid "Alias target block list"
435
+ msgstr ""
436
+
437
+ #: admin/app_settings.py:274
438
+ msgid "A list of domains that aliases cannot target (comma separated)."
439
+ msgstr ""
440
+
441
+ #: admin/app_settings.py:282
442
+ msgid "Alias target allow list"
443
+ msgstr ""
444
+
445
+ #: admin/app_settings.py:284
446
+ msgid "A list of domains that aliases can target (comma separated)."
447
+ msgstr ""
448
+
449
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
413
450
  msgid "Administration"
414
451
  msgstr "Administración"
415
452
 
@@ -430,6 +467,39 @@ msgstr ""
430
467
  msgid "Closed"
431
468
  msgstr ""
432
469
 
470
+ #: admin/dns_checker.py:96
471
+ msgid "MX {} listed by DNSBL provider {}"
472
+ msgstr ""
473
+
474
+ #: admin/dns_checker.py:138
475
+ #, fuzzy
476
+ #| msgid "Domain {} has no MX record"
477
+ msgid "Domain has no MX record"
478
+ msgstr "El dominio {} no tiene registro MX"
479
+
480
+ #: admin/dns_checker.py:141
481
+ msgid "Domain {} has no MX record"
482
+ msgstr "El dominio {} no tiene registro MX"
483
+
484
+ #: admin/dns_checker.py:159
485
+ #, fuzzy
486
+ #| msgid "MX records of {}"
487
+ msgid "Invalid MX record: {}"
488
+ msgstr "Registros MX de {}"
489
+
490
+ #: admin/dns_checker.py:166
491
+ #, python-brace-format
492
+ msgid "MX record for domain {0} is invalid: {1}"
493
+ msgstr "El registro MX para el dominio {0} no es válido: {1}"
494
+
495
+ #: admin/dns_checker.py:177
496
+ msgid "[modoboa] MX issue(s) for domain {}"
497
+ msgstr "[modoboa] MX problema(s) para el dominio {}"
498
+
499
+ #: admin/dns_checker.py:224
500
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
501
+ msgstr "[modoboa] DNSBL problema(s) para el dominio {}"
502
+
433
503
  #: admin/handlers.py:179
434
504
  msgid "domain alias"
435
505
  msgstr "alias del dominio"
@@ -439,61 +509,57 @@ msgstr "alias del dominio"
439
509
  msgid "Account import failed (%s): domain does not exist"
440
510
  msgstr "Falló la importación de la cuenta (%s): el dominio no existe"
441
511
 
442
- #: admin/handlers.py:242 admin/models/mailbox.py:342
443
- msgid "Mailbox {} already exists"
444
- msgstr "El buzón {} ya existe"
445
-
446
- #: admin/handlers.py:251
512
+ #: admin/handlers.py:246
447
513
  #, python-format
448
514
  msgid "Account import failed (%s): wrong quota value"
449
515
  msgstr "Error en la importación de la cuenta (%s): valor de cuota incorrecto"
450
516
 
451
- #: admin/lib.py:121
517
+ #: admin/lib.py:126
452
518
  msgid "You are not allowed to import domains"
453
519
  msgstr "No está autorizado para importar dominios"
454
520
 
455
- #: admin/lib.py:130
521
+ #: admin/lib.py:135
456
522
  msgid "You are not allowed to import domain aliases."
457
523
  msgstr "No está autorizado para importar alias de dominio."
458
524
 
459
- #: admin/lib.py:222 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
460
- #: admin/tests/test_mx.py:171
525
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
526
+ #: admin/tests/test_mx.py:157
461
527
  #, fuzzy, python-format
462
528
  #| msgid "No MX record found for this domain."
463
529
  msgid "No DNS record found for %s"
464
530
  msgstr "No se encontró ningún registro MX para este dominio."
465
531
 
466
- #: admin/lib.py:225
532
+ #: admin/lib.py:230
467
533
  #, fuzzy, python-format
468
534
  #| msgid "MX records of {}"
469
535
  msgid "No %(type)s record for %(name)s"
470
536
  msgstr "Registros MX de {}"
471
537
 
472
- #: admin/lib.py:229 admin/tests/test_mx.py:156
538
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
473
539
  msgid "No working name servers found"
474
540
  msgstr ""
475
541
 
476
- #: admin/lib.py:232 admin/tests/test_mx.py:160
542
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
477
543
  #, python-format
478
544
  msgid "DNS resolution timeout, unable to query %s at the moment"
479
545
  msgstr ""
480
546
 
481
- #: admin/lib.py:236
547
+ #: admin/lib.py:241
482
548
  msgid "DNS name is too long: {}"
483
549
  msgstr ""
484
550
 
485
- #: admin/lib.py:267
551
+ #: admin/lib.py:272
486
552
  #, fuzzy, python-brace-format
487
553
  #| msgid "Invalid quota value for domain '{}'"
488
554
  msgid "Invalid IP address format for {domain}; {addr}"
489
555
  msgstr "Cuota inválida para dominio '{}'"
490
556
 
491
- #: admin/lib.py:360
557
+ #: admin/lib.py:365
492
558
  #, python-format
493
559
  msgid "Object already exists: %s"
494
560
  msgstr "El objeto ya existe: %s"
495
561
 
496
- #: admin/lib.py:364
562
+ #: admin/lib.py:369
497
563
  #, python-format
498
564
  msgid "%d objects imported successfully"
499
565
  msgstr "%d objetos importados con éxito"
@@ -528,81 +594,54 @@ msgstr ""
528
594
  msgid "Failed to generate DKIM public key"
529
595
  msgstr "Establecer comunicación con la API publica de Modoboa"
530
596
 
531
- #: admin/management/commands/subcommands/_mx.py:133
532
- msgid "MX {} listed by DNSBL provider {}"
533
- msgstr ""
534
-
535
- #: admin/management/commands/subcommands/_mx.py:174
536
- #, fuzzy
537
- #| msgid "Domain {} has no MX record"
538
- msgid "Domain has no MX record"
539
- msgstr "El dominio {} no tiene registro MX"
540
-
541
- #: admin/management/commands/subcommands/_mx.py:177
542
- msgid "Domain {} has no MX record"
543
- msgstr "El dominio {} no tiene registro MX"
544
-
545
- #: admin/management/commands/subcommands/_mx.py:195
546
- #, fuzzy
547
- #| msgid "MX records of {}"
548
- msgid "Invalid MX record: {}"
549
- msgstr "Registros MX de {}"
550
-
551
- #: admin/management/commands/subcommands/_mx.py:202
552
- #, python-brace-format
553
- msgid "MX record for domain {0} is invalid: {1}"
554
- msgstr "El registro MX para el dominio {0} no es válido: {1}"
555
-
556
- #: admin/management/commands/subcommands/_mx.py:213
557
- msgid "[modoboa] MX issue(s) for domain {}"
558
- msgstr "[modoboa] MX problema(s) para el dominio {}"
559
-
560
- #: admin/management/commands/subcommands/_mx.py:269
561
- msgid "[modoboa] DNSBL issue(s) for domain {}"
562
- msgstr "[modoboa] DNSBL problema(s) para el dominio {}"
563
-
564
- #: admin/models/alias.py:42
597
+ #: admin/models/alias.py:43
565
598
  msgid "Domain not found."
566
599
  msgstr "Dominio no encontrado."
567
600
 
568
- #: admin/models/alias.py:97 admin/models/mailbox.py:85
601
+ #: admin/models/alias.py:117 admin/models/mailbox.py:85
569
602
  msgid "address"
570
603
  msgstr "dirección"
571
604
 
572
- #: admin/models/alias.py:99
605
+ #: admin/models/alias.py:119
573
606
  msgid "The alias address."
574
607
  msgstr "La dirección del alias."
575
608
 
576
- #: admin/models/alias.py:103 admin/models/domain.py:45
609
+ #: admin/models/alias.py:123 admin/models/domain.py:45
577
610
  #: admin/models/domain_alias.py:45 autoreply/models.py:25
578
611
  msgid "enabled"
579
612
  msgstr "activado"
580
613
 
581
- #: admin/models/alias.py:104 admin/models/domain_alias.py:46
614
+ #: admin/models/alias.py:124 admin/models/domain_alias.py:46
582
615
  msgid "Check to activate this alias"
583
616
  msgstr "Marcar para activar este alias"
584
617
 
585
- #: admin/models/alias.py:108
618
+ #: admin/models/alias.py:128
586
619
  msgid "Description"
587
620
  msgstr "Descripción"
588
621
 
589
- #: admin/models/alias.py:109
622
+ #: admin/models/alias.py:129
590
623
  msgid "Expire at"
591
624
  msgstr "Caduca en"
592
625
 
593
- #: admin/models/alias.py:150
626
+ #: admin/models/alias.py:170
594
627
  msgid "alias"
595
628
  msgstr "alias"
596
629
 
597
- #: admin/models/alias.py:183
630
+ #: admin/models/alias.py:203
598
631
  msgid "Invalid address"
599
632
  msgstr "Dirección inválida"
600
633
 
601
- #: admin/models/alias.py:202
634
+ #: admin/models/alias.py:206
635
+ #, fuzzy
636
+ #| msgid "The domain name"
637
+ msgid "Target domain not allowed"
638
+ msgstr "Nombre del dominio"
639
+
640
+ #: admin/models/alias.py:224
602
641
  msgid "Local recipient {}@{} not found"
603
642
  msgstr "Receptor local {}@{} no encontrado"
604
643
 
605
- #: admin/models/alias.py:251
644
+ #: admin/models/alias.py:273
606
645
  #, fuzzy
607
646
  #| msgid "Invalid line: %s"
608
647
  msgid "Invalid line: {}"
@@ -722,14 +761,18 @@ msgstr "Cuota de dominio excedida"
722
761
  msgid "Domain does not exist"
723
762
  msgstr "El dominio no existe"
724
763
 
764
+ #: admin/models/mailbox.py:342
765
+ msgid "Mailbox {} already exists"
766
+ msgstr "El buzón {} ya existe"
767
+
725
768
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:3
726
769
  #, python-format
727
770
  msgid ""
728
771
  "Modoboa detected that domain %(domain)s is listed by the following DNSBL "
729
772
  "providers:"
730
773
  msgstr ""
731
- "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los"
732
- " siguientes proveedores DNSBL:"
774
+ "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los "
775
+ "siguientes proveedores DNSBL:"
733
776
 
734
777
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:11
735
778
  msgid ""
@@ -738,34 +781,405 @@ msgid ""
738
781
  "and ask them to unlist detected IP address(es)."
739
782
  msgstr ""
740
783
  "La reputación de los dominios se verán afectados y existe la posibilidad de "
741
- "que los mensajes de correo electrónico procedentes de él se consideren spam."
742
- " Debe comunicarse con estos proveedores y pedirles que elimine la(s) "
784
+ "que los mensajes de correo electrónico procedentes de él se consideren spam. "
785
+ "Debe comunicarse con estos proveedores y pedirles que elimine la(s) "
743
786
  "dirección(es) IP detectada(s)."
744
787
 
745
788
  #: admin/templates/admin/notifications/domain_invalid_mx.html:3
746
789
  #, python-format
747
790
  msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
748
791
  msgstr ""
749
- "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los"
750
- " siguientes proveedores DNSBL:"
792
+ "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los "
793
+ "siguientes proveedores DNSBL:"
751
794
 
752
- #: admin/tests/test_mx.py:155
795
+ #: admin/tests/test_mx.py:141
753
796
  #, fuzzy, python-format
754
797
  #| msgid "MX records of {}"
755
798
  msgid "No MX record for %s"
756
799
  msgstr "Registros MX de {}"
757
800
 
758
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
801
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
759
802
  #, python-format
760
803
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
761
804
  msgstr ""
762
805
 
763
- #: admin/tests/test_mx.py:199
806
+ #: admin/tests/test_mx.py:185
764
807
  #, fuzzy, python-format
765
808
  #| msgid "MX records of {}"
766
809
  msgid "No AAAA record for %s"
767
810
  msgstr "Registros MX de {}"
768
811
 
812
+ #: amavis/app_settings.py:11
813
+ #, fuzzy
814
+ #| msgid "LDAP settings"
815
+ msgid "Amavis settings"
816
+ msgstr "Configuración de IMAP"
817
+
818
+ #: amavis/app_settings.py:17
819
+ msgid "Localpart is case sensitive"
820
+ msgstr ""
821
+
822
+ #: amavis/app_settings.py:19
823
+ msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
824
+ msgstr ""
825
+
826
+ #: amavis/app_settings.py:27
827
+ #, fuzzy
828
+ #| msgid "Recipient"
829
+ msgid "Recipient delimiter"
830
+ msgstr "Destinatario"
831
+
832
+ #: amavis/app_settings.py:29
833
+ msgid "Value should match amavisd.conf variable $recipient_delimiter"
834
+ msgstr ""
835
+
836
+ #: amavis/app_settings.py:41
837
+ #, fuzzy
838
+ #| msgid "Quantity"
839
+ msgid "Quarantine settings"
840
+ msgstr "Cuarentena"
841
+
842
+ #: amavis/app_settings.py:47
843
+ #, fuzzy
844
+ #| msgid "Maximum log record age"
845
+ msgid "Maximum message age"
846
+ msgstr "Máximo tiempo de almacenamiento del log"
847
+
848
+ #: amavis/app_settings.py:49
849
+ msgid "Quarantine messages maximum age (in days) before deletion"
850
+ msgstr ""
851
+
852
+ #: amavis/app_settings.py:60
853
+ msgid "Message releasing"
854
+ msgstr ""
855
+
856
+ #: amavis/app_settings.py:66
857
+ #, fuzzy
858
+ #| msgid "received messages"
859
+ msgid "Remove released messages"
860
+ msgstr "mensajes recibidos"
861
+
862
+ #: amavis/app_settings.py:68
863
+ msgid "Remove messages marked as released while cleaning up the database"
864
+ msgstr ""
865
+
866
+ #: amavis/app_settings.py:76
867
+ #, fuzzy
868
+ #| msgid "Use a secured connection"
869
+ msgid "Amavis connection mode"
870
+ msgstr "Modo de conexión seguro"
871
+
872
+ #: amavis/app_settings.py:78
873
+ #, fuzzy
874
+ #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
875
+ msgid "Mode used to access the PDP server"
876
+ msgstr "Usa una conexión SSL/STARTTLS para acceder al servidor LDAP"
877
+
878
+ #: amavis/app_settings.py:85
879
+ #, fuzzy
880
+ #| msgid "Server address"
881
+ msgid "PDP server address"
882
+ msgstr "Dirección del servidor"
883
+
884
+ #: amavis/app_settings.py:87
885
+ #, fuzzy
886
+ #| msgid "Server address"
887
+ msgid "PDP server address (if inet mode)"
888
+ msgstr "Dirección del servidor"
889
+
890
+ #: amavis/app_settings.py:95
891
+ #, fuzzy
892
+ #| msgid "Server port"
893
+ msgid "PDP server port"
894
+ msgstr "Puerto del servidor"
895
+
896
+ #: amavis/app_settings.py:97
897
+ msgid "PDP server port (if inet mode)"
898
+ msgstr ""
899
+
900
+ #: amavis/app_settings.py:105
901
+ #, fuzzy
902
+ #| msgid "Server port"
903
+ msgid "PDP server socket"
904
+ msgstr "Puerto del servidor"
905
+
906
+ #: amavis/app_settings.py:107
907
+ msgid "Path to the PDP server socket (if unix mode)"
908
+ msgstr ""
909
+
910
+ #: amavis/app_settings.py:115
911
+ msgid "Allow direct release"
912
+ msgstr ""
913
+
914
+ #: amavis/app_settings.py:117
915
+ msgid "Allow users to directly release their messages"
916
+ msgstr ""
917
+
918
+ #: amavis/app_settings.py:124
919
+ msgid "Enable self-service mode"
920
+ msgstr ""
921
+
922
+ #: amavis/app_settings.py:126
923
+ msgid "Activate the 'self-service' mode"
924
+ msgstr ""
925
+
926
+ #: amavis/app_settings.py:133
927
+ #, fuzzy
928
+ #| msgid "Notifications"
929
+ msgid "Notifications sender"
930
+ msgstr "Notificaciones"
931
+
932
+ #: amavis/app_settings.py:135
933
+ #, fuzzy
934
+ #| msgid "Email address used to send notifications."
935
+ msgid "The e-mail address used to send notitications"
936
+ msgstr "Dirección de email usada para mandar notificaciones"
937
+
938
+ #: amavis/app_settings.py:146
939
+ msgid "Manual learning"
940
+ msgstr ""
941
+
942
+ #: amavis/app_settings.py:152
943
+ msgid "Enable manual learning"
944
+ msgstr ""
945
+
946
+ #: amavis/app_settings.py:154
947
+ #, fuzzy
948
+ #| msgid "Allow this administrator to access user mailboxes"
949
+ msgid "Allow super administrators to manually train Spamassassin"
950
+ msgstr "Permitir a este administrador acceso al buzon de los usuarios"
951
+
952
+ #: amavis/app_settings.py:161
953
+ msgid "Is Spamassassin local?"
954
+ msgstr ""
955
+
956
+ #: amavis/app_settings.py:163
957
+ msgid "Tell if Spamassassin is running on the same server than modoboa"
958
+ msgstr ""
959
+
960
+ #: amavis/app_settings.py:171
961
+ #, fuzzy
962
+ #| msgid "Default top redirection"
963
+ msgid "Default user"
964
+ msgstr "Editor por defecto"
965
+
966
+ #: amavis/app_settings.py:173
967
+ msgid "Name of the user owning the default bayesian database"
968
+ msgstr ""
969
+
970
+ #: amavis/app_settings.py:181
971
+ #, fuzzy
972
+ #| msgid "Sender address"
973
+ msgid "Spamd address"
974
+ msgstr "Dirección del remitente"
975
+
976
+ #: amavis/app_settings.py:183
977
+ msgid "The IP address where spamd can be reached"
978
+ msgstr ""
979
+
980
+ #: amavis/app_settings.py:191
981
+ msgid "Spamd port"
982
+ msgstr ""
983
+
984
+ #: amavis/app_settings.py:193
985
+ msgid "The TCP port spamd is listening on"
986
+ msgstr ""
987
+
988
+ #: amavis/app_settings.py:202
989
+ msgid "Enable per-domain manual learning"
990
+ msgstr ""
991
+
992
+ #: amavis/app_settings.py:205
993
+ #, fuzzy
994
+ #| msgid "Allow this administrator to access user mailboxes"
995
+ msgid ""
996
+ "Allow domain administrators to train Spamassassin (within dedicated per-"
997
+ "domain databases)"
998
+ msgstr "Permitir a este administrador acceso al buzon de los usuarios"
999
+
1000
+ #: amavis/app_settings.py:215
1001
+ msgid "Enable per-user manual learning"
1002
+ msgstr ""
1003
+
1004
+ #: amavis/app_settings.py:218
1005
+ msgid ""
1006
+ "Allow simple users to personally train Spamassassin (within a dedicated "
1007
+ "database)"
1008
+ msgstr ""
1009
+
1010
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
1011
+ msgid "Display"
1012
+ msgstr "Mostrar"
1013
+
1014
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
1015
+ #, fuzzy
1016
+ #| msgid "Number of displayed items per page"
1017
+ msgid "Number of displayed emails per page"
1018
+ msgstr "Número de emails mostrados por página"
1019
+
1020
+ #: amavis/app_settings.py:246
1021
+ #, fuzzy
1022
+ #| msgid "Sets the maximum number of messages displayed in a page"
1023
+ msgid "Set the maximum number of messages displayed in a page"
1024
+ msgstr "Fija el número máximo de mensajes mostrados en una página"
1025
+
1026
+ #: amavis/app_settings.py:266 amavis/app_settings.py:273
1027
+ msgid "Amavis"
1028
+ msgstr ""
1029
+
1030
+ #: amavis/checks/settings_checks.py:8
1031
+ msgid ""
1032
+ "AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
1033
+ "by the Amavis database."
1034
+ msgstr ""
1035
+
1036
+ #: amavis/checks/settings_checks.py:12
1037
+ msgid ""
1038
+ "Check your database character encoding and set/update "
1039
+ "AMAVIS_DEFAULT_DATABASE_ENCODING."
1040
+ msgstr ""
1041
+
1042
+ #: amavis/checks/settings_checks.py:19
1043
+ msgid "Modoboa Amavis has not been tested using the selected database engine."
1044
+ msgstr ""
1045
+
1046
+ #: amavis/checks/settings_checks.py:20
1047
+ msgid "Try using PostgreSQL, MySQL or MariaDB."
1048
+ msgstr ""
1049
+
1050
+ #: amavis/handlers.py:141
1051
+ msgid "Pending requests"
1052
+ msgstr ""
1053
+
1054
+ #: amavis/lib.py:59
1055
+ #, fuzzy, python-format
1056
+ msgid "Connection to amavis failed: %s"
1057
+ msgstr "Falló la conexión con el servidor IMAP: %s"
1058
+
1059
+ #: amavis/lib.py:133
1060
+ #, fuzzy
1061
+ #| msgid "Failed to locate rrdtool binary."
1062
+ msgid "Failed to find {} binary"
1063
+ msgstr "Fallo al localizar el binario rrdtool"
1064
+
1065
+ #: amavis/lib.py:148
1066
+ #, fuzzy
1067
+ #| msgid "Local recipient {}@{} not found"
1068
+ msgid "No recipient found"
1069
+ msgstr "Receptor local {}@{} no encontrado"
1070
+
1071
+ #: amavis/lib.py:159
1072
+ #, fuzzy
1073
+ #| msgid "Domain not found."
1074
+ msgid "Local domain not found"
1075
+ msgstr "Dominio no encontrado."
1076
+
1077
+ #: amavis/management/commands/amnotify.py:59
1078
+ #, fuzzy
1079
+ #| msgid "%s: limit reached"
1080
+ msgid "[modoboa] Pending release requests"
1081
+ msgstr "%s: límete alcanzado"
1082
+
1083
+ #: amavis/models.py:101
1084
+ #, fuzzy
1085
+ #| msgid "Search filter"
1086
+ msgid "Virus filter"
1087
+ msgstr "Filtro de búsqueda"
1088
+
1089
+ #: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
1090
+ msgid "yes"
1091
+ msgstr ""
1092
+
1093
+ #: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
1094
+ msgid "no"
1095
+ msgstr ""
1096
+
1097
+ #: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
1098
+ msgid "default"
1099
+ msgstr ""
1100
+
1101
+ #: amavis/models.py:111
1102
+ msgid "Bypass virus checks or not. Choose 'default' to use global settings."
1103
+ msgstr ""
1104
+
1105
+ #: amavis/models.py:115
1106
+ #, fuzzy
1107
+ #| msgid "Search filter"
1108
+ msgid "Spam filter"
1109
+ msgstr "Filtro de búsqueda"
1110
+
1111
+ #: amavis/models.py:125
1112
+ msgid "Bypass spam checks or not. Choose 'default' to use global settings."
1113
+ msgstr ""
1114
+
1115
+ #: amavis/models.py:129
1116
+ #, fuzzy
1117
+ #| msgid "Search filter"
1118
+ msgid "Banned filter"
1119
+ msgstr "Filtro de búsqueda"
1120
+
1121
+ #: amavis/models.py:139
1122
+ msgid "Bypass banned checks or not. Choose 'default' to use global settings."
1123
+ msgstr ""
1124
+
1125
+ #: amavis/models.py:170
1126
+ msgid "Spam marker"
1127
+ msgstr ""
1128
+
1129
+ #: amavis/models.py:176
1130
+ msgid ""
1131
+ "Modify spam subject using the specified text. Choose 'default' to use global "
1132
+ "settings."
1133
+ msgstr ""
1134
+
1135
+ #: amavis/templates/amavis/notifications/pending_requests.html:3
1136
+ #, python-format
1137
+ msgid "%(counter)s release request is pending for action."
1138
+ msgid_plural "%(counter)s release requests are pending for action."
1139
+ msgstr[0] ""
1140
+ msgstr[1] ""
1141
+
1142
+ #: amavis/templates/amavis/notifications/pending_requests.html:8
1143
+ msgid "Sketch:"
1144
+ msgstr ""
1145
+
1146
+ #: amavis/templates/amavis/notifications/pending_requests.html:10
1147
+ msgid "From:"
1148
+ msgstr ""
1149
+
1150
+ #: amavis/templates/amavis/notifications/pending_requests.html:11
1151
+ msgid "To:"
1152
+ msgstr ""
1153
+
1154
+ #: amavis/templates/amavis/notifications/pending_requests.html:12
1155
+ #, fuzzy
1156
+ #| msgid "Date"
1157
+ msgid "Date:"
1158
+ msgstr "Fecha"
1159
+
1160
+ #: amavis/templates/amavis/notifications/pending_requests.html:13
1161
+ #, fuzzy
1162
+ #| msgid "Subject"
1163
+ msgid "Subject:"
1164
+ msgstr "Tema"
1165
+
1166
+ #: amavis/templates/amavis/notifications/pending_requests.html:14
1167
+ #, fuzzy
1168
+ #| msgid "sent messages"
1169
+ msgid "Act on this message:"
1170
+ msgstr "mensajes enviados"
1171
+
1172
+ #: amavis/templates/amavis/notifications/pending_requests.html:16
1173
+ #, python-format
1174
+ msgid "Please visit %(listingurl)s for a full listing."
1175
+ msgstr ""
1176
+
1177
+ #: amavis/viewsets.py:122
1178
+ #, fuzzy
1179
+ #| msgid "Invalid address"
1180
+ msgid "Invalid request"
1181
+ msgstr "Dirección inválida"
1182
+
769
1183
  #: autoreply/api/v2/serializers.py:27
770
1184
  msgid "Value can't be less than 1 day"
771
1185
  msgstr ""
@@ -790,15 +1204,13 @@ msgstr "General"
790
1204
 
791
1205
  #: autoreply/app_settings.py:18
792
1206
  #, fuzzy
793
- #| msgid ""
794
- #| "Timeout in seconds between two auto-replies to the same recipient"
1207
+ #| msgid "Timeout in seconds between two auto-replies to the same recipient"
795
1208
  msgid "Period between two auto-replies"
796
1209
  msgstr "Tiempo en segundos entre dos autorespuestas para el mismo emisor"
797
1210
 
798
1211
  #: autoreply/app_settings.py:20
799
1212
  #, fuzzy
800
- #| msgid ""
801
- #| "Timeout in seconds between two auto-replies to the same recipient"
1213
+ #| msgid "Timeout in seconds between two auto-replies to the same recipient"
802
1214
  msgid ""
803
1215
  "Number of days to wait before sending a new auto-reply to the same recipient"
804
1216
  msgstr "Tiempo en segundos entre dos autorespuestas para el mismo emisor"
@@ -893,7 +1305,7 @@ msgstr "Administrador del dominio"
893
1305
  msgid "Allow domain administrators to manage user calendars (read and write)"
894
1306
  msgstr "Permitir a este administrador acceso al buzon de los usuarios"
895
1307
 
896
- #: calendars/app_settings.py:60 core/app_settings.py:676
1308
+ #: calendars/app_settings.py:60 core/app_settings.py:664
897
1309
  #: rspamd/app_settings.py:45
898
1310
  msgid "Miscellaneous"
899
1311
  msgstr "Otros"
@@ -907,15 +1319,15 @@ msgid ""
907
1319
  "Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
908
1320
  msgstr ""
909
1321
 
910
- #: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
1322
+ #: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
911
1323
  msgid "Calendars"
912
1324
  msgstr ""
913
1325
 
914
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1326
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
915
1327
  msgid "Server location is not set, please fix it."
916
1328
  msgstr "No se ha configurado la dirección del servidor, por favor corríjalo."
917
1329
 
918
- #: calendars/viewsets.py:197
1330
+ #: calendars/viewsets.py:199
919
1331
  msgid "Uploaded file is too big (max: {} bytes)"
920
1332
  msgstr ""
921
1333
 
@@ -943,7 +1355,7 @@ msgstr "Frecuencia de sincronización"
943
1355
  msgid "Interval in seconds between 2 synchronization requests"
944
1356
  msgstr "Intervalo en segundos entre 2 peticiones de sincronización"
945
1357
 
946
- #: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
1358
+ #: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
947
1359
  #, fuzzy
948
1360
  #| msgid "Domains"
949
1361
  msgid "Contacts"
@@ -997,12 +1409,12 @@ msgstr "Registros MX de {}"
997
1409
  msgid "2FA is already enabled"
998
1410
  msgstr ""
999
1411
 
1000
- #: core/api/v1/serializers.py:86
1412
+ #: core/api/v1/serializers.py:87
1001
1413
  #, python-format
1002
1414
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
1003
1415
  msgstr ""
1004
1416
 
1005
- #: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
1417
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
1006
1418
  #, fuzzy
1007
1419
  #| msgid "Old password"
1008
1420
  msgid "Invalid password"
@@ -1016,25 +1428,20 @@ msgstr ""
1016
1428
  msgid "Local"
1017
1429
  msgstr "Local"
1018
1430
 
1019
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
1020
- msgid "User profile"
1021
- msgstr "Perfil de usuario"
1022
-
1023
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
1024
- #: core/api/v2/serializers.py:228
1431
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1432
+ #: core/api/v2/serializers.py:221
1025
1433
  msgid "Invalid syntax"
1026
1434
  msgstr "Sintaxis inválida"
1027
1435
 
1028
- #: core/api/v2/serializers.py:233
1436
+ #: core/api/v2/serializers.py:226
1029
1437
  msgid "Invalid rounds number"
1030
1438
  msgstr "Número de rondas inváldo"
1031
1439
 
1032
- #: core/api/v2/serializers.py:433 core/forms.py:81
1440
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1033
1441
  msgid "This code is invalid"
1034
1442
  msgstr ""
1035
1443
 
1036
- #: core/api/v2/serializers.py:503 core/views/auth.py:194
1037
- #: core/views/auth.py:247
1444
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1038
1445
  msgid "Please use the following code to recover your Modoboa password: {}"
1039
1446
  msgstr ""
1040
1447
 
@@ -1044,275 +1451,287 @@ msgstr ""
1044
1451
  msgid "Administration console"
1045
1452
  msgstr "Administración"
1046
1453
 
1047
- #: core/api/v2/viewsets.py:187
1454
+ #: core/api/v2/viewsets.py:184 dmarc/models.py:11
1455
+ #, fuzzy
1456
+ #| msgid "Quantity"
1457
+ msgid "Quarantine"
1458
+ msgstr "Cuarentena"
1459
+
1460
+ #: core/api/v2/viewsets.py:186
1461
+ #, fuzzy
1462
+ #| msgid "Quantity"
1463
+ msgid "Amavis quarantine"
1464
+ msgstr "Cuarentena"
1465
+
1466
+ #: core/api/v2/viewsets.py:197
1048
1467
  #, fuzzy
1049
1468
  #| msgid "Address"
1050
1469
  msgid "Address book"
1051
1470
  msgstr "Libro de direcciones"
1052
1471
 
1053
- #: core/api/v2/viewsets.py:197
1472
+ #: core/api/v2/viewsets.py:207
1054
1473
  msgid "Calendar"
1055
1474
  msgstr ""
1056
1475
 
1057
- #: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
1058
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1476
+ #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1477
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1059
1478
  #, fuzzy
1060
1479
  #| msgid "E-mail"
1061
1480
  msgid "Webmail"
1062
1481
  msgstr "Correo web"
1063
1482
 
1064
- #: core/app_settings.py:37
1483
+ #: core/app_settings.py:25
1065
1484
  msgid "Authentication"
1066
1485
  msgstr "Autenticación"
1067
1486
 
1068
- #: core/app_settings.py:43
1487
+ #: core/app_settings.py:31
1069
1488
  msgid "Authentication type"
1070
1489
  msgstr "Tipo de autenticación"
1071
1490
 
1072
- #: core/app_settings.py:45
1491
+ #: core/app_settings.py:33
1073
1492
  msgid "The backend used for authentication"
1074
1493
  msgstr "El sistema usado para autenticación"
1075
1494
 
1076
- #: core/app_settings.py:52
1495
+ #: core/app_settings.py:40
1077
1496
  msgid "Default password scheme"
1078
1497
  msgstr "Esquema de contraseña por defecto"
1079
1498
 
1080
- #: core/app_settings.py:54
1499
+ #: core/app_settings.py:42
1081
1500
  msgid "Scheme used to crypt mailbox passwords"
1082
1501
  msgstr "Esquema usado para cifrar las contraseñas del mailbox"
1083
1502
 
1084
- #: core/app_settings.py:61
1503
+ #: core/app_settings.py:49
1085
1504
  msgid "Rounds"
1086
1505
  msgstr "Rondas"
1087
1506
 
1088
- #: core/app_settings.py:63
1507
+ #: core/app_settings.py:51
1089
1508
  msgid ""
1090
1509
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1091
1510
  "between 1000 and 999999999, inclusive."
1092
1511
  msgstr ""
1093
- "Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe"
1094
- " estar entre 1000 y 999999999, incluído."
1512
+ "Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe "
1513
+ "estar entre 1000 y 999999999, incluído."
1095
1514
 
1096
- #: core/app_settings.py:73
1515
+ #: core/app_settings.py:61
1097
1516
  msgid "Update password scheme at login"
1098
1517
  msgstr ""
1099
1518
 
1100
- #: core/app_settings.py:76
1519
+ #: core/app_settings.py:64
1101
1520
  msgid "Update user password at login to use the default password scheme"
1102
1521
  msgstr ""
1103
1522
  "Forzar actualización de contraseña al acceder para usar el esquema de "
1104
1523
  "contraseñas"
1105
1524
 
1106
- #: core/app_settings.py:84
1525
+ #: core/app_settings.py:72
1107
1526
  msgid "Default password"
1108
1527
  msgstr "Contraseña por defecto"
1109
1528
 
1110
- #: core/app_settings.py:86
1529
+ #: core/app_settings.py:74
1111
1530
  msgid "Default password for automatically created accounts."
1112
1531
  msgstr "Contraseña por defecto para cuentas creadas automáticamente."
1113
1532
 
1114
- #: core/app_settings.py:93
1533
+ #: core/app_settings.py:81
1115
1534
  msgid "Random password length"
1116
1535
  msgstr "Longitud de contraseña aleatoria"
1117
1536
 
1118
- #: core/app_settings.py:95
1537
+ #: core/app_settings.py:83
1119
1538
  msgid "Length of randomly generated passwords."
1120
1539
  msgstr "Longitud de las contraseñas generadas aleatoriamente."
1121
1540
 
1122
- #: core/app_settings.py:103
1541
+ #: core/app_settings.py:91
1123
1542
  msgid "Allow special characters for random password"
1124
1543
  msgstr ""
1125
1544
 
1126
- #: core/app_settings.py:106
1545
+ #: core/app_settings.py:94
1127
1546
  #, fuzzy
1128
1547
  #| msgid "Length of randomly generated passwords."
1129
1548
  msgid "Enable special characters in randomly generated passwords."
1130
1549
  msgstr "Longitud de las contraseñas generadas aleatoriamente."
1131
1550
 
1132
- #: core/app_settings.py:114
1551
+ #: core/app_settings.py:102
1133
1552
  msgid "Update password service URL"
1134
1553
  msgstr ""
1135
1554
 
1136
- #: core/app_settings.py:116
1555
+ #: core/app_settings.py:104
1137
1556
  msgid ""
1138
1557
  "The URL of an external page where users will be able to update their "
1139
1558
  "password. It applies only to non local users, ie. those automatically "
1140
1559
  "created after a successful external authentication (LDAP, SMTP)."
1141
1560
  msgstr ""
1142
1561
 
1143
- #: core/app_settings.py:126
1562
+ #: core/app_settings.py:114
1144
1563
  msgid "Password recovery announcement"
1145
1564
  msgstr ""
1146
1565
 
1147
- #: core/app_settings.py:128
1566
+ #: core/app_settings.py:116
1148
1567
  msgid "A temporary message that will be displayed on the reset password page."
1149
1568
  msgstr ""
1150
1569
 
1151
- #: core/app_settings.py:137
1570
+ #: core/app_settings.py:125
1152
1571
  msgid "Enable password recovery by SMS"
1153
1572
  msgstr ""
1154
1573
 
1155
- #: core/app_settings.py:140
1574
+ #: core/app_settings.py:128
1156
1575
  msgid "Enable password recovery by SMS for users who filled a phone number."
1157
1576
  msgstr ""
1158
1577
 
1159
- #: core/app_settings.py:148
1578
+ #: core/app_settings.py:136
1160
1579
  msgid "SMS provider"
1161
1580
  msgstr ""
1162
1581
 
1163
- #: core/app_settings.py:151
1582
+ #: core/app_settings.py:139
1164
1583
  msgid "Choose a provider to send password recovery SMS"
1165
1584
  msgstr ""
1166
1585
 
1167
- #: core/app_settings.py:163
1586
+ #: core/app_settings.py:151
1168
1587
  msgid "LDAP"
1169
1588
  msgstr ""
1170
1589
 
1171
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1590
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1172
1591
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1173
- #: webmail/app_settings.py:73
1592
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1174
1593
  msgid "Server address"
1175
1594
  msgstr "Dirección del servidor"
1176
1595
 
1177
- #: core/app_settings.py:171
1596
+ #: core/app_settings.py:159
1178
1597
  msgid "The IP address or the DNS name of the LDAP server"
1179
1598
  msgstr "La dirección IP del servidor de nombres (DNS) del servidor LDAP"
1180
1599
 
1181
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1600
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1182
1601
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1183
- #: webmail/app_settings.py:91
1602
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1184
1603
  msgid "Server port"
1185
1604
  msgstr "Puerto del servidor"
1186
1605
 
1187
- #: core/app_settings.py:180
1606
+ #: core/app_settings.py:168
1188
1607
  msgid "The TCP port number used by the LDAP server"
1189
1608
  msgstr "Número de puerto TCP usado por el servidor LDAP"
1190
1609
 
1191
- #: core/app_settings.py:188
1610
+ #: core/app_settings.py:176
1192
1611
  msgid "Enable secondary server (fallback)"
1193
1612
  msgstr ""
1194
1613
 
1195
- #: core/app_settings.py:191
1614
+ #: core/app_settings.py:179
1196
1615
  msgid ""
1197
1616
  "Enable a secondary LDAP server which will be used if the primary one fails"
1198
1617
  msgstr ""
1199
1618
 
1200
- #: core/app_settings.py:199
1619
+ #: core/app_settings.py:187
1201
1620
  msgid "Secondary server address"
1202
1621
  msgstr ""
1203
1622
 
1204
- #: core/app_settings.py:202
1623
+ #: core/app_settings.py:190
1205
1624
  msgid "The IP address or the DNS name of the seondary LDAP server"
1206
1625
  msgstr ""
1207
1626
 
1208
- #: core/app_settings.py:209
1627
+ #: core/app_settings.py:197
1209
1628
  msgid "Secondary server port"
1210
1629
  msgstr ""
1211
1630
 
1212
- #: core/app_settings.py:212
1631
+ #: core/app_settings.py:200
1213
1632
  msgid "The TCP port number used by the LDAP secondary server"
1214
1633
  msgstr ""
1215
1634
 
1216
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1635
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1217
1636
  #: webmail/app_settings.py:45
1218
1637
  msgid "Use a secured connection"
1219
1638
  msgstr "Usa una conexión segura"
1220
1639
 
1221
- #: core/app_settings.py:221
1640
+ #: core/app_settings.py:209
1222
1641
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1223
1642
  msgstr "Usa una conexión SSL/STARTTLS para acceder al servidor LDAP"
1224
1643
 
1225
- #: core/app_settings.py:228
1644
+ #: core/app_settings.py:216
1226
1645
  msgid "Active Directory"
1227
1646
  msgstr "Directorio Activo"
1228
1647
 
1229
- #: core/app_settings.py:230
1648
+ #: core/app_settings.py:218
1230
1649
  msgid "Tell if the LDAP server is an Active Directory one"
1231
1650
  msgstr "Decir si el servidor de LDAP es uno del tipo Directorio Activo"
1232
1651
 
1233
- #: core/app_settings.py:237
1652
+ #: core/app_settings.py:225
1234
1653
  msgid "Administrator groups"
1235
1654
  msgstr "Administrador de grupos"
1236
1655
 
1237
- #: core/app_settings.py:239
1656
+ #: core/app_settings.py:227
1238
1657
  msgid ""
1239
- "Members of those LDAP Posix groups will be created as domain administrators."
1240
- " Use ';' characters to separate groups."
1658
+ "Members of those LDAP Posix groups will be created as domain administrators. "
1659
+ "Use ';' characters to separate groups."
1241
1660
  msgstr ""
1242
- "Los miembros de esos grupos Posix LDAP serán creados como administradores de"
1243
- " dominio. Use caracteres \";\" para separar los grupos."
1661
+ "Los miembros de esos grupos Posix LDAP serán creados como administradores de "
1662
+ "dominio. Use caracteres \";\" para separar los grupos."
1244
1663
 
1245
- #: core/app_settings.py:248
1664
+ #: core/app_settings.py:236
1246
1665
  msgid "Group type"
1247
1666
  msgstr "Tipo de grupo"
1248
1667
 
1249
- #: core/app_settings.py:250
1668
+ #: core/app_settings.py:238
1250
1669
  msgid "The LDAP group type to use with your directory."
1251
1670
  msgstr "El tipo de LDAP para usar en el directorio"
1252
1671
 
1253
- #: core/app_settings.py:257
1672
+ #: core/app_settings.py:245
1254
1673
  msgid "Groups search base"
1255
1674
  msgstr "Base para la búsqueda de grupos"
1256
1675
 
1257
- #: core/app_settings.py:259
1676
+ #: core/app_settings.py:247
1258
1677
  msgid "The distinguished name of the search base used to find groups"
1259
1678
  msgstr "El distinguido nombre de la búsqueda base usada para encontrar grupos"
1260
1679
 
1261
- #: core/app_settings.py:267
1680
+ #: core/app_settings.py:255
1262
1681
  msgid "Password attribute"
1263
1682
  msgstr "Atributo de la contraseña"
1264
1683
 
1265
- #: core/app_settings.py:269
1684
+ #: core/app_settings.py:257
1266
1685
  msgid "The attribute used to store user passwords"
1267
1686
  msgstr "El atributo usado para guardar las contraseñas del usuario"
1268
1687
 
1269
- #: core/app_settings.py:276
1688
+ #: core/app_settings.py:264
1270
1689
  msgid "LDAP authentication settings"
1271
1690
  msgstr ""
1272
1691
 
1273
- #: core/app_settings.py:284
1692
+ #: core/app_settings.py:272
1274
1693
  msgid "Authentication method"
1275
1694
  msgstr "Método de autenticación"
1276
1695
 
1277
- #: core/app_settings.py:287
1696
+ #: core/app_settings.py:275
1278
1697
  msgid "Choose the authentication method to use"
1279
1698
  msgstr "Elegir el método de autenticación a usar"
1280
1699
 
1281
- #: core/app_settings.py:294 core/app_settings.py:357
1700
+ #: core/app_settings.py:282 core/app_settings.py:345
1282
1701
  msgid "Bind DN"
1283
1702
  msgstr "Unir a DN"
1284
1703
 
1285
- #: core/app_settings.py:296 core/app_settings.py:359
1704
+ #: core/app_settings.py:284 core/app_settings.py:347
1286
1705
  msgid ""
1287
1706
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1288
1707
  "for an anonymous bind"
1289
1708
  msgstr ""
1290
- "El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació"
1291
- " para una unión anónima"
1709
+ "El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació "
1710
+ "para una unión anónima"
1292
1711
 
1293
- #: core/app_settings.py:305 core/app_settings.py:367
1712
+ #: core/app_settings.py:293 core/app_settings.py:355
1294
1713
  msgid "Bind password"
1295
1714
  msgstr "Unir contraseña"
1296
1715
 
1297
- #: core/app_settings.py:307 core/app_settings.py:369
1716
+ #: core/app_settings.py:295 core/app_settings.py:357
1298
1717
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1299
1718
  msgstr ""
1300
1719
  "La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')"
1301
1720
 
1302
- #: core/app_settings.py:317 core/app_settings.py:422
1721
+ #: core/app_settings.py:305 core/app_settings.py:410
1303
1722
  msgid "Users search base"
1304
1723
  msgstr "Base para la búsqueda de usuarios"
1305
1724
 
1306
- #: core/app_settings.py:319 core/app_settings.py:424
1725
+ #: core/app_settings.py:307 core/app_settings.py:412
1307
1726
  msgid "The distinguished name of the search base used to find users"
1308
1727
  msgstr ""
1309
1728
  "El distinguido nombre de la búsqueda base usada para encontrar usuarios"
1310
1729
 
1311
- #: core/app_settings.py:328 core/app_settings.py:433
1730
+ #: core/app_settings.py:316 core/app_settings.py:421
1312
1731
  msgid "Search filter"
1313
1732
  msgstr "Filtro de búsqueda"
1314
1733
 
1315
- #: core/app_settings.py:330 core/app_settings.py:435
1734
+ #: core/app_settings.py:318 core/app_settings.py:423
1316
1735
  msgid ""
1317
1736
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1318
1737
  "valid, it must be enclosed in parentheses."
@@ -1320,11 +1739,11 @@ msgstr ""
1320
1739
  "Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea "
1321
1740
  "válido tiene que ser encerrado entre paréntesis."
1322
1741
 
1323
- #: core/app_settings.py:339
1742
+ #: core/app_settings.py:327
1324
1743
  msgid "User DN template"
1325
1744
  msgstr "Plantilla DN del usuario"
1326
1745
 
1327
- #: core/app_settings.py:341
1746
+ #: core/app_settings.py:329
1328
1747
  #, python-format
1329
1748
  msgid ""
1330
1749
  "The template used to construct a user's DN. It should contain one "
@@ -1333,299 +1752,288 @@ msgstr ""
1333
1752
  "La plantilla usada para contriunr un DN de usuario. Debería contener una "
1334
1753
  "cadena reemplazables (p.e. %(user)s)"
1335
1754
 
1336
- #: core/app_settings.py:350
1755
+ #: core/app_settings.py:338
1337
1756
  msgid "LDAP synchronization settings"
1338
1757
  msgstr ""
1339
1758
 
1340
- #: core/app_settings.py:378
1759
+ #: core/app_settings.py:366
1341
1760
  msgid "Enable export to LDAP"
1342
1761
  msgstr ""
1343
1762
 
1344
- #: core/app_settings.py:380
1763
+ #: core/app_settings.py:368
1345
1764
  msgid ""
1346
1765
  "Enable automatic synchronization between local database and LDAP directory"
1347
1766
  msgstr ""
1348
1767
 
1349
- #: core/app_settings.py:389
1768
+ #: core/app_settings.py:377
1350
1769
  msgid "Delete remote LDAP account when local account is deleted"
1351
1770
  msgstr ""
1352
1771
 
1353
- #: core/app_settings.py:392
1772
+ #: core/app_settings.py:380
1354
1773
  msgid ""
1355
1774
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1356
1775
  "be disabled."
1357
1776
  msgstr ""
1358
1777
 
1359
- #: core/app_settings.py:401
1778
+ #: core/app_settings.py:389
1360
1779
  msgid "Account DN template"
1361
1780
  msgstr ""
1362
1781
 
1363
- #: core/app_settings.py:403
1782
+ #: core/app_settings.py:391
1364
1783
  #, python-format
1365
1784
  msgid ""
1366
1785
  "The template used to construct an account's DN. It should contain one "
1367
1786
  "placeholder (ie. %(user)s)"
1368
1787
  msgstr ""
1369
1788
 
1370
- #: core/app_settings.py:412
1789
+ #: core/app_settings.py:400
1371
1790
  msgid "Enable import from LDAP"
1372
1791
  msgstr ""
1373
1792
 
1374
- #: core/app_settings.py:414
1793
+ #: core/app_settings.py:402
1375
1794
  msgid "Enable account synchronization from LDAP directory to local database"
1376
1795
  msgstr ""
1377
1796
 
1378
- #: core/app_settings.py:444
1797
+ #: core/app_settings.py:432
1379
1798
  msgid "Username attribute"
1380
1799
  msgstr ""
1381
1800
 
1382
- #: core/app_settings.py:446
1801
+ #: core/app_settings.py:434
1383
1802
  msgid "The name of the LDAP attribute where the username can be found."
1384
1803
  msgstr ""
1385
1804
 
1386
- #: core/app_settings.py:455
1805
+ #: core/app_settings.py:443
1387
1806
  msgid "Enable Dovecot LDAP sync"
1388
1807
  msgstr ""
1389
1808
 
1390
- #: core/app_settings.py:457
1809
+ #: core/app_settings.py:445
1391
1810
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1392
1811
  msgstr ""
1393
1812
 
1394
- #: core/app_settings.py:465
1813
+ #: core/app_settings.py:453
1395
1814
  msgid "Dovecot LDAP config file"
1396
1815
  msgstr ""
1397
1816
 
1398
- #: core/app_settings.py:467
1817
+ #: core/app_settings.py:455
1399
1818
  msgid ""
1400
1819
  "Location of the configuration file which contains Dovecot LDAP settings."
1401
1820
  msgstr ""
1402
1821
 
1403
- #: core/app_settings.py:480
1822
+ #: core/app_settings.py:468
1404
1823
  msgid "Dashboard"
1405
1824
  msgstr "Panel de Control"
1406
1825
 
1407
- #: core/app_settings.py:486
1826
+ #: core/app_settings.py:474
1408
1827
  #, fuzzy
1409
1828
  #| msgid "spam messages"
1410
1829
  msgid "Custom welcome message"
1411
1830
  msgstr "Mensajes Basura"
1412
1831
 
1413
- #: core/app_settings.py:488
1832
+ #: core/app_settings.py:476
1414
1833
  msgid "A welcome message that will be displayed instead the default one"
1415
1834
  msgstr ""
1416
1835
 
1417
- #: core/app_settings.py:495
1836
+ #: core/app_settings.py:483
1418
1837
  msgid "Custom RSS feed"
1419
1838
  msgstr "Agregación RSS personalizada"
1420
1839
 
1421
- #: core/app_settings.py:497
1840
+ #: core/app_settings.py:485
1422
1841
  msgid "Display custom RSS feed to resellers and domain administrators"
1423
1842
  msgstr ""
1424
1843
  "Mostrar una fuente de agregación RSS personalizada a revendedores y "
1425
1844
  "administradores de dominio"
1426
1845
 
1427
- #: core/app_settings.py:506
1846
+ #: core/app_settings.py:494
1428
1847
  #, fuzzy
1429
- #| msgid ""
1430
- #| "Display custom RSS feed to resellers and domain administrators"
1848
+ #| msgid "Display custom RSS feed to resellers and domain administrators"
1431
1849
  msgid "Display custom RSS feed to super admins"
1432
1850
  msgstr ""
1433
1851
  "Mostrar una fuente de agregación RSS personalizada a revendedores y "
1434
1852
  "administradores de dominio"
1435
1853
 
1436
- #: core/app_settings.py:509
1854
+ #: core/app_settings.py:497
1437
1855
  #, fuzzy
1438
- #| msgid ""
1439
- #| "Display custom RSS feed to resellers and domain administrators"
1856
+ #| msgid "Display custom RSS feed to resellers and domain administrators"
1440
1857
  msgid "Display custom RSS feed also to super administrators"
1441
1858
  msgstr ""
1442
1859
  "Mostrar una fuente de agregación RSS personalizada a revendedores y "
1443
1860
  "administradores de dominio"
1444
1861
 
1445
- #: core/app_settings.py:517
1862
+ #: core/app_settings.py:505
1446
1863
  msgid "Hide features widget"
1447
1864
  msgstr "Ocultar widget de características"
1448
1865
 
1449
- #: core/app_settings.py:519
1866
+ #: core/app_settings.py:507
1450
1867
  msgid "Hide features widget for resellers and domain administrators"
1451
1868
  msgstr ""
1452
1869
  "Ocultar el widget de características a revendedores y administradores de "
1453
1870
  "dominio"
1454
1871
 
1455
- #: core/app_settings.py:531
1872
+ #: core/app_settings.py:519
1456
1873
  msgid "Theme"
1457
1874
  msgstr ""
1458
1875
 
1459
- #: core/app_settings.py:537
1876
+ #: core/app_settings.py:525
1460
1877
  msgid "Primary theme color"
1461
1878
  msgstr ""
1462
1879
 
1463
- #: core/app_settings.py:539
1880
+ #: core/app_settings.py:527
1464
1881
  msgid ""
1465
1882
  "Primary color of the theme (hexadecimal code), used as the background color "
1466
1883
  "of the left menu for example"
1467
1884
  msgstr ""
1468
1885
 
1469
- #: core/app_settings.py:548
1886
+ #: core/app_settings.py:536
1470
1887
  msgid "Primary theme color (lighter version)"
1471
1888
  msgstr ""
1472
1889
 
1473
- #: core/app_settings.py:551 core/app_settings.py:563
1890
+ #: core/app_settings.py:539 core/app_settings.py:551
1474
1891
  msgid "Primary color of the theme (hexadecimal code)"
1475
1892
  msgstr ""
1476
1893
 
1477
- #: core/app_settings.py:560
1894
+ #: core/app_settings.py:548
1478
1895
  msgid "Primary theme color (darker version)"
1479
1896
  msgstr ""
1480
1897
 
1481
- #: core/app_settings.py:571
1898
+ #: core/app_settings.py:559
1482
1899
  #, fuzzy
1483
1900
  #| msgid "Secondary email"
1484
1901
  msgid "Secondary theme color"
1485
1902
  msgstr "Email secundario"
1486
1903
 
1487
- #: core/app_settings.py:573
1904
+ #: core/app_settings.py:561
1488
1905
  msgid ""
1489
1906
  "Secondary color of the theme (hexadecimal code), used as the background "
1490
1907
  "color of some buttons for example"
1491
1908
  msgstr ""
1492
1909
 
1493
- #: core/app_settings.py:581
1910
+ #: core/app_settings.py:569
1494
1911
  msgid "Labels theme color"
1495
1912
  msgstr ""
1496
1913
 
1497
- #: core/app_settings.py:583
1914
+ #: core/app_settings.py:571
1498
1915
  msgid "Theme color for labels (hexadecimal code)"
1499
1916
  msgstr ""
1500
1917
 
1501
- #: core/app_settings.py:595
1918
+ #: core/app_settings.py:583
1502
1919
  msgid "Notifications"
1503
1920
  msgstr "Notificaciones"
1504
1921
 
1505
- #: core/app_settings.py:601
1922
+ #: core/app_settings.py:589
1506
1923
  msgid "Sender address"
1507
1924
  msgstr "Dirección del remitente"
1508
1925
 
1509
- #: core/app_settings.py:603
1926
+ #: core/app_settings.py:591
1510
1927
  msgid "Email address used to send notifications."
1511
1928
  msgstr "Dirección de email usada para mandar notificaciones"
1512
1929
 
1513
- #: core/app_settings.py:614
1930
+ #: core/app_settings.py:602
1514
1931
  msgid "Public API"
1515
1932
  msgstr "API pública"
1516
1933
 
1517
- #: core/app_settings.py:620
1934
+ #: core/app_settings.py:608
1518
1935
  msgid "Enable communication"
1519
1936
  msgstr "Establecer comunicación"
1520
1937
 
1521
- #: core/app_settings.py:622 core/app_settings.py:632
1938
+ #: core/app_settings.py:610 core/app_settings.py:620
1522
1939
  msgid "Automatically checks if a newer version is available"
1523
1940
  msgstr "Verificar automáticamente si hay una nueva versión disponible"
1524
1941
 
1525
- #: core/app_settings.py:629
1942
+ #: core/app_settings.py:617
1526
1943
  msgid "Check new versions"
1527
1944
  msgstr "Comprobar nuevas versiones"
1528
1945
 
1529
- #: core/app_settings.py:640
1946
+ #: core/app_settings.py:628
1530
1947
  msgid "Send an email when new versions are found"
1531
1948
  msgstr ""
1532
1949
 
1533
- #: core/app_settings.py:644
1950
+ #: core/app_settings.py:632
1534
1951
  msgid "Send an email to notify admins about new versions"
1535
1952
  msgstr ""
1536
1953
 
1537
- #: core/app_settings.py:651 sievefilters/constants.py:25
1954
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1538
1955
  msgid "Recipient"
1539
1956
  msgstr "Destinatario"
1540
1957
 
1541
- #: core/app_settings.py:654
1958
+ #: core/app_settings.py:642
1542
1959
  msgid "Recipient of new versions notification emails."
1543
1960
  msgstr ""
1544
1961
 
1545
- #: core/app_settings.py:661
1962
+ #: core/app_settings.py:649
1546
1963
  msgid "Send statistics"
1547
1964
  msgstr "Enviar estadísticas"
1548
1965
 
1549
- #: core/app_settings.py:664
1966
+ #: core/app_settings.py:652
1550
1967
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1551
1968
  msgstr ""
1552
1969
  "Enviar estadísticas a la API pública de Modoboa (contadores y extensiones "
1553
1970
  "usadas)"
1554
1971
 
1555
- #: core/app_settings.py:683
1972
+ #: core/app_settings.py:671
1556
1973
  #, fuzzy
1557
1974
  #| msgid "Inactive account threshold"
1558
1975
  msgid "Enable inactive account tracking"
1559
1976
  msgstr "Límite para cuentas inactivas"
1560
1977
 
1561
- #: core/app_settings.py:686
1978
+ #: core/app_settings.py:674
1562
1979
  msgid ""
1563
- "Allow the administrator to set a threshold (in days) beyond which an account"
1564
- " is considered inactive if the user hasn't logged in"
1980
+ "Allow the administrator to set a threshold (in days) beyond which an account "
1981
+ "is considered inactive if the user hasn't logged in"
1565
1982
  msgstr ""
1566
1983
 
1567
- #: core/app_settings.py:695
1984
+ #: core/app_settings.py:683
1568
1985
  msgid "Inactive account threshold"
1569
1986
  msgstr "Límite para cuentas inactivas"
1570
1987
 
1571
- #: core/app_settings.py:698
1988
+ #: core/app_settings.py:686
1572
1989
  msgid ""
1573
- "An account with a last login date greater than this threshold (in days) will"
1574
- " be considered as inactive"
1990
+ "An account with a last login date greater than this threshold (in days) will "
1991
+ "be considered as inactive"
1575
1992
  msgstr ""
1576
1993
  "Una cuenta inactiva con una fecha de inicio de sesión previa a este límite "
1577
1994
  "(en días) se considerará como cuenta inactiva"
1578
1995
 
1579
- #: core/app_settings.py:707
1996
+ #: core/app_settings.py:695
1580
1997
  msgid "Top notifications check interval"
1581
1998
  msgstr "Intervalo de tiempo para notificaciones superiores"
1582
1999
 
1583
- #: core/app_settings.py:710
2000
+ #: core/app_settings.py:698
1584
2001
  msgid "Interval between two top notification checks (in seconds)"
1585
2002
  msgstr "Intervalo entre dos notificaciones superiores (en segundos)"
1586
2003
 
1587
- #: core/app_settings.py:717
2004
+ #: core/app_settings.py:705
1588
2005
  msgid "Maximum log record age"
1589
2006
  msgstr "Máximo tiempo de almacenamiento del log"
1590
2007
 
1591
- #: core/app_settings.py:719
2008
+ #: core/app_settings.py:707
1592
2009
  msgid "The maximum age in days of a log record"
1593
2010
  msgstr "El tiempo máximo de almacenamiento del log en días"
1594
2011
 
1595
- #: core/app_settings.py:727
2012
+ #: core/app_settings.py:715
1596
2013
  msgid "Retention time in message history"
1597
2014
  msgstr ""
1598
2015
 
1599
- #: core/app_settings.py:730
2016
+ #: core/app_settings.py:718
1600
2017
  msgid "Retention time (in days) of a message in the message history section"
1601
2018
  msgstr ""
1602
2019
 
1603
- #: core/app_settings.py:737
2020
+ #: core/app_settings.py:725
1604
2021
  msgid "Items per page"
1605
2022
  msgstr "Items por página"
1606
2023
 
1607
- #: core/app_settings.py:739
2024
+ #: core/app_settings.py:727
1608
2025
  msgid "Number of displayed items per page"
1609
2026
  msgstr "Número de elementos mostrado por página"
1610
2027
 
1611
- #: core/app_settings.py:746
1612
- msgid "Default top redirection"
1613
- msgstr "Redirección principal por defecto"
1614
-
1615
- #: core/app_settings.py:748
1616
- msgid "The default redirection used when no application is specified"
1617
- msgstr ""
1618
- "La redirección que será usada cuando ninguna aplicación sea especificada."
1619
-
1620
2028
  #: core/checks.py:15
1621
2029
  msgid ""
1622
2030
  "You have USE_TZ set to False, this may result in issues during transitions "
1623
2031
  "between summer/winter time (ie the same local time occuring twice due to "
1624
2032
  "clock change)."
1625
2033
  msgstr ""
1626
- "A fijado USE_TZ como falso, lo que puede llevar a problemas en la transición"
1627
- " entre los horarios de verano e invierno (p.ej., que la misma hora exista "
1628
- "dos veces debido a cambios del reloj)."
2034
+ "A fijado USE_TZ como falso, lo que puede llevar a problemas en la transición "
2035
+ "entre los horarios de verano e invierno (p.ej., que la misma hora exista dos "
2036
+ "veces debido a cambios del reloj)."
1629
2037
 
1630
2038
  #: core/checks.py:19
1631
2039
  msgid "Set `USE_TZ = True` in settings.py"
@@ -1647,9 +2055,8 @@ msgstr ""
1647
2055
 
1648
2056
  #: core/checks.py:34
1649
2057
  msgid ""
1650
- "Visit : "
1651
- "https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
1652
- "oauth2"
2058
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
2059
+ "dovecot.html#dovecot-oauth2"
1653
2060
  msgstr ""
1654
2061
 
1655
2062
  #: core/checks.py:41
@@ -1660,9 +2067,8 @@ msgstr ""
1660
2067
 
1661
2068
  #: core/checks.py:45
1662
2069
  msgid ""
1663
- "Visit : "
1664
- "https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
1665
- "oauth2"
2070
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
2071
+ "radicale.html#radicale-oauth2"
1666
2072
  msgstr ""
1667
2073
 
1668
2074
  #: core/constants.py:6
@@ -1747,7 +2153,7 @@ msgstr "No puede eliminar su propia cuenta"
1747
2153
  msgid "One or more updates are available"
1748
2154
  msgstr "Una o más actualizaciones están disponibles"
1749
2155
 
1750
- #: core/handlers.py:138
2156
+ #: core/handlers.py:140
1751
2157
  #, python-format
1752
2158
  msgid "You are still using a deprecated password scheme (%s)"
1753
2159
  msgstr ""
@@ -1910,23 +2316,23 @@ msgstr[1] ""
1910
2316
  msgid "The core part of Modoboa"
1911
2317
  msgstr "El núcleo de Modoboa"
1912
2318
 
1913
- #: core/views/auth.py:65
2319
+ #: core/views/auth.py:82
1914
2320
  #, python-format
1915
2321
  msgid "User '%s' successfully logged in"
1916
2322
  msgstr "Usuario '%s' ha entrado con éxito"
1917
2323
 
1918
- #: core/views/auth.py:109
2324
+ #: core/views/auth.py:128
1919
2325
  #, python-format
1920
2326
  msgid "Password scheme mismatch. Updating %s password"
1921
2327
  msgstr ""
1922
2328
  "No se ajusta al esquema de contraseña. Actualizando la contraseña de %s "
1923
2329
 
1924
- #: core/views/auth.py:116
2330
+ #: core/views/auth.py:135
1925
2331
  #, python-format
1926
2332
  msgid "Password hash parameter missmatch. Updating %s password"
1927
2333
  msgstr ""
1928
2334
 
1929
- #: core/views/auth.py:154
2335
+ #: core/views/auth.py:173
1930
2336
  msgid "User '{}' successfully logged out"
1931
2337
  msgstr "Usuario '{}' ha salido con éxito"
1932
2338
 
@@ -1955,16 +2361,10 @@ msgid "Not resolved"
1955
2361
  msgstr "Sin definir"
1956
2362
 
1957
2363
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
1958
- #: webmail/constants.py:18
2364
+ #: webmail/constants.py:38
1959
2365
  msgid "None"
1960
2366
  msgstr "Nada"
1961
2367
 
1962
- #: dmarc/models.py:11
1963
- #, fuzzy
1964
- #| msgid "Quantity"
1965
- msgid "Quarantine"
1966
- msgstr "Cuarentena"
1967
-
1968
2368
  #: dmarc/models.py:12
1969
2369
  #, fuzzy
1970
2370
  #| msgid "Subject"
@@ -2093,7 +2493,12 @@ msgstr ""
2093
2493
  msgid "Public key mismatchs"
2094
2494
  msgstr ""
2095
2495
 
2096
- #: imap_migration/api/v2/serializers.py:117
2496
+ #: imap_migration/api/v2/serializers.py:66
2497
+ #, fuzzy
2498
+ msgid "Migrated domain with name {} already exists"
2499
+ msgstr "Ya existe un alias con este nombre"
2500
+
2501
+ #: imap_migration/api/v2/serializers.py:130
2097
2502
  #, fuzzy
2098
2503
  #| msgid "Access updated"
2099
2504
  msgid "Access denied"
@@ -2267,11 +2672,10 @@ msgstr "Alias del dominio"
2267
2672
 
2268
2673
  #: limits/app_settings.py:52
2269
2674
  #, fuzzy
2270
- #| msgid ""
2271
- #| "Maximum number of allowed domain aliases for a new administrator"
2675
+ #| msgid "Maximum number of allowed domain aliases for a new administrator"
2272
2676
  msgid ""
2273
- "Maximum number of allowed domain aliases for a new administrator. (0 to deny"
2274
- " any creation, -1 to allow unlimited creations)"
2677
+ "Maximum number of allowed domain aliases for a new administrator. (0 to deny "
2678
+ "any creation, -1 to allow unlimited creations)"
2275
2679
  msgstr ""
2276
2680
  "Número máximo permitido de alias de dominio para un nuevo administrador"
2277
2681
 
@@ -2325,16 +2729,15 @@ msgstr ""
2325
2729
  #| msgid ""
2326
2730
  #| "Maximum number of allowed domain administrators for a new administrator"
2327
2731
  msgid ""
2328
- "Maximum number of allowed domain administrators for a new domain. (0 to deny"
2329
- " any creation, -1 to allow unlimited creations)"
2732
+ "Maximum number of allowed domain administrators for a new domain. (0 to deny "
2733
+ "any creation, -1 to allow unlimited creations)"
2330
2734
  msgstr ""
2331
2735
  "Número máximo de dominios permitido de administradores para un nuevo "
2332
2736
  "administrador"
2333
2737
 
2334
2738
  #: limits/app_settings.py:126
2335
2739
  #, fuzzy
2336
- #| msgid ""
2337
- #| "Maximum number of allowed domain aliases for a new administrator"
2740
+ #| msgid "Maximum number of allowed domain aliases for a new administrator"
2338
2741
  msgid ""
2339
2742
  "Maximum number of allowed domain aliases for a new domain. (0 to deny any "
2340
2743
  "creation, -1 to allow unlimited creations)"
@@ -2353,8 +2756,8 @@ msgstr "Número máximo de mailboxes permitidas para un nuevo administrador"
2353
2756
  #, fuzzy
2354
2757
  #| msgid "Maximum number of allowed aliases for a new administrator"
2355
2758
  msgid ""
2356
- "Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
2357
- " -1 to allow unlimited creations)"
2759
+ "Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
2760
+ "-1 to allow unlimited creations)"
2358
2761
  msgstr "Número máxido de alias permitidos para un nuevo administrador"
2359
2762
 
2360
2763
  #: limits/apps.py:16
@@ -2827,8 +3230,8 @@ msgstr ""
2827
3230
 
2828
3231
  #: rspamd/app_settings.py:21
2829
3232
  msgid ""
2830
- "Absolute path of the file which contains paths to DKIM private keys. Must be"
2831
- " readable by _rspamd group or user."
3233
+ "Absolute path of the file which contains paths to DKIM private keys. Must be "
3234
+ "readable by _rspamd group or user."
2832
3235
  msgstr ""
2833
3236
 
2834
3237
  #: rspamd/app_settings.py:30
@@ -2847,8 +3250,8 @@ msgstr ""
2847
3250
 
2848
3251
  #: rspamd/app_settings.py:53
2849
3252
  msgid ""
2850
- "Location of the rspamd dashboard. Can either be a relative URL (eg. "
2851
- "'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
3253
+ "Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
3254
+ "rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
2852
3255
  "guidance on the Super-Admin dashboard."
2853
3256
  msgstr ""
2854
3257
 
@@ -2856,7 +3259,7 @@ msgstr ""
2856
3259
  msgid "Rspamd"
2857
3260
  msgstr ""
2858
3261
 
2859
- #: sievefilters/api/v2/viewsets.py:193
3262
+ #: sievefilters/api/v2/viewsets.py:203
2860
3263
  #, fuzzy, python-format
2861
3264
  #| msgid "User '%s' already exists"
2862
3265
  msgid "Filter %s already exists"
@@ -2942,7 +3345,7 @@ msgstr "es"
2942
3345
  msgid "is not"
2943
3346
  msgstr "no es"
2944
3347
 
2945
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3348
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
2946
3349
  msgid "Subject"
2947
3350
  msgstr "Tema"
2948
3351
 
@@ -2998,8 +3401,7 @@ msgstr "Detener procesamiento"
2998
3401
 
2999
3402
  #: sievefilters/lib.py:49
3000
3403
  msgid "Connection to MANAGESIEVE server failed, check your configuration"
3001
- msgstr ""
3002
- "La conexión al servidor MANAGESIEVE falló, verifique su configuración."
3404
+ msgstr "La conexión al servidor MANAGESIEVE falló, verifique su configuración."
3003
3405
 
3004
3406
  #: sievefilters/lib.py:76
3005
3407
  #, fuzzy
@@ -3100,10 +3502,10 @@ msgid ""
3100
3502
  "primary address, and check your spam folder.</p>"
3101
3503
  msgstr ""
3102
3504
  "<p>Si existe una cuenta con el correo electrónico introducido, recibirá en "
3103
- "breves instantes instrucciones via email para cambiar su "
3104
- "contraseña.</p><p>Si no recibe el correo, por favor compruebe que la "
3105
- "dirección de correo electrónico introducida es su dirección principal y "
3106
- "revise su directorio de correo basura.</p>"
3505
+ "breves instantes instrucciones via email para cambiar su contraseña.</"
3506
+ "p><p>Si no recibe el correo, por favor compruebe que la dirección de correo "
3507
+ "electrónico introducida es su dirección principal y revise su directorio de "
3508
+ "correo basura.</p>"
3107
3509
 
3108
3510
  #: templates/registration/password_reset_email.html:4
3109
3511
  #: templates/registration/password_reset_email_v2.html:4
@@ -3155,8 +3557,8 @@ msgstr "Contraseña anterior"
3155
3557
 
3156
3558
  #: templates/registration/twofactor_code_verify.html:35
3157
3559
  msgid ""
3158
- "Enter the code from the two-factor app on your mobile device. If you've lost"
3159
- " your device, you may enter one of your recovery codes."
3560
+ "Enter the code from the two-factor app on your mobile device. If you've lost "
3561
+ "your device, you may enter one of your recovery codes."
3160
3562
  msgstr ""
3161
3563
 
3162
3564
  #: templates/registration/twofactor_code_verify.html:42
@@ -3204,25 +3606,25 @@ msgstr "Tamaño máximo del adjunto en bytes (or KB, MB, GB si se especifica)"
3204
3606
  msgid "SMTP settings"
3205
3607
  msgstr "Configuración de SMTP"
3206
3608
 
3207
- #: webmail/app_settings.py:75
3609
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3208
3610
  #, fuzzy
3209
3611
  #| msgid "Address of your IMAP server"
3210
3612
  msgid "Address of your SMTP server"
3211
3613
  msgstr "Dirección de su servidor SMTP"
3212
3614
 
3213
- #: webmail/app_settings.py:82
3615
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3214
3616
  #, fuzzy
3215
3617
  #| msgid "Use a secured connection"
3216
3618
  msgid "Secured connection mode"
3217
3619
  msgstr "Modo de conexión seguro"
3218
3620
 
3219
- #: webmail/app_settings.py:84
3621
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3220
3622
  #, fuzzy
3221
3623
  #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
3222
3624
  msgid "Use a secured connection to access SMTP server"
3223
3625
  msgstr "Usar una conexión segura para acceder al servidor SMTP"
3224
3626
 
3225
- #: webmail/app_settings.py:93
3627
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3226
3628
  #, fuzzy
3227
3629
  #| msgid "Listening port of your IMAP server"
3228
3630
  msgid "Listening port of your SMTP server"
@@ -3239,125 +3641,121 @@ msgstr "Autenticación obligatoria"
3239
3641
  msgid "Server needs authentication"
3240
3642
  msgstr "El servidor requiere autenticación"
3241
3643
 
3242
- #: webmail/app_settings.py:118
3243
- msgid "Display"
3244
- msgstr "Mostrar"
3644
+ #: webmail/app_settings.py:113
3645
+ #, fuzzy
3646
+ #| msgid "LDAP settings"
3647
+ msgid "Scheduling settings"
3648
+ msgstr "Configuración de ManageSieve"
3245
3649
 
3246
- #: webmail/app_settings.py:124
3650
+ #: webmail/app_settings.py:161
3247
3651
  msgid "Default message display mode"
3248
3652
  msgstr "Modo por defecto para mostrar un mensaje"
3249
3653
 
3250
- #: webmail/app_settings.py:126
3654
+ #: webmail/app_settings.py:163
3251
3655
  #, fuzzy
3252
3656
  #| msgid "The default redirection used when no application is specified"
3253
3657
  msgid "The default mode used when displaying a message"
3254
3658
  msgstr "Modo por defecto usado cuando se muestra un mensaje"
3255
3659
 
3256
- #: webmail/app_settings.py:133
3660
+ #: webmail/app_settings.py:170
3257
3661
  msgid "Enable HTML links display"
3258
3662
  msgstr "Activar el mostrar enlaces de HTML"
3259
3663
 
3260
- #: webmail/app_settings.py:136
3664
+ #: webmail/app_settings.py:173
3261
3665
  msgid "Enable/Disable HTML links display"
3262
3666
  msgstr "Activar/Desactivar el mostrar enlaces HTML"
3263
3667
 
3264
- #: webmail/app_settings.py:144
3265
- #, fuzzy
3266
- #| msgid "Number of displayed items per page"
3267
- msgid "Number of displayed emails per page"
3268
- msgstr "Número de emails mostrados por página"
3269
-
3270
- #: webmail/app_settings.py:147
3668
+ #: webmail/app_settings.py:184
3271
3669
  msgid "Sets the maximum number of messages displayed in a page"
3272
3670
  msgstr "Fija el número máximo de mensajes mostrados en una página"
3273
3671
 
3274
- #: webmail/app_settings.py:154
3672
+ #: webmail/app_settings.py:191
3275
3673
  msgid "Listing refresh rate"
3276
3674
  msgstr "Tasa de refresco"
3277
3675
 
3278
- #: webmail/app_settings.py:156
3676
+ #: webmail/app_settings.py:193
3279
3677
  msgid "Automatic listing refresh rate (in secconds)"
3280
3678
  msgstr ""
3281
3679
 
3282
- #: webmail/app_settings.py:163
3680
+ #: webmail/app_settings.py:200
3283
3681
  msgid "Folder container's width"
3284
3682
  msgstr "Propietario de los mailboxes"
3285
3683
 
3286
- #: webmail/app_settings.py:165
3684
+ #: webmail/app_settings.py:202
3287
3685
  msgid "The width of the folder list container"
3288
3686
  msgstr ""
3289
3687
 
3290
- #: webmail/app_settings.py:176
3688
+ #: webmail/app_settings.py:213
3291
3689
  msgid "Folders"
3292
3690
  msgstr ""
3293
3691
 
3294
- #: webmail/app_settings.py:182
3692
+ #: webmail/app_settings.py:219
3295
3693
  #, fuzzy
3296
3694
  #| msgid "Create aliases"
3297
3695
  msgid "Trash folder"
3298
3696
  msgstr "Carpeta de basura"
3299
3697
 
3300
- #: webmail/app_settings.py:184
3698
+ #: webmail/app_settings.py:221
3301
3699
  #, fuzzy
3302
3700
  #| msgid "rejected messages"
3303
3701
  msgid "Folder where deleted messages go"
3304
3702
  msgstr "Carpeta dónde van los mensajes eliminados"
3305
3703
 
3306
- #: webmail/app_settings.py:191
3704
+ #: webmail/app_settings.py:228
3307
3705
  #, fuzzy
3308
3706
  #| msgid "Create aliases"
3309
3707
  msgid "Sent folder"
3310
3708
  msgstr "Carpeta de enviados"
3311
3709
 
3312
- #: webmail/app_settings.py:193
3710
+ #: webmail/app_settings.py:230
3313
3711
  msgid "Folder where copies of sent messages go"
3314
3712
  msgstr "Carpeta dónde van las copias de los correos enviados"
3315
3713
 
3316
- #: webmail/app_settings.py:200
3714
+ #: webmail/app_settings.py:237
3317
3715
  #, fuzzy
3318
3716
  #| msgid "Create aliases"
3319
3717
  msgid "Drafts folder"
3320
3718
  msgstr "Carpeta de borradores"
3321
3719
 
3322
- #: webmail/app_settings.py:201
3720
+ #: webmail/app_settings.py:238
3323
3721
  msgid "Folder where drafts go"
3324
3722
  msgstr "Carpeta dónde van los borradores"
3325
3723
 
3326
- #: webmail/app_settings.py:207
3724
+ #: webmail/app_settings.py:244
3327
3725
  #, fuzzy
3328
3726
  #| msgid "Create aliases"
3329
3727
  msgid "Junk folder"
3330
3728
  msgstr "Carpeta de enviados"
3331
3729
 
3332
- #: webmail/app_settings.py:209
3730
+ #: webmail/app_settings.py:246
3333
3731
  #, fuzzy
3334
3732
  #| msgid "rejected messages"
3335
3733
  msgid "Folder where junk messages should go"
3336
3734
  msgstr "Carpeta dónde van los mensajes eliminados"
3337
3735
 
3338
- #: webmail/app_settings.py:220
3736
+ #: webmail/app_settings.py:257
3339
3737
  #, fuzzy
3340
3738
  #| msgid "sent messages"
3341
3739
  msgid "Composing messages"
3342
3740
  msgstr "Composición de mensajes"
3343
3741
 
3344
- #: webmail/app_settings.py:226
3742
+ #: webmail/app_settings.py:263
3345
3743
  #, fuzzy
3346
3744
  #| msgid "Default top redirection"
3347
3745
  msgid "Default editor"
3348
3746
  msgstr "Editor por defecto"
3349
3747
 
3350
- #: webmail/app_settings.py:228
3748
+ #: webmail/app_settings.py:265
3351
3749
  #, fuzzy
3352
3750
  #| msgid "The default redirection used when no application is specified"
3353
3751
  msgid "The default editor to use when composing a message"
3354
3752
  msgstr "Editor por defecto para usar cuando redacta un mensaje"
3355
3753
 
3356
- #: webmail/app_settings.py:235
3754
+ #: webmail/app_settings.py:272
3357
3755
  msgid "Signature text"
3358
3756
  msgstr "Texto de la firma"
3359
3757
 
3360
- #: webmail/app_settings.py:237
3758
+ #: webmail/app_settings.py:274
3361
3759
  msgid "User defined email signature"
3362
3760
  msgstr "Firma de correo definida por el usuario"
3363
3761
 
@@ -3373,51 +3771,73 @@ msgstr "Dirección del servidor"
3373
3771
  msgid "Failed to remove attachment: "
3374
3772
  msgstr "Fallo al eliminar el adjunto:"
3375
3773
 
3376
- #: webmail/lib/imapemail.py:272
3774
+ #: webmail/lib/imapemail.py:270
3377
3775
  msgid "wrote:"
3378
3776
  msgstr ""
3379
3777
 
3380
- #: webmail/lib/imapemail.py:306
3778
+ #: webmail/lib/imapemail.py:304
3381
3779
  msgid "Date"
3382
3780
  msgstr "Fecha"
3383
3781
 
3384
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3782
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3385
3783
  #, fuzzy
3386
3784
  #| msgid "sent messages"
3387
3785
  msgid "Original message"
3388
3786
  msgstr "Todos los mensajes"
3389
3787
 
3390
- #: webmail/lib/imaputils.py:221
3788
+ #: webmail/lib/imaputils.py:222
3391
3789
  msgid "Failed to retrieve hierarchy delimiter"
3392
3790
  msgstr "Fallo al recuperar el delimitador jerárquico"
3393
3791
 
3394
- #: webmail/lib/imaputils.py:472
3792
+ #: webmail/lib/imaputils.py:478
3395
3793
  msgid "Inbox"
3396
3794
  msgstr ""
3397
3795
 
3398
- #: webmail/lib/imaputils.py:476
3796
+ #: webmail/lib/imaputils.py:482
3399
3797
  #, fuzzy
3400
3798
  #| msgid "Create aliases"
3401
3799
  msgid "Drafts"
3402
3800
  msgstr "Carpeta de borradores"
3403
3801
 
3404
- #: webmail/lib/imaputils.py:481
3802
+ #: webmail/lib/imaputils.py:487
3405
3803
  msgid "Junk"
3406
3804
  msgstr ""
3407
3805
 
3408
- #: webmail/lib/imaputils.py:486
3806
+ #: webmail/lib/imaputils.py:492
3409
3807
  msgid "Sent"
3410
3808
  msgstr ""
3411
3809
 
3412
- #: webmail/lib/imaputils.py:491
3810
+ #: webmail/lib/imaputils.py:500
3811
+ msgid "Scheduled"
3812
+ msgstr ""
3813
+
3814
+ #: webmail/lib/imaputils.py:507
3413
3815
  msgid "Trash"
3414
3816
  msgstr ""
3415
3817
 
3416
- #: webmail/viewsets.py:343
3818
+ #: webmail/serializers.py:220
3819
+ msgid "Moving scheduled messages is forbidden"
3820
+ msgstr ""
3821
+
3822
+ #: webmail/serializers.py:253
3823
+ msgid "Only datetime in the future is allowed"
3824
+ msgstr ""
3825
+
3826
+ #: webmail/serializers.py:258
3827
+ msgid "Provived datetime must be one minute in the future at least"
3828
+ msgstr ""
3829
+
3830
+ #: webmail/viewsets.py:359
3417
3831
  #, python-format
3418
3832
  msgid "Attachment is too big (limit: %s)"
3419
3833
  msgstr "EL adjunto es demasiado grande (límite: %s)"
3420
3834
 
3421
- #, fuzzy, python-brace-format
3422
- #~ msgid "Connection to IMAP server failed: {error}"
3423
- #~ msgstr "Falló la conexión con el servidor IMAP: %s"
3835
+ #~ msgid "User profile"
3836
+ #~ msgstr "Perfil de usuario"
3837
+
3838
+ #~ msgid "Default top redirection"
3839
+ #~ msgstr "Redirección principal por defecto"
3840
+
3841
+ #~ msgid "The default redirection used when no application is specified"
3842
+ #~ msgstr ""
3843
+ #~ "La redirección que será usada cuando ninguna aplicación sea especificada."