modoboa 2.6.3__py3-none-any.whl → 2.6.5__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 (295) hide show
  1. modoboa/autoreply/models.py +4 -4
  2. modoboa/calendars/backends/caldav_.py +3 -1
  3. modoboa/core/checks.py +5 -0
  4. modoboa/core/tests/test_checks.py +27 -0
  5. modoboa/frontend_dist/assets/{AccountAliasForm-OvFAP6Ru.js → AccountAliasForm-B-hTKSFr.js} +1 -1
  6. modoboa/frontend_dist/assets/AccountEditView-LkP_qhf_.js +1 -0
  7. modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +1 -0
  8. modoboa/frontend_dist/assets/{AccountPasswordSubForm-XZN7PcjO.js → AccountPasswordSubForm-D4vB2yQK.js} +1 -1
  9. modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +1 -0
  10. modoboa/frontend_dist/assets/{AddressBook-xlb9-9-o.js → AddressBook-C03MXg3y.js} +1 -1
  11. modoboa/frontend_dist/assets/{AdminLayout-BQfhhYgv.js → AdminLayout-DFmyKOo6.js} +1 -1
  12. modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +1 -0
  13. modoboa/frontend_dist/assets/AliasEditView-BVjNJekt.js +1 -0
  14. modoboa/frontend_dist/assets/{AliasRecipientForm-_pUaKKG_.js → AliasRecipientForm-CZ_SvjtG.js} +1 -1
  15. modoboa/frontend_dist/assets/{AliasView-Da4mvH53.js → AliasView-DvvI6cV9.js} +1 -1
  16. modoboa/frontend_dist/assets/{AuditTrailView-BfLVvAwj.js → AuditTrailView-Cyq25Jle.js} +1 -1
  17. modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +1 -0
  18. modoboa/frontend_dist/assets/{ChoiceField-BpSW5-Ay.js → ChoiceField-BPhUvoyr.js} +1 -1
  19. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +1 -0
  20. modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +1 -0
  21. modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +1 -0
  22. modoboa/frontend_dist/assets/{ConfirmDialog-BemItW2F.js → ConfirmDialog-BMIg94-U.js} +1 -1
  23. modoboa/frontend_dist/assets/ConnectedLayout-C6HNXWkp.css +1 -0
  24. modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +1 -0
  25. modoboa/frontend_dist/assets/{CreationForm-B00QE2E0.js → CreationForm-CaAZYATm.js} +1 -1
  26. modoboa/frontend_dist/assets/{CreationForm-HaiQhqwK.css → CreationForm-NOzzyspA.css} +1 -1
  27. modoboa/frontend_dist/assets/{DashboardView-CZyZayos.js → DashboardView-DErmyUoy.js} +1 -1
  28. modoboa/frontend_dist/assets/DomainAdminList-BO8_4Cwt.js +1 -0
  29. modoboa/frontend_dist/assets/{DomainEditView-CMsF-ytQ.js → DomainEditView-BXylM4aB.js} +1 -1
  30. modoboa/frontend_dist/assets/{DomainTransportForm-BUDOfXiX.js → DomainTransportForm-Ccw5BXyM.js} +1 -1
  31. modoboa/frontend_dist/assets/DomainView-Bd5XQI-1.js +4 -0
  32. modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +1 -0
  33. modoboa/frontend_dist/assets/{EmailField-BXU27oIO.js → EmailField-BFgga4zp.js} +1 -1
  34. modoboa/frontend_dist/assets/{EmailView-WHGLT3Ne.js → EmailView-DPWTch_6.js} +1 -1
  35. modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +1 -0
  36. modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +1 -0
  37. modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +1 -0
  38. modoboa/frontend_dist/assets/HtmlEditor-DNn3CY-w.js +140 -0
  39. modoboa/frontend_dist/assets/{IdentitiesView-Cl2lbfkM.css → IdentitiesView-C93He_db.css} +1 -1
  40. modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +1 -0
  41. modoboa/frontend_dist/assets/{InformationView-DF80M5Z2.js → InformationView-Cc0aBA5j.js} +1 -1
  42. modoboa/frontend_dist/assets/{LoadingData-Dcu-PCpp.js → LoadingData-CnQ_aVqa.js} +1 -1
  43. modoboa/frontend_dist/assets/{LoginCallbackView-D4hN9u_5.js → LoginCallbackView-Nh_gmh8e.js} +1 -1
  44. modoboa/frontend_dist/assets/{LoginView-1M33LHpJ.js → LoginView-BtC9BHuJ.js} +1 -1
  45. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +1 -0
  46. modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +5 -0
  47. modoboa/frontend_dist/assets/{MenuItems-CpOwNJeC.js → MenuItems-efx2rqwT.js} +1 -1
  48. modoboa/frontend_dist/assets/{MessageView-DODItZwB.js → MessageView-C1Goz-hY.js} +1 -1
  49. modoboa/frontend_dist/assets/{MessagesView-CCYdnuSv.js → MessagesView-CesYYZ9f.js} +1 -1
  50. modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +1 -0
  51. modoboa/frontend_dist/assets/{ParametersForm-CWxNQ8rG.js → ParametersForm-BegEnkQM.js} +1 -1
  52. modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +1 -0
  53. modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +1 -0
  54. modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +1 -0
  55. modoboa/frontend_dist/assets/ProviderGeneralForm-BAELnXh6.js +1 -0
  56. modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +1 -0
  57. modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +1 -0
  58. modoboa/frontend_dist/assets/{QuarantineView-CZewBT4b.js → QuarantineView-BzjeDhTm.js} +1 -1
  59. modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +1 -0
  60. modoboa/frontend_dist/assets/{ResourcesForm-CD3wObzE.js → ResourcesForm-noC3AXd9.js} +1 -1
  61. modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +1 -0
  62. modoboa/frontend_dist/assets/{SettingsView-DIvKGRBY.css → SettingsView-DJTdIeRK.css} +1 -1
  63. modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +6 -0
  64. modoboa/frontend_dist/assets/{StatisticsView-BxSjiD65.js → StatisticsView-BZkVSh5o.js} +1 -1
  65. modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +1 -0
  66. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +1 -0
  67. modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +1 -0
  68. modoboa/frontend_dist/assets/{VAlert-iGJ3gOzk.css → VAlert-Bkuw9MFB.css} +1 -1
  69. modoboa/frontend_dist/assets/VAlert-Buv8Z5G4.js +1 -0
  70. modoboa/frontend_dist/assets/VApp-C9NK-Gu6.css +1 -0
  71. modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +1 -0
  72. modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +1 -0
  73. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +1 -0
  74. modoboa/frontend_dist/assets/VAvatar-BPhnln71.css +1 -0
  75. modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +1 -0
  76. modoboa/frontend_dist/assets/{VBadge-BQrRJ9S0.css → VBadge-Bqx6XeRo.css} +1 -1
  77. modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +1 -0
  78. modoboa/frontend_dist/assets/{VCard-BNvk7mV7.css → VCard-BdSLQNRY.css} +1 -1
  79. modoboa/frontend_dist/assets/VCard-D7AwBs4w.js +1 -0
  80. modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +1 -0
  81. modoboa/frontend_dist/assets/{VCheckboxBtn-p4bo2BTE.js → VCheckboxBtn-B5evxN9K.js} +1 -1
  82. modoboa/frontend_dist/assets/VColorPicker-B_lVDaYR.css +1 -0
  83. modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +1 -0
  84. modoboa/frontend_dist/assets/{VContainer-CmyIOuWp.js → VContainer-DY9021j4.js} +1 -1
  85. modoboa/frontend_dist/assets/VDataTable-CLcLRj9B.css +1 -0
  86. modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +1 -0
  87. modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +1 -0
  88. modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +1 -0
  89. modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +1 -0
  90. modoboa/frontend_dist/assets/{VExpansionPanels-CBqUBAh-.js → VExpansionPanels-CkwHiKsA.js} +1 -1
  91. modoboa/frontend_dist/assets/VExpansionPanels-Dyw0hWW-.css +1 -0
  92. modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +1 -0
  93. modoboa/frontend_dist/assets/{VFileInput-VtUg4zpy.css → VFileInput-Dwzvf-gD.css} +1 -1
  94. modoboa/frontend_dist/assets/{VForm-CxFPdkZa.js → VForm-ClJU5x_v.js} +1 -1
  95. modoboa/frontend_dist/assets/VGrid-GYROgRMo.css +1 -0
  96. modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +1 -0
  97. modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +1 -0
  98. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +1 -0
  99. modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +1 -0
  100. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +1 -0
  101. modoboa/frontend_dist/assets/VProgressCircular-C6u34DRJ.css +1 -0
  102. modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +1 -0
  103. modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +1 -0
  104. modoboa/frontend_dist/assets/{VRow-CVWfiMs5.js → VRow-DyK_Mj7R.js} +1 -1
  105. modoboa/frontend_dist/assets/VSelect-DQzySRN1.css +1 -0
  106. modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +1 -0
  107. modoboa/frontend_dist/assets/VSelectionControl-Dkms9_P5.js +1 -0
  108. modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +1 -0
  109. modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +1 -0
  110. modoboa/frontend_dist/assets/{VSwitch-Mm7Rd7At.css → VSwitch-C6REVr_Y.css} +1 -1
  111. modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +1 -0
  112. modoboa/frontend_dist/assets/VTable-BsI6FsWH.css +1 -0
  113. modoboa/frontend_dist/assets/VTable-D8ZwwC_B.js +1 -0
  114. modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +1 -0
  115. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +1 -0
  116. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +1 -0
  117. modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +1 -0
  118. modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +1 -0
  119. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +1 -0
  120. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +1 -0
  121. modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +1 -0
  122. modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +1 -0
  123. modoboa/frontend_dist/assets/VWindowItem-DqNaT6b1.css +1 -0
  124. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +1 -0
  125. modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +1 -0
  126. modoboa/frontend_dist/assets/{accounts-CaYgxMST.js → accounts-BZBqbAmd.js} +1 -1
  127. modoboa/frontend_dist/assets/{admin-BZpOSErf.js → admin-uCrKjpln.js} +1 -1
  128. modoboa/frontend_dist/assets/{aliases-CbIEbmJ9.js → aliases-CFwFkX45.js} +1 -1
  129. modoboa/frontend_dist/assets/{amavis-BUExu2Ci.js → amavis-B4ScfQsG.js} +1 -1
  130. modoboa/frontend_dist/assets/{amavis-DrKC7POz.js → amavis-DCy0U0TD.js} +1 -1
  131. modoboa/frontend_dist/assets/{contacts-BszP28I9.js → contacts-DKmh2q-4.js} +1 -1
  132. modoboa/frontend_dist/assets/{domains-DGdr9Equ.js → domains-CDE4_LDF.js} +1 -1
  133. modoboa/frontend_dist/assets/domains.store-a9Y5UlDV.js +1 -0
  134. modoboa/frontend_dist/assets/filter-BVvMTmPG.js +1 -0
  135. modoboa/frontend_dist/assets/{global.store-xmZ6sXxZ.js → global.store-Bha4Z76j.js} +1 -1
  136. modoboa/frontend_dist/assets/{importExport-DMPLMrzl.js → importExport-EgijWlC1.js} +1 -1
  137. modoboa/frontend_dist/assets/{index-B1bJH8Ti.css → index-B9q1vO3K.css} +1 -1
  138. modoboa/frontend_dist/assets/index-BjibLozh.js +995 -0
  139. modoboa/frontend_dist/assets/index-Dwg6jPTX.js +1 -0
  140. modoboa/frontend_dist/assets/{language.store-DuvIgs5v.js → language.store-DGuI8jG0.js} +1 -1
  141. modoboa/frontend_dist/assets/languages-Cge6pECg.js +1 -0
  142. modoboa/frontend_dist/assets/layout-5PvsmkGR.js +1 -0
  143. modoboa/frontend_dist/assets/{layout.store-oWyirLgk.js → layout.store-DJVcXtxk.js} +1 -1
  144. modoboa/frontend_dist/assets/{logos-DYp82smF.js → logos-CMmd0hOG.js} +1 -1
  145. modoboa/frontend_dist/assets/{logs-B8GaGVAK.js → logs-D2GOydPZ.js} +1 -1
  146. modoboa/frontend_dist/assets/{parameters-CxHnQU2I.js → parameters-DJdlq9sh.js} +1 -1
  147. modoboa/frontend_dist/assets/{parameters.store-VA_AUeEJ.js → parameters.store-DH3pPlaT.js} +1 -1
  148. modoboa/frontend_dist/assets/{permissions-TImOfY3I.js → permissions-CgFJFhCp.js} +1 -1
  149. modoboa/frontend_dist/assets/{ssrBoot-B5vxBC28.js → ssrBoot-ChTB-PYP.js} +1 -1
  150. modoboa/frontend_dist/assets/{tag-D-paBiFC.js → tag-CvrHE14f.js} +1 -1
  151. modoboa/frontend_dist/assets/{theme-Tvpj701M.js → theme-DFzlhSh5.js} +1 -1
  152. modoboa/frontend_dist/assets/transports-BUSYxSF4.js +1 -0
  153. modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +1 -0
  154. modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +1 -0
  155. modoboa/frontend_dist/index.html +2 -2
  156. modoboa/imap_migration/api/v2/serializers.py +13 -0
  157. modoboa/imap_migration/tests.py +7 -0
  158. modoboa/locale/br/LC_MESSAGES/django.po +487 -79
  159. modoboa/locale/cs/LC_MESSAGES/django.po +420 -75
  160. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +534 -139
  161. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  162. modoboa/locale/de/LC_MESSAGES/django.po +853 -220
  163. modoboa/locale/de_DE/LC_MESSAGES/django.po +476 -77
  164. modoboa/locale/el_GR/LC_MESSAGES/django.po +558 -154
  165. modoboa/locale/en/LC_MESSAGES/django.po +418 -75
  166. modoboa/locale/es/LC_MESSAGES/django.po +543 -151
  167. modoboa/locale/es_MX/LC_MESSAGES/django.po +418 -75
  168. modoboa/locale/fi/LC_MESSAGES/django.po +491 -79
  169. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  170. modoboa/locale/fr/LC_MESSAGES/django.po +420 -76
  171. modoboa/locale/hu/LC_MESSAGES/django.po +418 -75
  172. modoboa/locale/it/LC_MESSAGES/django.po +540 -141
  173. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  174. modoboa/locale/ja_JP/LC_MESSAGES/django.po +735 -180
  175. modoboa/locale/ka/LC_MESSAGES/django.po +418 -75
  176. modoboa/locale/nl_NL/LC_MESSAGES/django.po +544 -152
  177. modoboa/locale/no/LC_MESSAGES/django.po +418 -75
  178. modoboa/locale/pl_PL/LC_MESSAGES/django.po +564 -162
  179. modoboa/locale/pt_BR/LC_MESSAGES/django.po +567 -157
  180. modoboa/locale/pt_PT/LC_MESSAGES/django.po +521 -132
  181. modoboa/locale/ro_RO/LC_MESSAGES/django.po +498 -79
  182. modoboa/locale/ru/LC_MESSAGES/django.po +530 -137
  183. modoboa/locale/si/LC_MESSAGES/django.po +418 -75
  184. modoboa/locale/sk/LC_MESSAGES/django.po +420 -75
  185. modoboa/locale/sk_SK/LC_MESSAGES/django.po +420 -75
  186. modoboa/locale/sl_SI/LC_MESSAGES/django.po +441 -80
  187. modoboa/locale/sv/LC_MESSAGES/django.po +556 -152
  188. modoboa/locale/tr/LC_MESSAGES/django.po +470 -77
  189. modoboa/locale/tr_TR/LC_MESSAGES/django.po +454 -75
  190. modoboa/locale/uk/LC_MESSAGES/django.po +420 -75
  191. modoboa/locale/zh/LC_MESSAGES/django.po +417 -75
  192. modoboa/locale/zh_CN/LC_MESSAGES/django.po +417 -75
  193. modoboa/locale/zh_TW/LC_MESSAGES/django.po +486 -77
  194. modoboa/sievefilters/api/v2/tests.py +6 -0
  195. modoboa/sievefilters/api/v2/viewsets.py +10 -0
  196. modoboa/webmail/serializers.py +2 -1
  197. modoboa/webmail/tests/test_viewsets.py +16 -4
  198. modoboa/webmail/viewsets.py +17 -3
  199. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/METADATA +2 -2
  200. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/RECORD +205 -204
  201. modoboa/frontend_dist/assets/AccountEditView-N9Rsx1Lu.js +0 -1
  202. modoboa/frontend_dist/assets/AccountLayout-y-oYLez4.js +0 -1
  203. modoboa/frontend_dist/assets/AccountView-CGjtYjdN.js +0 -1
  204. modoboa/frontend_dist/assets/AlarmsView-CWISEf0x.js +0 -1
  205. modoboa/frontend_dist/assets/AliasEditView-BojxR0y0.js +0 -1
  206. modoboa/frontend_dist/assets/CalendarView-BiD8oiJQ.js +0 -1
  207. modoboa/frontend_dist/assets/ComposeEmailForm-DHFthaP6.css +0 -1
  208. modoboa/frontend_dist/assets/ComposeEmailForm-THBK5DPz.js +0 -1
  209. modoboa/frontend_dist/assets/ComposeEmailView-Byb6o1lF.js +0 -1
  210. modoboa/frontend_dist/assets/ConnectedLayout-Bxh21hcH.css +0 -1
  211. modoboa/frontend_dist/assets/ConnectedLayout-CuyGO8mE.js +0 -1
  212. modoboa/frontend_dist/assets/DomainAdminList-BW50F_7s.js +0 -1
  213. modoboa/frontend_dist/assets/DomainView-HFg7eBrA.js +0 -5
  214. modoboa/frontend_dist/assets/DomainsView-DSIdADod.js +0 -1
  215. modoboa/frontend_dist/assets/EmptyLayout-9_hUsyI4.js +0 -1
  216. modoboa/frontend_dist/assets/FiltersView-DxwCWP6V.js +0 -1
  217. modoboa/frontend_dist/assets/ForwardEmailView-R2VNw89Y.js +0 -1
  218. modoboa/frontend_dist/assets/HtmlEditor-9PKspQnj.js +0 -93
  219. modoboa/frontend_dist/assets/IdentitiesView-BiBhYfLG.js +0 -1
  220. modoboa/frontend_dist/assets/MailboxView-7GDx4hP8.js +0 -1
  221. modoboa/frontend_dist/assets/MailboxView-CfStlWhk.css +0 -1
  222. modoboa/frontend_dist/assets/MigrationsView-D8zvt5Gg.js +0 -1
  223. modoboa/frontend_dist/assets/ParametersView-B4LtgRrm.js +0 -1
  224. modoboa/frontend_dist/assets/ParametersView-BEM87Op8.js +0 -1
  225. modoboa/frontend_dist/assets/ProviderEditView-DxGMMxi1.js +0 -1
  226. modoboa/frontend_dist/assets/ProviderGeneralForm-DqVUshAw.js +0 -1
  227. modoboa/frontend_dist/assets/ProvidersView-YAYrezMm.js +0 -1
  228. modoboa/frontend_dist/assets/QuarantineLayout-Bj2STsUo.js +0 -1
  229. modoboa/frontend_dist/assets/ReplyEmailView-C-L78-Uh.js +0 -1
  230. modoboa/frontend_dist/assets/SelfServiceLayout-CFzaGLsg.js +0 -1
  231. modoboa/frontend_dist/assets/SettingsView-C7_cp9nZ.js +0 -6
  232. modoboa/frontend_dist/assets/TimeSerieChart-BY4l0TOt.js +0 -1
  233. modoboa/frontend_dist/assets/TimeSerieChart-Dn6Wznn8.css +0 -1
  234. modoboa/frontend_dist/assets/UserLayout-ByBCLOr-.js +0 -1
  235. modoboa/frontend_dist/assets/VAlert-Ck0PurTo.js +0 -1
  236. modoboa/frontend_dist/assets/VApp-CSICh40V.js +0 -1
  237. modoboa/frontend_dist/assets/VApp-DwhR0sAF.css +0 -1
  238. modoboa/frontend_dist/assets/VAutocomplete-BdsSHywe.js +0 -1
  239. modoboa/frontend_dist/assets/VAutocomplete-CPd3yAvV.css +0 -1
  240. modoboa/frontend_dist/assets/VAvatar-BKSHKr1K.js +0 -1
  241. modoboa/frontend_dist/assets/VAvatar-DXG1YGB5.css +0 -1
  242. modoboa/frontend_dist/assets/VBadge-DvuthTvS.js +0 -1
  243. modoboa/frontend_dist/assets/VCard-B7MvPr5E.js +0 -1
  244. modoboa/frontend_dist/assets/VCheckbox-er0bxYP_.js +0 -1
  245. modoboa/frontend_dist/assets/VColorPicker-C5_3l312.css +0 -1
  246. modoboa/frontend_dist/assets/VColorPicker-Dnoyj5rl.js +0 -1
  247. modoboa/frontend_dist/assets/VDataTable-CJyX7uj5.css +0 -1
  248. modoboa/frontend_dist/assets/VDataTable-uO4iY3PI.js +0 -1
  249. modoboa/frontend_dist/assets/VDataTableServer-LfLFgxCE.js +0 -1
  250. modoboa/frontend_dist/assets/VDataTableVirtual-C_aJRTho.js +0 -1
  251. modoboa/frontend_dist/assets/VDialog-ByBq-y2_.js +0 -1
  252. modoboa/frontend_dist/assets/VExpansionPanels-RsCANmDP.css +0 -1
  253. modoboa/frontend_dist/assets/VFileInput-CYUvB_Lr.js +0 -1
  254. modoboa/frontend_dist/assets/VGrid-Cb7FdSrp.css +0 -1
  255. modoboa/frontend_dist/assets/VInput-quQSdtEy.js +0 -1
  256. modoboa/frontend_dist/assets/VMenu--sryJ9Uc.js +0 -1
  257. modoboa/frontend_dist/assets/VMenu-5VuRw-HA.css +0 -1
  258. modoboa/frontend_dist/assets/VPicker-C6hgT7tI.js +0 -1
  259. modoboa/frontend_dist/assets/VPicker-CfsXFhHv.css +0 -1
  260. modoboa/frontend_dist/assets/VProgressCircular-BPJdTVu4.css +0 -1
  261. modoboa/frontend_dist/assets/VProgressCircular-DN4UW8ON.js +0 -1
  262. modoboa/frontend_dist/assets/VRadioGroup-G5s53Jnf.js +0 -1
  263. modoboa/frontend_dist/assets/VSelect-Dvkl50dw.css +0 -1
  264. modoboa/frontend_dist/assets/VSelect-Okzuwz-S.js +0 -1
  265. modoboa/frontend_dist/assets/VSelectionControl-DMlq6-TE.js +0 -1
  266. modoboa/frontend_dist/assets/VSheet-iS_sxEl7.js +0 -1
  267. modoboa/frontend_dist/assets/VSpacer-yH183XvN.js +0 -1
  268. modoboa/frontend_dist/assets/VSwitch-BYsITk7O.js +0 -1
  269. modoboa/frontend_dist/assets/VTable-C1FqhNBY.js +0 -1
  270. modoboa/frontend_dist/assets/VTable-CHRVGI94.css +0 -1
  271. modoboa/frontend_dist/assets/VTabs-Bv8FUb0o.css +0 -1
  272. modoboa/frontend_dist/assets/VTabs-DMJmfYTo.js +0 -1
  273. modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +0 -1
  274. modoboa/frontend_dist/assets/VTextField-fWt9fUJr.js +0 -1
  275. modoboa/frontend_dist/assets/VTextarea-BTR7f0gW.css +0 -1
  276. modoboa/frontend_dist/assets/VTextarea-CVJNAf81.js +0 -1
  277. modoboa/frontend_dist/assets/VToolbar-BxjAEfSk.css +0 -1
  278. modoboa/frontend_dist/assets/VToolbar-DYf0Nubr.js +0 -1
  279. modoboa/frontend_dist/assets/VWindowItem-CWBhiE_Y.css +0 -1
  280. modoboa/frontend_dist/assets/VWindowItem-mmufRveK.js +0 -1
  281. modoboa/frontend_dist/assets/WebmailLayout-BmMZ58iv.js +0 -1
  282. modoboa/frontend_dist/assets/WebmailLayout-UlftFiiT.css +0 -1
  283. modoboa/frontend_dist/assets/domains.store-W5AiCN3q.js +0 -1
  284. modoboa/frontend_dist/assets/filter-BH0Tmqu3.js +0 -1
  285. modoboa/frontend_dist/assets/index-DuzUMVLM.js +0 -1
  286. modoboa/frontend_dist/assets/index-WQ41F5VK.js +0 -982
  287. modoboa/frontend_dist/assets/languages-CE73-P-v.js +0 -1
  288. modoboa/frontend_dist/assets/layout-eXe9ZQ1u.js +0 -1
  289. modoboa/frontend_dist/assets/transports-DmREsCgU.js +0 -1
  290. modoboa/frontend_dist/assets/webmail-BsviLQXI.js +0 -1
  291. {modoboa-2.6.3.data → modoboa-2.6.5.data}/scripts/modoboa-admin.py +0 -0
  292. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/WHEEL +0 -0
  293. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/entry_points.txt +0 -0
  294. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/licenses/LICENSE +0 -0
  295. {modoboa-2.6.3.dist-info → modoboa-2.6.5.dist-info}/top_level.txt +0 -0
@@ -15,7 +15,7 @@ msgid ""
15
15
  msgstr ""
16
16
  "Project-Id-Version: Modoboa\n"
17
17
  "Report-Msgid-Bugs-To: \n"
18
- "POT-Creation-Date: 2025-08-28 09:41+0200\n"
18
+ "POT-Creation-Date: 2025-12-02 16:07+0100\n"
19
19
  "PO-Revision-Date: 2011-07-01 08:15+0000\n"
20
20
  "Last-Translator: Antoine Nguyen <tonio@ngyn.org>, 2016-2017,2020,2023-2025\n"
21
21
  "Language-Team: French (http://app.transifex.com/tonio/modoboa/language/fr/)\n"
@@ -48,14 +48,14 @@ msgid "Cannot be greater than domain quota"
48
48
  msgstr "Ne peut pas être supérieur au quota du domaine"
49
49
 
50
50
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
51
- #: admin/api/v2/serializers.py:564 admin/models/alias.py:44
51
+ #: admin/api/v2/serializers.py:570 admin/models/alias.py:45
52
52
  msgid "Permission denied."
53
53
  msgstr "Permission refusée."
54
54
 
55
55
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
56
- #: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
57
- #: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
58
- #: transport/backends.py:40
56
+ #: admin/api/v2/serializers.py:491 amavis/serializers.py:39
57
+ #: core/api/v2/serializers.py:255 core/api/v2/serializers.py:257
58
+ #: core/api/v2/serializers.py:266 transport/backends.py:40
59
59
  msgid "This field is required"
60
60
  msgstr "Ce champ est requis"
61
61
 
@@ -64,7 +64,7 @@ msgid ""
64
64
  "List of administered domains (resellers and domain administrators only)."
65
65
  msgstr "Liste des domaines administrés (revendeurs et administrateurs de domaine seulement)."
66
66
 
67
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
67
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:552
68
68
  msgid "Not allowed for this role."
69
69
  msgstr "Non autorisé pour ce rôle."
70
70
 
@@ -72,13 +72,13 @@ msgstr "Non autorisé pour ce rôle."
72
72
  msgid "Must be equal to mailbox full_address"
73
73
  msgstr "Doit être égale au champ full_address dans mailbox"
74
74
 
75
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
75
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:604
76
76
  #: calendars/serializers.py:175 calendars/serializers.py:177
77
77
  #: pdfcredentials/api/v2/serializers.py:91
78
78
  msgid "This field is required."
79
79
  msgstr "Ce champ est requis."
80
80
 
81
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
81
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:621
82
82
  msgid "Local domain {} does not exist"
83
83
  msgstr "Le domaine local {} n'existe pas"
84
84
 
@@ -86,7 +86,7 @@ msgstr "Le domaine local {} n'existe pas"
86
86
  msgid "A list of recipient"
87
87
  msgstr "Une liste de destinataire"
88
88
 
89
- #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
89
+ #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
90
90
  msgid "This alias already exists"
91
91
  msgstr "Cet alias existe déjà"
92
92
 
@@ -119,47 +119,47 @@ msgstr "Vous ne pouvez pas définir de quota illimité"
119
119
  msgid "User '%s' already exists"
120
120
  msgstr "L'utilisateur '%s' existe déjà"
121
121
 
122
- #: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
122
+ #: admin/api/v2/serializers.py:255 admin/api/v2/serializers.py:261
123
123
  msgid "Must be a positive integer"
124
124
  msgstr "Doit être un entier positif"
125
125
 
126
- #: admin/api/v2/serializers.py:265
126
+ #: admin/api/v2/serializers.py:270
127
127
  msgid "openssl not found, please make sure it is installed."
128
128
  msgstr "impossible de trouver openssl, veuillez vous assurer vous qu'il est installé."
129
129
 
130
- #: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
130
+ #: admin/api/v2/serializers.py:273 pdfcredentials/api/v2/serializers.py:84
131
131
  msgid "Directory not found."
132
132
  msgstr "Répertoire introuvable."
133
133
 
134
- #: admin/api/v2/serializers.py:279
134
+ #: admin/api/v2/serializers.py:284
135
135
  msgid "This field only allows valid IP addresses (or networks)"
136
136
  msgstr "Ce champ n'autorise que des adresses IP correctes (ou des réseaux)"
137
137
 
138
- #: admin/api/v2/serializers.py:292
138
+ #: admin/api/v2/serializers.py:297
139
139
  msgid "Please disable imap migration before disabling this option."
140
140
  msgstr "Veuillez désactiver la migration IMAP avant de désactiver cette option"
141
141
 
142
- #: admin/api/v2/serializers.py:305
142
+ #: admin/api/v2/serializers.py:310
143
143
  msgid "Define at least one authorized network / address"
144
144
  msgstr "Définissez au moins un réseau / une adresse autorisé"
145
145
 
146
- #: admin/api/v2/serializers.py:581
146
+ #: admin/api/v2/serializers.py:587
147
147
  msgid "The left part of an email address can't be more than 64 characters."
148
148
  msgstr "La partie gauche d'un courriel ne peut pas faire plus de 64 caractères."
149
149
 
150
- #: admin/api/v2/serializers.py:603
150
+ #: admin/api/v2/serializers.py:609
151
151
  msgid "A mailbox is required to create aliases."
152
152
  msgstr "Une boîte aux lettres est requises pour créer des alias"
153
153
 
154
- #: admin/api/v2/serializers.py:772
154
+ #: admin/api/v2/serializers.py:782
155
155
  msgid "Unknown status"
156
156
  msgstr "Statut inconnu"
157
157
 
158
- #: admin/api/v2/viewsets.py:84
158
+ #: admin/api/v2/viewsets.py:95
159
159
  msgid "You don't have access to this domain"
160
160
  msgstr "Vous n'avez pas accès à ce domaine"
161
161
 
162
- #: admin/api/v2/viewsets.py:87
162
+ #: admin/api/v2/viewsets.py:98
163
163
  msgid "You can't delete your own domain"
164
164
  msgstr "Vous ne pouvez pas supprimer votre propre domaine"
165
165
 
@@ -350,7 +350,35 @@ msgstr "Créer un alias quand une boite aux lettres est renommée"
350
350
  msgid "Create an alias using the old address when a mailbox is renamed."
351
351
  msgstr "Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres est renommée."
352
352
 
353
- #: admin/app_settings.py:287 core/api/v2/viewsets.py:174
353
+ #: admin/app_settings.py:245
354
+ msgid "Aliases"
355
+ msgstr "Alias"
356
+
357
+ #: admin/app_settings.py:251
358
+ msgid "Alias can target any domain"
359
+ msgstr "Les alias peuvent cibler n'importe quel domaine"
360
+
361
+ #: admin/app_settings.py:253
362
+ msgid "Allow aliases to target any domain, not just the local domains."
363
+ msgstr "Autoriser les alias à cibler n'importe quel domaine, pas uniquement les domaines locaux."
364
+
365
+ #: admin/app_settings.py:260
366
+ msgid "Alias target block list"
367
+ msgstr "Cibles interdites pour les alias"
368
+
369
+ #: admin/app_settings.py:262
370
+ msgid "A list of domains that aliases cannot target (comma separated)."
371
+ msgstr "Une liste de domaines que les alias ne peuvent pas cibler (séparés par une virgule)."
372
+
373
+ #: admin/app_settings.py:270
374
+ msgid "Alias target allow list"
375
+ msgstr "Cibles autorisées pour les alias"
376
+
377
+ #: admin/app_settings.py:272
378
+ msgid "A list of domains that aliases can target (comma separated)."
379
+ msgstr "Une liste de domaines que les alias peuvent cibler (séparés par une virgule)."
380
+
381
+ #: admin/app_settings.py:326 core/api/v2/viewsets.py:174
354
382
  msgid "Administration"
355
383
  msgstr "Administration"
356
384
 
@@ -379,58 +407,54 @@ msgstr "alias de domaine"
379
407
  msgid "Account import failed (%s): domain does not exist"
380
408
  msgstr "L'import du compte a échoué (%s): le domaine n'existe pas"
381
409
 
382
- #: admin/handlers.py:242 admin/models/mailbox.py:342
383
- msgid "Mailbox {} already exists"
384
- msgstr "La boite {} existe déjà"
385
-
386
- #: admin/handlers.py:251
410
+ #: admin/handlers.py:246
387
411
  #, python-format
388
412
  msgid "Account import failed (%s): wrong quota value"
389
413
  msgstr "L'import du compte a échoué (%s): mauvais quota"
390
414
 
391
- #: admin/lib.py:121
415
+ #: admin/lib.py:126
392
416
  msgid "You are not allowed to import domains"
393
417
  msgstr "Vous n'êtes pas autorisé à importer des domaines"
394
418
 
395
- #: admin/lib.py:130
419
+ #: admin/lib.py:135
396
420
  msgid "You are not allowed to import domain aliases."
397
421
  msgstr "Vous n'êtes pas autorisé à importer des alias de domaine."
398
422
 
399
- #: admin/lib.py:222 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
423
+ #: admin/lib.py:227 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
400
424
  #: admin/tests/test_mx.py:171
401
425
  #, python-format
402
426
  msgid "No DNS record found for %s"
403
427
  msgstr "Aucun enregistrement DNS trouvé pour %s."
404
428
 
405
- #: admin/lib.py:225
429
+ #: admin/lib.py:230
406
430
  #, python-format
407
431
  msgid "No %(type)s record for %(name)s"
408
432
  msgstr "Aucun enregistrement %(type)s trouvé pour %(name)s"
409
433
 
410
- #: admin/lib.py:229 admin/tests/test_mx.py:156
434
+ #: admin/lib.py:234 admin/tests/test_mx.py:156
411
435
  msgid "No working name servers found"
412
436
  msgstr "Aucun serveur de noms fonctionnel trouvé"
413
437
 
414
- #: admin/lib.py:232 admin/tests/test_mx.py:160
438
+ #: admin/lib.py:237 admin/tests/test_mx.py:160
415
439
  #, python-format
416
440
  msgid "DNS resolution timeout, unable to query %s at the moment"
417
441
  msgstr "Timeout de résolution DNS, impossible de requêter %s pour l'instant"
418
442
 
419
- #: admin/lib.py:236
443
+ #: admin/lib.py:241
420
444
  msgid "DNS name is too long: {}"
421
445
  msgstr "Nom DNS trop long : {}"
422
446
 
423
- #: admin/lib.py:267
447
+ #: admin/lib.py:272
424
448
  #, python-brace-format
425
449
  msgid "Invalid IP address format for {domain}; {addr}"
426
450
  msgstr "Format d'adresse IP incorrect pour {domain}; {addr}"
427
451
 
428
- #: admin/lib.py:360
452
+ #: admin/lib.py:365
429
453
  #, python-format
430
454
  msgid "Object already exists: %s"
431
455
  msgstr "L'objet existe déjà : %s"
432
456
 
433
- #: admin/lib.py:364
457
+ #: admin/lib.py:369
434
458
  #, python-format
435
459
  msgid "%d objects imported successfully"
436
460
  msgstr "%d objets importés avec succès"
@@ -492,48 +516,52 @@ msgstr "[modoboa] problème(s) de MX pour le domaine {}"
492
516
  msgid "[modoboa] DNSBL issue(s) for domain {}"
493
517
  msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}"
494
518
 
495
- #: admin/models/alias.py:42
519
+ #: admin/models/alias.py:43
496
520
  msgid "Domain not found."
497
521
  msgstr "Domaine introuvable."
498
522
 
499
- #: admin/models/alias.py:97 admin/models/mailbox.py:85
523
+ #: admin/models/alias.py:117 admin/models/mailbox.py:85
500
524
  msgid "address"
501
525
  msgstr "Adresse"
502
526
 
503
- #: admin/models/alias.py:99
527
+ #: admin/models/alias.py:119
504
528
  msgid "The alias address."
505
529
  msgstr "L'adresse de l'alias"
506
530
 
507
- #: admin/models/alias.py:103 admin/models/domain.py:45
531
+ #: admin/models/alias.py:123 admin/models/domain.py:45
508
532
  #: admin/models/domain_alias.py:45 autoreply/models.py:25
509
533
  msgid "enabled"
510
534
  msgstr "Activé"
511
535
 
512
- #: admin/models/alias.py:104 admin/models/domain_alias.py:46
536
+ #: admin/models/alias.py:124 admin/models/domain_alias.py:46
513
537
  msgid "Check to activate this alias"
514
538
  msgstr "Cocher pour activer cet alias"
515
539
 
516
- #: admin/models/alias.py:108
540
+ #: admin/models/alias.py:128
517
541
  msgid "Description"
518
542
  msgstr "Description"
519
543
 
520
- #: admin/models/alias.py:109
544
+ #: admin/models/alias.py:129
521
545
  msgid "Expire at"
522
546
  msgstr "Expire le"
523
547
 
524
- #: admin/models/alias.py:150
548
+ #: admin/models/alias.py:170
525
549
  msgid "alias"
526
550
  msgstr "alias"
527
551
 
528
- #: admin/models/alias.py:183
552
+ #: admin/models/alias.py:203
529
553
  msgid "Invalid address"
530
554
  msgstr "Adresse invalide"
531
555
 
532
- #: admin/models/alias.py:202
556
+ #: admin/models/alias.py:206
557
+ msgid "Target domain not allowed"
558
+ msgstr "Domaine cible non autorisé"
559
+
560
+ #: admin/models/alias.py:224
533
561
  msgid "Local recipient {}@{} not found"
534
562
  msgstr "Destinataire local {}@{} introuvable"
535
563
 
536
- #: admin/models/alias.py:251
564
+ #: admin/models/alias.py:273
537
565
  msgid "Invalid line: {}"
538
566
  msgstr "Ligne incorrecte : {}"
539
567
 
@@ -641,6 +669,10 @@ msgstr "{} : quota du domaine dépassé"
641
669
  msgid "Domain does not exist"
642
670
  msgstr "Domaine inexistant"
643
671
 
672
+ #: admin/models/mailbox.py:342
673
+ msgid "Mailbox {} already exists"
674
+ msgstr "La boite {} existe déjà"
675
+
644
676
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:3
645
677
  #, python-format
646
678
  msgid ""
@@ -675,6 +707,318 @@ msgstr "Format d'adresse IP incorrect pour %(domain)s; %(addr)s"
675
707
  msgid "No AAAA record for %s"
676
708
  msgstr "Aucun enregistrement AAAA trouvé pour %s"
677
709
 
710
+ #: amavis/app_settings.py:11
711
+ msgid "Amavis settings"
712
+ msgstr "Paramètres Amavis"
713
+
714
+ #: amavis/app_settings.py:17
715
+ msgid "Localpart is case sensitive"
716
+ msgstr "La phrase est sensible à la casse"
717
+
718
+ #: amavis/app_settings.py:19
719
+ msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
720
+ msgstr "La valeur doit correspondre à la variable $localpart_is_case_sensitive dans amavisd.conf"
721
+
722
+ #: amavis/app_settings.py:27
723
+ msgid "Recipient delimiter"
724
+ msgstr "Séparateur de destinataire"
725
+
726
+ #: amavis/app_settings.py:29
727
+ msgid "Value should match amavisd.conf variable $recipient_delimiter"
728
+ msgstr "La valeur doit correspondre à la variable $recipient_delimiter de amavisd.conf"
729
+
730
+ #: amavis/app_settings.py:41
731
+ msgid "Quarantine settings"
732
+ msgstr "Paramètres de quarantaine"
733
+
734
+ #: amavis/app_settings.py:47
735
+ msgid "Maximum message age"
736
+ msgstr "Age maximal des messages"
737
+
738
+ #: amavis/app_settings.py:49
739
+ msgid "Quarantine messages maximum age (in days) before deletion"
740
+ msgstr "Age maximum (en jours) des messages en quarantaine avant suppression"
741
+
742
+ #: amavis/app_settings.py:60
743
+ msgid "Message releasing"
744
+ msgstr "Libération de message"
745
+
746
+ #: amavis/app_settings.py:66
747
+ msgid "Remove released messages"
748
+ msgstr "Supprimer les messages libérés"
749
+
750
+ #: amavis/app_settings.py:68
751
+ msgid "Remove messages marked as released while cleaning up the database"
752
+ msgstr "Supprimer les messages marqués comme relâchés pendant le nettoyage de la base de données"
753
+
754
+ #: amavis/app_settings.py:76
755
+ msgid "Amavis connection mode"
756
+ msgstr "Mode de connexion à Amavis"
757
+
758
+ #: amavis/app_settings.py:78
759
+ msgid "Mode used to access the PDP server"
760
+ msgstr "Mode utilisé pour accéder au serveur PDP"
761
+
762
+ #: amavis/app_settings.py:85
763
+ msgid "PDP server address"
764
+ msgstr "Adresse du serveur PDP"
765
+
766
+ #: amavis/app_settings.py:87
767
+ msgid "PDP server address (if inet mode)"
768
+ msgstr "Adresse du serveur PDP (en mode inet)"
769
+
770
+ #: amavis/app_settings.py:95
771
+ msgid "PDP server port"
772
+ msgstr "Port du serveur PDP"
773
+
774
+ #: amavis/app_settings.py:97
775
+ msgid "PDP server port (if inet mode)"
776
+ msgstr "Port du serveur PDP (en mode inet)"
777
+
778
+ #: amavis/app_settings.py:105
779
+ msgid "PDP server socket"
780
+ msgstr "Socket du serveur PDP"
781
+
782
+ #: amavis/app_settings.py:107
783
+ msgid "Path to the PDP server socket (if unix mode)"
784
+ msgstr "Emplacement de la socket du serveur PDP (en mode unix)"
785
+
786
+ #: amavis/app_settings.py:115
787
+ msgid "Allow direct release"
788
+ msgstr "Autoriser la libération directe"
789
+
790
+ #: amavis/app_settings.py:117
791
+ msgid "Allow users to directly release their messages"
792
+ msgstr "Autoriser les utilisateurs à relâcher directement leurs messages"
793
+
794
+ #: amavis/app_settings.py:124
795
+ msgid "Enable self-service mode"
796
+ msgstr "Activer le mode 'libre service'"
797
+
798
+ #: amavis/app_settings.py:126
799
+ msgid "Activate the 'self-service' mode"
800
+ msgstr "Activer le mode 'libre service'"
801
+
802
+ #: amavis/app_settings.py:133
803
+ msgid "Notifications sender"
804
+ msgstr "Emetteur des notifications"
805
+
806
+ #: amavis/app_settings.py:135
807
+ msgid "The e-mail address used to send notitications"
808
+ msgstr "L'adresse e-mail utilisée pour envoyer les notifications"
809
+
810
+ #: amavis/app_settings.py:146
811
+ msgid "Manual learning"
812
+ msgstr "Apprentissage manuel"
813
+
814
+ #: amavis/app_settings.py:152
815
+ msgid "Enable manual learning"
816
+ msgstr "Activer l'apprentissage manuel"
817
+
818
+ #: amavis/app_settings.py:154
819
+ msgid "Allow super administrators to manually train Spamassassin"
820
+ msgstr "Autorise les super administrateurs à entrainer manuellement Spamassassin"
821
+
822
+ #: amavis/app_settings.py:161
823
+ msgid "Is Spamassassin local?"
824
+ msgstr "Spamassassin est il local?"
825
+
826
+ #: amavis/app_settings.py:163
827
+ msgid "Tell if Spamassassin is running on the same server than modoboa"
828
+ msgstr "Indique si Spamassassin tourne sur le même serveur que Modoboa"
829
+
830
+ #: amavis/app_settings.py:171
831
+ msgid "Default user"
832
+ msgstr "Utilisateur par défaut"
833
+
834
+ #: amavis/app_settings.py:173
835
+ msgid "Name of the user owning the default bayesian database"
836
+ msgstr "Nom de l'utilisateur possédant la base bayesienne par défaut"
837
+
838
+ #: amavis/app_settings.py:181
839
+ msgid "Spamd address"
840
+ msgstr "Adresse de spamd"
841
+
842
+ #: amavis/app_settings.py:183
843
+ msgid "The IP address where spamd can be reached"
844
+ msgstr "L'adresse IP à laquelle spamd peut etre joint"
845
+
846
+ #: amavis/app_settings.py:191
847
+ msgid "Spamd port"
848
+ msgstr "Port de spamd"
849
+
850
+ #: amavis/app_settings.py:193
851
+ msgid "The TCP port spamd is listening on"
852
+ msgstr "Le port TCP sur lequel écoute spamd"
853
+
854
+ #: amavis/app_settings.py:202
855
+ msgid "Enable per-domain manual learning"
856
+ msgstr "Activer l'apprentissage manuel niveau domaine"
857
+
858
+ #: amavis/app_settings.py:205
859
+ msgid ""
860
+ "Allow domain administrators to train Spamassassin (within dedicated per-"
861
+ "domain databases)"
862
+ msgstr "Autorise les administrateurs de domaine à entrainer Spamassassin (au sein de bases dédiées par domaine)"
863
+
864
+ #: amavis/app_settings.py:215
865
+ msgid "Enable per-user manual learning"
866
+ msgstr "Activer l'apprentissage manuel par utilisateur"
867
+
868
+ #: amavis/app_settings.py:218
869
+ msgid ""
870
+ "Allow simple users to personally train Spamassassin (within a dedicated "
871
+ "database)"
872
+ msgstr "Autorise les utilisateur à entrainer personnellement Spamassassin (au sein d'une base dédiée)"
873
+
874
+ #: amavis/app_settings.py:236 webmail/app_settings.py:118
875
+ msgid "Display"
876
+ msgstr "Affichage"
877
+
878
+ #: amavis/app_settings.py:243 webmail/app_settings.py:144
879
+ msgid "Number of displayed emails per page"
880
+ msgstr "Nombre de messages affichés par page"
881
+
882
+ #: amavis/app_settings.py:246
883
+ msgid "Set the maximum number of messages displayed in a page"
884
+ msgstr "Définir le nombre maximal de messages affichés dans une page"
885
+
886
+ #: amavis/app_settings.py:266 amavis/app_settings.py:273
887
+ msgid "Amavis"
888
+ msgstr "Amavis"
889
+
890
+ #: amavis/checks/settings_checks.py:8
891
+ msgid ""
892
+ "AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
893
+ "by the Amavis database."
894
+ msgstr "AMAVIS_DEFAULT_DATABASE_ENCODING ne correspond pas à l'encodage de caractère utilisé par la base de données Amavis."
895
+
896
+ #: amavis/checks/settings_checks.py:12
897
+ msgid ""
898
+ "Check your database character encoding and set/update "
899
+ "AMAVIS_DEFAULT_DATABASE_ENCODING."
900
+ msgstr "Vérifiez l'encodage de caractère utilisé par votre base de données et renseignez / mettez à jour AMAVIS_DEFAULT_DATABASE_ENCODING."
901
+
902
+ #: amavis/checks/settings_checks.py:19
903
+ msgid "Modoboa Amavis has not been tested using the selected database engine."
904
+ msgstr "Modoboa Amavis n'a pas été testé avec le moteur de base de données selectionné."
905
+
906
+ #: amavis/checks/settings_checks.py:20
907
+ msgid "Try using PostgreSQL, MySQL or MariaDB."
908
+ msgstr "Essayez avec PostgreSQL, MySQL ou MariaDB."
909
+
910
+ #: amavis/handlers.py:141
911
+ msgid "Pending requests"
912
+ msgstr "Requêtes en attente"
913
+
914
+ #: amavis/lib.py:59
915
+ #, python-format
916
+ msgid "Connection to amavis failed: %s"
917
+ msgstr "La connexion avec amavis a échoué : %s"
918
+
919
+ #: amavis/lib.py:133
920
+ msgid "Failed to find {} binary"
921
+ msgstr "Impossible de trouver le binaire {}"
922
+
923
+ #: amavis/lib.py:148
924
+ msgid "No recipient found"
925
+ msgstr "Aucun destinataire trouvé"
926
+
927
+ #: amavis/lib.py:159
928
+ msgid "Local domain not found"
929
+ msgstr "Domaine local non trouvé"
930
+
931
+ #: amavis/management/commands/amnotify.py:59
932
+ msgid "[modoboa] Pending release requests"
933
+ msgstr "[modoboa] requêtes de libération en attente"
934
+
935
+ #: amavis/models.py:101
936
+ msgid "Virus filter"
937
+ msgstr "Filtrage des virus"
938
+
939
+ #: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
940
+ msgid "yes"
941
+ msgstr "oui"
942
+
943
+ #: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
944
+ msgid "no"
945
+ msgstr "non"
946
+
947
+ #: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
948
+ msgid "default"
949
+ msgstr "défaut"
950
+
951
+ #: amavis/models.py:111
952
+ msgid "Bypass virus checks or not. Choose 'default' to use global settings."
953
+ msgstr "Désactiver le filtrage des virus ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
954
+
955
+ #: amavis/models.py:115
956
+ msgid "Spam filter"
957
+ msgstr "Filtrage du spam"
958
+
959
+ #: amavis/models.py:125
960
+ msgid "Bypass spam checks or not. Choose 'default' to use global settings."
961
+ msgstr "Désactiver le filtrage du spam ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
962
+
963
+ #: amavis/models.py:129
964
+ msgid "Banned filter"
965
+ msgstr "Filtrage des messages bannis"
966
+
967
+ #: amavis/models.py:139
968
+ msgid "Bypass banned checks or not. Choose 'default' to use global settings."
969
+ msgstr "Désactiver le filtrage des messages bannis ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
970
+
971
+ #: amavis/models.py:170
972
+ msgid "Spam marker"
973
+ msgstr "Marquage du spam"
974
+
975
+ #: amavis/models.py:176
976
+ msgid ""
977
+ "Modify spam subject using the specified text. Choose 'default' to use global"
978
+ " settings."
979
+ msgstr "Modifier le sujet du spam en utilisant le texte spécifié. Choisir 'défaut' pour utiliser les paramètres globaux."
980
+
981
+ #: amavis/templates/amavis/notifications/pending_requests.html:3
982
+ #, python-format
983
+ msgid "%(counter)s release request is pending for action."
984
+ msgid_plural "%(counter)s release requests are pending for action."
985
+ msgstr[0] "%(counter)s demande de déblocage est en attente d'une action"
986
+ msgstr[1] "%(counter)s demandes de déblocage sont en attente d'une action"
987
+ msgstr[2] "%(counter)s demandes de déblocage sont en attente d'une action"
988
+
989
+ #: amavis/templates/amavis/notifications/pending_requests.html:8
990
+ msgid "Sketch:"
991
+ msgstr "Aperçu :"
992
+
993
+ #: amavis/templates/amavis/notifications/pending_requests.html:10
994
+ msgid "From:"
995
+ msgstr "De :"
996
+
997
+ #: amavis/templates/amavis/notifications/pending_requests.html:11
998
+ msgid "To:"
999
+ msgstr "A :"
1000
+
1001
+ #: amavis/templates/amavis/notifications/pending_requests.html:12
1002
+ msgid "Date:"
1003
+ msgstr "Date :"
1004
+
1005
+ #: amavis/templates/amavis/notifications/pending_requests.html:13
1006
+ msgid "Subject:"
1007
+ msgstr "Sujet :"
1008
+
1009
+ #: amavis/templates/amavis/notifications/pending_requests.html:14
1010
+ msgid "Act on this message:"
1011
+ msgstr "Agir sur ce message :"
1012
+
1013
+ #: amavis/templates/amavis/notifications/pending_requests.html:16
1014
+ #, python-format
1015
+ msgid "Please visit %(listingurl)s for a full listing."
1016
+ msgstr "Veuillez visiter %(listingurl)s pour une liste complète."
1017
+
1018
+ #: amavis/viewsets.py:122
1019
+ msgid "Invalid request"
1020
+ msgstr "Requête invalide"
1021
+
678
1022
  #: autoreply/api/v2/serializers.py:27
679
1023
  msgid "Value can't be less than 1 day"
680
1024
  msgstr "La valeur ne peut pas être inférieure à 1 jour"
@@ -789,7 +1133,7 @@ msgid ""
789
1133
  "Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
790
1134
  msgstr "Taille maximale en octets des fichiers ICS importés (ou KB, MB, GB si précisé)"
791
1135
 
792
- #: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
1136
+ #: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
793
1137
  msgid "Calendars"
794
1138
  msgstr "Calendriers"
795
1139
 
@@ -823,7 +1167,7 @@ msgstr "Fréquence de synchronisation"
823
1167
  msgid "Interval in seconds between 2 synchronization requests"
824
1168
  msgstr "Intervalle en secondes entre 2 requêtes de synchronisation"
825
1169
 
826
- #: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
1170
+ #: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
827
1171
  msgid "Contacts"
828
1172
  msgstr "Contacts"
829
1173
 
@@ -871,12 +1215,12 @@ msgstr "Code PIN non valide"
871
1215
  msgid "2FA is already enabled"
872
1216
  msgstr "2FA est déjà activf"
873
1217
 
874
- #: core/api/v1/serializers.py:86
1218
+ #: core/api/v1/serializers.py:87
875
1219
  #, python-format
876
1220
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
877
1221
  msgstr "Echec de modification des paramètres TFA depuis '%(addr)s' en tant qu'utilisateur '%(user)s'"
878
1222
 
879
- #: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
1223
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:445
880
1224
  msgid "Invalid password"
881
1225
  msgstr "Mot de passe incorrect"
882
1226
 
@@ -905,8 +1249,8 @@ msgstr "Nombre invalide de tours"
905
1249
  msgid "This code is invalid"
906
1250
  msgstr "Ce code n'est pas valide"
907
1251
 
908
- #: core/api/v2/serializers.py:503 core/views/auth.py:194
909
- #: core/views/auth.py:247
1252
+ #: core/api/v2/serializers.py:503 core/views/auth.py:213
1253
+ #: core/views/auth.py:266
910
1254
  msgid "Please use the following code to recover your Modoboa password: {}"
911
1255
  msgstr "Veuillez utiliser le code suivant pour récupérer votre mot de passe Modoboa : {}"
912
1256
 
@@ -914,15 +1258,23 @@ msgstr "Veuillez utiliser le code suivant pour récupérer votre mot de passe Mo
914
1258
  msgid "Administration console"
915
1259
  msgstr "Interface d'administration"
916
1260
 
917
- #: core/api/v2/viewsets.py:187
1261
+ #: core/api/v2/viewsets.py:184 dmarc/models.py:11
1262
+ msgid "Quarantine"
1263
+ msgstr "Quarantaine"
1264
+
1265
+ #: core/api/v2/viewsets.py:186
1266
+ msgid "Amavis quarantine"
1267
+ msgstr "Quarantaine amavis"
1268
+
1269
+ #: core/api/v2/viewsets.py:197
918
1270
  msgid "Address book"
919
1271
  msgstr "Carnet d'adresse"
920
1272
 
921
- #: core/api/v2/viewsets.py:197
1273
+ #: core/api/v2/viewsets.py:207
922
1274
  msgid "Calendar"
923
1275
  msgstr "Calendrier"
924
1276
 
925
- #: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
1277
+ #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
926
1278
  #: webmail/app_settings.py:258 webmail/app_settings.py:265
927
1279
  msgid "Webmail"
928
1280
  msgstr "Webmail"
@@ -1569,7 +1921,7 @@ msgstr "Vous ne pouvez pas supprimer votre propre compte"
1569
1921
  msgid "One or more updates are available"
1570
1922
  msgstr "Une ou plusieurs mises à jour sont disponibles!"
1571
1923
 
1572
- #: core/handlers.py:138
1924
+ #: core/handlers.py:140
1573
1925
  #, python-format
1574
1926
  msgid "You are still using a deprecated password scheme (%s)"
1575
1927
  msgstr "Vous utilisez encore une méthode de chiffrement de mot de passe obsolète (%s)"
@@ -1729,22 +2081,22 @@ msgstr[2] "\nLes mises à jour suivantes sont disponibles :\n"
1729
2081
  msgid "The core part of Modoboa"
1730
2082
  msgstr "Le coeur de Modoboa"
1731
2083
 
1732
- #: core/views/auth.py:65
2084
+ #: core/views/auth.py:82
1733
2085
  #, python-format
1734
2086
  msgid "User '%s' successfully logged in"
1735
2087
  msgstr "Utiliseur '%s' connecté avec succès"
1736
2088
 
1737
- #: core/views/auth.py:109
2089
+ #: core/views/auth.py:128
1738
2090
  #, python-format
1739
2091
  msgid "Password scheme mismatch. Updating %s password"
1740
2092
  msgstr "La méthode de chiffrement du mot de passe diffère. Mise à jour du mot de passe de %s"
1741
2093
 
1742
- #: core/views/auth.py:116
2094
+ #: core/views/auth.py:135
1743
2095
  #, python-format
1744
2096
  msgid "Password hash parameter missmatch. Updating %s password"
1745
2097
  msgstr "Le paramètre de hash du mot de passe ne correspond pas. Mise à jour %s du mot de passe"
1746
2098
 
1747
- #: core/views/auth.py:154
2099
+ #: core/views/auth.py:173
1748
2100
  msgid "User '{}' successfully logged out"
1749
2101
  msgstr "Utilisateur '{}' déconnecté avec succès"
1750
2102
 
@@ -1773,10 +2125,6 @@ msgstr "Non résolu"
1773
2125
  msgid "None"
1774
2126
  msgstr "Aucun"
1775
2127
 
1776
- #: dmarc/models.py:11
1777
- msgid "Quarantine"
1778
- msgstr "Quarantaine"
1779
-
1780
2128
  #: dmarc/models.py:12
1781
2129
  msgid "Reject"
1782
2130
  msgstr "Rejeter"
@@ -1901,7 +2249,11 @@ msgstr "Tag obligatoire p introuvable"
1901
2249
  msgid "Public key mismatchs"
1902
2250
  msgstr "La clé publique ne correspond pas"
1903
2251
 
1904
- #: imap_migration/api/v2/serializers.py:117
2252
+ #: imap_migration/api/v2/serializers.py:66
2253
+ msgid "Migrated domain with name {} already exists"
2254
+ msgstr "Un domaine migré avec le nom {} existe déjà"
2255
+
2256
+ #: imap_migration/api/v2/serializers.py:130
1905
2257
  msgid "Access denied"
1906
2258
  msgstr "Accès refusé"
1907
2259
 
@@ -2574,7 +2926,7 @@ msgstr "Emplacement du dashboard rspamd. Peut être soit une URL relative (ie. '
2574
2926
  msgid "Rspamd"
2575
2927
  msgstr "Rspamd"
2576
2928
 
2577
- #: sievefilters/api/v2/viewsets.py:193
2929
+ #: sievefilters/api/v2/viewsets.py:203
2578
2930
  #, python-format
2579
2931
  msgid "Filter %s already exists"
2580
2932
  msgstr "Le filtre %s existe déjà"
@@ -2897,10 +3249,6 @@ msgstr "Authentification requise"
2897
3249
  msgid "Server needs authentication"
2898
3250
  msgstr "Le serveur nécessite une authentification"
2899
3251
 
2900
- #: webmail/app_settings.py:118
2901
- msgid "Display"
2902
- msgstr "Affichage"
2903
-
2904
3252
  #: webmail/app_settings.py:124
2905
3253
  msgid "Default message display mode"
2906
3254
  msgstr "Mode d'affichage par défaut"
@@ -2917,10 +3265,6 @@ msgstr "Activer l'affichage des liens HTML"
2917
3265
  msgid "Enable/Disable HTML links display"
2918
3266
  msgstr "Activer/Désactiver l'affichage des liens HTML"
2919
3267
 
2920
- #: webmail/app_settings.py:144
2921
- msgid "Number of displayed emails per page"
2922
- msgstr "Nombre de messages affichés par page"
2923
-
2924
3268
  #: webmail/app_settings.py:147
2925
3269
  msgid "Sets the maximum number of messages displayed in a page"
2926
3270
  msgstr "Définir le nombre maximal de messages affichés dans une page"
@@ -3041,7 +3385,7 @@ msgstr "Envoyés"
3041
3385
  msgid "Trash"
3042
3386
  msgstr "Corbeille"
3043
3387
 
3044
- #: webmail/viewsets.py:343
3388
+ #: webmail/viewsets.py:357
3045
3389
  #, python-format
3046
3390
  msgid "Attachment is too big (limit: %s)"
3047
3391
  msgstr "La pièce jointe est trop grosse (limite : %s)"