modoboa 2.6.5__py3-none-any.whl → 2.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. modoboa/admin/api/v2/serializers.py +1 -0
  2. modoboa/admin/app_settings.py +12 -0
  3. modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
  4. modoboa/admin/jobs.py +86 -0
  5. modoboa/admin/management/commands/modo.py +0 -2
  6. modoboa/admin/tests/test_mailbox_operations.py +4 -4
  7. modoboa/admin/tests/test_mx.py +68 -56
  8. modoboa/amavis/jobs.py +11 -0
  9. modoboa/amavis/tests/test_jobs.py +18 -0
  10. modoboa/amavis/tests/test_viewsets.py +2 -3
  11. modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
  12. modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
  13. modoboa/autoconfig/tests.py +2 -1
  14. modoboa/autoconfig/views.py +11 -3
  15. modoboa/calendars/backends/caldav_.py +17 -13
  16. modoboa/calendars/jobs.py +7 -0
  17. modoboa/calendars/mocks.py +4 -1
  18. modoboa/calendars/serializers.py +14 -9
  19. modoboa/calendars/tests.py +10 -9
  20. modoboa/calendars/viewsets.py +3 -1
  21. modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
  22. modoboa/contacts/models.py +1 -0
  23. modoboa/contacts/serializers.py +5 -2
  24. modoboa/contacts/tasks.py +9 -3
  25. modoboa/contacts/tests.py +32 -6
  26. modoboa/contacts/viewsets.py +7 -1
  27. modoboa/core/api/v2/serializers.py +0 -7
  28. modoboa/core/api/v2/tests.py +0 -10
  29. modoboa/core/app_settings.py +0 -22
  30. modoboa/core/commands/deploy.py +13 -0
  31. modoboa/core/commands/templates/cron_config.py.tpl +33 -0
  32. modoboa/core/commands/templates/settings.py.tpl +21 -0
  33. modoboa/core/jobs.py +34 -0
  34. modoboa/core/management/commands/load_initial_data.py +1 -1
  35. modoboa/core/password_hashers/base.py +4 -1
  36. modoboa/core/tests/test_core.py +0 -14
  37. modoboa/core/tests/test_jobs.py +40 -0
  38. modoboa/frontend_dist/assets/{AccountAliasForm-B-hTKSFr.js → AccountAliasForm-DO6DwfjE.js} +1 -1
  39. modoboa/frontend_dist/assets/{AccountEditView-LkP_qhf_.js → AccountEditView-CCuN9mGB.js} +1 -1
  40. modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
  41. modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
  42. modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
  43. modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
  44. modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
  45. modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
  46. modoboa/frontend_dist/assets/{AliasEditView-BVjNJekt.js → AliasEditView-CTjrXYPf.js} +1 -1
  47. modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
  48. modoboa/frontend_dist/assets/{AliasView-DvvI6cV9.js → AliasView-BN13MNN_.js} +1 -1
  49. modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
  50. modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
  51. modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
  52. modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
  53. modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
  54. modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
  55. modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
  56. modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
  57. modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
  58. modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
  59. modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
  60. modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
  61. modoboa/frontend_dist/assets/{DomainAdminList-BO8_4Cwt.js → DomainAdminList-DD7p3i6F.js} +1 -1
  62. modoboa/frontend_dist/assets/{DomainEditView-BXylM4aB.js → DomainEditView-DoIoNYC4.js} +1 -1
  63. modoboa/frontend_dist/assets/{DomainTransportForm-Ccw5BXyM.js → DomainTransportForm-CbiJF9z5.js} +1 -1
  64. modoboa/frontend_dist/assets/{DomainView-Bd5XQI-1.js → DomainView-BXvznFYz.js} +3 -3
  65. modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
  66. modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
  67. modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
  68. modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
  69. modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
  70. modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
  71. modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
  72. modoboa/frontend_dist/assets/{HtmlEditor-DNn3CY-w.js → HtmlEditor-CyBl5wj2.js} +15 -15
  73. modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
  74. modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
  75. modoboa/frontend_dist/assets/{LoadingData-CnQ_aVqa.js → LoadingData-C2txD49L.js} +1 -1
  76. modoboa/frontend_dist/assets/{LoginCallbackView-Nh_gmh8e.js → LoginCallbackView-DAvty3CI.js} +1 -1
  77. modoboa/frontend_dist/assets/{LoginView-BtC9BHuJ.js → LoginView-DHYITkn4.js} +1 -1
  78. modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
  79. modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
  80. modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
  81. modoboa/frontend_dist/assets/{MessageView-C1Goz-hY.js → MessageView-CrrEJpNI.js} +1 -1
  82. modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
  83. modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
  84. modoboa/frontend_dist/assets/{ParametersForm-BegEnkQM.js → ParametersForm-DFKYkPAs.js} +1 -1
  85. modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
  86. modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
  87. modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
  88. modoboa/frontend_dist/assets/{ProviderGeneralForm-BAELnXh6.js → ProviderGeneralForm-DO-IpJMQ.js} +1 -1
  89. modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
  90. modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
  91. modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
  92. modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
  93. modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
  94. modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
  95. modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
  96. modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
  97. modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
  98. modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
  99. modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
  100. modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
  101. modoboa/frontend_dist/assets/{VAlert-Buv8Z5G4.js → VAlert-MDbeolOo.js} +1 -1
  102. modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
  103. modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
  104. modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
  105. modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
  106. modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
  107. modoboa/frontend_dist/assets/{VCard-D7AwBs4w.js → VCard-CBtX8JF-.js} +1 -1
  108. modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
  109. modoboa/frontend_dist/assets/{VCheckboxBtn-B5evxN9K.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
  110. modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
  111. modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
  112. modoboa/frontend_dist/assets/{VContainer-DY9021j4.js → VContainer-Cn-vKB3s.js} +1 -1
  113. modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
  114. modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
  115. modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
  116. modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
  117. modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
  118. modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
  119. modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
  120. modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
  121. modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
  122. modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
  123. modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
  124. modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
  125. modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
  126. modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
  127. modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
  128. modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
  129. modoboa/frontend_dist/assets/{VRow-DyK_Mj7R.js → VRow-83Qnr5iB.js} +1 -1
  130. modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
  131. modoboa/frontend_dist/assets/{VSelectionControl-Dkms9_P5.js → VSelectionControl-Cqi1xt-q.js} +1 -1
  132. modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
  133. modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
  134. modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
  135. modoboa/frontend_dist/assets/{VTable-D8ZwwC_B.js → VTable-f7wcr2AZ.js} +1 -1
  136. modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
  137. modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
  138. modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
  139. modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
  140. modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
  141. modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
  142. modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
  143. modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
  144. modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
  145. modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
  146. modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
  147. modoboa/frontend_dist/assets/{accounts-BZBqbAmd.js → accounts-KUsk6LHW.js} +1 -1
  148. modoboa/frontend_dist/assets/{admin-uCrKjpln.js → admin-BW9cZW0P.js} +1 -1
  149. modoboa/frontend_dist/assets/{aliases-CFwFkX45.js → aliases-Ge0hjIsH.js} +1 -1
  150. modoboa/frontend_dist/assets/{amavis-DCy0U0TD.js → amavis-BbFeFfsk.js} +1 -1
  151. modoboa/frontend_dist/assets/{amavis-B4ScfQsG.js → amavis-DtuzP_CS.js} +1 -1
  152. modoboa/frontend_dist/assets/{contacts-DKmh2q-4.js → contacts-DMJlQTe0.js} +1 -1
  153. modoboa/frontend_dist/assets/{domains-CDE4_LDF.js → domains-Du64lcXT.js} +1 -1
  154. modoboa/frontend_dist/assets/{domains.store-a9Y5UlDV.js → domains.store-1U61jeCV.js} +1 -1
  155. modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
  156. modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
  157. modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
  158. modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
  159. modoboa/frontend_dist/assets/{index-Dwg6jPTX.js → index-Dv00bmw9.js} +1 -1
  160. modoboa/frontend_dist/assets/{index-BjibLozh.js → index-jui3edpn.js} +47 -41
  161. modoboa/frontend_dist/assets/{language.store-DGuI8jG0.js → language.store-OcfdXL_-.js} +1 -1
  162. modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
  163. modoboa/frontend_dist/assets/{layout-5PvsmkGR.js → layout-DOO7TRTJ.js} +1 -1
  164. modoboa/frontend_dist/assets/{layout.store-DJVcXtxk.js → layout.store-C0g-piJn.js} +1 -1
  165. modoboa/frontend_dist/assets/{logos-CMmd0hOG.js → logos-Dz2Gzei-.js} +1 -1
  166. modoboa/frontend_dist/assets/{logs-D2GOydPZ.js → logs-CLm32Weu.js} +1 -1
  167. modoboa/frontend_dist/assets/{parameters-DJdlq9sh.js → parameters-DMIAQ7cd.js} +1 -1
  168. modoboa/frontend_dist/assets/{parameters.store-DH3pPlaT.js → parameters.store-DLnFzCwV.js} +1 -1
  169. modoboa/frontend_dist/assets/{permissions-CgFJFhCp.js → permissions-CrpE0b4w.js} +1 -1
  170. modoboa/frontend_dist/assets/{ssrBoot-ChTB-PYP.js → ssrBoot-B7cr7q9U.js} +1 -1
  171. modoboa/frontend_dist/assets/{tag-CvrHE14f.js → tag-WF93n81Q.js} +1 -1
  172. modoboa/frontend_dist/assets/{theme-DFzlhSh5.js → theme-_0oOYChG.js} +1 -1
  173. modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
  174. modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
  175. modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
  176. modoboa/frontend_dist/index.html +2 -2
  177. modoboa/imap_migration/models.py +3 -3
  178. modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
  179. modoboa/imap_migration/tests.py +21 -0
  180. modoboa/lib/cryptutils.py +2 -2
  181. modoboa/lib/sysutils.py +1 -1
  182. modoboa/lib/tests/__init__.py +0 -1
  183. modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
  184. modoboa/locale/br/LC_MESSAGES/django.po +301 -273
  185. modoboa/locale/cs/LC_MESSAGES/django.po +286 -269
  186. modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  187. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +303 -275
  188. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  189. modoboa/locale/de/LC_MESSAGES/django.po +297 -269
  190. modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
  191. modoboa/locale/de_DE/LC_MESSAGES/django.po +303 -275
  192. modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
  193. modoboa/locale/el_GR/LC_MESSAGES/django.po +303 -275
  194. modoboa/locale/en/LC_MESSAGES/django.po +286 -269
  195. modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
  196. modoboa/locale/es/LC_MESSAGES/django.po +302 -274
  197. modoboa/locale/es_MX/LC_MESSAGES/django.po +286 -269
  198. modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
  199. modoboa/locale/fi/LC_MESSAGES/django.po +299 -271
  200. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/fr/LC_MESSAGES/django.po +288 -271
  202. modoboa/locale/hu/LC_MESSAGES/django.po +286 -269
  203. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  204. modoboa/locale/it/LC_MESSAGES/django.po +303 -275
  205. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/ja_JP/LC_MESSAGES/django.po +390 -413
  207. modoboa/locale/ka/LC_MESSAGES/django.po +286 -269
  208. modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  209. modoboa/locale/nl_NL/LC_MESSAGES/django.po +299 -271
  210. modoboa/locale/no/LC_MESSAGES/django.po +286 -269
  211. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  212. modoboa/locale/pl_PL/LC_MESSAGES/django.po +297 -269
  213. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  214. modoboa/locale/pt_BR/LC_MESSAGES/django.po +298 -270
  215. modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  216. modoboa/locale/pt_PT/LC_MESSAGES/django.po +303 -275
  217. modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
  218. modoboa/locale/ro_RO/LC_MESSAGES/django.po +299 -271
  219. modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
  220. modoboa/locale/ru/LC_MESSAGES/django.po +993 -1096
  221. modoboa/locale/si/LC_MESSAGES/django.po +286 -269
  222. modoboa/locale/sk/LC_MESSAGES/django.po +286 -269
  223. modoboa/locale/sk_SK/LC_MESSAGES/django.po +286 -269
  224. modoboa/locale/sl_SI/LC_MESSAGES/django.po +288 -269
  225. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  226. modoboa/locale/sv/LC_MESSAGES/django.po +297 -269
  227. modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
  228. modoboa/locale/tr/LC_MESSAGES/django.po +301 -272
  229. modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  230. modoboa/locale/tr_TR/LC_MESSAGES/django.po +291 -269
  231. modoboa/locale/uk/LC_MESSAGES/django.po +286 -269
  232. modoboa/locale/zh/LC_MESSAGES/django.po +286 -269
  233. modoboa/locale/zh_CN/LC_MESSAGES/django.po +286 -269
  234. modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  235. modoboa/locale/zh_TW/LC_MESSAGES/django.po +295 -273
  236. modoboa/maillog/jobs.py +11 -0
  237. modoboa/maillog/tests/test_views.py +5 -4
  238. modoboa/parameters/api/v2/tests.py +1 -1
  239. modoboa/policyd/management/commands/policy_daemon.py +5 -1
  240. modoboa/policyd/tests.py +4 -2
  241. modoboa/rspamd/tests.py +20 -0
  242. modoboa/templates/registration/twofactor_code_verify.html +1 -1
  243. modoboa/webmail/app_settings.py +37 -0
  244. modoboa/webmail/constants.py +21 -1
  245. modoboa/webmail/factories.py +19 -0
  246. modoboa/webmail/jobs.py +27 -0
  247. modoboa/webmail/lib/__init__.py +0 -2
  248. modoboa/webmail/lib/imapemail.py +9 -11
  249. modoboa/webmail/lib/imapheader.py +25 -13
  250. modoboa/webmail/lib/imaputils.py +51 -13
  251. modoboa/webmail/lib/sendmail.py +88 -105
  252. modoboa/webmail/lib/utils.py +109 -0
  253. modoboa/webmail/migrations/0001_initial.py +90 -0
  254. modoboa/webmail/migrations/__init__.py +0 -0
  255. modoboa/webmail/mocks.py +12 -3
  256. modoboa/webmail/models.py +102 -0
  257. modoboa/webmail/serializers.py +84 -4
  258. modoboa/webmail/tests/data.py +21 -0
  259. modoboa/webmail/tests/test_lib_imaputils.py +33 -0
  260. modoboa/webmail/tests/test_viewsets.py +108 -0
  261. modoboa/webmail/urls.py +5 -0
  262. modoboa/webmail/viewsets.py +39 -9
  263. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
  264. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/RECORD +269 -252
  265. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
  266. modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
  267. modoboa/core/management/commands/cleanlogs.py +0 -53
  268. modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +0 -1
  269. modoboa/frontend_dist/assets/AccountPasswordSubForm-D4vB2yQK.js +0 -1
  270. modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +0 -1
  271. modoboa/frontend_dist/assets/AddressBook-C03MXg3y.js +0 -1
  272. modoboa/frontend_dist/assets/AdminLayout-DFmyKOo6.js +0 -1
  273. modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +0 -1
  274. modoboa/frontend_dist/assets/AliasRecipientForm-CZ_SvjtG.js +0 -1
  275. modoboa/frontend_dist/assets/AuditTrailView-Cyq25Jle.js +0 -1
  276. modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +0 -1
  277. modoboa/frontend_dist/assets/ChoiceField-BPhUvoyr.js +0 -1
  278. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
  279. modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +0 -1
  280. modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +0 -1
  281. modoboa/frontend_dist/assets/ConfirmDialog-BMIg94-U.js +0 -1
  282. modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +0 -1
  283. modoboa/frontend_dist/assets/CreationForm-CaAZYATm.js +0 -1
  284. modoboa/frontend_dist/assets/DashboardView-DErmyUoy.js +0 -1
  285. modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +0 -1
  286. modoboa/frontend_dist/assets/EmailField-BFgga4zp.js +0 -1
  287. modoboa/frontend_dist/assets/EmailView-DPWTch_6.js +0 -1
  288. modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +0 -1
  289. modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +0 -1
  290. modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +0 -1
  291. modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +0 -1
  292. modoboa/frontend_dist/assets/InformationView-Cc0aBA5j.js +0 -1
  293. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
  294. modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +0 -5
  295. modoboa/frontend_dist/assets/MenuItems-efx2rqwT.js +0 -1
  296. modoboa/frontend_dist/assets/MessagesView-CesYYZ9f.js +0 -1
  297. modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +0 -1
  298. modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +0 -1
  299. modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +0 -1
  300. modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +0 -1
  301. modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +0 -1
  302. modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +0 -1
  303. modoboa/frontend_dist/assets/QuarantineView-BzjeDhTm.js +0 -1
  304. modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +0 -1
  305. modoboa/frontend_dist/assets/ResourcesForm-noC3AXd9.js +0 -1
  306. modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +0 -1
  307. modoboa/frontend_dist/assets/SettingsView-DJTdIeRK.css +0 -1
  308. modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +0 -6
  309. modoboa/frontend_dist/assets/StatisticsView-BZkVSh5o.js +0 -1
  310. modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +0 -1
  311. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
  312. modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +0 -1
  313. modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +0 -1
  314. modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +0 -1
  315. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
  316. modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +0 -1
  317. modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +0 -1
  318. modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +0 -1
  319. modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +0 -1
  320. modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +0 -1
  321. modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +0 -1
  322. modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +0 -1
  323. modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +0 -1
  324. modoboa/frontend_dist/assets/VExpansionPanels-CkwHiKsA.js +0 -1
  325. modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +0 -1
  326. modoboa/frontend_dist/assets/VForm-ClJU5x_v.js +0 -1
  327. modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +0 -1
  328. modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +0 -1
  329. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
  330. modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +0 -1
  331. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
  332. modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +0 -1
  333. modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +0 -1
  334. modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +0 -1
  335. modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +0 -1
  336. modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +0 -1
  337. modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +0 -1
  338. modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +0 -1
  339. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
  340. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
  341. modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +0 -1
  342. modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +0 -1
  343. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
  344. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
  345. modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +0 -1
  346. modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +0 -1
  347. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
  348. modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +0 -1
  349. modoboa/frontend_dist/assets/filter-BVvMTmPG.js +0 -1
  350. modoboa/frontend_dist/assets/global.store-Bha4Z76j.js +0 -1
  351. modoboa/frontend_dist/assets/importExport-EgijWlC1.js +0 -1
  352. modoboa/frontend_dist/assets/languages-Cge6pECg.js +0 -1
  353. modoboa/frontend_dist/assets/transports-BUSYxSF4.js +0 -1
  354. modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +0 -1
  355. modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +0 -1
  356. {modoboa-2.6.5.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
  357. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
  358. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
  359. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
@@ -16,7 +16,7 @@ msgid ""
16
16
  msgstr ""
17
17
  "Project-Id-Version: Modoboa\n"
18
18
  "Report-Msgid-Bugs-To: \n"
19
- "POT-Creation-Date: 2025-12-02 16:07+0100\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
22
  "Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/"
@@ -58,14 +58,14 @@ msgid "Cannot be greater than domain quota"
58
58
  msgstr "No puede superar la cuota de dominio"
59
59
 
60
60
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
61
- #: admin/api/v2/serializers.py:570 admin/models/alias.py:45
61
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
62
62
  msgid "Permission denied."
63
63
  msgstr "Permiso denegado."
64
64
 
65
65
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
66
- #: admin/api/v2/serializers.py:491 amavis/serializers.py:39
67
- #: core/api/v2/serializers.py:255 core/api/v2/serializers.py:257
68
- #: core/api/v2/serializers.py:266 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
69
69
  msgid "This field is required"
70
70
  msgstr "Este campo es obligatorio"
71
71
 
@@ -76,7 +76,7 @@ msgstr ""
76
76
  "Lista de dominios administrados (sólo distribuidores y administradores de "
77
77
  "dominio)."
78
78
 
79
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:552
79
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
80
80
  msgid "Not allowed for this role."
81
81
  msgstr "No estás autorizado para esta función."
82
82
 
@@ -84,13 +84,12 @@ msgstr "No estás autorizado para esta función."
84
84
  msgid "Must be equal to mailbox full_address"
85
85
  msgstr "Debe ser igual a la dirección completa del buzón"
86
86
 
87
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:604
88
- #: calendars/serializers.py:175 calendars/serializers.py:177
89
- #: 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
90
89
  msgid "This field is required."
91
90
  msgstr "Este campo es obligatorio."
92
91
 
93
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:621
92
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
94
93
  msgid "Local domain {} does not exist"
95
94
  msgstr "El dominio local {} no existe"
96
95
 
@@ -137,43 +136,43 @@ msgstr "No puede definir una cuota ilimitada."
137
136
  msgid "User '%s' already exists"
138
137
  msgstr "El usuario '%s' ya existe"
139
138
 
140
- #: admin/api/v2/serializers.py:255 admin/api/v2/serializers.py:261
139
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
141
140
  msgid "Must be a positive integer"
142
141
  msgstr "Debe ser un entero positivo"
143
142
 
144
- #: admin/api/v2/serializers.py:270
143
+ #: admin/api/v2/serializers.py:271
145
144
  msgid "openssl not found, please make sure it is installed."
146
145
  msgstr ""
147
146
 
148
- #: admin/api/v2/serializers.py:273 pdfcredentials/api/v2/serializers.py:84
147
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
149
148
  #, fuzzy
150
149
  #| msgid "Domain not found."
151
150
  msgid "Directory not found."
152
151
  msgstr "Dominio no encontrado."
153
152
 
154
- #: admin/api/v2/serializers.py:284
153
+ #: admin/api/v2/serializers.py:285
155
154
  msgid "This field only allows valid IP addresses (or networks)"
156
155
  msgstr ""
157
156
 
158
- #: admin/api/v2/serializers.py:297
157
+ #: admin/api/v2/serializers.py:298
159
158
  msgid "Please disable imap migration before disabling this option."
160
159
  msgstr ""
161
160
 
162
- #: admin/api/v2/serializers.py:310
161
+ #: admin/api/v2/serializers.py:311
163
162
  msgid "Define at least one authorized network / address"
164
163
  msgstr ""
165
164
 
166
- #: admin/api/v2/serializers.py:587
165
+ #: admin/api/v2/serializers.py:588
167
166
  msgid "The left part of an email address can't be more than 64 characters."
168
167
  msgstr ""
169
168
 
170
- #: admin/api/v2/serializers.py:609
169
+ #: admin/api/v2/serializers.py:610
171
170
  #, fuzzy
172
171
  #| msgid "A mailbox is required"
173
172
  msgid "A mailbox is required to create aliases."
174
173
  msgstr "Es obligatorio un buzón"
175
174
 
176
- #: admin/api/v2/serializers.py:782
175
+ #: admin/api/v2/serializers.py:783
177
176
  #, fuzzy
178
177
  #| msgid "Unknown"
179
178
  msgid "Unknown status"
@@ -287,38 +286,48 @@ msgstr "Habilitar comprobación DNSBL"
287
286
  msgid "Check every domain against major DNSBL providers"
288
287
  msgstr "Compruebe cada dominio con los principales proveedores de DNSBL"
289
288
 
290
- #: 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
291
300
  msgid "Custom DNS server"
292
301
  msgstr ""
293
302
 
294
- #: admin/app_settings.py:118
303
+ #: admin/app_settings.py:130
295
304
  msgid "Use a custom DNS server instead of local server configuration"
296
305
  msgstr ""
297
306
 
298
- #: admin/app_settings.py:126
307
+ #: admin/app_settings.py:138
299
308
  msgid "DKIM keys storage directory"
300
309
  msgstr ""
301
310
 
302
- #: admin/app_settings.py:128
311
+ #: admin/app_settings.py:140
303
312
  msgid ""
304
313
  "Absolute path of the directory where DKIM private keys will be stored. Make "
305
314
  "sure this directory belongs to root user and is not readable by the outside "
306
315
  "world."
307
316
  msgstr ""
308
317
 
309
- #: admin/app_settings.py:137
318
+ #: admin/app_settings.py:149
310
319
  msgid "Default DKIM key length"
311
320
  msgstr ""
312
321
 
313
- #: admin/app_settings.py:139
322
+ #: admin/app_settings.py:151
314
323
  msgid "Default length in bits for newly generated DKIM keys."
315
324
  msgstr ""
316
325
 
317
- #: admin/app_settings.py:146
326
+ #: admin/app_settings.py:158
318
327
  msgid "Default domain quota"
319
328
  msgstr "Cuota del dominio por defecto"
320
329
 
321
- #: admin/app_settings.py:148
330
+ #: admin/app_settings.py:160
322
331
  msgid ""
323
332
  "Default quota (in MB) applied to freshly created domains with no value "
324
333
  "specified. A value of 0 means no quota."
@@ -326,28 +335,28 @@ msgstr ""
326
335
  "Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que "
327
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,73 +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
407
+ #: admin/app_settings.py:233
399
408
  msgid "Create a domain and a mailbox when an account is automatically created."
400
409
  msgstr "Crear un dominio y un buzón cuando se cree automáticamente una cuenta."
401
410
 
402
- #: admin/app_settings.py:230
411
+ #: admin/app_settings.py:242
403
412
  msgid "Create an alias when a mailbox is renamed"
404
413
  msgstr ""
405
414
 
406
- #: admin/app_settings.py:233
415
+ #: admin/app_settings.py:245
407
416
  msgid "Create an alias using the old address when a mailbox is renamed."
408
417
  msgstr ""
409
418
 
410
- #: admin/app_settings.py:245
419
+ #: admin/app_settings.py:257
411
420
  #, fuzzy
412
421
  #| msgid "alias"
413
422
  msgid "Aliases"
414
423
  msgstr "alias"
415
424
 
416
- #: admin/app_settings.py:251
425
+ #: admin/app_settings.py:263
417
426
  msgid "Alias can target any domain"
418
427
  msgstr ""
419
428
 
420
- #: admin/app_settings.py:253
429
+ #: admin/app_settings.py:265
421
430
  msgid "Allow aliases to target any domain, not just the local domains."
422
431
  msgstr ""
423
432
 
424
- #: admin/app_settings.py:260
433
+ #: admin/app_settings.py:272
425
434
  msgid "Alias target block list"
426
435
  msgstr ""
427
436
 
428
- #: admin/app_settings.py:262
437
+ #: admin/app_settings.py:274
429
438
  msgid "A list of domains that aliases cannot target (comma separated)."
430
439
  msgstr ""
431
440
 
432
- #: admin/app_settings.py:270
441
+ #: admin/app_settings.py:282
433
442
  msgid "Alias target allow list"
434
443
  msgstr ""
435
444
 
436
- #: admin/app_settings.py:272
445
+ #: admin/app_settings.py:284
437
446
  msgid "A list of domains that aliases can target (comma separated)."
438
447
  msgstr ""
439
448
 
440
- #: admin/app_settings.py:326 core/api/v2/viewsets.py:174
449
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
441
450
  msgid "Administration"
442
451
  msgstr "Administración"
443
452
 
@@ -458,6 +467,39 @@ msgstr ""
458
467
  msgid "Closed"
459
468
  msgstr ""
460
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
+
461
503
  #: admin/handlers.py:179
462
504
  msgid "domain alias"
463
505
  msgstr "alias del dominio"
@@ -480,8 +522,8 @@ msgstr "No está autorizado para importar dominios"
480
522
  msgid "You are not allowed to import domain aliases."
481
523
  msgstr "No está autorizado para importar alias de dominio."
482
524
 
483
- #: admin/lib.py:227 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
484
- #: 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
485
527
  #, fuzzy, python-format
486
528
  #| msgid "No MX record found for this domain."
487
529
  msgid "No DNS record found for %s"
@@ -493,11 +535,11 @@ msgstr "No se encontró ningún registro MX para este dominio."
493
535
  msgid "No %(type)s record for %(name)s"
494
536
  msgstr "Registros MX de {}"
495
537
 
496
- #: admin/lib.py:234 admin/tests/test_mx.py:156
538
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
497
539
  msgid "No working name servers found"
498
540
  msgstr ""
499
541
 
500
- #: admin/lib.py:237 admin/tests/test_mx.py:160
542
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
501
543
  #, python-format
502
544
  msgid "DNS resolution timeout, unable to query %s at the moment"
503
545
  msgstr ""
@@ -552,39 +594,6 @@ msgstr ""
552
594
  msgid "Failed to generate DKIM public key"
553
595
  msgstr "Establecer comunicación con la API publica de Modoboa"
554
596
 
555
- #: admin/management/commands/subcommands/_mx.py:133
556
- msgid "MX {} listed by DNSBL provider {}"
557
- msgstr ""
558
-
559
- #: admin/management/commands/subcommands/_mx.py:174
560
- #, fuzzy
561
- #| msgid "Domain {} has no MX record"
562
- msgid "Domain has no MX record"
563
- msgstr "El dominio {} no tiene registro MX"
564
-
565
- #: admin/management/commands/subcommands/_mx.py:177
566
- msgid "Domain {} has no MX record"
567
- msgstr "El dominio {} no tiene registro MX"
568
-
569
- #: admin/management/commands/subcommands/_mx.py:195
570
- #, fuzzy
571
- #| msgid "MX records of {}"
572
- msgid "Invalid MX record: {}"
573
- msgstr "Registros MX de {}"
574
-
575
- #: admin/management/commands/subcommands/_mx.py:202
576
- #, python-brace-format
577
- msgid "MX record for domain {0} is invalid: {1}"
578
- msgstr "El registro MX para el dominio {0} no es válido: {1}"
579
-
580
- #: admin/management/commands/subcommands/_mx.py:213
581
- msgid "[modoboa] MX issue(s) for domain {}"
582
- msgstr "[modoboa] MX problema(s) para el dominio {}"
583
-
584
- #: admin/management/commands/subcommands/_mx.py:269
585
- msgid "[modoboa] DNSBL issue(s) for domain {}"
586
- msgstr "[modoboa] DNSBL problema(s) para el dominio {}"
587
-
588
597
  #: admin/models/alias.py:43
589
598
  msgid "Domain not found."
590
599
  msgstr "Dominio no encontrado."
@@ -783,18 +792,18 @@ msgstr ""
783
792
  "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los "
784
793
  "siguientes proveedores DNSBL:"
785
794
 
786
- #: admin/tests/test_mx.py:155
795
+ #: admin/tests/test_mx.py:141
787
796
  #, fuzzy, python-format
788
797
  #| msgid "MX records of {}"
789
798
  msgid "No MX record for %s"
790
799
  msgstr "Registros MX de {}"
791
800
 
792
- #: 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
793
802
  #, python-format
794
803
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
795
804
  msgstr ""
796
805
 
797
- #: admin/tests/test_mx.py:199
806
+ #: admin/tests/test_mx.py:185
798
807
  #, fuzzy, python-format
799
808
  #| msgid "MX records of {}"
800
809
  msgid "No AAAA record for %s"
@@ -998,11 +1007,11 @@ msgid ""
998
1007
  "database)"
999
1008
  msgstr ""
1000
1009
 
1001
- #: amavis/app_settings.py:236 webmail/app_settings.py:118
1010
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
1002
1011
  msgid "Display"
1003
1012
  msgstr "Mostrar"
1004
1013
 
1005
- #: amavis/app_settings.py:243 webmail/app_settings.py:144
1014
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
1006
1015
  #, fuzzy
1007
1016
  #| msgid "Number of displayed items per page"
1008
1017
  msgid "Number of displayed emails per page"
@@ -1296,7 +1305,7 @@ msgstr "Administrador del dominio"
1296
1305
  msgid "Allow domain administrators to manage user calendars (read and write)"
1297
1306
  msgstr "Permitir a este administrador acceso al buzon de los usuarios"
1298
1307
 
1299
- #: calendars/app_settings.py:60 core/app_settings.py:676
1308
+ #: calendars/app_settings.py:60 core/app_settings.py:664
1300
1309
  #: rspamd/app_settings.py:45
1301
1310
  msgid "Miscellaneous"
1302
1311
  msgstr "Otros"
@@ -1314,11 +1323,11 @@ msgstr ""
1314
1323
  msgid "Calendars"
1315
1324
  msgstr ""
1316
1325
 
1317
- #: 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
1318
1327
  msgid "Server location is not set, please fix it."
1319
1328
  msgstr "No se ha configurado la dirección del servidor, por favor corríjalo."
1320
1329
 
1321
- #: calendars/viewsets.py:197
1330
+ #: calendars/viewsets.py:199
1322
1331
  msgid "Uploaded file is too big (max: {} bytes)"
1323
1332
  msgstr ""
1324
1333
 
@@ -1405,7 +1414,7 @@ msgstr ""
1405
1414
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
1406
1415
  msgstr ""
1407
1416
 
1408
- #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:445
1417
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
1409
1418
  #, fuzzy
1410
1419
  #| msgid "Old password"
1411
1420
  msgid "Invalid password"
@@ -1419,24 +1428,20 @@ msgstr ""
1419
1428
  msgid "Local"
1420
1429
  msgstr "Local"
1421
1430
 
1422
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
1423
- msgid "User profile"
1424
- msgstr "Perfil de usuario"
1425
-
1426
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
1427
- #: 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
1428
1433
  msgid "Invalid syntax"
1429
1434
  msgstr "Sintaxis inválida"
1430
1435
 
1431
- #: core/api/v2/serializers.py:233
1436
+ #: core/api/v2/serializers.py:226
1432
1437
  msgid "Invalid rounds number"
1433
1438
  msgstr "Número de rondas inváldo"
1434
1439
 
1435
- #: core/api/v2/serializers.py:433 core/forms.py:81
1440
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1436
1441
  msgid "This code is invalid"
1437
1442
  msgstr ""
1438
1443
 
1439
- #: core/api/v2/serializers.py:503 core/views/auth.py:213 core/views/auth.py:266
1444
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1440
1445
  msgid "Please use the following code to recover your Modoboa password: {}"
1441
1446
  msgstr ""
1442
1447
 
@@ -1469,37 +1474,37 @@ msgid "Calendar"
1469
1474
  msgstr ""
1470
1475
 
1471
1476
  #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1472
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1477
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1473
1478
  #, fuzzy
1474
1479
  #| msgid "E-mail"
1475
1480
  msgid "Webmail"
1476
1481
  msgstr "Correo web"
1477
1482
 
1478
- #: core/app_settings.py:37
1483
+ #: core/app_settings.py:25
1479
1484
  msgid "Authentication"
1480
1485
  msgstr "Autenticación"
1481
1486
 
1482
- #: core/app_settings.py:43
1487
+ #: core/app_settings.py:31
1483
1488
  msgid "Authentication type"
1484
1489
  msgstr "Tipo de autenticación"
1485
1490
 
1486
- #: core/app_settings.py:45
1491
+ #: core/app_settings.py:33
1487
1492
  msgid "The backend used for authentication"
1488
1493
  msgstr "El sistema usado para autenticación"
1489
1494
 
1490
- #: core/app_settings.py:52
1495
+ #: core/app_settings.py:40
1491
1496
  msgid "Default password scheme"
1492
1497
  msgstr "Esquema de contraseña por defecto"
1493
1498
 
1494
- #: core/app_settings.py:54
1499
+ #: core/app_settings.py:42
1495
1500
  msgid "Scheme used to crypt mailbox passwords"
1496
1501
  msgstr "Esquema usado para cifrar las contraseñas del mailbox"
1497
1502
 
1498
- #: core/app_settings.py:61
1503
+ #: core/app_settings.py:49
1499
1504
  msgid "Rounds"
1500
1505
  msgstr "Rondas"
1501
1506
 
1502
- #: core/app_settings.py:63
1507
+ #: core/app_settings.py:51
1503
1508
  msgid ""
1504
1509
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1505
1510
  "between 1000 and 999999999, inclusive."
@@ -1507,148 +1512,148 @@ msgstr ""
1507
1512
  "Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe "
1508
1513
  "estar entre 1000 y 999999999, incluído."
1509
1514
 
1510
- #: core/app_settings.py:73
1515
+ #: core/app_settings.py:61
1511
1516
  msgid "Update password scheme at login"
1512
1517
  msgstr ""
1513
1518
 
1514
- #: core/app_settings.py:76
1519
+ #: core/app_settings.py:64
1515
1520
  msgid "Update user password at login to use the default password scheme"
1516
1521
  msgstr ""
1517
1522
  "Forzar actualización de contraseña al acceder para usar el esquema de "
1518
1523
  "contraseñas"
1519
1524
 
1520
- #: core/app_settings.py:84
1525
+ #: core/app_settings.py:72
1521
1526
  msgid "Default password"
1522
1527
  msgstr "Contraseña por defecto"
1523
1528
 
1524
- #: core/app_settings.py:86
1529
+ #: core/app_settings.py:74
1525
1530
  msgid "Default password for automatically created accounts."
1526
1531
  msgstr "Contraseña por defecto para cuentas creadas automáticamente."
1527
1532
 
1528
- #: core/app_settings.py:93
1533
+ #: core/app_settings.py:81
1529
1534
  msgid "Random password length"
1530
1535
  msgstr "Longitud de contraseña aleatoria"
1531
1536
 
1532
- #: core/app_settings.py:95
1537
+ #: core/app_settings.py:83
1533
1538
  msgid "Length of randomly generated passwords."
1534
1539
  msgstr "Longitud de las contraseñas generadas aleatoriamente."
1535
1540
 
1536
- #: core/app_settings.py:103
1541
+ #: core/app_settings.py:91
1537
1542
  msgid "Allow special characters for random password"
1538
1543
  msgstr ""
1539
1544
 
1540
- #: core/app_settings.py:106
1545
+ #: core/app_settings.py:94
1541
1546
  #, fuzzy
1542
1547
  #| msgid "Length of randomly generated passwords."
1543
1548
  msgid "Enable special characters in randomly generated passwords."
1544
1549
  msgstr "Longitud de las contraseñas generadas aleatoriamente."
1545
1550
 
1546
- #: core/app_settings.py:114
1551
+ #: core/app_settings.py:102
1547
1552
  msgid "Update password service URL"
1548
1553
  msgstr ""
1549
1554
 
1550
- #: core/app_settings.py:116
1555
+ #: core/app_settings.py:104
1551
1556
  msgid ""
1552
1557
  "The URL of an external page where users will be able to update their "
1553
1558
  "password. It applies only to non local users, ie. those automatically "
1554
1559
  "created after a successful external authentication (LDAP, SMTP)."
1555
1560
  msgstr ""
1556
1561
 
1557
- #: core/app_settings.py:126
1562
+ #: core/app_settings.py:114
1558
1563
  msgid "Password recovery announcement"
1559
1564
  msgstr ""
1560
1565
 
1561
- #: core/app_settings.py:128
1566
+ #: core/app_settings.py:116
1562
1567
  msgid "A temporary message that will be displayed on the reset password page."
1563
1568
  msgstr ""
1564
1569
 
1565
- #: core/app_settings.py:137
1570
+ #: core/app_settings.py:125
1566
1571
  msgid "Enable password recovery by SMS"
1567
1572
  msgstr ""
1568
1573
 
1569
- #: core/app_settings.py:140
1574
+ #: core/app_settings.py:128
1570
1575
  msgid "Enable password recovery by SMS for users who filled a phone number."
1571
1576
  msgstr ""
1572
1577
 
1573
- #: core/app_settings.py:148
1578
+ #: core/app_settings.py:136
1574
1579
  msgid "SMS provider"
1575
1580
  msgstr ""
1576
1581
 
1577
- #: core/app_settings.py:151
1582
+ #: core/app_settings.py:139
1578
1583
  msgid "Choose a provider to send password recovery SMS"
1579
1584
  msgstr ""
1580
1585
 
1581
- #: core/app_settings.py:163
1586
+ #: core/app_settings.py:151
1582
1587
  msgid "LDAP"
1583
1588
  msgstr ""
1584
1589
 
1585
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1590
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1586
1591
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1587
- #: webmail/app_settings.py:73
1592
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1588
1593
  msgid "Server address"
1589
1594
  msgstr "Dirección del servidor"
1590
1595
 
1591
- #: core/app_settings.py:171
1596
+ #: core/app_settings.py:159
1592
1597
  msgid "The IP address or the DNS name of the LDAP server"
1593
1598
  msgstr "La dirección IP del servidor de nombres (DNS) del servidor LDAP"
1594
1599
 
1595
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1600
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1596
1601
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1597
- #: webmail/app_settings.py:91
1602
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1598
1603
  msgid "Server port"
1599
1604
  msgstr "Puerto del servidor"
1600
1605
 
1601
- #: core/app_settings.py:180
1606
+ #: core/app_settings.py:168
1602
1607
  msgid "The TCP port number used by the LDAP server"
1603
1608
  msgstr "Número de puerto TCP usado por el servidor LDAP"
1604
1609
 
1605
- #: core/app_settings.py:188
1610
+ #: core/app_settings.py:176
1606
1611
  msgid "Enable secondary server (fallback)"
1607
1612
  msgstr ""
1608
1613
 
1609
- #: core/app_settings.py:191
1614
+ #: core/app_settings.py:179
1610
1615
  msgid ""
1611
1616
  "Enable a secondary LDAP server which will be used if the primary one fails"
1612
1617
  msgstr ""
1613
1618
 
1614
- #: core/app_settings.py:199
1619
+ #: core/app_settings.py:187
1615
1620
  msgid "Secondary server address"
1616
1621
  msgstr ""
1617
1622
 
1618
- #: core/app_settings.py:202
1623
+ #: core/app_settings.py:190
1619
1624
  msgid "The IP address or the DNS name of the seondary LDAP server"
1620
1625
  msgstr ""
1621
1626
 
1622
- #: core/app_settings.py:209
1627
+ #: core/app_settings.py:197
1623
1628
  msgid "Secondary server port"
1624
1629
  msgstr ""
1625
1630
 
1626
- #: core/app_settings.py:212
1631
+ #: core/app_settings.py:200
1627
1632
  msgid "The TCP port number used by the LDAP secondary server"
1628
1633
  msgstr ""
1629
1634
 
1630
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1635
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1631
1636
  #: webmail/app_settings.py:45
1632
1637
  msgid "Use a secured connection"
1633
1638
  msgstr "Usa una conexión segura"
1634
1639
 
1635
- #: core/app_settings.py:221
1640
+ #: core/app_settings.py:209
1636
1641
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1637
1642
  msgstr "Usa una conexión SSL/STARTTLS para acceder al servidor LDAP"
1638
1643
 
1639
- #: core/app_settings.py:228
1644
+ #: core/app_settings.py:216
1640
1645
  msgid "Active Directory"
1641
1646
  msgstr "Directorio Activo"
1642
1647
 
1643
- #: core/app_settings.py:230
1648
+ #: core/app_settings.py:218
1644
1649
  msgid "Tell if the LDAP server is an Active Directory one"
1645
1650
  msgstr "Decir si el servidor de LDAP es uno del tipo Directorio Activo"
1646
1651
 
1647
- #: core/app_settings.py:237
1652
+ #: core/app_settings.py:225
1648
1653
  msgid "Administrator groups"
1649
1654
  msgstr "Administrador de grupos"
1650
1655
 
1651
- #: core/app_settings.py:239
1656
+ #: core/app_settings.py:227
1652
1657
  msgid ""
1653
1658
  "Members of those LDAP Posix groups will be created as domain administrators. "
1654
1659
  "Use ';' characters to separate groups."
@@ -1656,47 +1661,47 @@ msgstr ""
1656
1661
  "Los miembros de esos grupos Posix LDAP serán creados como administradores de "
1657
1662
  "dominio. Use caracteres \";\" para separar los grupos."
1658
1663
 
1659
- #: core/app_settings.py:248
1664
+ #: core/app_settings.py:236
1660
1665
  msgid "Group type"
1661
1666
  msgstr "Tipo de grupo"
1662
1667
 
1663
- #: core/app_settings.py:250
1668
+ #: core/app_settings.py:238
1664
1669
  msgid "The LDAP group type to use with your directory."
1665
1670
  msgstr "El tipo de LDAP para usar en el directorio"
1666
1671
 
1667
- #: core/app_settings.py:257
1672
+ #: core/app_settings.py:245
1668
1673
  msgid "Groups search base"
1669
1674
  msgstr "Base para la búsqueda de grupos"
1670
1675
 
1671
- #: core/app_settings.py:259
1676
+ #: core/app_settings.py:247
1672
1677
  msgid "The distinguished name of the search base used to find groups"
1673
1678
  msgstr "El distinguido nombre de la búsqueda base usada para encontrar grupos"
1674
1679
 
1675
- #: core/app_settings.py:267
1680
+ #: core/app_settings.py:255
1676
1681
  msgid "Password attribute"
1677
1682
  msgstr "Atributo de la contraseña"
1678
1683
 
1679
- #: core/app_settings.py:269
1684
+ #: core/app_settings.py:257
1680
1685
  msgid "The attribute used to store user passwords"
1681
1686
  msgstr "El atributo usado para guardar las contraseñas del usuario"
1682
1687
 
1683
- #: core/app_settings.py:276
1688
+ #: core/app_settings.py:264
1684
1689
  msgid "LDAP authentication settings"
1685
1690
  msgstr ""
1686
1691
 
1687
- #: core/app_settings.py:284
1692
+ #: core/app_settings.py:272
1688
1693
  msgid "Authentication method"
1689
1694
  msgstr "Método de autenticación"
1690
1695
 
1691
- #: core/app_settings.py:287
1696
+ #: core/app_settings.py:275
1692
1697
  msgid "Choose the authentication method to use"
1693
1698
  msgstr "Elegir el método de autenticación a usar"
1694
1699
 
1695
- #: core/app_settings.py:294 core/app_settings.py:357
1700
+ #: core/app_settings.py:282 core/app_settings.py:345
1696
1701
  msgid "Bind DN"
1697
1702
  msgstr "Unir a DN"
1698
1703
 
1699
- #: core/app_settings.py:296 core/app_settings.py:359
1704
+ #: core/app_settings.py:284 core/app_settings.py:347
1700
1705
  msgid ""
1701
1706
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1702
1707
  "for an anonymous bind"
@@ -1704,29 +1709,29 @@ msgstr ""
1704
1709
  "El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació "
1705
1710
  "para una unión anónima"
1706
1711
 
1707
- #: core/app_settings.py:305 core/app_settings.py:367
1712
+ #: core/app_settings.py:293 core/app_settings.py:355
1708
1713
  msgid "Bind password"
1709
1714
  msgstr "Unir contraseña"
1710
1715
 
1711
- #: core/app_settings.py:307 core/app_settings.py:369
1716
+ #: core/app_settings.py:295 core/app_settings.py:357
1712
1717
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1713
1718
  msgstr ""
1714
1719
  "La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')"
1715
1720
 
1716
- #: core/app_settings.py:317 core/app_settings.py:422
1721
+ #: core/app_settings.py:305 core/app_settings.py:410
1717
1722
  msgid "Users search base"
1718
1723
  msgstr "Base para la búsqueda de usuarios"
1719
1724
 
1720
- #: core/app_settings.py:319 core/app_settings.py:424
1725
+ #: core/app_settings.py:307 core/app_settings.py:412
1721
1726
  msgid "The distinguished name of the search base used to find users"
1722
1727
  msgstr ""
1723
1728
  "El distinguido nombre de la búsqueda base usada para encontrar usuarios"
1724
1729
 
1725
- #: core/app_settings.py:328 core/app_settings.py:433
1730
+ #: core/app_settings.py:316 core/app_settings.py:421
1726
1731
  msgid "Search filter"
1727
1732
  msgstr "Filtro de búsqueda"
1728
1733
 
1729
- #: core/app_settings.py:330 core/app_settings.py:435
1734
+ #: core/app_settings.py:318 core/app_settings.py:423
1730
1735
  msgid ""
1731
1736
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1732
1737
  "valid, it must be enclosed in parentheses."
@@ -1734,11 +1739,11 @@ msgstr ""
1734
1739
  "Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea "
1735
1740
  "válido tiene que ser encerrado entre paréntesis."
1736
1741
 
1737
- #: core/app_settings.py:339
1742
+ #: core/app_settings.py:327
1738
1743
  msgid "User DN template"
1739
1744
  msgstr "Plantilla DN del usuario"
1740
1745
 
1741
- #: core/app_settings.py:341
1746
+ #: core/app_settings.py:329
1742
1747
  #, python-format
1743
1748
  msgid ""
1744
1749
  "The template used to construct a user's DN. It should contain one "
@@ -1747,98 +1752,98 @@ msgstr ""
1747
1752
  "La plantilla usada para contriunr un DN de usuario. Debería contener una "
1748
1753
  "cadena reemplazables (p.e. %(user)s)"
1749
1754
 
1750
- #: core/app_settings.py:350
1755
+ #: core/app_settings.py:338
1751
1756
  msgid "LDAP synchronization settings"
1752
1757
  msgstr ""
1753
1758
 
1754
- #: core/app_settings.py:378
1759
+ #: core/app_settings.py:366
1755
1760
  msgid "Enable export to LDAP"
1756
1761
  msgstr ""
1757
1762
 
1758
- #: core/app_settings.py:380
1763
+ #: core/app_settings.py:368
1759
1764
  msgid ""
1760
1765
  "Enable automatic synchronization between local database and LDAP directory"
1761
1766
  msgstr ""
1762
1767
 
1763
- #: core/app_settings.py:389
1768
+ #: core/app_settings.py:377
1764
1769
  msgid "Delete remote LDAP account when local account is deleted"
1765
1770
  msgstr ""
1766
1771
 
1767
- #: core/app_settings.py:392
1772
+ #: core/app_settings.py:380
1768
1773
  msgid ""
1769
1774
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1770
1775
  "be disabled."
1771
1776
  msgstr ""
1772
1777
 
1773
- #: core/app_settings.py:401
1778
+ #: core/app_settings.py:389
1774
1779
  msgid "Account DN template"
1775
1780
  msgstr ""
1776
1781
 
1777
- #: core/app_settings.py:403
1782
+ #: core/app_settings.py:391
1778
1783
  #, python-format
1779
1784
  msgid ""
1780
1785
  "The template used to construct an account's DN. It should contain one "
1781
1786
  "placeholder (ie. %(user)s)"
1782
1787
  msgstr ""
1783
1788
 
1784
- #: core/app_settings.py:412
1789
+ #: core/app_settings.py:400
1785
1790
  msgid "Enable import from LDAP"
1786
1791
  msgstr ""
1787
1792
 
1788
- #: core/app_settings.py:414
1793
+ #: core/app_settings.py:402
1789
1794
  msgid "Enable account synchronization from LDAP directory to local database"
1790
1795
  msgstr ""
1791
1796
 
1792
- #: core/app_settings.py:444
1797
+ #: core/app_settings.py:432
1793
1798
  msgid "Username attribute"
1794
1799
  msgstr ""
1795
1800
 
1796
- #: core/app_settings.py:446
1801
+ #: core/app_settings.py:434
1797
1802
  msgid "The name of the LDAP attribute where the username can be found."
1798
1803
  msgstr ""
1799
1804
 
1800
- #: core/app_settings.py:455
1805
+ #: core/app_settings.py:443
1801
1806
  msgid "Enable Dovecot LDAP sync"
1802
1807
  msgstr ""
1803
1808
 
1804
- #: core/app_settings.py:457
1809
+ #: core/app_settings.py:445
1805
1810
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1806
1811
  msgstr ""
1807
1812
 
1808
- #: core/app_settings.py:465
1813
+ #: core/app_settings.py:453
1809
1814
  msgid "Dovecot LDAP config file"
1810
1815
  msgstr ""
1811
1816
 
1812
- #: core/app_settings.py:467
1817
+ #: core/app_settings.py:455
1813
1818
  msgid ""
1814
1819
  "Location of the configuration file which contains Dovecot LDAP settings."
1815
1820
  msgstr ""
1816
1821
 
1817
- #: core/app_settings.py:480
1822
+ #: core/app_settings.py:468
1818
1823
  msgid "Dashboard"
1819
1824
  msgstr "Panel de Control"
1820
1825
 
1821
- #: core/app_settings.py:486
1826
+ #: core/app_settings.py:474
1822
1827
  #, fuzzy
1823
1828
  #| msgid "spam messages"
1824
1829
  msgid "Custom welcome message"
1825
1830
  msgstr "Mensajes Basura"
1826
1831
 
1827
- #: core/app_settings.py:488
1832
+ #: core/app_settings.py:476
1828
1833
  msgid "A welcome message that will be displayed instead the default one"
1829
1834
  msgstr ""
1830
1835
 
1831
- #: core/app_settings.py:495
1836
+ #: core/app_settings.py:483
1832
1837
  msgid "Custom RSS feed"
1833
1838
  msgstr "Agregación RSS personalizada"
1834
1839
 
1835
- #: core/app_settings.py:497
1840
+ #: core/app_settings.py:485
1836
1841
  msgid "Display custom RSS feed to resellers and domain administrators"
1837
1842
  msgstr ""
1838
1843
  "Mostrar una fuente de agregación RSS personalizada a revendedores y "
1839
1844
  "administradores de dominio"
1840
1845
 
1841
- #: core/app_settings.py:506
1846
+ #: core/app_settings.py:494
1842
1847
  #, fuzzy
1843
1848
  #| msgid "Display custom RSS feed to resellers and domain administrators"
1844
1849
  msgid "Display custom RSS feed to super admins"
@@ -1846,7 +1851,7 @@ msgstr ""
1846
1851
  "Mostrar una fuente de agregación RSS personalizada a revendedores y "
1847
1852
  "administradores de dominio"
1848
1853
 
1849
- #: core/app_settings.py:509
1854
+ #: core/app_settings.py:497
1850
1855
  #, fuzzy
1851
1856
  #| msgid "Display custom RSS feed to resellers and domain administrators"
1852
1857
  msgid "Display custom RSS feed also to super administrators"
@@ -1854,133 +1859,133 @@ msgstr ""
1854
1859
  "Mostrar una fuente de agregación RSS personalizada a revendedores y "
1855
1860
  "administradores de dominio"
1856
1861
 
1857
- #: core/app_settings.py:517
1862
+ #: core/app_settings.py:505
1858
1863
  msgid "Hide features widget"
1859
1864
  msgstr "Ocultar widget de características"
1860
1865
 
1861
- #: core/app_settings.py:519
1866
+ #: core/app_settings.py:507
1862
1867
  msgid "Hide features widget for resellers and domain administrators"
1863
1868
  msgstr ""
1864
1869
  "Ocultar el widget de características a revendedores y administradores de "
1865
1870
  "dominio"
1866
1871
 
1867
- #: core/app_settings.py:531
1872
+ #: core/app_settings.py:519
1868
1873
  msgid "Theme"
1869
1874
  msgstr ""
1870
1875
 
1871
- #: core/app_settings.py:537
1876
+ #: core/app_settings.py:525
1872
1877
  msgid "Primary theme color"
1873
1878
  msgstr ""
1874
1879
 
1875
- #: core/app_settings.py:539
1880
+ #: core/app_settings.py:527
1876
1881
  msgid ""
1877
1882
  "Primary color of the theme (hexadecimal code), used as the background color "
1878
1883
  "of the left menu for example"
1879
1884
  msgstr ""
1880
1885
 
1881
- #: core/app_settings.py:548
1886
+ #: core/app_settings.py:536
1882
1887
  msgid "Primary theme color (lighter version)"
1883
1888
  msgstr ""
1884
1889
 
1885
- #: core/app_settings.py:551 core/app_settings.py:563
1890
+ #: core/app_settings.py:539 core/app_settings.py:551
1886
1891
  msgid "Primary color of the theme (hexadecimal code)"
1887
1892
  msgstr ""
1888
1893
 
1889
- #: core/app_settings.py:560
1894
+ #: core/app_settings.py:548
1890
1895
  msgid "Primary theme color (darker version)"
1891
1896
  msgstr ""
1892
1897
 
1893
- #: core/app_settings.py:571
1898
+ #: core/app_settings.py:559
1894
1899
  #, fuzzy
1895
1900
  #| msgid "Secondary email"
1896
1901
  msgid "Secondary theme color"
1897
1902
  msgstr "Email secundario"
1898
1903
 
1899
- #: core/app_settings.py:573
1904
+ #: core/app_settings.py:561
1900
1905
  msgid ""
1901
1906
  "Secondary color of the theme (hexadecimal code), used as the background "
1902
1907
  "color of some buttons for example"
1903
1908
  msgstr ""
1904
1909
 
1905
- #: core/app_settings.py:581
1910
+ #: core/app_settings.py:569
1906
1911
  msgid "Labels theme color"
1907
1912
  msgstr ""
1908
1913
 
1909
- #: core/app_settings.py:583
1914
+ #: core/app_settings.py:571
1910
1915
  msgid "Theme color for labels (hexadecimal code)"
1911
1916
  msgstr ""
1912
1917
 
1913
- #: core/app_settings.py:595
1918
+ #: core/app_settings.py:583
1914
1919
  msgid "Notifications"
1915
1920
  msgstr "Notificaciones"
1916
1921
 
1917
- #: core/app_settings.py:601
1922
+ #: core/app_settings.py:589
1918
1923
  msgid "Sender address"
1919
1924
  msgstr "Dirección del remitente"
1920
1925
 
1921
- #: core/app_settings.py:603
1926
+ #: core/app_settings.py:591
1922
1927
  msgid "Email address used to send notifications."
1923
1928
  msgstr "Dirección de email usada para mandar notificaciones"
1924
1929
 
1925
- #: core/app_settings.py:614
1930
+ #: core/app_settings.py:602
1926
1931
  msgid "Public API"
1927
1932
  msgstr "API pública"
1928
1933
 
1929
- #: core/app_settings.py:620
1934
+ #: core/app_settings.py:608
1930
1935
  msgid "Enable communication"
1931
1936
  msgstr "Establecer comunicación"
1932
1937
 
1933
- #: core/app_settings.py:622 core/app_settings.py:632
1938
+ #: core/app_settings.py:610 core/app_settings.py:620
1934
1939
  msgid "Automatically checks if a newer version is available"
1935
1940
  msgstr "Verificar automáticamente si hay una nueva versión disponible"
1936
1941
 
1937
- #: core/app_settings.py:629
1942
+ #: core/app_settings.py:617
1938
1943
  msgid "Check new versions"
1939
1944
  msgstr "Comprobar nuevas versiones"
1940
1945
 
1941
- #: core/app_settings.py:640
1946
+ #: core/app_settings.py:628
1942
1947
  msgid "Send an email when new versions are found"
1943
1948
  msgstr ""
1944
1949
 
1945
- #: core/app_settings.py:644
1950
+ #: core/app_settings.py:632
1946
1951
  msgid "Send an email to notify admins about new versions"
1947
1952
  msgstr ""
1948
1953
 
1949
- #: core/app_settings.py:651 sievefilters/constants.py:25
1954
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1950
1955
  msgid "Recipient"
1951
1956
  msgstr "Destinatario"
1952
1957
 
1953
- #: core/app_settings.py:654
1958
+ #: core/app_settings.py:642
1954
1959
  msgid "Recipient of new versions notification emails."
1955
1960
  msgstr ""
1956
1961
 
1957
- #: core/app_settings.py:661
1962
+ #: core/app_settings.py:649
1958
1963
  msgid "Send statistics"
1959
1964
  msgstr "Enviar estadísticas"
1960
1965
 
1961
- #: core/app_settings.py:664
1966
+ #: core/app_settings.py:652
1962
1967
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1963
1968
  msgstr ""
1964
1969
  "Enviar estadísticas a la API pública de Modoboa (contadores y extensiones "
1965
1970
  "usadas)"
1966
1971
 
1967
- #: core/app_settings.py:683
1972
+ #: core/app_settings.py:671
1968
1973
  #, fuzzy
1969
1974
  #| msgid "Inactive account threshold"
1970
1975
  msgid "Enable inactive account tracking"
1971
1976
  msgstr "Límite para cuentas inactivas"
1972
1977
 
1973
- #: core/app_settings.py:686
1978
+ #: core/app_settings.py:674
1974
1979
  msgid ""
1975
1980
  "Allow the administrator to set a threshold (in days) beyond which an account "
1976
1981
  "is considered inactive if the user hasn't logged in"
1977
1982
  msgstr ""
1978
1983
 
1979
- #: core/app_settings.py:695
1984
+ #: core/app_settings.py:683
1980
1985
  msgid "Inactive account threshold"
1981
1986
  msgstr "Límite para cuentas inactivas"
1982
1987
 
1983
- #: core/app_settings.py:698
1988
+ #: core/app_settings.py:686
1984
1989
  msgid ""
1985
1990
  "An account with a last login date greater than this threshold (in days) will "
1986
1991
  "be considered as inactive"
@@ -1988,47 +1993,38 @@ msgstr ""
1988
1993
  "Una cuenta inactiva con una fecha de inicio de sesión previa a este límite "
1989
1994
  "(en días) se considerará como cuenta inactiva"
1990
1995
 
1991
- #: core/app_settings.py:707
1996
+ #: core/app_settings.py:695
1992
1997
  msgid "Top notifications check interval"
1993
1998
  msgstr "Intervalo de tiempo para notificaciones superiores"
1994
1999
 
1995
- #: core/app_settings.py:710
2000
+ #: core/app_settings.py:698
1996
2001
  msgid "Interval between two top notification checks (in seconds)"
1997
2002
  msgstr "Intervalo entre dos notificaciones superiores (en segundos)"
1998
2003
 
1999
- #: core/app_settings.py:717
2004
+ #: core/app_settings.py:705
2000
2005
  msgid "Maximum log record age"
2001
2006
  msgstr "Máximo tiempo de almacenamiento del log"
2002
2007
 
2003
- #: core/app_settings.py:719
2008
+ #: core/app_settings.py:707
2004
2009
  msgid "The maximum age in days of a log record"
2005
2010
  msgstr "El tiempo máximo de almacenamiento del log en días"
2006
2011
 
2007
- #: core/app_settings.py:727
2012
+ #: core/app_settings.py:715
2008
2013
  msgid "Retention time in message history"
2009
2014
  msgstr ""
2010
2015
 
2011
- #: core/app_settings.py:730
2016
+ #: core/app_settings.py:718
2012
2017
  msgid "Retention time (in days) of a message in the message history section"
2013
2018
  msgstr ""
2014
2019
 
2015
- #: core/app_settings.py:737
2020
+ #: core/app_settings.py:725
2016
2021
  msgid "Items per page"
2017
2022
  msgstr "Items por página"
2018
2023
 
2019
- #: core/app_settings.py:739
2024
+ #: core/app_settings.py:727
2020
2025
  msgid "Number of displayed items per page"
2021
2026
  msgstr "Número de elementos mostrado por página"
2022
2027
 
2023
- #: core/app_settings.py:746
2024
- msgid "Default top redirection"
2025
- msgstr "Redirección principal por defecto"
2026
-
2027
- #: core/app_settings.py:748
2028
- msgid "The default redirection used when no application is specified"
2029
- msgstr ""
2030
- "La redirección que será usada cuando ninguna aplicación sea especificada."
2031
-
2032
2028
  #: core/checks.py:15
2033
2029
  msgid ""
2034
2030
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -2365,7 +2361,7 @@ msgid "Not resolved"
2365
2361
  msgstr "Sin definir"
2366
2362
 
2367
2363
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
2368
- #: webmail/constants.py:18
2364
+ #: webmail/constants.py:38
2369
2365
  msgid "None"
2370
2366
  msgstr "Nada"
2371
2367
 
@@ -3349,7 +3345,7 @@ msgstr "es"
3349
3345
  msgid "is not"
3350
3346
  msgstr "no es"
3351
3347
 
3352
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3348
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
3353
3349
  msgid "Subject"
3354
3350
  msgstr "Tema"
3355
3351
 
@@ -3610,25 +3606,25 @@ msgstr "Tamaño máximo del adjunto en bytes (or KB, MB, GB si se especifica)"
3610
3606
  msgid "SMTP settings"
3611
3607
  msgstr "Configuración de SMTP"
3612
3608
 
3613
- #: webmail/app_settings.py:75
3609
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3614
3610
  #, fuzzy
3615
3611
  #| msgid "Address of your IMAP server"
3616
3612
  msgid "Address of your SMTP server"
3617
3613
  msgstr "Dirección de su servidor SMTP"
3618
3614
 
3619
- #: webmail/app_settings.py:82
3615
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3620
3616
  #, fuzzy
3621
3617
  #| msgid "Use a secured connection"
3622
3618
  msgid "Secured connection mode"
3623
3619
  msgstr "Modo de conexión seguro"
3624
3620
 
3625
- #: webmail/app_settings.py:84
3621
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3626
3622
  #, fuzzy
3627
3623
  #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
3628
3624
  msgid "Use a secured connection to access SMTP server"
3629
3625
  msgstr "Usar una conexión segura para acceder al servidor SMTP"
3630
3626
 
3631
- #: webmail/app_settings.py:93
3627
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3632
3628
  #, fuzzy
3633
3629
  #| msgid "Listening port of your IMAP server"
3634
3630
  msgid "Listening port of your SMTP server"
@@ -3645,115 +3641,121 @@ msgstr "Autenticación obligatoria"
3645
3641
  msgid "Server needs authentication"
3646
3642
  msgstr "El servidor requiere autenticación"
3647
3643
 
3648
- #: webmail/app_settings.py:124
3644
+ #: webmail/app_settings.py:113
3645
+ #, fuzzy
3646
+ #| msgid "LDAP settings"
3647
+ msgid "Scheduling settings"
3648
+ msgstr "Configuración de ManageSieve"
3649
+
3650
+ #: webmail/app_settings.py:161
3649
3651
  msgid "Default message display mode"
3650
3652
  msgstr "Modo por defecto para mostrar un mensaje"
3651
3653
 
3652
- #: webmail/app_settings.py:126
3654
+ #: webmail/app_settings.py:163
3653
3655
  #, fuzzy
3654
3656
  #| msgid "The default redirection used when no application is specified"
3655
3657
  msgid "The default mode used when displaying a message"
3656
3658
  msgstr "Modo por defecto usado cuando se muestra un mensaje"
3657
3659
 
3658
- #: webmail/app_settings.py:133
3660
+ #: webmail/app_settings.py:170
3659
3661
  msgid "Enable HTML links display"
3660
3662
  msgstr "Activar el mostrar enlaces de HTML"
3661
3663
 
3662
- #: webmail/app_settings.py:136
3664
+ #: webmail/app_settings.py:173
3663
3665
  msgid "Enable/Disable HTML links display"
3664
3666
  msgstr "Activar/Desactivar el mostrar enlaces HTML"
3665
3667
 
3666
- #: webmail/app_settings.py:147
3668
+ #: webmail/app_settings.py:184
3667
3669
  msgid "Sets the maximum number of messages displayed in a page"
3668
3670
  msgstr "Fija el número máximo de mensajes mostrados en una página"
3669
3671
 
3670
- #: webmail/app_settings.py:154
3672
+ #: webmail/app_settings.py:191
3671
3673
  msgid "Listing refresh rate"
3672
3674
  msgstr "Tasa de refresco"
3673
3675
 
3674
- #: webmail/app_settings.py:156
3676
+ #: webmail/app_settings.py:193
3675
3677
  msgid "Automatic listing refresh rate (in secconds)"
3676
3678
  msgstr ""
3677
3679
 
3678
- #: webmail/app_settings.py:163
3680
+ #: webmail/app_settings.py:200
3679
3681
  msgid "Folder container's width"
3680
3682
  msgstr "Propietario de los mailboxes"
3681
3683
 
3682
- #: webmail/app_settings.py:165
3684
+ #: webmail/app_settings.py:202
3683
3685
  msgid "The width of the folder list container"
3684
3686
  msgstr ""
3685
3687
 
3686
- #: webmail/app_settings.py:176
3688
+ #: webmail/app_settings.py:213
3687
3689
  msgid "Folders"
3688
3690
  msgstr ""
3689
3691
 
3690
- #: webmail/app_settings.py:182
3692
+ #: webmail/app_settings.py:219
3691
3693
  #, fuzzy
3692
3694
  #| msgid "Create aliases"
3693
3695
  msgid "Trash folder"
3694
3696
  msgstr "Carpeta de basura"
3695
3697
 
3696
- #: webmail/app_settings.py:184
3698
+ #: webmail/app_settings.py:221
3697
3699
  #, fuzzy
3698
3700
  #| msgid "rejected messages"
3699
3701
  msgid "Folder where deleted messages go"
3700
3702
  msgstr "Carpeta dónde van los mensajes eliminados"
3701
3703
 
3702
- #: webmail/app_settings.py:191
3704
+ #: webmail/app_settings.py:228
3703
3705
  #, fuzzy
3704
3706
  #| msgid "Create aliases"
3705
3707
  msgid "Sent folder"
3706
3708
  msgstr "Carpeta de enviados"
3707
3709
 
3708
- #: webmail/app_settings.py:193
3710
+ #: webmail/app_settings.py:230
3709
3711
  msgid "Folder where copies of sent messages go"
3710
3712
  msgstr "Carpeta dónde van las copias de los correos enviados"
3711
3713
 
3712
- #: webmail/app_settings.py:200
3714
+ #: webmail/app_settings.py:237
3713
3715
  #, fuzzy
3714
3716
  #| msgid "Create aliases"
3715
3717
  msgid "Drafts folder"
3716
3718
  msgstr "Carpeta de borradores"
3717
3719
 
3718
- #: webmail/app_settings.py:201
3720
+ #: webmail/app_settings.py:238
3719
3721
  msgid "Folder where drafts go"
3720
3722
  msgstr "Carpeta dónde van los borradores"
3721
3723
 
3722
- #: webmail/app_settings.py:207
3724
+ #: webmail/app_settings.py:244
3723
3725
  #, fuzzy
3724
3726
  #| msgid "Create aliases"
3725
3727
  msgid "Junk folder"
3726
3728
  msgstr "Carpeta de enviados"
3727
3729
 
3728
- #: webmail/app_settings.py:209
3730
+ #: webmail/app_settings.py:246
3729
3731
  #, fuzzy
3730
3732
  #| msgid "rejected messages"
3731
3733
  msgid "Folder where junk messages should go"
3732
3734
  msgstr "Carpeta dónde van los mensajes eliminados"
3733
3735
 
3734
- #: webmail/app_settings.py:220
3736
+ #: webmail/app_settings.py:257
3735
3737
  #, fuzzy
3736
3738
  #| msgid "sent messages"
3737
3739
  msgid "Composing messages"
3738
3740
  msgstr "Composición de mensajes"
3739
3741
 
3740
- #: webmail/app_settings.py:226
3742
+ #: webmail/app_settings.py:263
3741
3743
  #, fuzzy
3742
3744
  #| msgid "Default top redirection"
3743
3745
  msgid "Default editor"
3744
3746
  msgstr "Editor por defecto"
3745
3747
 
3746
- #: webmail/app_settings.py:228
3748
+ #: webmail/app_settings.py:265
3747
3749
  #, fuzzy
3748
3750
  #| msgid "The default redirection used when no application is specified"
3749
3751
  msgid "The default editor to use when composing a message"
3750
3752
  msgstr "Editor por defecto para usar cuando redacta un mensaje"
3751
3753
 
3752
- #: webmail/app_settings.py:235
3754
+ #: webmail/app_settings.py:272
3753
3755
  msgid "Signature text"
3754
3756
  msgstr "Texto de la firma"
3755
3757
 
3756
- #: webmail/app_settings.py:237
3758
+ #: webmail/app_settings.py:274
3757
3759
  msgid "User defined email signature"
3758
3760
  msgstr "Firma de correo definida por el usuario"
3759
3761
 
@@ -3769,47 +3771,73 @@ msgstr "Dirección del servidor"
3769
3771
  msgid "Failed to remove attachment: "
3770
3772
  msgstr "Fallo al eliminar el adjunto:"
3771
3773
 
3772
- #: webmail/lib/imapemail.py:272
3774
+ #: webmail/lib/imapemail.py:270
3773
3775
  msgid "wrote:"
3774
3776
  msgstr ""
3775
3777
 
3776
- #: webmail/lib/imapemail.py:306
3778
+ #: webmail/lib/imapemail.py:304
3777
3779
  msgid "Date"
3778
3780
  msgstr "Fecha"
3779
3781
 
3780
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3782
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3781
3783
  #, fuzzy
3782
3784
  #| msgid "sent messages"
3783
3785
  msgid "Original message"
3784
3786
  msgstr "Todos los mensajes"
3785
3787
 
3786
- #: webmail/lib/imaputils.py:221
3788
+ #: webmail/lib/imaputils.py:222
3787
3789
  msgid "Failed to retrieve hierarchy delimiter"
3788
3790
  msgstr "Fallo al recuperar el delimitador jerárquico"
3789
3791
 
3790
- #: webmail/lib/imaputils.py:472
3792
+ #: webmail/lib/imaputils.py:478
3791
3793
  msgid "Inbox"
3792
3794
  msgstr ""
3793
3795
 
3794
- #: webmail/lib/imaputils.py:476
3796
+ #: webmail/lib/imaputils.py:482
3795
3797
  #, fuzzy
3796
3798
  #| msgid "Create aliases"
3797
3799
  msgid "Drafts"
3798
3800
  msgstr "Carpeta de borradores"
3799
3801
 
3800
- #: webmail/lib/imaputils.py:481
3802
+ #: webmail/lib/imaputils.py:487
3801
3803
  msgid "Junk"
3802
3804
  msgstr ""
3803
3805
 
3804
- #: webmail/lib/imaputils.py:486
3806
+ #: webmail/lib/imaputils.py:492
3805
3807
  msgid "Sent"
3806
3808
  msgstr ""
3807
3809
 
3808
- #: webmail/lib/imaputils.py:491
3810
+ #: webmail/lib/imaputils.py:500
3811
+ msgid "Scheduled"
3812
+ msgstr ""
3813
+
3814
+ #: webmail/lib/imaputils.py:507
3809
3815
  msgid "Trash"
3810
3816
  msgstr ""
3811
3817
 
3812
- #: webmail/viewsets.py:357
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
3813
3831
  #, python-format
3814
3832
  msgid "Attachment is too big (limit: %s)"
3815
3833
  msgstr "EL adjunto es demasiado grande (límite: %s)"
3834
+
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."