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
@@ -26,15 +26,18 @@ msgid ""
26
26
  msgstr ""
27
27
  "Project-Id-Version: Modoboa\n"
28
28
  "Report-Msgid-Bugs-To: \n"
29
- "POT-Creation-Date: 2025-08-28 09:41+0200\n"
29
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
30
30
  "PO-Revision-Date: 2011-07-01 08:15+0000\n"
31
- "Last-Translator: Rafael Barretto Alves <ch3yd@hotmail.com>, 2013,2015-2017,2025\n"
32
- "Language-Team: Portuguese (Brazil) (http://app.transifex.com/tonio/modoboa/language/pt_BR/)\n"
31
+ "Last-Translator: Rafael Barretto Alves <ch3yd@hotmail.com>, "
32
+ "2013,2015-2017,2025\n"
33
+ "Language-Team: Portuguese (Brazil) (http://app.transifex.com/tonio/modoboa/"
34
+ "language/pt_BR/)\n"
33
35
  "Language: pt_BR\n"
34
36
  "MIME-Version: 1.0\n"
35
37
  "Content-Type: text/plain; charset=UTF-8\n"
36
38
  "Content-Transfer-Encoding: 8bit\n"
37
- "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
39
+ "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % "
40
+ "1000000 == 0 ? 1 : 2;\n"
38
41
 
39
42
  #: admin/api/v1/serializers.py:39
40
43
  msgid ""
@@ -65,14 +68,14 @@ msgid "Cannot be greater than domain quota"
65
68
  msgstr "Não pode ser maior que a cota de domínio"
66
69
 
67
70
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
68
- #: admin/api/v2/serializers.py:564 admin/models/alias.py:44
71
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
69
72
  msgid "Permission denied."
70
73
  msgstr "Permissão negada."
71
74
 
72
75
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
73
- #: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
74
- #: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
75
- #: transport/backends.py:40
76
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
77
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
78
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
76
79
  msgid "This field is required"
77
80
  msgstr "Este campo é obrigatório"
78
81
 
@@ -83,7 +86,7 @@ msgstr ""
83
86
  "Lista de domínios administrados (somente revendedores e administradores de "
84
87
  "domínio)."
85
88
 
86
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
89
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
87
90
  msgid "Not allowed for this role."
88
91
  msgstr "Não é permitido para esta função."
89
92
 
@@ -91,13 +94,12 @@ msgstr "Não é permitido para esta função."
91
94
  msgid "Must be equal to mailbox full_address"
92
95
  msgstr "Deve ser igual a full_address de caixa de correio"
93
96
 
94
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
95
- #: calendars/serializers.py:175 calendars/serializers.py:177
96
- #: pdfcredentials/api/v2/serializers.py:91
97
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
98
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
97
99
  msgid "This field is required."
98
100
  msgstr "Este campo é obrigatório."
99
101
 
100
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
102
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
101
103
  msgid "Local domain {} does not exist"
102
104
  msgstr "Domínio local {} não existe"
103
105
 
@@ -105,7 +107,7 @@ msgstr "Domínio local {} não existe"
105
107
  msgid "A list of recipient"
106
108
  msgstr "Uma lista de destinatários"
107
109
 
108
- #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
110
+ #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
109
111
  msgid "This alias already exists"
110
112
  msgstr "Este apelido já existe"
111
113
 
@@ -138,49 +140,49 @@ msgstr "Você não pode definir uma cota ilimitada."
138
140
  msgid "User '%s' already exists"
139
141
  msgstr "O usuário '%s' já existe"
140
142
 
141
- #: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
143
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
142
144
  msgid "Must be a positive integer"
143
145
  msgstr "Deve ser um inteiro positivo"
144
146
 
145
- #: admin/api/v2/serializers.py:265
147
+ #: admin/api/v2/serializers.py:271
146
148
  msgid "openssl not found, please make sure it is installed."
147
149
  msgstr "openssl não encontrado, certifique-se que está instalado."
148
150
 
149
- #: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
151
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
150
152
  msgid "Directory not found."
151
153
  msgstr "Diretório não encontrado."
152
154
 
153
- #: admin/api/v2/serializers.py:279
155
+ #: admin/api/v2/serializers.py:285
154
156
  msgid "This field only allows valid IP addresses (or networks)"
155
157
  msgstr "Este campo permite apenas endereços IP válidos (ou redes)"
156
158
 
157
- #: admin/api/v2/serializers.py:292
159
+ #: admin/api/v2/serializers.py:298
158
160
  msgid "Please disable imap migration before disabling this option."
159
161
  msgstr "Desative a migração imap antes de desativar esta opção."
160
162
 
161
- #: admin/api/v2/serializers.py:305
163
+ #: admin/api/v2/serializers.py:311
162
164
  msgid "Define at least one authorized network / address"
163
165
  msgstr "Defina pelo menos uma rede/endereço autorizado"
164
166
 
165
- #: admin/api/v2/serializers.py:581
167
+ #: admin/api/v2/serializers.py:588
166
168
  msgid "The left part of an email address can't be more than 64 characters."
167
169
  msgstr ""
168
170
  "A parte à esquerda de um endereço de e-mail não pode ter mais de 64 "
169
171
  "caracteres."
170
172
 
171
- #: admin/api/v2/serializers.py:603
173
+ #: admin/api/v2/serializers.py:610
172
174
  msgid "A mailbox is required to create aliases."
173
175
  msgstr "Uma caixa de correio é necessária para criar apelidos."
174
176
 
175
- #: admin/api/v2/serializers.py:772
177
+ #: admin/api/v2/serializers.py:783
176
178
  msgid "Unknown status"
177
179
  msgstr "Status desconhecido"
178
180
 
179
- #: admin/api/v2/viewsets.py:84
181
+ #: admin/api/v2/viewsets.py:95
180
182
  msgid "You don't have access to this domain"
181
183
  msgstr "Você não tem acesso a este domínio"
182
184
 
183
- #: admin/api/v2/viewsets.py:87
185
+ #: admin/api/v2/viewsets.py:98
184
186
  msgid "You can't delete your own domain"
185
187
  msgstr "Você não pode excluir seu próprio domínio"
186
188
 
@@ -202,11 +204,11 @@ msgstr "MXs válidos"
202
204
 
203
205
  #: admin/app_settings.py:37
204
206
  msgid ""
205
- "A list of IP or network address every MX record should match. A warning will"
206
- " 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."
207
209
  msgstr ""
208
- "Uma lista de endereços IP ou de rede que cada registro MX deve corresponder."
209
- " Um aviso será enviado se um registro não for respeitado."
210
+ "Uma lista de endereços IP ou de rede que cada registro MX deve corresponder. "
211
+ "Um aviso será enviado se um registro não for respeitado."
210
212
 
211
213
  #: admin/app_settings.py:47
212
214
  msgid "New domains must use authorized MX(s)"
@@ -243,8 +245,8 @@ msgstr "Ativar verificações DKIM"
243
245
  #: admin/app_settings.py:80
244
246
  msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
245
247
  msgstr ""
246
- "Verifique se todos os domínios com login DKIM habilitado têm um registro DNS"
247
- " válido"
248
+ "Verifique se todos os domínios com login DKIM habilitado têm um registro DNS "
249
+ "válido"
248
250
 
249
251
  #: admin/app_settings.py:88
250
252
  msgid "Enable DMARC checks"
@@ -272,42 +274,52 @@ msgid "Check every domain against major DNSBL providers"
272
274
  msgstr ""
273
275
  "Verifique todos os domínios em relação aos principais provedores de DNSBL"
274
276
 
275
- #: admin/app_settings.py:116
277
+ #: admin/app_settings.py:117
278
+ msgid "Notify domain admins about DNS issues"
279
+ msgstr ""
280
+
281
+ #: admin/app_settings.py:120
282
+ msgid ""
283
+ "Send a notification by email to domain administrators when DNS issues are "
284
+ "encountered"
285
+ msgstr ""
286
+
287
+ #: admin/app_settings.py:128
276
288
  msgid "Custom DNS server"
277
289
  msgstr "Servidor de DNS personalizado"
278
290
 
279
- #: admin/app_settings.py:118
291
+ #: admin/app_settings.py:130
280
292
  msgid "Use a custom DNS server instead of local server configuration"
281
293
  msgstr ""
282
294
  "Usar um servidor DNS personalizado em vez da configuração do servidor local"
283
295
 
284
- #: admin/app_settings.py:126
296
+ #: admin/app_settings.py:138
285
297
  msgid "DKIM keys storage directory"
286
298
  msgstr "Diretório de armazenamento de chaves DKIM"
287
299
 
288
- #: admin/app_settings.py:128
300
+ #: admin/app_settings.py:140
289
301
  msgid ""
290
302
  "Absolute path of the directory where DKIM private keys will be stored. Make "
291
303
  "sure this directory belongs to root user and is not readable by the outside "
292
304
  "world."
293
305
  msgstr ""
294
306
  "Caminho absoluto do diretório onde as chaves privadas DKIM serão "
295
- "armazenadas. Certifique-se que este diretório pertença ao usuário root e não"
296
- " seja legível pelo mundo exterior."
307
+ "armazenadas. Certifique-se que este diretório pertença ao usuário root e não "
308
+ "seja legível pelo mundo exterior."
297
309
 
298
- #: admin/app_settings.py:137
310
+ #: admin/app_settings.py:149
299
311
  msgid "Default DKIM key length"
300
312
  msgstr "Comprimento padrão da chave DKIM"
301
313
 
302
- #: admin/app_settings.py:139
314
+ #: admin/app_settings.py:151
303
315
  msgid "Default length in bits for newly generated DKIM keys."
304
316
  msgstr "Comprimento padrão em bits para chaves DKIM recém-geradas."
305
317
 
306
- #: admin/app_settings.py:146
318
+ #: admin/app_settings.py:158
307
319
  msgid "Default domain quota"
308
320
  msgstr "Cota de domínio padrão"
309
321
 
310
- #: admin/app_settings.py:148
322
+ #: admin/app_settings.py:160
311
323
  msgid ""
312
324
  "Default quota (in MB) applied to freshly created domains with no value "
313
325
  "specified. A value of 0 means no quota."
@@ -315,11 +327,11 @@ msgstr ""
315
327
  "Cota padrão (em MB) aplicada para domínios recém-criados sem nenhum valor "
316
328
  "especificado. Um valor 0 significa que não há cota."
317
329
 
318
- #: admin/app_settings.py:156
330
+ #: admin/app_settings.py:168
319
331
  msgid "Default domain sending limit"
320
332
  msgstr "Limite padrão de envio de domínio"
321
333
 
322
- #: admin/app_settings.py:158
334
+ #: admin/app_settings.py:170
323
335
  msgid ""
324
336
  "Number of messages freshly created domains will be allowed to send per day. "
325
337
  "Leave empty for no limit."
@@ -327,16 +339,16 @@ msgstr ""
327
339
  "Número de mensagens que os domínios recém-criados poderão enviar por dia. "
328
340
  "Deixe vazio para ilimitado."
329
341
 
330
- #: admin/app_settings.py:170 limits/app_settings.py:61
342
+ #: admin/app_settings.py:182 limits/app_settings.py:61
331
343
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
332
344
  msgid "Mailboxes"
333
345
  msgstr "Caixas de correio"
334
346
 
335
- #: admin/app_settings.py:176
347
+ #: admin/app_settings.py:188
336
348
  msgid "Handle mailboxes on filesystem"
337
349
  msgstr "Manipular caixas de correio no sistema de arquivos"
338
350
 
339
- #: admin/app_settings.py:178
351
+ #: admin/app_settings.py:190
340
352
  msgid ""
341
353
  "Rename or remove mailboxes on the filesystem when they get renamed or "
342
354
  "removed within Modoboa"
@@ -344,23 +356,23 @@ msgstr ""
344
356
  "Renomeie ou remova caixas de correio no sistema de arquivos quando elas "
345
357
  "forem renomeadas ou removidas no Modoboa"
346
358
 
347
- #: admin/app_settings.py:186 admin/models/domain.py:36
359
+ #: admin/app_settings.py:198 admin/models/domain.py:36
348
360
  msgid "Default mailbox quota"
349
361
  msgstr "Cota de caixa de correio padrão"
350
362
 
351
- #: admin/app_settings.py:188
363
+ #: admin/app_settings.py:200
352
364
  msgid ""
353
365
  "Default mailbox quota (in MB) applied to freshly created domains with no "
354
366
  "value specified. A value of 0 means no quota."
355
367
  msgstr ""
356
- "Cota de caixa de correio padrão (em MB) aplicada para domínios recém-criados"
357
- " sem nenhum valor especificado. Um valor 0 significa que não há cota."
368
+ "Cota de caixa de correio padrão (em MB) aplicada para domínios recém-criados "
369
+ "sem nenhum valor especificado. Um valor 0 significa que não há cota."
358
370
 
359
- #: admin/app_settings.py:197
371
+ #: admin/app_settings.py:209
360
372
  msgid "Default mailbox sending limit"
361
373
  msgstr "Limite padrão de envio de caixa de correio"
362
374
 
363
- #: admin/app_settings.py:199
375
+ #: admin/app_settings.py:211
364
376
  msgid ""
365
377
  "Number of messages freshly created mailboxes will be allowed to send per "
366
378
  "day. Leave empty for no limit."
@@ -368,37 +380,66 @@ msgstr ""
368
380
  "Número de mensagens que caixas de correio recém-criadas poderão enviar por "
369
381
  "dia. Deixe vazio para ilimitado."
370
382
 
371
- #: admin/app_settings.py:207
383
+ #: admin/app_settings.py:219
372
384
  msgid "Automatic account removal"
373
385
  msgstr "Remoção automática de conta"
374
386
 
375
- #: admin/app_settings.py:209
387
+ #: admin/app_settings.py:221
376
388
  msgid "When a mailbox is removed, also remove the associated account"
377
389
  msgstr ""
378
390
  "Quando uma caixa de correio for removida, remova também a conta associada"
379
391
 
380
- #: admin/app_settings.py:218
392
+ #: admin/app_settings.py:230
381
393
  msgid "Automatic domain/mailbox creation"
382
394
  msgstr "Criação automática de domínio/caixa de correio"
383
395
 
384
- #: admin/app_settings.py:221
385
- msgid ""
386
- "Create a domain and a mailbox when an account is automatically created."
396
+ #: admin/app_settings.py:233
397
+ msgid "Create a domain and a mailbox when an account is automatically created."
387
398
  msgstr ""
388
399
  "Crie um domínio e uma caixa de correio quando uma conta for criada "
389
400
  "automaticamente."
390
401
 
391
- #: admin/app_settings.py:230
402
+ #: admin/app_settings.py:242
392
403
  msgid "Create an alias when a mailbox is renamed"
393
404
  msgstr "Criar um apelido quando uma caixa de correio for renomeada"
394
405
 
395
- #: admin/app_settings.py:233
406
+ #: admin/app_settings.py:245
396
407
  msgid "Create an alias using the old address when a mailbox is renamed."
397
408
  msgstr ""
398
409
  "Crie um apelido usando o endereço antigo quando uma caixa de correio for "
399
410
  "renomeada."
400
411
 
401
- #: admin/app_settings.py:287 core/api/v2/viewsets.py:174
412
+ #: admin/app_settings.py:257
413
+ #, fuzzy
414
+ #| msgid "alias"
415
+ msgid "Aliases"
416
+ msgstr "apelido"
417
+
418
+ #: admin/app_settings.py:263
419
+ msgid "Alias can target any domain"
420
+ msgstr ""
421
+
422
+ #: admin/app_settings.py:265
423
+ msgid "Allow aliases to target any domain, not just the local domains."
424
+ msgstr ""
425
+
426
+ #: admin/app_settings.py:272
427
+ msgid "Alias target block list"
428
+ msgstr ""
429
+
430
+ #: admin/app_settings.py:274
431
+ msgid "A list of domains that aliases cannot target (comma separated)."
432
+ msgstr ""
433
+
434
+ #: admin/app_settings.py:282
435
+ msgid "Alias target allow list"
436
+ msgstr ""
437
+
438
+ #: admin/app_settings.py:284
439
+ msgid "A list of domains that aliases can target (comma separated)."
440
+ msgstr ""
441
+
442
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
402
443
  msgid "Administration"
403
444
  msgstr "Administração"
404
445
 
@@ -418,6 +459,35 @@ msgstr "Aberto"
418
459
  msgid "Closed"
419
460
  msgstr "Fechado"
420
461
 
462
+ #: admin/dns_checker.py:96
463
+ msgid "MX {} listed by DNSBL provider {}"
464
+ msgstr "MX {} listado pelo provedor DNSBL {}"
465
+
466
+ #: admin/dns_checker.py:138
467
+ msgid "Domain has no MX record"
468
+ msgstr "O domínio não tem registro MX"
469
+
470
+ #: admin/dns_checker.py:141
471
+ msgid "Domain {} has no MX record"
472
+ msgstr "O domínio {} não tem registro MX"
473
+
474
+ #: admin/dns_checker.py:159
475
+ msgid "Invalid MX record: {}"
476
+ msgstr "Registro MX inválido: {}"
477
+
478
+ #: admin/dns_checker.py:166
479
+ #, python-brace-format
480
+ msgid "MX record for domain {0} is invalid: {1}"
481
+ msgstr "O registro MX para {0} de domínio é inválido: {1}"
482
+
483
+ #: admin/dns_checker.py:177
484
+ msgid "[modoboa] MX issue(s) for domain {}"
485
+ msgstr "[modoboa] Problema(s) de MX para o domínio {}"
486
+
487
+ #: admin/dns_checker.py:224
488
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
489
+ msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}"
490
+
421
491
  #: admin/handlers.py:179
422
492
  msgid "domain alias"
423
493
  msgstr "apelido de domínio"
@@ -427,61 +497,57 @@ msgstr "apelido de domínio"
427
497
  msgid "Account import failed (%s): domain does not exist"
428
498
  msgstr "Falha na importação da conta (%s): o domínio não existe"
429
499
 
430
- #: admin/handlers.py:242 admin/models/mailbox.py:342
431
- msgid "Mailbox {} already exists"
432
- msgstr "A caixa de correio {} já existe"
433
-
434
- #: admin/handlers.py:251
500
+ #: admin/handlers.py:246
435
501
  #, python-format
436
502
  msgid "Account import failed (%s): wrong quota value"
437
503
  msgstr "Falha na importação da conta (%s): valor de cota incorreto"
438
504
 
439
- #: admin/lib.py:121
505
+ #: admin/lib.py:126
440
506
  msgid "You are not allowed to import domains"
441
507
  msgstr "Você não tem permissão para importar domínios"
442
508
 
443
- #: admin/lib.py:130
509
+ #: admin/lib.py:135
444
510
  msgid "You are not allowed to import domain aliases."
445
511
  msgstr "Você não tem permissão para importar apelidos de domínio."
446
512
 
447
- #: admin/lib.py:222 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
448
- #: admin/tests/test_mx.py:171
513
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
514
+ #: admin/tests/test_mx.py:157
449
515
  #, python-format
450
516
  msgid "No DNS record found for %s"
451
517
  msgstr "Nenhum registro de DNS encontrado para %s"
452
518
 
453
- #: admin/lib.py:225
519
+ #: admin/lib.py:230
454
520
  #, python-format
455
521
  msgid "No %(type)s record for %(name)s"
456
522
  msgstr "Nenhum registro %(type)s para %(name)s"
457
523
 
458
- #: admin/lib.py:229 admin/tests/test_mx.py:156
524
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
459
525
  msgid "No working name servers found"
460
526
  msgstr "Nenhum servidor de nomes funcional encontrado"
461
527
 
462
- #: admin/lib.py:232 admin/tests/test_mx.py:160
528
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
463
529
  #, python-format
464
530
  msgid "DNS resolution timeout, unable to query %s at the moment"
465
531
  msgstr ""
466
532
  "Tempo limite de resolução de DNS, não é possível consultar %s no momento"
467
533
 
468
- #: admin/lib.py:236
534
+ #: admin/lib.py:241
469
535
  #, fuzzy
470
536
  #| msgid "DNS name is too long: %s"
471
537
  msgid "DNS name is too long: {}"
472
538
  msgstr "O nome DNS é muito longo: %s"
473
539
 
474
- #: admin/lib.py:267
540
+ #: admin/lib.py:272
475
541
  #, python-brace-format
476
542
  msgid "Invalid IP address format for {domain}; {addr}"
477
543
  msgstr "Formato de endereço IP inválido para {domain}; {addr}"
478
544
 
479
- #: admin/lib.py:360
545
+ #: admin/lib.py:365
480
546
  #, python-format
481
547
  msgid "Object already exists: %s"
482
548
  msgstr "O objeto já existe: %s"
483
549
 
484
- #: admin/lib.py:364
550
+ #: admin/lib.py:369
485
551
  #, python-format
486
552
  msgid "%d objects imported successfully"
487
553
  msgstr "%d objetos importados com sucesso"
@@ -516,77 +582,54 @@ msgstr "Falha ao gerar a chave privada DKIM"
516
582
  msgid "Failed to generate DKIM public key"
517
583
  msgstr "Falha ao gerar a chave pública DKIM"
518
584
 
519
- #: admin/management/commands/subcommands/_mx.py:133
520
- msgid "MX {} listed by DNSBL provider {}"
521
- msgstr "MX {} listado pelo provedor DNSBL {}"
522
-
523
- #: admin/management/commands/subcommands/_mx.py:174
524
- msgid "Domain has no MX record"
525
- msgstr "O domínio não tem registro MX"
526
-
527
- #: admin/management/commands/subcommands/_mx.py:177
528
- msgid "Domain {} has no MX record"
529
- msgstr "O domínio {} não tem registro MX"
530
-
531
- #: admin/management/commands/subcommands/_mx.py:195
532
- msgid "Invalid MX record: {}"
533
- msgstr "Registro MX inválido: {}"
534
-
535
- #: admin/management/commands/subcommands/_mx.py:202
536
- #, python-brace-format
537
- msgid "MX record for domain {0} is invalid: {1}"
538
- msgstr "O registro MX para {0} de domínio é inválido: {1}"
539
-
540
- #: admin/management/commands/subcommands/_mx.py:213
541
- msgid "[modoboa] MX issue(s) for domain {}"
542
- msgstr "[modoboa] Problema(s) de MX para o domínio {}"
543
-
544
- #: admin/management/commands/subcommands/_mx.py:269
545
- msgid "[modoboa] DNSBL issue(s) for domain {}"
546
- msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}"
547
-
548
- #: admin/models/alias.py:42
585
+ #: admin/models/alias.py:43
549
586
  msgid "Domain not found."
550
587
  msgstr "Domínio não encontrado."
551
588
 
552
- #: admin/models/alias.py:97 admin/models/mailbox.py:85
589
+ #: admin/models/alias.py:117 admin/models/mailbox.py:85
553
590
  msgid "address"
554
591
  msgstr "endereço"
555
592
 
556
- #: admin/models/alias.py:99
593
+ #: admin/models/alias.py:119
557
594
  msgid "The alias address."
558
595
  msgstr "O endereço do apelido."
559
596
 
560
- #: admin/models/alias.py:103 admin/models/domain.py:45
597
+ #: admin/models/alias.py:123 admin/models/domain.py:45
561
598
  #: admin/models/domain_alias.py:45 autoreply/models.py:25
562
599
  msgid "enabled"
563
600
  msgstr "habilitado"
564
601
 
565
- #: admin/models/alias.py:104 admin/models/domain_alias.py:46
602
+ #: admin/models/alias.py:124 admin/models/domain_alias.py:46
566
603
  msgid "Check to activate this alias"
567
604
  msgstr "Marque para ativar este apelido"
568
605
 
569
- #: admin/models/alias.py:108
606
+ #: admin/models/alias.py:128
570
607
  msgid "Description"
571
608
  msgstr "Descrição"
572
609
 
573
- #: admin/models/alias.py:109
610
+ #: admin/models/alias.py:129
574
611
  msgid "Expire at"
575
612
  msgstr "Expirar em"
576
613
 
577
- #: admin/models/alias.py:150
614
+ #: admin/models/alias.py:170
578
615
  msgid "alias"
579
616
  msgstr "apelido"
580
617
 
581
- #: admin/models/alias.py:183
618
+ #: admin/models/alias.py:203
582
619
  msgid "Invalid address"
583
620
  msgstr "Endereço inválido"
584
621
 
585
- #: admin/models/alias.py:202
622
+ #: admin/models/alias.py:206
623
+ #, fuzzy
624
+ #| msgid "The domain name"
625
+ msgid "Target domain not allowed"
626
+ msgstr "O nome do domínio"
627
+
628
+ #: admin/models/alias.py:224
586
629
  msgid "Local recipient {}@{} not found"
587
630
  msgstr "Destinatário {}@{} local não encontrado"
588
631
 
589
- #: admin/models/alias.py:251
632
+ #: admin/models/alias.py:273
590
633
  msgid "Invalid line: {}"
591
634
  msgstr "Linha inválida: {}"
592
635
 
@@ -697,6 +740,10 @@ msgstr "{}: cota de domínio excedida"
697
740
  msgid "Domain does not exist"
698
741
  msgstr "O domínio não existe"
699
742
 
743
+ #: admin/models/mailbox.py:342
744
+ msgid "Mailbox {} already exists"
745
+ msgstr "A caixa de correio {} já existe"
746
+
700
747
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:3
701
748
  #, python-format
702
749
  msgid ""
@@ -714,8 +761,7 @@ msgid ""
714
761
  msgstr ""
715
762
  "A reputação do domínio será afetada e há uma chance de que os e-mails "
716
763
  "provenientes dele sejam considerados spam. Você deve entrar em contato com "
717
- "esses provedores e pedir que eles retirem a lista de endereços IP "
718
- "detectados."
764
+ "esses provedores e pedir que eles retirem a lista de endereços IP detectados."
719
765
 
720
766
  #: admin/templates/admin/notifications/domain_invalid_mx.html:3
721
767
  #, python-format
@@ -723,21 +769,405 @@ msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
723
769
  msgstr ""
724
770
  "O Modoboa detectou que o domínio %(domain)s não possui registro MX válido:"
725
771
 
726
- #: admin/tests/test_mx.py:155
772
+ #: admin/tests/test_mx.py:141
727
773
  #, python-format
728
774
  msgid "No MX record for %s"
729
775
  msgstr "Nenhum registro MX para %s"
730
776
 
731
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
777
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
732
778
  #, python-format
733
779
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
734
780
  msgstr "Formato de endereço IP inválido para %(domain)s; %(addr)s"
735
781
 
736
- #: admin/tests/test_mx.py:199
782
+ #: admin/tests/test_mx.py:185
737
783
  #, python-format
738
784
  msgid "No AAAA record for %s"
739
785
  msgstr "Nenhum registro AAAA para %s"
740
786
 
787
+ #: amavis/app_settings.py:11
788
+ #, fuzzy
789
+ #| msgid "IMAP settings"
790
+ msgid "Amavis settings"
791
+ msgstr "Configurações IMAP"
792
+
793
+ #: amavis/app_settings.py:17
794
+ msgid "Localpart is case sensitive"
795
+ msgstr ""
796
+
797
+ #: amavis/app_settings.py:19
798
+ msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
799
+ msgstr ""
800
+
801
+ #: amavis/app_settings.py:27
802
+ #, fuzzy
803
+ #| msgid "Recipient"
804
+ msgid "Recipient delimiter"
805
+ msgstr "Destinatário"
806
+
807
+ #: amavis/app_settings.py:29
808
+ msgid "Value should match amavisd.conf variable $recipient_delimiter"
809
+ msgstr ""
810
+
811
+ #: amavis/app_settings.py:41
812
+ #, fuzzy
813
+ #| msgid "Quarantine"
814
+ msgid "Quarantine settings"
815
+ msgstr "Quarentena"
816
+
817
+ #: amavis/app_settings.py:47
818
+ #, fuzzy
819
+ #| msgid "Maximum log record age"
820
+ msgid "Maximum message age"
821
+ msgstr "Idade máxima do registro de log"
822
+
823
+ #: amavis/app_settings.py:49
824
+ msgid "Quarantine messages maximum age (in days) before deletion"
825
+ msgstr ""
826
+
827
+ #: amavis/app_settings.py:60
828
+ #, fuzzy
829
+ #| msgid "Message sending limit"
830
+ msgid "Message releasing"
831
+ msgstr "Limite de envio de mensagens"
832
+
833
+ #: amavis/app_settings.py:66
834
+ #, fuzzy
835
+ #| msgid "Show greylisted messages"
836
+ msgid "Remove released messages"
837
+ msgstr "Mostrar mensagens na lista cinza"
838
+
839
+ #: amavis/app_settings.py:68
840
+ msgid "Remove messages marked as released while cleaning up the database"
841
+ msgstr ""
842
+
843
+ #: amavis/app_settings.py:76
844
+ #, fuzzy
845
+ #| msgid "Use a secured connection"
846
+ msgid "Amavis connection mode"
847
+ msgstr "Modo de conexão segura"
848
+
849
+ #: amavis/app_settings.py:78
850
+ #, fuzzy
851
+ #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
852
+ msgid "Mode used to access the PDP server"
853
+ msgstr "Usar uma conexão SSL/STARTTLS para acessar o servidor LDAP"
854
+
855
+ #: amavis/app_settings.py:85
856
+ #, fuzzy
857
+ #| msgid "SMTP server address"
858
+ msgid "PDP server address"
859
+ msgstr "Endereço do servidor SMTP"
860
+
861
+ #: amavis/app_settings.py:87
862
+ #, fuzzy
863
+ #| msgid "SMTP server address"
864
+ msgid "PDP server address (if inet mode)"
865
+ msgstr "Endereço do servidor SMTP"
866
+
867
+ #: amavis/app_settings.py:95
868
+ #, fuzzy
869
+ #| msgid "SMTP server port"
870
+ msgid "PDP server port"
871
+ msgstr "Porta do servidor SMTP"
872
+
873
+ #: amavis/app_settings.py:97
874
+ msgid "PDP server port (if inet mode)"
875
+ msgstr ""
876
+
877
+ #: amavis/app_settings.py:105
878
+ #, fuzzy
879
+ #| msgid "SMTP server port"
880
+ msgid "PDP server socket"
881
+ msgstr "Porta do servidor SMTP"
882
+
883
+ #: amavis/app_settings.py:107
884
+ msgid "Path to the PDP server socket (if unix mode)"
885
+ msgstr ""
886
+
887
+ #: amavis/app_settings.py:115
888
+ msgid "Allow direct release"
889
+ msgstr ""
890
+
891
+ #: amavis/app_settings.py:117
892
+ msgid "Allow users to directly release their messages"
893
+ msgstr ""
894
+
895
+ #: amavis/app_settings.py:124
896
+ msgid "Enable self-service mode"
897
+ msgstr ""
898
+
899
+ #: amavis/app_settings.py:126
900
+ msgid "Activate the 'self-service' mode"
901
+ msgstr ""
902
+
903
+ #: amavis/app_settings.py:133
904
+ #, fuzzy
905
+ #| msgid "Notifications"
906
+ msgid "Notifications sender"
907
+ msgstr "Notificações"
908
+
909
+ #: amavis/app_settings.py:135
910
+ #, fuzzy
911
+ #| msgid "Email address used to send notifications."
912
+ msgid "The e-mail address used to send notitications"
913
+ msgstr "Endereço de e-mail usado para enviar notificações."
914
+
915
+ #: amavis/app_settings.py:146
916
+ msgid "Manual learning"
917
+ msgstr ""
918
+
919
+ #: amavis/app_settings.py:152
920
+ msgid "Enable manual learning"
921
+ msgstr ""
922
+
923
+ #: amavis/app_settings.py:154
924
+ #, fuzzy
925
+ #| msgid "Allow this administrator to access user mailboxes"
926
+ msgid "Allow super administrators to manually train Spamassassin"
927
+ msgstr ""
928
+ "Permitir que este administrador acesse as caixas de correio de usuários"
929
+
930
+ #: amavis/app_settings.py:161
931
+ msgid "Is Spamassassin local?"
932
+ msgstr ""
933
+
934
+ #: amavis/app_settings.py:163
935
+ msgid "Tell if Spamassassin is running on the same server than modoboa"
936
+ msgstr ""
937
+
938
+ #: amavis/app_settings.py:171
939
+ #, fuzzy
940
+ #| msgid "Default top redirection"
941
+ msgid "Default user"
942
+ msgstr "Editor padrão"
943
+
944
+ #: amavis/app_settings.py:173
945
+ msgid "Name of the user owning the default bayesian database"
946
+ msgstr ""
947
+
948
+ #: amavis/app_settings.py:181
949
+ #, fuzzy
950
+ #| msgid "Sender address"
951
+ msgid "Spamd address"
952
+ msgstr "Endereço do remente"
953
+
954
+ #: amavis/app_settings.py:183
955
+ msgid "The IP address where spamd can be reached"
956
+ msgstr ""
957
+
958
+ #: amavis/app_settings.py:191
959
+ msgid "Spamd port"
960
+ msgstr ""
961
+
962
+ #: amavis/app_settings.py:193
963
+ msgid "The TCP port spamd is listening on"
964
+ msgstr ""
965
+
966
+ #: amavis/app_settings.py:202
967
+ #, fuzzy
968
+ #| msgid "Enable per-domain limits"
969
+ msgid "Enable per-domain manual learning"
970
+ msgstr "Habilitar limites por domínio"
971
+
972
+ #: amavis/app_settings.py:205
973
+ #, fuzzy
974
+ #| msgid ""
975
+ #| "Allow domain administrators to manage user calendars (read and write)"
976
+ msgid ""
977
+ "Allow domain administrators to train Spamassassin (within dedicated per-"
978
+ "domain databases)"
979
+ msgstr ""
980
+ "Permitir aos administradores de domínio gerir calendários dos usuários "
981
+ "(leitura e escrita)"
982
+
983
+ #: amavis/app_settings.py:215
984
+ #, fuzzy
985
+ #| msgid "Enable per-domain limits"
986
+ msgid "Enable per-user manual learning"
987
+ msgstr "Habilitar limites por domínio"
988
+
989
+ #: amavis/app_settings.py:218
990
+ msgid ""
991
+ "Allow simple users to personally train Spamassassin (within a dedicated "
992
+ "database)"
993
+ msgstr ""
994
+
995
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
996
+ #, fuzzy
997
+ #| msgid "Display details"
998
+ msgid "Display"
999
+ msgstr "Mostrar"
1000
+
1001
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
1002
+ #, fuzzy
1003
+ #| msgid "Number of displayed items per page"
1004
+ msgid "Number of displayed emails per page"
1005
+ msgstr "Número de e-mails exibidos por página"
1006
+
1007
+ #: amavis/app_settings.py:246
1008
+ #, fuzzy
1009
+ #| msgid "Sets the maximum number of messages displayed in a page"
1010
+ msgid "Set the maximum number of messages displayed in a page"
1011
+ msgstr "Definir o número máximo de mensagens exibidas por página"
1012
+
1013
+ #: amavis/app_settings.py:266 amavis/app_settings.py:273
1014
+ msgid "Amavis"
1015
+ msgstr ""
1016
+
1017
+ #: amavis/checks/settings_checks.py:8
1018
+ msgid ""
1019
+ "AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
1020
+ "by the Amavis database."
1021
+ msgstr ""
1022
+
1023
+ #: amavis/checks/settings_checks.py:12
1024
+ msgid ""
1025
+ "Check your database character encoding and set/update "
1026
+ "AMAVIS_DEFAULT_DATABASE_ENCODING."
1027
+ msgstr ""
1028
+
1029
+ #: amavis/checks/settings_checks.py:19
1030
+ msgid "Modoboa Amavis has not been tested using the selected database engine."
1031
+ msgstr ""
1032
+
1033
+ #: amavis/checks/settings_checks.py:20
1034
+ msgid "Try using PostgreSQL, MySQL or MariaDB."
1035
+ msgstr ""
1036
+
1037
+ #: amavis/handlers.py:141
1038
+ msgid "Pending requests"
1039
+ msgstr ""
1040
+
1041
+ #: amavis/lib.py:59
1042
+ #, fuzzy, python-format
1043
+ msgid "Connection to amavis failed: %s"
1044
+ msgstr "Falha na conexão com o servidor IMAP: %s"
1045
+
1046
+ #: amavis/lib.py:133
1047
+ #, fuzzy
1048
+ #| msgid "Failed to locate rrdtool binary."
1049
+ msgid "Failed to find {} binary"
1050
+ msgstr "Falha ao localizar o binário rrdtool."
1051
+
1052
+ #: amavis/lib.py:148
1053
+ #, fuzzy
1054
+ #| msgid "Local recipient {}@{} not found"
1055
+ msgid "No recipient found"
1056
+ msgstr "Destinatário {}@{} local não encontrado"
1057
+
1058
+ #: amavis/lib.py:159
1059
+ #, fuzzy
1060
+ #| msgid "Domain not found."
1061
+ msgid "Local domain not found"
1062
+ msgstr "Domínio não encontrado."
1063
+
1064
+ #: amavis/management/commands/amnotify.py:59
1065
+ #, fuzzy
1066
+ #| msgid "[modoboa] Sending limit reached"
1067
+ msgid "[modoboa] Pending release requests"
1068
+ msgstr "[modoboa] Limite de envio atingido"
1069
+
1070
+ #: amavis/models.py:101
1071
+ #, fuzzy
1072
+ #| msgid "Search filter"
1073
+ msgid "Virus filter"
1074
+ msgstr "Filtro de pesquisa"
1075
+
1076
+ #: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
1077
+ msgid "yes"
1078
+ msgstr ""
1079
+
1080
+ #: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
1081
+ msgid "no"
1082
+ msgstr ""
1083
+
1084
+ #: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
1085
+ msgid "default"
1086
+ msgstr ""
1087
+
1088
+ #: amavis/models.py:111
1089
+ msgid "Bypass virus checks or not. Choose 'default' to use global settings."
1090
+ msgstr ""
1091
+
1092
+ #: amavis/models.py:115
1093
+ #, fuzzy
1094
+ #| msgid "Search filter"
1095
+ msgid "Spam filter"
1096
+ msgstr "Filtro de pesquisa"
1097
+
1098
+ #: amavis/models.py:125
1099
+ msgid "Bypass spam checks or not. Choose 'default' to use global settings."
1100
+ msgstr ""
1101
+
1102
+ #: amavis/models.py:129
1103
+ #, fuzzy
1104
+ #| msgid "Search filter"
1105
+ msgid "Banned filter"
1106
+ msgstr "Filtro de pesquisa"
1107
+
1108
+ #: amavis/models.py:139
1109
+ msgid "Bypass banned checks or not. Choose 'default' to use global settings."
1110
+ msgstr ""
1111
+
1112
+ #: amavis/models.py:170
1113
+ msgid "Spam marker"
1114
+ msgstr ""
1115
+
1116
+ #: amavis/models.py:176
1117
+ msgid ""
1118
+ "Modify spam subject using the specified text. Choose 'default' to use global "
1119
+ "settings."
1120
+ msgstr ""
1121
+
1122
+ #: amavis/templates/amavis/notifications/pending_requests.html:3
1123
+ #, python-format
1124
+ msgid "%(counter)s release request is pending for action."
1125
+ msgid_plural "%(counter)s release requests are pending for action."
1126
+ msgstr[0] ""
1127
+ msgstr[1] ""
1128
+ msgstr[2] ""
1129
+
1130
+ #: amavis/templates/amavis/notifications/pending_requests.html:8
1131
+ msgid "Sketch:"
1132
+ msgstr ""
1133
+
1134
+ #: amavis/templates/amavis/notifications/pending_requests.html:10
1135
+ msgid "From:"
1136
+ msgstr ""
1137
+
1138
+ #: amavis/templates/amavis/notifications/pending_requests.html:11
1139
+ msgid "To:"
1140
+ msgstr ""
1141
+
1142
+ #: amavis/templates/amavis/notifications/pending_requests.html:12
1143
+ #, fuzzy
1144
+ #| msgid "Date"
1145
+ msgid "Date:"
1146
+ msgstr "Data"
1147
+
1148
+ #: amavis/templates/amavis/notifications/pending_requests.html:13
1149
+ #, fuzzy
1150
+ #| msgid "Subject"
1151
+ msgid "Subject:"
1152
+ msgstr "Assunto"
1153
+
1154
+ #: amavis/templates/amavis/notifications/pending_requests.html:14
1155
+ #, fuzzy
1156
+ #| msgid "sent messages"
1157
+ msgid "Act on this message:"
1158
+ msgstr "mensagens enviadas"
1159
+
1160
+ #: amavis/templates/amavis/notifications/pending_requests.html:16
1161
+ #, python-format
1162
+ msgid "Please visit %(listingurl)s for a full listing."
1163
+ msgstr ""
1164
+
1165
+ #: amavis/viewsets.py:122
1166
+ #, fuzzy
1167
+ #| msgid "Invalid address"
1168
+ msgid "Invalid request"
1169
+ msgstr "Endereço inválido"
1170
+
741
1171
  #: autoreply/api/v2/serializers.py:27
742
1172
  msgid "Value can't be less than 1 day"
743
1173
  msgstr ""
@@ -758,8 +1188,7 @@ msgstr "Geral"
758
1188
 
759
1189
  #: autoreply/app_settings.py:18
760
1190
  #, fuzzy
761
- #| msgid ""
762
- #| "Timeout in seconds between two auto-replies to the same recipient"
1191
+ #| msgid "Timeout in seconds between two auto-replies to the same recipient"
763
1192
  msgid "Period between two auto-replies"
764
1193
  msgstr ""
765
1194
  "Tempo limite, em segundos, entre duas respostas automáticas para o mesmo "
@@ -767,8 +1196,7 @@ msgstr ""
767
1196
 
768
1197
  #: autoreply/app_settings.py:20
769
1198
  #, fuzzy
770
- #| msgid ""
771
- #| "Timeout in seconds between two auto-replies to the same recipient"
1199
+ #| msgid "Timeout in seconds between two auto-replies to the same recipient"
772
1200
  msgid ""
773
1201
  "Number of days to wait before sending a new auto-reply to the same recipient"
774
1202
  msgstr ""
@@ -857,7 +1285,7 @@ msgstr ""
857
1285
  "Permitir aos administradores de domínio gerir calendários dos usuários "
858
1286
  "(leitura e escrita)"
859
1287
 
860
- #: calendars/app_settings.py:60 core/app_settings.py:676
1288
+ #: calendars/app_settings.py:60 core/app_settings.py:664
861
1289
  #: rspamd/app_settings.py:45
862
1290
  msgid "Miscellaneous"
863
1291
  msgstr "Diversos"
@@ -873,15 +1301,15 @@ msgstr ""
873
1301
  "Tamanho máximo em bytes dos arquivos ICS importados (ou KB, MB, GB se "
874
1302
  "especificado)"
875
1303
 
876
- #: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
1304
+ #: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
877
1305
  msgid "Calendars"
878
1306
  msgstr "Calendários"
879
1307
 
880
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1308
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
881
1309
  msgid "Server location is not set, please fix it."
882
1310
  msgstr "Localização do servidor não informada, por favor corrija."
883
1311
 
884
- #: calendars/viewsets.py:197
1312
+ #: calendars/viewsets.py:199
885
1313
  msgid "Uploaded file is too big (max: {} bytes)"
886
1314
  msgstr "O arquivo carregado é muito grande (máx: {} bytes)"
887
1315
 
@@ -909,7 +1337,7 @@ msgstr "Frequência de sincronização"
909
1337
  msgid "Interval in seconds between 2 synchronization requests"
910
1338
  msgstr "Intervalo, em segundos, entre 2 pedidos de sincronização"
911
1339
 
912
- #: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
1340
+ #: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
913
1341
  msgid "Contacts"
914
1342
  msgstr "Contatos"
915
1343
 
@@ -957,7 +1385,7 @@ msgstr "Código PIN inválido"
957
1385
  msgid "2FA is already enabled"
958
1386
  msgstr "2FA já está habilitado"
959
1387
 
960
- #: core/api/v1/serializers.py:86
1388
+ #: core/api/v1/serializers.py:87
961
1389
  #, fuzzy, python-format
962
1390
  #| msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
963
1391
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
@@ -965,7 +1393,7 @@ msgstr ""
965
1393
  "Falha na tentativa de edição de configurações do TFA de '%s' como usuário "
966
1394
  "'%s'"
967
1395
 
968
- #: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
1396
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
969
1397
  msgid "Invalid password"
970
1398
  msgstr "Senha inválida"
971
1399
 
@@ -977,25 +1405,20 @@ msgstr "2FA não está habilitado"
977
1405
  msgid "Local"
978
1406
  msgstr "Local"
979
1407
 
980
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
981
- msgid "User profile"
982
- msgstr "Perfil do usuário"
983
-
984
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
985
- #: core/api/v2/serializers.py:228
1408
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1409
+ #: core/api/v2/serializers.py:221
986
1410
  msgid "Invalid syntax"
987
1411
  msgstr "Sintaxe inválida"
988
1412
 
989
- #: core/api/v2/serializers.py:233
1413
+ #: core/api/v2/serializers.py:226
990
1414
  msgid "Invalid rounds number"
991
1415
  msgstr "Número de ciclos inválido"
992
1416
 
993
- #: core/api/v2/serializers.py:433 core/forms.py:81
1417
+ #: core/api/v2/serializers.py:426 core/forms.py:81
994
1418
  msgid "This code is invalid"
995
1419
  msgstr "Este código é inválido"
996
1420
 
997
- #: core/api/v2/serializers.py:503 core/views/auth.py:194
998
- #: core/views/auth.py:247
1421
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
999
1422
  msgid "Please use the following code to recover your Modoboa password: {}"
1000
1423
  msgstr ""
1001
1424
  "Por favor, use o seguinte código para recuperar sua senha do Modoboa: {}"
@@ -1004,46 +1427,56 @@ msgstr ""
1004
1427
  msgid "Administration console"
1005
1428
  msgstr "Console de administração"
1006
1429
 
1007
- #: core/api/v2/viewsets.py:187
1430
+ #: core/api/v2/viewsets.py:184 dmarc/models.py:11
1431
+ msgid "Quarantine"
1432
+ msgstr "Quarentena"
1433
+
1434
+ #: core/api/v2/viewsets.py:186
1435
+ #, fuzzy
1436
+ #| msgid "Quarantine"
1437
+ msgid "Amavis quarantine"
1438
+ msgstr "Quarentena"
1439
+
1440
+ #: core/api/v2/viewsets.py:197
1008
1441
  msgid "Address book"
1009
1442
  msgstr "Catálogo de endereço"
1010
1443
 
1011
- #: core/api/v2/viewsets.py:197
1444
+ #: core/api/v2/viewsets.py:207
1012
1445
  msgid "Calendar"
1013
1446
  msgstr "Calendário"
1014
1447
 
1015
- #: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
1016
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1448
+ #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1449
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1017
1450
  #, fuzzy
1018
1451
  #| msgid "E-mail"
1019
1452
  msgid "Webmail"
1020
1453
  msgstr "Webmail"
1021
1454
 
1022
- #: core/app_settings.py:37
1455
+ #: core/app_settings.py:25
1023
1456
  msgid "Authentication"
1024
1457
  msgstr "Autenticação"
1025
1458
 
1026
- #: core/app_settings.py:43
1459
+ #: core/app_settings.py:31
1027
1460
  msgid "Authentication type"
1028
1461
  msgstr "Tipo de autenticação"
1029
1462
 
1030
- #: core/app_settings.py:45
1463
+ #: core/app_settings.py:33
1031
1464
  msgid "The backend used for authentication"
1032
1465
  msgstr "O backend usado para autenticação"
1033
1466
 
1034
- #: core/app_settings.py:52
1467
+ #: core/app_settings.py:40
1035
1468
  msgid "Default password scheme"
1036
1469
  msgstr "Esquema padrão de senha"
1037
1470
 
1038
- #: core/app_settings.py:54
1471
+ #: core/app_settings.py:42
1039
1472
  msgid "Scheme used to crypt mailbox passwords"
1040
1473
  msgstr "Esquema usado para criptografar as senhas das caixas de correio"
1041
1474
 
1042
- #: core/app_settings.py:61
1475
+ #: core/app_settings.py:49
1043
1476
  msgid "Rounds"
1044
1477
  msgstr "Ciclos"
1045
1478
 
1046
- #: core/app_settings.py:63
1479
+ #: core/app_settings.py:51
1047
1480
  msgid ""
1048
1481
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1049
1482
  "between 1000 and 999999999, inclusive."
@@ -1051,46 +1484,46 @@ msgstr ""
1051
1484
  "Número de ciclos a ser usado (utilizado apenas por sha256crypt e "
1052
1485
  "sha512crypt). Deve estar entre 1000 e 999999999, inclusive."
1053
1486
 
1054
- #: core/app_settings.py:73
1487
+ #: core/app_settings.py:61
1055
1488
  msgid "Update password scheme at login"
1056
1489
  msgstr "Atualizar esquema de senha no login"
1057
1490
 
1058
- #: core/app_settings.py:76
1491
+ #: core/app_settings.py:64
1059
1492
  msgid "Update user password at login to use the default password scheme"
1060
1493
  msgstr ""
1061
1494
  "Atualizar senha do usuário no login para usar o esquema de senha padrão"
1062
1495
 
1063
- #: core/app_settings.py:84
1496
+ #: core/app_settings.py:72
1064
1497
  msgid "Default password"
1065
1498
  msgstr "Senha padrão"
1066
1499
 
1067
- #: core/app_settings.py:86
1500
+ #: core/app_settings.py:74
1068
1501
  msgid "Default password for automatically created accounts."
1069
1502
  msgstr "Senha padrão para contas criadas automaticamente."
1070
1503
 
1071
- #: core/app_settings.py:93
1504
+ #: core/app_settings.py:81
1072
1505
  msgid "Random password length"
1073
1506
  msgstr "Tamanho de senha aleatório"
1074
1507
 
1075
- #: core/app_settings.py:95
1508
+ #: core/app_settings.py:83
1076
1509
  msgid "Length of randomly generated passwords."
1077
1510
  msgstr "Tamanho das senhas geradas aleatoriamente."
1078
1511
 
1079
- #: core/app_settings.py:103
1512
+ #: core/app_settings.py:91
1080
1513
  msgid "Allow special characters for random password"
1081
1514
  msgstr ""
1082
1515
 
1083
- #: core/app_settings.py:106
1516
+ #: core/app_settings.py:94
1084
1517
  #, fuzzy
1085
1518
  #| msgid "Length of randomly generated passwords."
1086
1519
  msgid "Enable special characters in randomly generated passwords."
1087
1520
  msgstr "Tamanho das senhas geradas aleatoriamente."
1088
1521
 
1089
- #: core/app_settings.py:114
1522
+ #: core/app_settings.py:102
1090
1523
  msgid "Update password service URL"
1091
1524
  msgstr "Atualizar URL do serviço de senha"
1092
1525
 
1093
- #: core/app_settings.py:116
1526
+ #: core/app_settings.py:104
1094
1527
  msgid ""
1095
1528
  "The URL of an external page where users will be able to update their "
1096
1529
  "password. It applies only to non local users, ie. those automatically "
@@ -1100,181 +1533,181 @@ msgstr ""
1100
1533
  "Aplica-se apenas a usuários não locais, como por exemplo aqueles criados "
1101
1534
  "automaticamente após uma autenticação externa bem-sucedida (LDAP, SMTP)."
1102
1535
 
1103
- #: core/app_settings.py:126
1536
+ #: core/app_settings.py:114
1104
1537
  msgid "Password recovery announcement"
1105
1538
  msgstr "Anúncio de recuperação de senha"
1106
1539
 
1107
- #: core/app_settings.py:128
1540
+ #: core/app_settings.py:116
1108
1541
  msgid "A temporary message that will be displayed on the reset password page."
1109
1542
  msgstr ""
1110
1543
  "Uma mensagem temporária que será exibida na página de redefinição de senha."
1111
1544
 
1112
- #: core/app_settings.py:137
1545
+ #: core/app_settings.py:125
1113
1546
  msgid "Enable password recovery by SMS"
1114
1547
  msgstr "Ativar recuperação de senha por SMS"
1115
1548
 
1116
- #: core/app_settings.py:140
1549
+ #: core/app_settings.py:128
1117
1550
  msgid "Enable password recovery by SMS for users who filled a phone number."
1118
1551
  msgstr ""
1119
1552
  "Habilitar a recuperação de senha por SMS para usuários que preencheram um "
1120
1553
  "número de telefone."
1121
1554
 
1122
- #: core/app_settings.py:148
1555
+ #: core/app_settings.py:136
1123
1556
  msgid "SMS provider"
1124
1557
  msgstr "Provedor de SMS"
1125
1558
 
1126
- #: core/app_settings.py:151
1559
+ #: core/app_settings.py:139
1127
1560
  msgid "Choose a provider to send password recovery SMS"
1128
1561
  msgstr "Escolha um provedor para enviar SMS de recuperação de senha"
1129
1562
 
1130
- #: core/app_settings.py:163
1563
+ #: core/app_settings.py:151
1131
1564
  msgid "LDAP"
1132
1565
  msgstr "LDAP"
1133
1566
 
1134
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1567
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1135
1568
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1136
- #: webmail/app_settings.py:73
1569
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1137
1570
  msgid "Server address"
1138
1571
  msgstr "Endereço do servidor"
1139
1572
 
1140
- #: core/app_settings.py:171
1573
+ #: core/app_settings.py:159
1141
1574
  msgid "The IP address or the DNS name of the LDAP server"
1142
1575
  msgstr "O endereço IP do nome DNS do servidor LDAP"
1143
1576
 
1144
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1577
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1145
1578
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1146
- #: webmail/app_settings.py:91
1579
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1147
1580
  msgid "Server port"
1148
1581
  msgstr "Porta do servidor"
1149
1582
 
1150
- #: core/app_settings.py:180
1583
+ #: core/app_settings.py:168
1151
1584
  msgid "The TCP port number used by the LDAP server"
1152
1585
  msgstr "O número da porta TCP usada pelo servidor LDAP"
1153
1586
 
1154
- #: core/app_settings.py:188
1587
+ #: core/app_settings.py:176
1155
1588
  msgid "Enable secondary server (fallback)"
1156
1589
  msgstr "Habilitar servidor secundário (fallback)"
1157
1590
 
1158
- #: core/app_settings.py:191
1591
+ #: core/app_settings.py:179
1159
1592
  msgid ""
1160
1593
  "Enable a secondary LDAP server which will be used if the primary one fails"
1161
1594
  msgstr ""
1162
1595
  "Habilitar um servidor LDAP secundário que será usado se o primário falhar"
1163
1596
 
1164
- #: core/app_settings.py:199
1597
+ #: core/app_settings.py:187
1165
1598
  msgid "Secondary server address"
1166
1599
  msgstr "Endereço do servidor secundário"
1167
1600
 
1168
- #: core/app_settings.py:202
1601
+ #: core/app_settings.py:190
1169
1602
  msgid "The IP address or the DNS name of the seondary LDAP server"
1170
1603
  msgstr "O endereço IP ou o nome DNS do servidor LDAP secundário"
1171
1604
 
1172
- #: core/app_settings.py:209
1605
+ #: core/app_settings.py:197
1173
1606
  msgid "Secondary server port"
1174
1607
  msgstr "Porta do servidor secundário"
1175
1608
 
1176
- #: core/app_settings.py:212
1609
+ #: core/app_settings.py:200
1177
1610
  msgid "The TCP port number used by the LDAP secondary server"
1178
1611
  msgstr "O número da porta TCP usada pelo servidor secundário LDAP"
1179
1612
 
1180
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1613
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1181
1614
  #: webmail/app_settings.py:45
1182
1615
  msgid "Use a secured connection"
1183
1616
  msgstr "Usar conexão segura"
1184
1617
 
1185
- #: core/app_settings.py:221
1618
+ #: core/app_settings.py:209
1186
1619
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1187
1620
  msgstr "Usar uma conexão SSL/STARTTLS para acessar o servidor LDAP"
1188
1621
 
1189
- #: core/app_settings.py:228
1622
+ #: core/app_settings.py:216
1190
1623
  msgid "Active Directory"
1191
1624
  msgstr "Active Directory"
1192
1625
 
1193
- #: core/app_settings.py:230
1626
+ #: core/app_settings.py:218
1194
1627
  msgid "Tell if the LDAP server is an Active Directory one"
1195
1628
  msgstr "Informe se o servidor LDAP é um Active Directory"
1196
1629
 
1197
- #: core/app_settings.py:237
1630
+ #: core/app_settings.py:225
1198
1631
  msgid "Administrator groups"
1199
1632
  msgstr "Grupos de administradores"
1200
1633
 
1201
- #: core/app_settings.py:239
1634
+ #: core/app_settings.py:227
1202
1635
  msgid ""
1203
- "Members of those LDAP Posix groups will be created as domain administrators."
1204
- " Use ';' characters to separate groups."
1636
+ "Members of those LDAP Posix groups will be created as domain administrators. "
1637
+ "Use ';' characters to separate groups."
1205
1638
  msgstr ""
1206
1639
  "Membros dos grupos do LDAP Posix serão criados como administradores de "
1207
1640
  "domínio. Use o caractere ';' para separar grupos."
1208
1641
 
1209
- #: core/app_settings.py:248
1642
+ #: core/app_settings.py:236
1210
1643
  msgid "Group type"
1211
1644
  msgstr "Tipo de grupo"
1212
1645
 
1213
- #: core/app_settings.py:250
1646
+ #: core/app_settings.py:238
1214
1647
  msgid "The LDAP group type to use with your directory."
1215
1648
  msgstr "O tipo de grupo LDAP para ser usado em seu diretório."
1216
1649
 
1217
- #: core/app_settings.py:257
1650
+ #: core/app_settings.py:245
1218
1651
  msgid "Groups search base"
1219
1652
  msgstr "Base de pesquisa de grupos"
1220
1653
 
1221
- #: core/app_settings.py:259
1654
+ #: core/app_settings.py:247
1222
1655
  msgid "The distinguished name of the search base used to find groups"
1223
1656
  msgstr "O nome distinto da base de pesquisa usada para encontrar grupos"
1224
1657
 
1225
- #: core/app_settings.py:267
1658
+ #: core/app_settings.py:255
1226
1659
  msgid "Password attribute"
1227
1660
  msgstr "Atributo de senha"
1228
1661
 
1229
- #: core/app_settings.py:269
1662
+ #: core/app_settings.py:257
1230
1663
  msgid "The attribute used to store user passwords"
1231
1664
  msgstr "O atributo usado para armazenar senhas de usuários"
1232
1665
 
1233
- #: core/app_settings.py:276
1666
+ #: core/app_settings.py:264
1234
1667
  msgid "LDAP authentication settings"
1235
1668
  msgstr "Configurações de autenticação LDAP"
1236
1669
 
1237
- #: core/app_settings.py:284
1670
+ #: core/app_settings.py:272
1238
1671
  msgid "Authentication method"
1239
1672
  msgstr "Método de autenticação"
1240
1673
 
1241
- #: core/app_settings.py:287
1674
+ #: core/app_settings.py:275
1242
1675
  msgid "Choose the authentication method to use"
1243
1676
  msgstr "Escolha o método de autenticação para usar"
1244
1677
 
1245
- #: core/app_settings.py:294 core/app_settings.py:357
1678
+ #: core/app_settings.py:282 core/app_settings.py:345
1246
1679
  msgid "Bind DN"
1247
1680
  msgstr "Vincular DN"
1248
1681
 
1249
- #: core/app_settings.py:296 core/app_settings.py:359
1682
+ #: core/app_settings.py:284 core/app_settings.py:347
1250
1683
  msgid ""
1251
1684
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1252
1685
  "for an anonymous bind"
1253
1686
  msgstr ""
1254
- "O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para"
1255
- " vincular anonimamente"
1687
+ "O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para "
1688
+ "vincular anonimamente"
1256
1689
 
1257
- #: core/app_settings.py:305 core/app_settings.py:367
1690
+ #: core/app_settings.py:293 core/app_settings.py:355
1258
1691
  msgid "Bind password"
1259
1692
  msgstr "Vincular senha"
1260
1693
 
1261
- #: core/app_settings.py:307 core/app_settings.py:369
1694
+ #: core/app_settings.py:295 core/app_settings.py:357
1262
1695
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1263
1696
  msgstr "A senha usada quando vincular ao servidor LDAP (com 'Vincular DN')"
1264
1697
 
1265
- #: core/app_settings.py:317 core/app_settings.py:422
1698
+ #: core/app_settings.py:305 core/app_settings.py:410
1266
1699
  msgid "Users search base"
1267
1700
  msgstr "Base de pesquisa de usuários"
1268
1701
 
1269
- #: core/app_settings.py:319 core/app_settings.py:424
1702
+ #: core/app_settings.py:307 core/app_settings.py:412
1270
1703
  msgid "The distinguished name of the search base used to find users"
1271
1704
  msgstr "O nome distinto da base de pesquisa usada para encontrar usuários"
1272
1705
 
1273
- #: core/app_settings.py:328 core/app_settings.py:433
1706
+ #: core/app_settings.py:316 core/app_settings.py:421
1274
1707
  msgid "Search filter"
1275
1708
  msgstr "Filtro de pesquisa"
1276
1709
 
1277
- #: core/app_settings.py:330 core/app_settings.py:435
1710
+ #: core/app_settings.py:318 core/app_settings.py:423
1278
1711
  msgid ""
1279
1712
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1280
1713
  "valid, it must be enclosed in parentheses."
@@ -1282,39 +1715,39 @@ msgstr ""
1282
1715
  "Uma string opcional de filtro (por ex: '(objectClass=person)'). Para ser "
1283
1716
  "válida, deve estar entre parênteses."
1284
1717
 
1285
- #: core/app_settings.py:339
1718
+ #: core/app_settings.py:327
1286
1719
  msgid "User DN template"
1287
1720
  msgstr "Usar template DN"
1288
1721
 
1289
- #: core/app_settings.py:341
1722
+ #: core/app_settings.py:329
1290
1723
  #, python-format
1291
1724
  msgid ""
1292
1725
  "The template used to construct a user's DN. It should contain one "
1293
1726
  "placeholder (ie. %(user)s)"
1294
1727
  msgstr ""
1295
- "A template usada para construir um DN de usuário. Deve conter um placeholder"
1296
- " (por ex: %(user)s)"
1728
+ "A template usada para construir um DN de usuário. Deve conter um placeholder "
1729
+ "(por ex: %(user)s)"
1297
1730
 
1298
- #: core/app_settings.py:350
1731
+ #: core/app_settings.py:338
1299
1732
  msgid "LDAP synchronization settings"
1300
1733
  msgstr "Configurações de sincronização LDAP"
1301
1734
 
1302
- #: core/app_settings.py:378
1735
+ #: core/app_settings.py:366
1303
1736
  msgid "Enable export to LDAP"
1304
1737
  msgstr "Habilitar exportação para LDAP"
1305
1738
 
1306
- #: core/app_settings.py:380
1739
+ #: core/app_settings.py:368
1307
1740
  msgid ""
1308
1741
  "Enable automatic synchronization between local database and LDAP directory"
1309
1742
  msgstr ""
1310
- "Ativar a sincronização automática entre o banco de dados local e o diretório"
1311
- " LDAP"
1743
+ "Ativar a sincronização automática entre o banco de dados local e o diretório "
1744
+ "LDAP"
1312
1745
 
1313
- #: core/app_settings.py:389
1746
+ #: core/app_settings.py:377
1314
1747
  msgid "Delete remote LDAP account when local account is deleted"
1315
1748
  msgstr "Excluir conta LDAP remota quando a conta local for excluída"
1316
1749
 
1317
- #: core/app_settings.py:392
1750
+ #: core/app_settings.py:380
1318
1751
  msgid ""
1319
1752
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1320
1753
  "be disabled."
@@ -1322,11 +1755,11 @@ msgstr ""
1322
1755
  "Exclua a conta LDAP remota quando a conta local for excluída, caso "
1323
1756
  "contrário, ela será desativada."
1324
1757
 
1325
- #: core/app_settings.py:401
1758
+ #: core/app_settings.py:389
1326
1759
  msgid "Account DN template"
1327
1760
  msgstr "Modelo de DN de conta"
1328
1761
 
1329
- #: core/app_settings.py:403
1762
+ #: core/app_settings.py:391
1330
1763
  #, python-format
1331
1764
  msgid ""
1332
1765
  "The template used to construct an account's DN. It should contain one "
@@ -1335,56 +1768,56 @@ msgstr ""
1335
1768
  "O modelo usado para construir o DN de uma conta. Ele deve conter um espaço "
1336
1769
  "reservado (ou seja. %(user)s)"
1337
1770
 
1338
- #: core/app_settings.py:412
1771
+ #: core/app_settings.py:400
1339
1772
  msgid "Enable import from LDAP"
1340
1773
  msgstr "Habilitar importação do LDAP"
1341
1774
 
1342
- #: core/app_settings.py:414
1775
+ #: core/app_settings.py:402
1343
1776
  msgid "Enable account synchronization from LDAP directory to local database"
1344
1777
  msgstr ""
1345
1778
  "Habilitar a sincronização de conta do diretório LDAP para o banco de dados "
1346
1779
  "local"
1347
1780
 
1348
- #: core/app_settings.py:444
1781
+ #: core/app_settings.py:432
1349
1782
  msgid "Username attribute"
1350
1783
  msgstr "Atributo de nome de usuário"
1351
1784
 
1352
- #: core/app_settings.py:446
1785
+ #: core/app_settings.py:434
1353
1786
  msgid "The name of the LDAP attribute where the username can be found."
1354
1787
  msgstr "O nome do atributo LDAP em que o nome de usuário pode ser encontrado."
1355
1788
 
1356
- #: core/app_settings.py:455
1789
+ #: core/app_settings.py:443
1357
1790
  msgid "Enable Dovecot LDAP sync"
1358
1791
  msgstr "Ativar sincronização LDAP do Dovecot"
1359
1792
 
1360
- #: core/app_settings.py:457
1793
+ #: core/app_settings.py:445
1361
1794
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1362
1795
  msgstr ""
1363
1796
  "As configurações de autenticação LDAP serão aplicadas à configuração do "
1364
1797
  "Dovecot."
1365
1798
 
1366
- #: core/app_settings.py:465
1799
+ #: core/app_settings.py:453
1367
1800
  msgid "Dovecot LDAP config file"
1368
1801
  msgstr "Arquivo de configuração LDAP do Dovecot"
1369
1802
 
1370
- #: core/app_settings.py:467
1803
+ #: core/app_settings.py:455
1371
1804
  msgid ""
1372
1805
  "Location of the configuration file which contains Dovecot LDAP settings."
1373
1806
  msgstr ""
1374
1807
  "Localização do arquivo de configuração que contém as configurações LDAP do "
1375
1808
  "Dovecot."
1376
1809
 
1377
- #: core/app_settings.py:480
1810
+ #: core/app_settings.py:468
1378
1811
  msgid "Dashboard"
1379
1812
  msgstr "Painel"
1380
1813
 
1381
- #: core/app_settings.py:486
1814
+ #: core/app_settings.py:474
1382
1815
  #, fuzzy
1383
1816
  #| msgid "Custom message"
1384
1817
  msgid "Custom welcome message"
1385
1818
  msgstr "Mensagem personalizada"
1386
1819
 
1387
- #: core/app_settings.py:488
1820
+ #: core/app_settings.py:476
1388
1821
  #, fuzzy
1389
1822
  #| msgid ""
1390
1823
  #| "A temporary message that will be displayed on the reset password page."
@@ -1392,208 +1825,197 @@ msgid "A welcome message that will be displayed instead the default one"
1392
1825
  msgstr ""
1393
1826
  "Uma mensagem temporária que será exibida na página de redefinição de senha."
1394
1827
 
1395
- #: core/app_settings.py:495
1828
+ #: core/app_settings.py:483
1396
1829
  msgid "Custom RSS feed"
1397
1830
  msgstr "Feed RSS personalizado"
1398
1831
 
1399
- #: core/app_settings.py:497
1832
+ #: core/app_settings.py:485
1400
1833
  msgid "Display custom RSS feed to resellers and domain administrators"
1401
1834
  msgstr ""
1402
1835
  "Mostrar um feed RSS personalizado para revendedores e administradores de "
1403
1836
  "domínio"
1404
1837
 
1405
- #: core/app_settings.py:506
1838
+ #: core/app_settings.py:494
1406
1839
  #, fuzzy
1407
- #| msgid ""
1408
- #| "Display custom RSS feed to resellers and domain administrators"
1840
+ #| msgid "Display custom RSS feed to resellers and domain administrators"
1409
1841
  msgid "Display custom RSS feed to super admins"
1410
1842
  msgstr ""
1411
1843
  "Mostrar um feed RSS personalizado para revendedores e administradores de "
1412
1844
  "domínio"
1413
1845
 
1414
- #: core/app_settings.py:509
1846
+ #: core/app_settings.py:497
1415
1847
  #, fuzzy
1416
- #| msgid ""
1417
- #| "Display custom RSS feed to resellers and domain administrators"
1848
+ #| msgid "Display custom RSS feed to resellers and domain administrators"
1418
1849
  msgid "Display custom RSS feed also to super administrators"
1419
1850
  msgstr ""
1420
1851
  "Mostrar um feed RSS personalizado para revendedores e administradores de "
1421
1852
  "domínio"
1422
1853
 
1423
- #: core/app_settings.py:517
1854
+ #: core/app_settings.py:505
1424
1855
  msgid "Hide features widget"
1425
1856
  msgstr "Ocultar widget de recursos"
1426
1857
 
1427
- #: core/app_settings.py:519
1858
+ #: core/app_settings.py:507
1428
1859
  msgid "Hide features widget for resellers and domain administrators"
1429
1860
  msgstr ""
1430
1861
  "Ocultar widget de recursos para revendedores e administradores de domínio"
1431
1862
 
1432
- #: core/app_settings.py:531
1863
+ #: core/app_settings.py:519
1433
1864
  msgid "Theme"
1434
1865
  msgstr ""
1435
1866
 
1436
- #: core/app_settings.py:537
1867
+ #: core/app_settings.py:525
1437
1868
  msgid "Primary theme color"
1438
1869
  msgstr ""
1439
1870
 
1440
- #: core/app_settings.py:539
1871
+ #: core/app_settings.py:527
1441
1872
  msgid ""
1442
1873
  "Primary color of the theme (hexadecimal code), used as the background color "
1443
1874
  "of the left menu for example"
1444
1875
  msgstr ""
1445
1876
 
1446
- #: core/app_settings.py:548
1877
+ #: core/app_settings.py:536
1447
1878
  msgid "Primary theme color (lighter version)"
1448
1879
  msgstr ""
1449
1880
 
1450
- #: core/app_settings.py:551 core/app_settings.py:563
1881
+ #: core/app_settings.py:539 core/app_settings.py:551
1451
1882
  msgid "Primary color of the theme (hexadecimal code)"
1452
1883
  msgstr ""
1453
1884
 
1454
- #: core/app_settings.py:560
1885
+ #: core/app_settings.py:548
1455
1886
  msgid "Primary theme color (darker version)"
1456
1887
  msgstr ""
1457
1888
 
1458
- #: core/app_settings.py:571
1889
+ #: core/app_settings.py:559
1459
1890
  #, fuzzy
1460
1891
  #| msgid "Secondary email"
1461
1892
  msgid "Secondary theme color"
1462
1893
  msgstr "E-mail secundário"
1463
1894
 
1464
- #: core/app_settings.py:573
1895
+ #: core/app_settings.py:561
1465
1896
  msgid ""
1466
1897
  "Secondary color of the theme (hexadecimal code), used as the background "
1467
1898
  "color of some buttons for example"
1468
1899
  msgstr ""
1469
1900
 
1470
- #: core/app_settings.py:581
1901
+ #: core/app_settings.py:569
1471
1902
  msgid "Labels theme color"
1472
1903
  msgstr ""
1473
1904
 
1474
- #: core/app_settings.py:583
1905
+ #: core/app_settings.py:571
1475
1906
  msgid "Theme color for labels (hexadecimal code)"
1476
1907
  msgstr ""
1477
1908
 
1478
- #: core/app_settings.py:595
1909
+ #: core/app_settings.py:583
1479
1910
  msgid "Notifications"
1480
1911
  msgstr "Notificações"
1481
1912
 
1482
- #: core/app_settings.py:601
1913
+ #: core/app_settings.py:589
1483
1914
  msgid "Sender address"
1484
1915
  msgstr "Endereço do remente"
1485
1916
 
1486
- #: core/app_settings.py:603
1917
+ #: core/app_settings.py:591
1487
1918
  msgid "Email address used to send notifications."
1488
1919
  msgstr "Endereço de e-mail usado para enviar notificações."
1489
1920
 
1490
- #: core/app_settings.py:614
1921
+ #: core/app_settings.py:602
1491
1922
  msgid "Public API"
1492
1923
  msgstr "API Pública"
1493
1924
 
1494
- #: core/app_settings.py:620
1925
+ #: core/app_settings.py:608
1495
1926
  msgid "Enable communication"
1496
1927
  msgstr "Habilitar comunicação"
1497
1928
 
1498
- #: core/app_settings.py:622 core/app_settings.py:632
1929
+ #: core/app_settings.py:610 core/app_settings.py:620
1499
1930
  msgid "Automatically checks if a newer version is available"
1500
1931
  msgstr "Verificar automaticamente se uma nova versão está disponível"
1501
1932
 
1502
- #: core/app_settings.py:629
1933
+ #: core/app_settings.py:617
1503
1934
  msgid "Check new versions"
1504
1935
  msgstr "Verificar novas versões"
1505
1936
 
1506
- #: core/app_settings.py:640
1937
+ #: core/app_settings.py:628
1507
1938
  msgid "Send an email when new versions are found"
1508
1939
  msgstr "Envie um e-mail quando novas versões forem encontradas"
1509
1940
 
1510
- #: core/app_settings.py:644
1941
+ #: core/app_settings.py:632
1511
1942
  msgid "Send an email to notify admins about new versions"
1512
1943
  msgstr "Envie um e-mail para notificar os administradores sobre novas versões"
1513
1944
 
1514
- #: core/app_settings.py:651 sievefilters/constants.py:25
1945
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1515
1946
  msgid "Recipient"
1516
1947
  msgstr "Destinatário"
1517
1948
 
1518
- #: core/app_settings.py:654
1949
+ #: core/app_settings.py:642
1519
1950
  msgid "Recipient of new versions notification emails."
1520
1951
  msgstr "Destinatário de e-mails de notificação de novas versões."
1521
1952
 
1522
- #: core/app_settings.py:661
1953
+ #: core/app_settings.py:649
1523
1954
  msgid "Send statistics"
1524
1955
  msgstr "Enviar estatísticas"
1525
1956
 
1526
- #: core/app_settings.py:664
1957
+ #: core/app_settings.py:652
1527
1958
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1528
1959
  msgstr ""
1529
1960
  "Enviar estatísticas à API pública do Modoboa (contadores e extensões "
1530
1961
  "utilizadas)"
1531
1962
 
1532
- #: core/app_settings.py:683
1963
+ #: core/app_settings.py:671
1533
1964
  msgid "Enable inactive account tracking"
1534
1965
  msgstr "Ativar rastreamento de conta inativa"
1535
1966
 
1536
- #: core/app_settings.py:686
1967
+ #: core/app_settings.py:674
1537
1968
  msgid ""
1538
- "Allow the administrator to set a threshold (in days) beyond which an account"
1539
- " is considered inactive if the user hasn't logged in"
1969
+ "Allow the administrator to set a threshold (in days) beyond which an account "
1970
+ "is considered inactive if the user hasn't logged in"
1540
1971
  msgstr ""
1541
1972
  "Permitir que o administrador defina um limite (em dias) além do qual uma "
1542
1973
  "conta é considerada inativa se o usuário não tiver feito login"
1543
1974
 
1544
- #: core/app_settings.py:695
1975
+ #: core/app_settings.py:683
1545
1976
  msgid "Inactive account threshold"
1546
1977
  msgstr "Limite de conta inativa"
1547
1978
 
1548
- #: core/app_settings.py:698
1979
+ #: core/app_settings.py:686
1549
1980
  msgid ""
1550
- "An account with a last login date greater than this threshold (in days) will"
1551
- " be considered as inactive"
1981
+ "An account with a last login date greater than this threshold (in days) will "
1982
+ "be considered as inactive"
1552
1983
  msgstr ""
1553
1984
  "Uma conta com uma data de login maior que este limite (em dias) será "
1554
1985
  "considerada como inativa"
1555
1986
 
1556
- #: core/app_settings.py:707
1987
+ #: core/app_settings.py:695
1557
1988
  msgid "Top notifications check interval"
1558
1989
  msgstr "Intervalo de verificação de verificações de topo"
1559
1990
 
1560
- #: core/app_settings.py:710
1991
+ #: core/app_settings.py:698
1561
1992
  msgid "Interval between two top notification checks (in seconds)"
1562
1993
  msgstr "Intervalo entre checagem de notificações (em segundos)"
1563
1994
 
1564
- #: core/app_settings.py:717
1995
+ #: core/app_settings.py:705
1565
1996
  msgid "Maximum log record age"
1566
1997
  msgstr "Idade máxima do registro de log"
1567
1998
 
1568
- #: core/app_settings.py:719
1999
+ #: core/app_settings.py:707
1569
2000
  msgid "The maximum age in days of a log record"
1570
2001
  msgstr "A idade máxima em dias de um registro de log"
1571
2002
 
1572
- #: core/app_settings.py:727
2003
+ #: core/app_settings.py:715
1573
2004
  msgid "Retention time in message history"
1574
2005
  msgstr ""
1575
2006
 
1576
- #: core/app_settings.py:730
2007
+ #: core/app_settings.py:718
1577
2008
  msgid "Retention time (in days) of a message in the message history section"
1578
2009
  msgstr ""
1579
2010
 
1580
- #: core/app_settings.py:737
2011
+ #: core/app_settings.py:725
1581
2012
  msgid "Items per page"
1582
2013
  msgstr "Itens por página"
1583
2014
 
1584
- #: core/app_settings.py:739
2015
+ #: core/app_settings.py:727
1585
2016
  msgid "Number of displayed items per page"
1586
2017
  msgstr "Número de itens exibidos por página"
1587
2018
 
1588
- #: core/app_settings.py:746
1589
- msgid "Default top redirection"
1590
- msgstr "Redirecionamento de topo padrão"
1591
-
1592
- #: core/app_settings.py:748
1593
- msgid "The default redirection used when no application is specified"
1594
- msgstr ""
1595
- "O redirecionamento padrão usado quando nenhuma aplicação é especificada"
1596
-
1597
2019
  #: core/checks.py:15
1598
2020
  msgid ""
1599
2021
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -1624,9 +2046,8 @@ msgstr ""
1624
2046
 
1625
2047
  #: core/checks.py:34
1626
2048
  msgid ""
1627
- "Visit : "
1628
- "https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
1629
- "oauth2"
2049
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
2050
+ "dovecot.html#dovecot-oauth2"
1630
2051
  msgstr ""
1631
2052
 
1632
2053
  #: core/checks.py:41
@@ -1637,9 +2058,8 @@ msgstr ""
1637
2058
 
1638
2059
  #: core/checks.py:45
1639
2060
  msgid ""
1640
- "Visit : "
1641
- "https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
1642
- "oauth2"
2061
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
2062
+ "radicale.html#radicale-oauth2"
1643
2063
  msgstr ""
1644
2064
 
1645
2065
  #: core/constants.py:6
@@ -1724,7 +2144,7 @@ msgstr "Você não pode remover sua própria conta"
1724
2144
  msgid "One or more updates are available"
1725
2145
  msgstr "Uma ou mais atualizações disponíveis"
1726
2146
 
1727
- #: core/handlers.py:138
2147
+ #: core/handlers.py:140
1728
2148
  #, python-format
1729
2149
  msgid "You are still using a deprecated password scheme (%s)"
1730
2150
  msgstr "Você ainda está usando um esquema de senha obsoleto (%s)"
@@ -1898,22 +2318,22 @@ msgstr[2] ""
1898
2318
  msgid "The core part of Modoboa"
1899
2319
  msgstr "Core do Modoboa"
1900
2320
 
1901
- #: core/views/auth.py:65
2321
+ #: core/views/auth.py:82
1902
2322
  #, python-format
1903
2323
  msgid "User '%s' successfully logged in"
1904
2324
  msgstr "Usuário '%s' autenticado com sucesso"
1905
2325
 
1906
- #: core/views/auth.py:109
2326
+ #: core/views/auth.py:128
1907
2327
  #, python-format
1908
2328
  msgid "Password scheme mismatch. Updating %s password"
1909
2329
  msgstr "Incompatibilidade de esquema de senha. Atualizando senha %s"
1910
2330
 
1911
- #: core/views/auth.py:116
2331
+ #: core/views/auth.py:135
1912
2332
  #, python-format
1913
2333
  msgid "Password hash parameter missmatch. Updating %s password"
1914
2334
  msgstr "Parâmetro de hash de senha não coincidem. Atualizando senha %s"
1915
2335
 
1916
- #: core/views/auth.py:154
2336
+ #: core/views/auth.py:173
1917
2337
  msgid "User '{}' successfully logged out"
1918
2338
  msgstr "Usuário '{}' saiu com sucesso"
1919
2339
 
@@ -1940,14 +2360,10 @@ msgid "Not resolved"
1940
2360
  msgstr "Não resolvido"
1941
2361
 
1942
2362
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
1943
- #: webmail/constants.py:18
2363
+ #: webmail/constants.py:38
1944
2364
  msgid "None"
1945
2365
  msgstr "Nenhuma"
1946
2366
 
1947
- #: dmarc/models.py:11
1948
- msgid "Quarantine"
1949
- msgstr "Quarentena"
1950
-
1951
2367
  #: dmarc/models.py:12
1952
2368
  msgid "Reject"
1953
2369
  msgstr "Rejeitar"
@@ -2072,7 +2488,13 @@ msgstr "Tag p obrigatória ausente"
2072
2488
  msgid "Public key mismatchs"
2073
2489
  msgstr "Incompatibilidades de chave pública"
2074
2490
 
2075
- #: imap_migration/api/v2/serializers.py:117
2491
+ #: imap_migration/api/v2/serializers.py:66
2492
+ #, fuzzy
2493
+ #| msgid "Alias with this name already exists"
2494
+ msgid "Migrated domain with name {} already exists"
2495
+ msgstr "Já existe um apelido com este nome"
2496
+
2497
+ #: imap_migration/api/v2/serializers.py:130
2076
2498
  msgid "Access denied"
2077
2499
  msgstr "Acesso negado"
2078
2500
 
@@ -2241,8 +2663,8 @@ msgstr "Apelidos de domínios"
2241
2663
 
2242
2664
  #: limits/app_settings.py:52
2243
2665
  msgid ""
2244
- "Maximum number of allowed domain aliases for a new administrator. (0 to deny"
2245
- " any creation, -1 to allow unlimited creations)"
2666
+ "Maximum number of allowed domain aliases for a new administrator. (0 to deny "
2667
+ "any creation, -1 to allow unlimited creations)"
2246
2668
  msgstr ""
2247
2669
  "Número máximo de apelidos de domínio permitidos para um novo administrador. "
2248
2670
  "(0 para negar qualquer criação, -1 para permitir criações ilimitadas)"
@@ -2252,8 +2674,8 @@ msgid ""
2252
2674
  "Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
2253
2675
  "creation, -1 to allow unlimited creations)"
2254
2676
  msgstr ""
2255
- "Número máximo de caixas de correio permitidas para um novo administrador. (0"
2256
- " para negar qualquer criação, -1 para permitir criações ilimitadas)"
2677
+ "Número máximo de caixas de correio permitidas para um novo administrador. (0 "
2678
+ "para negar qualquer criação, -1 para permitir criações ilimitadas)"
2257
2679
 
2258
2680
  #: limits/app_settings.py:73 limits/app_settings.py:146 limits/constants.py:39
2259
2681
  #: limits/constants.py:92
@@ -2294,11 +2716,11 @@ msgstr "Habilitar ou desabilitar limites por domínio"
2294
2716
 
2295
2717
  #: limits/app_settings.py:114
2296
2718
  msgid ""
2297
- "Maximum number of allowed domain administrators for a new domain. (0 to deny"
2298
- " any creation, -1 to allow unlimited creations)"
2719
+ "Maximum number of allowed domain administrators for a new domain. (0 to deny "
2720
+ "any creation, -1 to allow unlimited creations)"
2299
2721
  msgstr ""
2300
- "Número máximo de administradores de domínio permitidos para um novo domínio."
2301
- " (0 para negar qualquer criação, -1 para permitir criações ilimitadas)"
2722
+ "Número máximo de administradores de domínio permitidos para um novo domínio. "
2723
+ "(0 para negar qualquer criação, -1 para permitir criações ilimitadas)"
2302
2724
 
2303
2725
  #: limits/app_settings.py:126
2304
2726
  msgid ""
@@ -2318,8 +2740,8 @@ msgstr ""
2318
2740
 
2319
2741
  #: limits/app_settings.py:149
2320
2742
  msgid ""
2321
- "Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
2322
- " -1 to allow unlimited creations)"
2743
+ "Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
2744
+ "-1 to allow unlimited creations)"
2323
2745
  msgstr ""
2324
2746
  "Número máximo de apelidos permitidos para um novo domínio. (0 para negar "
2325
2747
  "qualquer criação, -1 para permitir criações ilimitadas)"
@@ -2545,9 +2967,8 @@ msgid ""
2545
2967
  "Generate a new document only when a new account is created. If set to no, a "
2546
2968
  "new document will be created each time a password is updated."
2547
2969
  msgstr ""
2548
- "Gere um novo documento somente quando uma nova conta for criada. Se definido"
2549
- " como não, um novo documento será criado sempre que uma senha for "
2550
- "atualizada."
2970
+ "Gere um novo documento somente quando uma nova conta for criada. Se definido "
2971
+ "como não, um novo documento será criado sempre que uma senha for atualizada."
2551
2972
 
2552
2973
  #: pdfcredentials/app_settings.py:84
2553
2974
  msgid "Customization options"
@@ -2586,8 +3007,8 @@ msgid ""
2586
3007
  "Include required SMTP and IMAP connection information to configure a mail "
2587
3008
  "client, a tablet or a phone"
2588
3009
  msgstr ""
2589
- "Incluir as informações de conexão SMTP e IMAP necessárias para configurar um"
2590
- " cliente de e-mail, um tablet ou um telefone"
3010
+ "Incluir as informações de conexão SMTP e IMAP necessárias para configurar um "
3011
+ "cliente de e-mail, um tablet ou um telefone"
2591
3012
 
2592
3013
  #: pdfcredentials/app_settings.py:123 pdfcredentials/documents.py:133
2593
3014
  msgid "SMTP server address"
@@ -2673,7 +3094,8 @@ msgid ""
2673
3094
  "your contacts.\n"
2674
3095
  msgstr ""
2675
3096
  "\n"
2676
- "Aqui você pode visualizar online seus e-mails a qualquer momento, criar filtros ou gerenciar\n"
3097
+ "Aqui você pode visualizar online seus e-mails a qualquer momento, criar "
3098
+ "filtros ou gerenciar\n"
2677
3099
  "seus contatos.\n"
2678
3100
 
2679
3101
  #: pdfcredentials/documents.py:126
@@ -2693,8 +3115,8 @@ msgid ""
2693
3115
  "Failed to create PDF_credentials directory. Please check the permissions or "
2694
3116
  "the path."
2695
3117
  msgstr ""
2696
- "Falha ao criar diretório PDF_credentials. Por favor, verifique as permissões"
2697
- " ou o caminho."
3118
+ "Falha ao criar diretório PDF_credentials. Por favor, verifique as permissões "
3119
+ "ou o caminho."
2698
3120
 
2699
3121
  #: pdfcredentials/handlers.py:64
2700
3122
  msgid "Download PDF credentials"
@@ -2777,8 +3199,8 @@ msgstr ""
2777
3199
 
2778
3200
  #: rspamd/app_settings.py:21
2779
3201
  msgid ""
2780
- "Absolute path of the file which contains paths to DKIM private keys. Must be"
2781
- " readable by _rspamd group or user."
3202
+ "Absolute path of the file which contains paths to DKIM private keys. Must be "
3203
+ "readable by _rspamd group or user."
2782
3204
  msgstr ""
2783
3205
 
2784
3206
  #: rspamd/app_settings.py:30
@@ -2797,8 +3219,8 @@ msgstr ""
2797
3219
 
2798
3220
  #: rspamd/app_settings.py:53
2799
3221
  msgid ""
2800
- "Location of the rspamd dashboard. Can either be a relative URL (eg. "
2801
- "'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
3222
+ "Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
3223
+ "rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
2802
3224
  "guidance on the Super-Admin dashboard."
2803
3225
  msgstr ""
2804
3226
 
@@ -2806,7 +3228,7 @@ msgstr ""
2806
3228
  msgid "Rspamd"
2807
3229
  msgstr ""
2808
3230
 
2809
- #: sievefilters/api/v2/viewsets.py:193
3231
+ #: sievefilters/api/v2/viewsets.py:203
2810
3232
  #, python-format
2811
3233
  msgid "Filter %s already exists"
2812
3234
  msgstr "O filtro %s já existe"
@@ -2879,7 +3301,7 @@ msgstr "é"
2879
3301
  msgid "is not"
2880
3302
  msgstr "não é"
2881
3303
 
2882
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3304
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
2883
3305
  msgid "Subject"
2884
3306
  msgstr "Assunto"
2885
3307
 
@@ -3023,8 +3445,8 @@ msgid ""
3023
3445
  "primary address, and check your spam folder.</p>"
3024
3446
  msgstr ""
3025
3447
  "<p>Enviamos instruções por e-mail para definir sua senha, se houver uma "
3026
- "conta com o e-mail que você digitou. Você deve recebê-lo em breve.</p> <p>Se"
3027
- " você não receber um e-mail, certifique-se de ter digitado seu endereço "
3448
+ "conta com o e-mail que você digitou. Você deve recebê-lo em breve.</p> <p>Se "
3449
+ "você não receber um e-mail, certifique-se de ter digitado seu endereço "
3028
3450
  "principal e verifique sua pasta de spam.</p>"
3029
3451
 
3030
3452
  #: templates/registration/password_reset_email.html:4
@@ -3043,8 +3465,8 @@ msgid ""
3043
3465
  "If clicking the link above doesn't work, please copy and paste the URL in a "
3044
3466
  "new browser window instead."
3045
3467
  msgstr ""
3046
- "Se clicar no link acima não funcionar, copie e cole a URL em uma nova janela"
3047
- " do navegador."
3468
+ "Se clicar no link acima não funcionar, copie e cole a URL em uma nova janela "
3469
+ "do navegador."
3048
3470
 
3049
3471
  #: templates/registration/password_reset_email.html:14
3050
3472
  #: templates/registration/password_reset_email_v2.html:14
@@ -3073,11 +3495,11 @@ msgstr "Senha de uso único"
3073
3495
 
3074
3496
  #: templates/registration/twofactor_code_verify.html:35
3075
3497
  msgid ""
3076
- "Enter the code from the two-factor app on your mobile device. If you've lost"
3077
- " your device, you may enter one of your recovery codes."
3498
+ "Enter the code from the two-factor app on your mobile device. If you've lost "
3499
+ "your device, you may enter one of your recovery codes."
3078
3500
  msgstr ""
3079
- "Digite o código do aplicativo de dois fatores em seu celular. Se você perdeu"
3080
- " seu dispositivo, pode digitar um de seus códigos de recuperação."
3501
+ "Digite o código do aplicativo de dois fatores em seu celular. Se você perdeu "
3502
+ "seu dispositivo, pode digitar um de seus códigos de recuperação."
3081
3503
 
3082
3504
  #: templates/registration/twofactor_code_verify.html:42
3083
3505
  msgid "Verify code"
@@ -3125,25 +3547,25 @@ msgstr "Tamanho máximo de anexo em bytes (ou KB, MB, GB, se especificado)"
3125
3547
  msgid "SMTP settings"
3126
3548
  msgstr "Configurações SMTP"
3127
3549
 
3128
- #: webmail/app_settings.py:75
3550
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3129
3551
  #, fuzzy
3130
3552
  #| msgid "Address of your IMAP server"
3131
3553
  msgid "Address of your SMTP server"
3132
3554
  msgstr "Endereço do seu servidor SMTP"
3133
3555
 
3134
- #: webmail/app_settings.py:82
3556
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3135
3557
  #, fuzzy
3136
3558
  #| msgid "Use a secured connection"
3137
3559
  msgid "Secured connection mode"
3138
3560
  msgstr "Modo de conexão segura"
3139
3561
 
3140
- #: webmail/app_settings.py:84
3562
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3141
3563
  #, fuzzy
3142
3564
  #| msgid "Use a secured connection to access IMAP server"
3143
3565
  msgid "Use a secured connection to access SMTP server"
3144
3566
  msgstr "Usar uma conexão segura para acessar o servidor SMTP"
3145
3567
 
3146
- #: webmail/app_settings.py:93
3568
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3147
3569
  #, fuzzy
3148
3570
  #| msgid "Listening port of your IMAP server"
3149
3571
  msgid "Listening port of your SMTP server"
@@ -3161,119 +3583,113 @@ msgstr "Autenticação obrigatória"
3161
3583
  msgid "Server needs authentication"
3162
3584
  msgstr "Servidor precisa de autenticação"
3163
3585
 
3164
- #: webmail/app_settings.py:118
3586
+ #: webmail/app_settings.py:113
3165
3587
  #, fuzzy
3166
- #| msgid "Display details"
3167
- msgid "Display"
3168
- msgstr "Mostrar"
3588
+ #| msgid "Server settings"
3589
+ msgid "Scheduling settings"
3590
+ msgstr "Configurações do servidor"
3169
3591
 
3170
- #: webmail/app_settings.py:124
3592
+ #: webmail/app_settings.py:161
3171
3593
  msgid "Default message display mode"
3172
3594
  msgstr "Modo de exibição padrão da mensagem"
3173
3595
 
3174
- #: webmail/app_settings.py:126
3596
+ #: webmail/app_settings.py:163
3175
3597
  #, fuzzy
3176
3598
  #| msgid "The default redirection used when no application is specified"
3177
3599
  msgid "The default mode used when displaying a message"
3178
3600
  msgstr "O modo padrão usado ao exibir uma mensagem"
3179
3601
 
3180
- #: webmail/app_settings.py:133
3602
+ #: webmail/app_settings.py:170
3181
3603
  msgid "Enable HTML links display"
3182
3604
  msgstr "Ativar exibição de links em HTML"
3183
3605
 
3184
- #: webmail/app_settings.py:136
3606
+ #: webmail/app_settings.py:173
3185
3607
  msgid "Enable/Disable HTML links display"
3186
3608
  msgstr "Ativar/Desativar exibição de links em HTML"
3187
3609
 
3188
- #: webmail/app_settings.py:144
3189
- #, fuzzy
3190
- #| msgid "Number of displayed items per page"
3191
- msgid "Number of displayed emails per page"
3192
- msgstr "Número de e-mails exibidos por página"
3193
-
3194
- #: webmail/app_settings.py:147
3610
+ #: webmail/app_settings.py:184
3195
3611
  msgid "Sets the maximum number of messages displayed in a page"
3196
3612
  msgstr "Definir o número máximo de mensagens exibidas por página"
3197
3613
 
3198
- #: webmail/app_settings.py:154
3614
+ #: webmail/app_settings.py:191
3199
3615
  msgid "Listing refresh rate"
3200
3616
  msgstr "Taxa de atualização de escuta"
3201
3617
 
3202
- #: webmail/app_settings.py:156
3618
+ #: webmail/app_settings.py:193
3203
3619
  msgid "Automatic listing refresh rate (in secconds)"
3204
3620
  msgstr ""
3205
3621
 
3206
- #: webmail/app_settings.py:163
3622
+ #: webmail/app_settings.py:200
3207
3623
  msgid "Folder container's width"
3208
3624
  msgstr "Largura do contêiner da caixa de correio"
3209
3625
 
3210
- #: webmail/app_settings.py:165
3626
+ #: webmail/app_settings.py:202
3211
3627
  msgid "The width of the folder list container"
3212
3628
  msgstr "A largura do contêiner da caixa de correio"
3213
3629
 
3214
- #: webmail/app_settings.py:176
3630
+ #: webmail/app_settings.py:213
3215
3631
  msgid "Folders"
3216
3632
  msgstr ""
3217
3633
 
3218
- #: webmail/app_settings.py:182
3634
+ #: webmail/app_settings.py:219
3219
3635
  msgid "Trash folder"
3220
3636
  msgstr "Pasta para Itens Deletados"
3221
3637
 
3222
- #: webmail/app_settings.py:184
3638
+ #: webmail/app_settings.py:221
3223
3639
  msgid "Folder where deleted messages go"
3224
3640
  msgstr "Pasta que irão as mensagens deletadas"
3225
3641
 
3226
- #: webmail/app_settings.py:191
3642
+ #: webmail/app_settings.py:228
3227
3643
  msgid "Sent folder"
3228
3644
  msgstr "Pasta para Itens Recebidos"
3229
3645
 
3230
- #: webmail/app_settings.py:193
3646
+ #: webmail/app_settings.py:230
3231
3647
  msgid "Folder where copies of sent messages go"
3232
3648
  msgstr "Pasta onde irão as cópias de mensagens enviadas"
3233
3649
 
3234
- #: webmail/app_settings.py:200
3650
+ #: webmail/app_settings.py:237
3235
3651
  msgid "Drafts folder"
3236
3652
  msgstr "Pasta para Rascunhos"
3237
3653
 
3238
- #: webmail/app_settings.py:201
3654
+ #: webmail/app_settings.py:238
3239
3655
  msgid "Folder where drafts go"
3240
3656
  msgstr "Pasta onde irão os rascunhos"
3241
3657
 
3242
- #: webmail/app_settings.py:207
3658
+ #: webmail/app_settings.py:244
3243
3659
  #, fuzzy
3244
3660
  #| msgid "Sent folder"
3245
3661
  msgid "Junk folder"
3246
3662
  msgstr "Pasta para Itens Recebidos"
3247
3663
 
3248
- #: webmail/app_settings.py:209
3664
+ #: webmail/app_settings.py:246
3249
3665
  #, fuzzy
3250
3666
  #| msgid "Folder where deleted messages go"
3251
3667
  msgid "Folder where junk messages should go"
3252
3668
  msgstr "Pasta que irão as mensagens deletadas"
3253
3669
 
3254
- #: webmail/app_settings.py:220
3670
+ #: webmail/app_settings.py:257
3255
3671
  #, fuzzy
3256
3672
  #| msgid "sent messages"
3257
3673
  msgid "Composing messages"
3258
3674
  msgstr "Compondo mensagens"
3259
3675
 
3260
- #: webmail/app_settings.py:226
3676
+ #: webmail/app_settings.py:263
3261
3677
  #, fuzzy
3262
3678
  #| msgid "Default top redirection"
3263
3679
  msgid "Default editor"
3264
3680
  msgstr "Editor padrão"
3265
3681
 
3266
- #: webmail/app_settings.py:228
3682
+ #: webmail/app_settings.py:265
3267
3683
  #, fuzzy
3268
3684
  #| msgid "The default redirection used when no application is specified"
3269
3685
  msgid "The default editor to use when composing a message"
3270
3686
  msgstr "O editor padrão para usar ao escrever uma mensagem"
3271
3687
 
3272
- #: webmail/app_settings.py:235
3688
+ #: webmail/app_settings.py:272
3273
3689
  msgid "Signature text"
3274
3690
  msgstr "Texto da assinatura"
3275
3691
 
3276
- #: webmail/app_settings.py:237
3692
+ #: webmail/app_settings.py:274
3277
3693
  msgid "User defined email signature"
3278
3694
  msgstr "Assinatura de e-mail definida pelo usuário"
3279
3695
 
@@ -3289,57 +3705,79 @@ msgstr "Endereço do servidor"
3289
3705
  msgid "Failed to remove attachment: "
3290
3706
  msgstr "Falha ao remover anexo:"
3291
3707
 
3292
- #: webmail/lib/imapemail.py:272
3708
+ #: webmail/lib/imapemail.py:270
3293
3709
  msgid "wrote:"
3294
3710
  msgstr ""
3295
3711
 
3296
- #: webmail/lib/imapemail.py:306
3712
+ #: webmail/lib/imapemail.py:304
3297
3713
  msgid "Date"
3298
3714
  msgstr "Data"
3299
3715
 
3300
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3716
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3301
3717
  #, fuzzy
3302
3718
  #| msgid "All messages"
3303
3719
  msgid "Original message"
3304
3720
  msgstr "Todas as mensagens"
3305
3721
 
3306
- #: webmail/lib/imaputils.py:221
3722
+ #: webmail/lib/imaputils.py:222
3307
3723
  msgid "Failed to retrieve hierarchy delimiter"
3308
3724
  msgstr "Falha ao recuperar o delimitador de hierarquia"
3309
3725
 
3310
- #: webmail/lib/imaputils.py:472
3726
+ #: webmail/lib/imaputils.py:478
3311
3727
  msgid "Inbox"
3312
3728
  msgstr ""
3313
3729
 
3314
- #: webmail/lib/imaputils.py:476
3730
+ #: webmail/lib/imaputils.py:482
3315
3731
  #, fuzzy
3316
3732
  #| msgid "Drafts folder"
3317
3733
  msgid "Drafts"
3318
3734
  msgstr "Pasta para Rascunhos"
3319
3735
 
3320
- #: webmail/lib/imaputils.py:481
3736
+ #: webmail/lib/imaputils.py:487
3321
3737
  msgid "Junk"
3322
3738
  msgstr ""
3323
3739
 
3324
- #: webmail/lib/imaputils.py:486
3740
+ #: webmail/lib/imaputils.py:492
3325
3741
  msgid "Sent"
3326
3742
  msgstr ""
3327
3743
 
3328
- #: webmail/lib/imaputils.py:491
3744
+ #: webmail/lib/imaputils.py:500
3745
+ msgid "Scheduled"
3746
+ msgstr ""
3747
+
3748
+ #: webmail/lib/imaputils.py:507
3329
3749
  msgid "Trash"
3330
3750
  msgstr ""
3331
3751
 
3332
- #: webmail/viewsets.py:343
3752
+ #: webmail/serializers.py:220
3753
+ msgid "Moving scheduled messages is forbidden"
3754
+ msgstr ""
3755
+
3756
+ #: webmail/serializers.py:253
3757
+ msgid "Only datetime in the future is allowed"
3758
+ msgstr ""
3759
+
3760
+ #: webmail/serializers.py:258
3761
+ msgid "Provived datetime must be one minute in the future at least"
3762
+ msgstr ""
3763
+
3764
+ #: webmail/viewsets.py:359
3333
3765
  #, python-format
3334
3766
  msgid "Attachment is too big (limit: %s)"
3335
3767
  msgstr "Anexo muito grande (limite: %s)"
3336
3768
 
3769
+ #~ msgid "User profile"
3770
+ #~ msgstr "Perfil do usuário"
3771
+
3772
+ #~ msgid "Default top redirection"
3773
+ #~ msgstr "Redirecionamento de topo padrão"
3774
+
3775
+ #~ msgid "The default redirection used when no application is specified"
3776
+ #~ msgstr ""
3777
+ #~ "O redirecionamento padrão usado quando nenhuma aplicação é especificada"
3778
+
3337
3779
  #~ msgid "No alarm ID provided"
3338
3780
  #~ msgstr "Nenhum ID de alarme fornecido"
3339
3781
 
3340
3782
  #~ msgid "Received invalid alarm id(s)"
3341
3783
  #~ msgstr "IDs de alarme inválidos recebidos"
3342
-
3343
- #, fuzzy, python-brace-format
3344
- #~ msgid "Connection to IMAP server failed: {error}"
3345
- #~ msgstr "Falha na conexão com o servidor IMAP: %s"