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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. modoboa/admin/api/v2/serializers.py +1 -0
  2. modoboa/admin/app_settings.py +12 -0
  3. modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
  4. modoboa/admin/jobs.py +86 -0
  5. modoboa/admin/management/commands/modo.py +0 -2
  6. modoboa/admin/tests/test_mailbox_operations.py +4 -4
  7. modoboa/admin/tests/test_mx.py +68 -56
  8. modoboa/amavis/jobs.py +11 -0
  9. modoboa/amavis/tests/test_jobs.py +18 -0
  10. modoboa/amavis/tests/test_viewsets.py +2 -3
  11. modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
  12. modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
  13. modoboa/autoconfig/tests.py +2 -1
  14. modoboa/autoconfig/views.py +11 -3
  15. modoboa/calendars/backends/caldav_.py +17 -13
  16. modoboa/calendars/jobs.py +7 -0
  17. modoboa/calendars/mocks.py +4 -1
  18. modoboa/calendars/serializers.py +14 -9
  19. modoboa/calendars/tests.py +10 -9
  20. modoboa/calendars/viewsets.py +3 -1
  21. modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
  22. modoboa/contacts/models.py +1 -0
  23. modoboa/contacts/serializers.py +5 -2
  24. modoboa/contacts/tasks.py +9 -3
  25. modoboa/contacts/tests.py +32 -6
  26. modoboa/contacts/viewsets.py +7 -1
  27. modoboa/core/api/v2/serializers.py +0 -7
  28. modoboa/core/api/v2/tests.py +0 -10
  29. modoboa/core/app_settings.py +0 -22
  30. modoboa/core/commands/deploy.py +13 -0
  31. modoboa/core/commands/templates/cron_config.py.tpl +33 -0
  32. modoboa/core/commands/templates/settings.py.tpl +21 -0
  33. modoboa/core/jobs.py +34 -0
  34. modoboa/core/management/commands/load_initial_data.py +1 -1
  35. modoboa/core/password_hashers/base.py +4 -1
  36. modoboa/core/tests/test_core.py +0 -14
  37. modoboa/core/tests/test_jobs.py +40 -0
  38. modoboa/frontend_dist/assets/{AccountAliasForm-B-hTKSFr.js → AccountAliasForm-DO6DwfjE.js} +1 -1
  39. modoboa/frontend_dist/assets/{AccountEditView-LkP_qhf_.js → AccountEditView-CCuN9mGB.js} +1 -1
  40. modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
  41. modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
  42. modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
  43. modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
  44. modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
  45. modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
  46. modoboa/frontend_dist/assets/{AliasEditView-BVjNJekt.js → AliasEditView-CTjrXYPf.js} +1 -1
  47. modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
  48. modoboa/frontend_dist/assets/{AliasView-DvvI6cV9.js → AliasView-BN13MNN_.js} +1 -1
  49. modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
  50. modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
  51. modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
  52. modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
  53. modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
  54. modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
  55. modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
  56. modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
  57. modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
  58. modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
  59. modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
  60. modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
  61. modoboa/frontend_dist/assets/{DomainAdminList-BO8_4Cwt.js → DomainAdminList-DD7p3i6F.js} +1 -1
  62. modoboa/frontend_dist/assets/{DomainEditView-BXylM4aB.js → DomainEditView-DoIoNYC4.js} +1 -1
  63. modoboa/frontend_dist/assets/{DomainTransportForm-Ccw5BXyM.js → DomainTransportForm-CbiJF9z5.js} +1 -1
  64. modoboa/frontend_dist/assets/{DomainView-Bd5XQI-1.js → DomainView-BXvznFYz.js} +3 -3
  65. modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
  66. modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
  67. modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
  68. modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
  69. modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
  70. modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
  71. modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
  72. modoboa/frontend_dist/assets/{HtmlEditor-DNn3CY-w.js → HtmlEditor-CyBl5wj2.js} +15 -15
  73. modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
  74. modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
  75. modoboa/frontend_dist/assets/{LoadingData-CnQ_aVqa.js → LoadingData-C2txD49L.js} +1 -1
  76. modoboa/frontend_dist/assets/{LoginCallbackView-Nh_gmh8e.js → LoginCallbackView-DAvty3CI.js} +1 -1
  77. modoboa/frontend_dist/assets/{LoginView-BtC9BHuJ.js → LoginView-DHYITkn4.js} +1 -1
  78. modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
  79. modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
  80. modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
  81. modoboa/frontend_dist/assets/{MessageView-C1Goz-hY.js → MessageView-CrrEJpNI.js} +1 -1
  82. modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
  83. modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
  84. modoboa/frontend_dist/assets/{ParametersForm-BegEnkQM.js → ParametersForm-DFKYkPAs.js} +1 -1
  85. modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
  86. modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
  87. modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
  88. modoboa/frontend_dist/assets/{ProviderGeneralForm-BAELnXh6.js → ProviderGeneralForm-DO-IpJMQ.js} +1 -1
  89. modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
  90. modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
  91. modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
  92. modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
  93. modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
  94. modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
  95. modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
  96. modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
  97. modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
  98. modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
  99. modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
  100. modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
  101. modoboa/frontend_dist/assets/{VAlert-Buv8Z5G4.js → VAlert-MDbeolOo.js} +1 -1
  102. modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
  103. modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
  104. modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
  105. modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
  106. modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
  107. modoboa/frontend_dist/assets/{VCard-D7AwBs4w.js → VCard-CBtX8JF-.js} +1 -1
  108. modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
  109. modoboa/frontend_dist/assets/{VCheckboxBtn-B5evxN9K.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
  110. modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
  111. modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
  112. modoboa/frontend_dist/assets/{VContainer-DY9021j4.js → VContainer-Cn-vKB3s.js} +1 -1
  113. modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
  114. modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
  115. modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
  116. modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
  117. modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
  118. modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
  119. modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
  120. modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
  121. modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
  122. modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
  123. modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
  124. modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
  125. modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
  126. modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
  127. modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
  128. modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
  129. modoboa/frontend_dist/assets/{VRow-DyK_Mj7R.js → VRow-83Qnr5iB.js} +1 -1
  130. modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
  131. modoboa/frontend_dist/assets/{VSelectionControl-Dkms9_P5.js → VSelectionControl-Cqi1xt-q.js} +1 -1
  132. modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
  133. modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
  134. modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
  135. modoboa/frontend_dist/assets/{VTable-D8ZwwC_B.js → VTable-f7wcr2AZ.js} +1 -1
  136. modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
  137. modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
  138. modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
  139. modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
  140. modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
  141. modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
  142. modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
  143. modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
  144. modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
  145. modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
  146. modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
  147. modoboa/frontend_dist/assets/{accounts-BZBqbAmd.js → accounts-KUsk6LHW.js} +1 -1
  148. modoboa/frontend_dist/assets/{admin-uCrKjpln.js → admin-BW9cZW0P.js} +1 -1
  149. modoboa/frontend_dist/assets/{aliases-CFwFkX45.js → aliases-Ge0hjIsH.js} +1 -1
  150. modoboa/frontend_dist/assets/{amavis-DCy0U0TD.js → amavis-BbFeFfsk.js} +1 -1
  151. modoboa/frontend_dist/assets/{amavis-B4ScfQsG.js → amavis-DtuzP_CS.js} +1 -1
  152. modoboa/frontend_dist/assets/{contacts-DKmh2q-4.js → contacts-DMJlQTe0.js} +1 -1
  153. modoboa/frontend_dist/assets/{domains-CDE4_LDF.js → domains-Du64lcXT.js} +1 -1
  154. modoboa/frontend_dist/assets/{domains.store-a9Y5UlDV.js → domains.store-1U61jeCV.js} +1 -1
  155. modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
  156. modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
  157. modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
  158. modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
  159. modoboa/frontend_dist/assets/{index-Dwg6jPTX.js → index-Dv00bmw9.js} +1 -1
  160. modoboa/frontend_dist/assets/{index-BjibLozh.js → index-jui3edpn.js} +47 -41
  161. modoboa/frontend_dist/assets/{language.store-DGuI8jG0.js → language.store-OcfdXL_-.js} +1 -1
  162. modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
  163. modoboa/frontend_dist/assets/{layout-5PvsmkGR.js → layout-DOO7TRTJ.js} +1 -1
  164. modoboa/frontend_dist/assets/{layout.store-DJVcXtxk.js → layout.store-C0g-piJn.js} +1 -1
  165. modoboa/frontend_dist/assets/{logos-CMmd0hOG.js → logos-Dz2Gzei-.js} +1 -1
  166. modoboa/frontend_dist/assets/{logs-D2GOydPZ.js → logs-CLm32Weu.js} +1 -1
  167. modoboa/frontend_dist/assets/{parameters-DJdlq9sh.js → parameters-DMIAQ7cd.js} +1 -1
  168. modoboa/frontend_dist/assets/{parameters.store-DH3pPlaT.js → parameters.store-DLnFzCwV.js} +1 -1
  169. modoboa/frontend_dist/assets/{permissions-CgFJFhCp.js → permissions-CrpE0b4w.js} +1 -1
  170. modoboa/frontend_dist/assets/{ssrBoot-ChTB-PYP.js → ssrBoot-B7cr7q9U.js} +1 -1
  171. modoboa/frontend_dist/assets/{tag-CvrHE14f.js → tag-WF93n81Q.js} +1 -1
  172. modoboa/frontend_dist/assets/{theme-DFzlhSh5.js → theme-_0oOYChG.js} +1 -1
  173. modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
  174. modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
  175. modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
  176. modoboa/frontend_dist/index.html +2 -2
  177. modoboa/imap_migration/models.py +3 -3
  178. modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
  179. modoboa/imap_migration/tests.py +21 -0
  180. modoboa/lib/cryptutils.py +2 -2
  181. modoboa/lib/sysutils.py +1 -1
  182. modoboa/lib/tests/__init__.py +0 -1
  183. modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
  184. modoboa/locale/br/LC_MESSAGES/django.po +301 -273
  185. modoboa/locale/cs/LC_MESSAGES/django.po +286 -269
  186. modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  187. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +303 -275
  188. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  189. modoboa/locale/de/LC_MESSAGES/django.po +297 -269
  190. modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
  191. modoboa/locale/de_DE/LC_MESSAGES/django.po +303 -275
  192. modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
  193. modoboa/locale/el_GR/LC_MESSAGES/django.po +303 -275
  194. modoboa/locale/en/LC_MESSAGES/django.po +286 -269
  195. modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
  196. modoboa/locale/es/LC_MESSAGES/django.po +302 -274
  197. modoboa/locale/es_MX/LC_MESSAGES/django.po +286 -269
  198. modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
  199. modoboa/locale/fi/LC_MESSAGES/django.po +299 -271
  200. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/fr/LC_MESSAGES/django.po +288 -271
  202. modoboa/locale/hu/LC_MESSAGES/django.po +286 -269
  203. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  204. modoboa/locale/it/LC_MESSAGES/django.po +303 -275
  205. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/ja_JP/LC_MESSAGES/django.po +390 -413
  207. modoboa/locale/ka/LC_MESSAGES/django.po +286 -269
  208. modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  209. modoboa/locale/nl_NL/LC_MESSAGES/django.po +299 -271
  210. modoboa/locale/no/LC_MESSAGES/django.po +286 -269
  211. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  212. modoboa/locale/pl_PL/LC_MESSAGES/django.po +297 -269
  213. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  214. modoboa/locale/pt_BR/LC_MESSAGES/django.po +298 -270
  215. modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  216. modoboa/locale/pt_PT/LC_MESSAGES/django.po +303 -275
  217. modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
  218. modoboa/locale/ro_RO/LC_MESSAGES/django.po +299 -271
  219. modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
  220. modoboa/locale/ru/LC_MESSAGES/django.po +993 -1096
  221. modoboa/locale/si/LC_MESSAGES/django.po +286 -269
  222. modoboa/locale/sk/LC_MESSAGES/django.po +286 -269
  223. modoboa/locale/sk_SK/LC_MESSAGES/django.po +286 -269
  224. modoboa/locale/sl_SI/LC_MESSAGES/django.po +288 -269
  225. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  226. modoboa/locale/sv/LC_MESSAGES/django.po +297 -269
  227. modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
  228. modoboa/locale/tr/LC_MESSAGES/django.po +301 -272
  229. modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  230. modoboa/locale/tr_TR/LC_MESSAGES/django.po +291 -269
  231. modoboa/locale/uk/LC_MESSAGES/django.po +286 -269
  232. modoboa/locale/zh/LC_MESSAGES/django.po +286 -269
  233. modoboa/locale/zh_CN/LC_MESSAGES/django.po +286 -269
  234. modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  235. modoboa/locale/zh_TW/LC_MESSAGES/django.po +295 -273
  236. modoboa/maillog/jobs.py +11 -0
  237. modoboa/maillog/tests/test_views.py +5 -4
  238. modoboa/parameters/api/v2/tests.py +1 -1
  239. modoboa/policyd/management/commands/policy_daemon.py +5 -1
  240. modoboa/policyd/tests.py +4 -2
  241. modoboa/rspamd/tests.py +20 -0
  242. modoboa/templates/registration/twofactor_code_verify.html +1 -1
  243. modoboa/webmail/app_settings.py +37 -0
  244. modoboa/webmail/constants.py +21 -1
  245. modoboa/webmail/factories.py +19 -0
  246. modoboa/webmail/jobs.py +27 -0
  247. modoboa/webmail/lib/__init__.py +0 -2
  248. modoboa/webmail/lib/imapemail.py +9 -11
  249. modoboa/webmail/lib/imapheader.py +25 -13
  250. modoboa/webmail/lib/imaputils.py +51 -13
  251. modoboa/webmail/lib/sendmail.py +88 -105
  252. modoboa/webmail/lib/utils.py +109 -0
  253. modoboa/webmail/migrations/0001_initial.py +90 -0
  254. modoboa/webmail/migrations/__init__.py +0 -0
  255. modoboa/webmail/mocks.py +12 -3
  256. modoboa/webmail/models.py +102 -0
  257. modoboa/webmail/serializers.py +84 -4
  258. modoboa/webmail/tests/data.py +21 -0
  259. modoboa/webmail/tests/test_lib_imaputils.py +33 -0
  260. modoboa/webmail/tests/test_viewsets.py +108 -0
  261. modoboa/webmail/urls.py +5 -0
  262. modoboa/webmail/viewsets.py +39 -9
  263. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
  264. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/RECORD +269 -252
  265. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
  266. modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
  267. modoboa/core/management/commands/cleanlogs.py +0 -53
  268. modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +0 -1
  269. modoboa/frontend_dist/assets/AccountPasswordSubForm-D4vB2yQK.js +0 -1
  270. modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +0 -1
  271. modoboa/frontend_dist/assets/AddressBook-C03MXg3y.js +0 -1
  272. modoboa/frontend_dist/assets/AdminLayout-DFmyKOo6.js +0 -1
  273. modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +0 -1
  274. modoboa/frontend_dist/assets/AliasRecipientForm-CZ_SvjtG.js +0 -1
  275. modoboa/frontend_dist/assets/AuditTrailView-Cyq25Jle.js +0 -1
  276. modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +0 -1
  277. modoboa/frontend_dist/assets/ChoiceField-BPhUvoyr.js +0 -1
  278. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
  279. modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +0 -1
  280. modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +0 -1
  281. modoboa/frontend_dist/assets/ConfirmDialog-BMIg94-U.js +0 -1
  282. modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +0 -1
  283. modoboa/frontend_dist/assets/CreationForm-CaAZYATm.js +0 -1
  284. modoboa/frontend_dist/assets/DashboardView-DErmyUoy.js +0 -1
  285. modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +0 -1
  286. modoboa/frontend_dist/assets/EmailField-BFgga4zp.js +0 -1
  287. modoboa/frontend_dist/assets/EmailView-DPWTch_6.js +0 -1
  288. modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +0 -1
  289. modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +0 -1
  290. modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +0 -1
  291. modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +0 -1
  292. modoboa/frontend_dist/assets/InformationView-Cc0aBA5j.js +0 -1
  293. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
  294. modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +0 -5
  295. modoboa/frontend_dist/assets/MenuItems-efx2rqwT.js +0 -1
  296. modoboa/frontend_dist/assets/MessagesView-CesYYZ9f.js +0 -1
  297. modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +0 -1
  298. modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +0 -1
  299. modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +0 -1
  300. modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +0 -1
  301. modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +0 -1
  302. modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +0 -1
  303. modoboa/frontend_dist/assets/QuarantineView-BzjeDhTm.js +0 -1
  304. modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +0 -1
  305. modoboa/frontend_dist/assets/ResourcesForm-noC3AXd9.js +0 -1
  306. modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +0 -1
  307. modoboa/frontend_dist/assets/SettingsView-DJTdIeRK.css +0 -1
  308. modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +0 -6
  309. modoboa/frontend_dist/assets/StatisticsView-BZkVSh5o.js +0 -1
  310. modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +0 -1
  311. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
  312. modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +0 -1
  313. modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +0 -1
  314. modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +0 -1
  315. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
  316. modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +0 -1
  317. modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +0 -1
  318. modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +0 -1
  319. modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +0 -1
  320. modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +0 -1
  321. modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +0 -1
  322. modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +0 -1
  323. modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +0 -1
  324. modoboa/frontend_dist/assets/VExpansionPanels-CkwHiKsA.js +0 -1
  325. modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +0 -1
  326. modoboa/frontend_dist/assets/VForm-ClJU5x_v.js +0 -1
  327. modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +0 -1
  328. modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +0 -1
  329. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
  330. modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +0 -1
  331. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
  332. modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +0 -1
  333. modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +0 -1
  334. modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +0 -1
  335. modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +0 -1
  336. modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +0 -1
  337. modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +0 -1
  338. modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +0 -1
  339. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
  340. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
  341. modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +0 -1
  342. modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +0 -1
  343. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
  344. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
  345. modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +0 -1
  346. modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +0 -1
  347. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
  348. modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +0 -1
  349. modoboa/frontend_dist/assets/filter-BVvMTmPG.js +0 -1
  350. modoboa/frontend_dist/assets/global.store-Bha4Z76j.js +0 -1
  351. modoboa/frontend_dist/assets/importExport-EgijWlC1.js +0 -1
  352. modoboa/frontend_dist/assets/languages-Cge6pECg.js +0 -1
  353. modoboa/frontend_dist/assets/transports-BUSYxSF4.js +0 -1
  354. modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +0 -1
  355. modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +0 -1
  356. {modoboa-2.6.5.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
  357. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
  358. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
  359. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
@@ -52,7 +52,7 @@ msgid ""
52
52
  msgstr ""
53
53
  "Project-Id-Version: Modoboa\n"
54
54
  "Report-Msgid-Bugs-To: \n"
55
- "POT-Creation-Date: 2025-12-02 16:07+0100\n"
55
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
56
56
  "PO-Revision-Date: 2011-07-01 08:15+0000\n"
57
57
  "Last-Translator: Gerhard Adler <ge.adler@gmail.com>, 2025\n"
58
58
  "Language-Team: German (http://app.transifex.com/tonio/modoboa/language/de/)\n"
@@ -90,14 +90,14 @@ msgid "Cannot be greater than domain quota"
90
90
  msgstr "Kann nicht größer als Domain Kontingent sein"
91
91
 
92
92
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
93
- #: admin/api/v2/serializers.py:570 admin/models/alias.py:45
93
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
94
94
  msgid "Permission denied."
95
95
  msgstr "Zugriff verweigert."
96
96
 
97
97
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
98
- #: admin/api/v2/serializers.py:491 amavis/serializers.py:39
99
- #: core/api/v2/serializers.py:255 core/api/v2/serializers.py:257
100
- #: core/api/v2/serializers.py:266 transport/backends.py:40
98
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
99
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
100
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
101
101
  msgid "This field is required"
102
102
  msgstr "Dieses Feld ist erforderlich"
103
103
 
@@ -107,7 +107,7 @@ msgid ""
107
107
  msgstr ""
108
108
  "Liste der verwalteten Domains (nur für Reseller und Domain Administratoren)."
109
109
 
110
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:552
110
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
111
111
  msgid "Not allowed for this role."
112
112
  msgstr "Nicht erlaubt für diese Rolle."
113
113
 
@@ -115,13 +115,12 @@ msgstr "Nicht erlaubt für diese Rolle."
115
115
  msgid "Must be equal to mailbox full_address"
116
116
  msgstr "Muss mit mailbox full_address übereinstimmen"
117
117
 
118
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:604
119
- #: calendars/serializers.py:175 calendars/serializers.py:177
120
- #: pdfcredentials/api/v2/serializers.py:91
118
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
119
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
121
120
  msgid "This field is required."
122
121
  msgstr "Dieses Feld ist erforderlich"
123
122
 
124
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:621
123
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
125
124
  msgid "Local domain {} does not exist"
126
125
  msgstr "Lokale Domain {} existiert nicht."
127
126
 
@@ -162,41 +161,41 @@ msgstr "Ein unlimitiertes Kontingent ist nicht möglich."
162
161
  msgid "User '%s' already exists"
163
162
  msgstr "Benutzer %s existiert bereits"
164
163
 
165
- #: admin/api/v2/serializers.py:255 admin/api/v2/serializers.py:261
164
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
166
165
  msgid "Must be a positive integer"
167
166
  msgstr "Muss eine positive Ganzzahl sein"
168
167
 
169
- #: admin/api/v2/serializers.py:270
168
+ #: admin/api/v2/serializers.py:271
170
169
  msgid "openssl not found, please make sure it is installed."
171
170
  msgstr "openssl nicht gefunden, bitte sicherstellen, dass es installiert ist"
172
171
 
173
- #: admin/api/v2/serializers.py:273 pdfcredentials/api/v2/serializers.py:84
172
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
174
173
  msgid "Directory not found."
175
174
  msgstr "Verzeichnis nicht gefunden."
176
175
 
177
- #: admin/api/v2/serializers.py:284
176
+ #: admin/api/v2/serializers.py:285
178
177
  msgid "This field only allows valid IP addresses (or networks)"
179
178
  msgstr "Dieses Feld erlaubt nur gültige IP-Adressen (oder Netzwerke)"
180
179
 
181
- #: admin/api/v2/serializers.py:297
180
+ #: admin/api/v2/serializers.py:298
182
181
  msgid "Please disable imap migration before disabling this option."
183
182
  msgstr "Bitte IMAP Migration deaktivieren bevor Sie diese Option deaktivieren."
184
183
 
185
- #: admin/api/v2/serializers.py:310
184
+ #: admin/api/v2/serializers.py:311
186
185
  msgid "Define at least one authorized network / address"
187
186
  msgstr "Mindestens ein authorisiertes Netzwerk/IP-Adresse muss definiert sein"
188
187
 
189
- #: admin/api/v2/serializers.py:587
188
+ #: admin/api/v2/serializers.py:588
190
189
  msgid "The left part of an email address can't be more than 64 characters."
191
190
  msgstr ""
192
191
  "Der linke Teil einer E-Mail-Adresse darf nicht mehr als 64 Zeichen lang "
193
192
  "sein. "
194
193
 
195
- #: admin/api/v2/serializers.py:609
194
+ #: admin/api/v2/serializers.py:610
196
195
  msgid "A mailbox is required to create aliases."
197
196
  msgstr "Zum Erstellen von Aliassen ist ein Postfach erforderlich."
198
197
 
199
- #: admin/api/v2/serializers.py:782
198
+ #: admin/api/v2/serializers.py:783
200
199
  msgid "Unknown status"
201
200
  msgstr "Unbekannter Status"
202
201
 
@@ -292,19 +291,29 @@ msgstr "Aktiviere DNSBL-Prüfungen"
292
291
  msgid "Check every domain against major DNSBL providers"
293
292
  msgstr "Prüfe jede Domain gegen die wichtigsten DNSBL-Anbieter"
294
293
 
295
- #: admin/app_settings.py:116
294
+ #: admin/app_settings.py:117
295
+ msgid "Notify domain admins about DNS issues"
296
+ msgstr ""
297
+
298
+ #: admin/app_settings.py:120
299
+ msgid ""
300
+ "Send a notification by email to domain administrators when DNS issues are "
301
+ "encountered"
302
+ msgstr ""
303
+
304
+ #: admin/app_settings.py:128
296
305
  msgid "Custom DNS server"
297
306
  msgstr "Benutzerdefinierter DNS Server"
298
307
 
299
- #: admin/app_settings.py:118
308
+ #: admin/app_settings.py:130
300
309
  msgid "Use a custom DNS server instead of local server configuration"
301
310
  msgstr "eigener DNS-Server umgeht die lokale Namensauflösung"
302
311
 
303
- #: admin/app_settings.py:126
312
+ #: admin/app_settings.py:138
304
313
  msgid "DKIM keys storage directory"
305
314
  msgstr "Verzeichnis für DKIM-Keys"
306
315
 
307
- #: admin/app_settings.py:128
316
+ #: admin/app_settings.py:140
308
317
  msgid ""
309
318
  "Absolute path of the directory where DKIM private keys will be stored. Make "
310
319
  "sure this directory belongs to root user and is not readable by the outside "
@@ -313,19 +322,19 @@ msgstr ""
313
322
  "Absoluter Pfad des Verzeichnisses zur Aufbewahrung von DKIM-Keys. Das "
314
323
  "Verzeichnis sollte nur dem root-User zugänglich sein."
315
324
 
316
- #: admin/app_settings.py:137
325
+ #: admin/app_settings.py:149
317
326
  msgid "Default DKIM key length"
318
327
  msgstr "voreingestellte DKIM Schlüssellänge"
319
328
 
320
- #: admin/app_settings.py:139
329
+ #: admin/app_settings.py:151
321
330
  msgid "Default length in bits for newly generated DKIM keys."
322
331
  msgstr "Voreingestellte Länge in Bits neu zu generierender DKIM-Keys."
323
332
 
324
- #: admin/app_settings.py:146
333
+ #: admin/app_settings.py:158
325
334
  msgid "Default domain quota"
326
335
  msgstr "Standard-Domainquota"
327
336
 
328
- #: admin/app_settings.py:148
337
+ #: admin/app_settings.py:160
329
338
  msgid ""
330
339
  "Default quota (in MB) applied to freshly created domains with no value "
331
340
  "specified. A value of 0 means no quota."
@@ -333,11 +342,11 @@ msgstr ""
333
342
  "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. "
334
343
  "Der Wert 0 bedeutet „Keine Quota“"
335
344
 
336
- #: admin/app_settings.py:156
345
+ #: admin/app_settings.py:168
337
346
  msgid "Default domain sending limit"
338
347
  msgstr "Standard Domänen-Sendelimit"
339
348
 
340
- #: admin/app_settings.py:158
349
+ #: admin/app_settings.py:170
341
350
  msgid ""
342
351
  "Number of messages freshly created domains will be allowed to send per day. "
343
352
  "Leave empty for no limit."
@@ -345,16 +354,16 @@ msgstr ""
345
354
  "Anzahl der Nachrichten, die neu erstellte Domänen pro Tag senden dürfen. "
346
355
  "Leer lassen für kein Limit."
347
356
 
348
- #: admin/app_settings.py:170 limits/app_settings.py:61
357
+ #: admin/app_settings.py:182 limits/app_settings.py:61
349
358
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
350
359
  msgid "Mailboxes"
351
360
  msgstr "E-Mail-Postfächer"
352
361
 
353
- #: admin/app_settings.py:176
362
+ #: admin/app_settings.py:188
354
363
  msgid "Handle mailboxes on filesystem"
355
364
  msgstr "Postfächer im Dateisystem verwalten"
356
365
 
357
- #: admin/app_settings.py:178
366
+ #: admin/app_settings.py:190
358
367
  msgid ""
359
368
  "Rename or remove mailboxes on the filesystem when they get renamed or "
360
369
  "removed within Modoboa"
@@ -362,11 +371,11 @@ msgstr ""
362
371
  "Postfächer auch im Dateisystem umbenennen oder entfernen wenn sie in Modoboa "
363
372
  "umbenannt oder entfernt werden"
364
373
 
365
- #: admin/app_settings.py:186 admin/models/domain.py:36
374
+ #: admin/app_settings.py:198 admin/models/domain.py:36
366
375
  msgid "Default mailbox quota"
367
376
  msgstr "Standard Postfach Kontingent"
368
377
 
369
- #: admin/app_settings.py:188
378
+ #: admin/app_settings.py:200
370
379
  msgid ""
371
380
  "Default mailbox quota (in MB) applied to freshly created domains with no "
372
381
  "value specified. A value of 0 means no quota."
@@ -375,11 +384,11 @@ msgstr ""
375
384
  "Angabe eines Wertes angewendet wird. Ein Wert von 0 bedeutet keine "
376
385
  "Begrenzung."
377
386
 
378
- #: admin/app_settings.py:197
387
+ #: admin/app_settings.py:209
379
388
  msgid "Default mailbox sending limit"
380
389
  msgstr "Standard-Postfach-Versandlimit"
381
390
 
382
- #: admin/app_settings.py:199
391
+ #: admin/app_settings.py:211
383
392
  msgid ""
384
393
  "Number of messages freshly created mailboxes will be allowed to send per "
385
394
  "day. Leave empty for no limit."
@@ -387,64 +396,64 @@ msgstr ""
387
396
  "Anzahl der Nachrichten, die neu erstellte Postfächer pro Tag senden dürfen. "
388
397
  "Leer lassen für keine Begrenzung."
389
398
 
390
- #: admin/app_settings.py:207
399
+ #: admin/app_settings.py:219
391
400
  msgid "Automatic account removal"
392
401
  msgstr "Automatische Konto-Entfernung"
393
402
 
394
- #: admin/app_settings.py:209
403
+ #: admin/app_settings.py:221
395
404
  msgid "When a mailbox is removed, also remove the associated account"
396
405
  msgstr "Beim Löschen des Postfachs auch das Konto entfernen."
397
406
 
398
- #: admin/app_settings.py:218
407
+ #: admin/app_settings.py:230
399
408
  msgid "Automatic domain/mailbox creation"
400
409
  msgstr "Automatische Domain- /Postfach-Erstellung"
401
410
 
402
- #: admin/app_settings.py:221
411
+ #: admin/app_settings.py:233
403
412
  msgid "Create a domain and a mailbox when an account is automatically created."
404
413
  msgstr ""
405
414
  "Erstelle eine Domain und ein Postfach, wenn ein Konto automatisch erstellt "
406
415
  "wurde."
407
416
 
408
- #: admin/app_settings.py:230
417
+ #: admin/app_settings.py:242
409
418
  msgid "Create an alias when a mailbox is renamed"
410
419
  msgstr "Erzeuge Alias, wenn Mailbox umbenannt wird."
411
420
 
412
- #: admin/app_settings.py:233
421
+ #: admin/app_settings.py:245
413
422
  msgid "Create an alias using the old address when a mailbox is renamed."
414
423
  msgstr ""
415
424
  "Erzeuge Alias mit der bisherigen Adresse, wenn ein Postfach umbenannt wurde."
416
425
 
417
- #: admin/app_settings.py:245
426
+ #: admin/app_settings.py:257
418
427
  #, fuzzy
419
428
  #| msgid "alias"
420
429
  msgid "Aliases"
421
430
  msgstr "Alias"
422
431
 
423
- #: admin/app_settings.py:251
432
+ #: admin/app_settings.py:263
424
433
  msgid "Alias can target any domain"
425
434
  msgstr ""
426
435
 
427
- #: admin/app_settings.py:253
436
+ #: admin/app_settings.py:265
428
437
  msgid "Allow aliases to target any domain, not just the local domains."
429
438
  msgstr ""
430
439
 
431
- #: admin/app_settings.py:260
440
+ #: admin/app_settings.py:272
432
441
  msgid "Alias target block list"
433
442
  msgstr ""
434
443
 
435
- #: admin/app_settings.py:262
444
+ #: admin/app_settings.py:274
436
445
  msgid "A list of domains that aliases cannot target (comma separated)."
437
446
  msgstr ""
438
447
 
439
- #: admin/app_settings.py:270
448
+ #: admin/app_settings.py:282
440
449
  msgid "Alias target allow list"
441
450
  msgstr ""
442
451
 
443
- #: admin/app_settings.py:272
452
+ #: admin/app_settings.py:284
444
453
  msgid "A list of domains that aliases can target (comma separated)."
445
454
  msgstr ""
446
455
 
447
- #: admin/app_settings.py:326 core/api/v2/viewsets.py:174
456
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
448
457
  msgid "Administration"
449
458
  msgstr "Verwaltung"
450
459
 
@@ -464,6 +473,35 @@ msgstr "Geöffnete"
464
473
  msgid "Closed"
465
474
  msgstr "Geschlossen"
466
475
 
476
+ #: admin/dns_checker.py:96
477
+ msgid "MX {} listed by DNSBL provider {}"
478
+ msgstr "MX {} gelistet durch DNSBL-Anbieter {}"
479
+
480
+ #: admin/dns_checker.py:138
481
+ msgid "Domain has no MX record"
482
+ msgstr "Die Domain hat kein MX-Eintrag"
483
+
484
+ #: admin/dns_checker.py:141
485
+ msgid "Domain {} has no MX record"
486
+ msgstr "Domain {} hat keinen MX-Eintrag"
487
+
488
+ #: admin/dns_checker.py:159
489
+ msgid "Invalid MX record: {}"
490
+ msgstr "Falscher MX-Eintrag: {}"
491
+
492
+ #: admin/dns_checker.py:166
493
+ #, python-brace-format
494
+ msgid "MX record for domain {0} is invalid: {1}"
495
+ msgstr "MX-Eingrag für Domain {0} ist ungültig: {1}"
496
+
497
+ #: admin/dns_checker.py:177
498
+ msgid "[modoboa] MX issue(s) for domain {}"
499
+ msgstr "[modoboa] MX Problem(e) für Domain {}"
500
+
501
+ #: admin/dns_checker.py:224
502
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
503
+ msgstr "[modoboa] DNSBL Problem(e) für Domain {}"
504
+
467
505
  #: admin/handlers.py:179
468
506
  msgid "domain alias"
469
507
  msgstr "Domain-Alias"
@@ -487,8 +525,8 @@ msgid "You are not allowed to import domain aliases."
487
525
  msgstr ""
488
526
  "Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren."
489
527
 
490
- #: admin/lib.py:227 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
491
- #: admin/tests/test_mx.py:171
528
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
529
+ #: admin/tests/test_mx.py:157
492
530
  #, python-format
493
531
  msgid "No DNS record found for %s"
494
532
  msgstr "Kein DNS Eintrag für %s gefunden"
@@ -498,11 +536,11 @@ msgstr "Kein DNS Eintrag für %s gefunden"
498
536
  msgid "No %(type)s record for %(name)s"
499
537
  msgstr "Kein %(type)s Eintrag für %(name)s"
500
538
 
501
- #: admin/lib.py:234 admin/tests/test_mx.py:156
539
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
502
540
  msgid "No working name servers found"
503
541
  msgstr "Keine funktionierenden Namensserver gefunden"
504
542
 
505
- #: admin/lib.py:237 admin/tests/test_mx.py:160
543
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
506
544
  #, python-format
507
545
  msgid "DNS resolution timeout, unable to query %s at the moment"
508
546
  msgstr "DNS Error bei der Auflösung, konnte %s nicht auflösen"
@@ -556,35 +594,6 @@ msgstr "Der private DKIM-Schlüssel konnte nicht erzeugt werden"
556
594
  msgid "Failed to generate DKIM public key"
557
595
  msgstr "Der öffentliche DKIM-Schlüssel konnte nicht erzeugt werden"
558
596
 
559
- #: admin/management/commands/subcommands/_mx.py:133
560
- msgid "MX {} listed by DNSBL provider {}"
561
- msgstr "MX {} gelistet durch DNSBL-Anbieter {}"
562
-
563
- #: admin/management/commands/subcommands/_mx.py:174
564
- msgid "Domain has no MX record"
565
- msgstr "Die Domain hat kein MX-Eintrag"
566
-
567
- #: admin/management/commands/subcommands/_mx.py:177
568
- msgid "Domain {} has no MX record"
569
- msgstr "Domain {} hat keinen MX-Eintrag"
570
-
571
- #: admin/management/commands/subcommands/_mx.py:195
572
- msgid "Invalid MX record: {}"
573
- msgstr "Falscher MX-Eintrag: {}"
574
-
575
- #: admin/management/commands/subcommands/_mx.py:202
576
- #, python-brace-format
577
- msgid "MX record for domain {0} is invalid: {1}"
578
- msgstr "MX-Eingrag für Domain {0} ist ungültig: {1}"
579
-
580
- #: admin/management/commands/subcommands/_mx.py:213
581
- msgid "[modoboa] MX issue(s) for domain {}"
582
- msgstr "[modoboa] MX Problem(e) für Domain {}"
583
-
584
- #: admin/management/commands/subcommands/_mx.py:269
585
- msgid "[modoboa] DNSBL issue(s) for domain {}"
586
- msgstr "[modoboa] DNSBL Problem(e) für Domain {}"
587
-
588
597
  #: admin/models/alias.py:43
589
598
  msgid "Domain not found."
590
599
  msgstr "Domain nicht gefunden."
@@ -776,17 +785,17 @@ msgstr ""
776
785
  "Modoboa hat erkannt, dass für die Domain %(domain)s kein valider MX Eintrag "
777
786
  "vorliegt:"
778
787
 
779
- #: admin/tests/test_mx.py:155
788
+ #: admin/tests/test_mx.py:141
780
789
  #, python-format
781
790
  msgid "No MX record for %s"
782
791
  msgstr "Kein MX Eintrag für %s"
783
792
 
784
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
793
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
785
794
  #, python-format
786
795
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
787
796
  msgstr "Ferhlerhaftes IP-Adressformat für %(domain)s; %(addr)s"
788
797
 
789
- #: admin/tests/test_mx.py:199
798
+ #: admin/tests/test_mx.py:185
790
799
  #, python-format
791
800
  msgid "No AAAA record for %s"
792
801
  msgstr "Kein AAAA-Eintrag für %s"
@@ -998,11 +1007,11 @@ msgid ""
998
1007
  "database)"
999
1008
  msgstr ""
1000
1009
 
1001
- #: amavis/app_settings.py:236 webmail/app_settings.py:118
1010
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
1002
1011
  msgid "Display"
1003
1012
  msgstr "Darstellung"
1004
1013
 
1005
- #: amavis/app_settings.py:243 webmail/app_settings.py:144
1014
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
1006
1015
  msgid "Number of displayed emails per page"
1007
1016
  msgstr "Anzahl dargestellter Nachrichten pro Seite"
1008
1017
 
@@ -1281,7 +1290,7 @@ msgstr ""
1281
1290
  "Domänenadministratoren erlauben, Benutzerkalender zu verwalten (Lesen und "
1282
1291
  "Schreiben)"
1283
1292
 
1284
- #: calendars/app_settings.py:60 core/app_settings.py:676
1293
+ #: calendars/app_settings.py:60 core/app_settings.py:664
1285
1294
  #: rspamd/app_settings.py:45
1286
1295
  msgid "Miscellaneous"
1287
1296
  msgstr "Verschiedenes"
@@ -1301,12 +1310,12 @@ msgstr ""
1301
1310
  msgid "Calendars"
1302
1311
  msgstr "Kalender"
1303
1312
 
1304
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1313
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
1305
1314
  msgid "Server location is not set, please fix it."
1306
1315
  msgstr ""
1307
1316
  "Der Serverstandort ist nicht festgelegt. Bitte beheben Sie das Problem."
1308
1317
 
1309
- #: calendars/viewsets.py:197
1318
+ #: calendars/viewsets.py:199
1310
1319
  msgid "Uploaded file is too big (max: {} bytes)"
1311
1320
  msgstr "Hochgeladene Datei ist zu groß (max: {} Bytes)"
1312
1321
 
@@ -1389,7 +1398,7 @@ msgstr ""
1389
1398
  "Fehlgeschlagener Versuch die TFA-Einstellungen von '%(addr)s' als Benutzer "
1390
1399
  "'%(user)s' zu bearbeiten"
1391
1400
 
1392
- #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:445
1401
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
1393
1402
  msgid "Invalid password"
1394
1403
  msgstr "Ungültiges Passwort"
1395
1404
 
@@ -1401,24 +1410,20 @@ msgstr "2-Faktor-Authentifizierung ist nicht aktiviert"
1401
1410
  msgid "Local"
1402
1411
  msgstr "Lokal"
1403
1412
 
1404
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
1405
- msgid "User profile"
1406
- msgstr "Benutzername"
1407
-
1408
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
1409
- #: core/api/v2/serializers.py:228
1413
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1414
+ #: core/api/v2/serializers.py:221
1410
1415
  msgid "Invalid syntax"
1411
1416
  msgstr "Ungültiger Syntax"
1412
1417
 
1413
- #: core/api/v2/serializers.py:233
1418
+ #: core/api/v2/serializers.py:226
1414
1419
  msgid "Invalid rounds number"
1415
1420
  msgstr "Ungültige Zahl für Runden"
1416
1421
 
1417
- #: core/api/v2/serializers.py:433 core/forms.py:81
1422
+ #: core/api/v2/serializers.py:426 core/forms.py:81
1418
1423
  msgid "This code is invalid"
1419
1424
  msgstr "Dieser Code ist Falsch"
1420
1425
 
1421
- #: core/api/v2/serializers.py:503 core/views/auth.py:213 core/views/auth.py:266
1426
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
1422
1427
  msgid "Please use the following code to recover your Modoboa password: {}"
1423
1428
  msgstr ""
1424
1429
  "Bitte benutze den folgenden Code um das Modoboa Passwort wiederherzustellen: "
@@ -1447,35 +1452,35 @@ msgid "Calendar"
1447
1452
  msgstr "Kalender"
1448
1453
 
1449
1454
  #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1450
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1455
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1451
1456
  msgid "Webmail"
1452
1457
  msgstr "Webmail"
1453
1458
 
1454
- #: core/app_settings.py:37
1459
+ #: core/app_settings.py:25
1455
1460
  msgid "Authentication"
1456
1461
  msgstr "Authentifizierung"
1457
1462
 
1458
- #: core/app_settings.py:43
1463
+ #: core/app_settings.py:31
1459
1464
  msgid "Authentication type"
1460
1465
  msgstr "Authentifizierungstyp"
1461
1466
 
1462
- #: core/app_settings.py:45
1467
+ #: core/app_settings.py:33
1463
1468
  msgid "The backend used for authentication"
1464
1469
  msgstr "Backend für die Authentifizierung"
1465
1470
 
1466
- #: core/app_settings.py:52
1471
+ #: core/app_settings.py:40
1467
1472
  msgid "Default password scheme"
1468
1473
  msgstr "Standard-Passwortschema"
1469
1474
 
1470
- #: core/app_settings.py:54
1475
+ #: core/app_settings.py:42
1471
1476
  msgid "Scheme used to crypt mailbox passwords"
1472
1477
  msgstr "Verschlüsselungsschema der Postfach-Passwörter"
1473
1478
 
1474
- #: core/app_settings.py:61
1479
+ #: core/app_settings.py:49
1475
1480
  msgid "Rounds"
1476
1481
  msgstr "Runden"
1477
1482
 
1478
- #: core/app_settings.py:63
1483
+ #: core/app_settings.py:51
1479
1484
  msgid ""
1480
1485
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1481
1486
  "between 1000 and 999999999, inclusive."
@@ -1483,45 +1488,45 @@ msgstr ""
1483
1488
  "Anzahl zu verwendender Runden (nur für sha256crypt und sha512crypt). Zahl "
1484
1489
  "muss zwischen 1000 und 999999999 liegen."
1485
1490
 
1486
- #: core/app_settings.py:73
1491
+ #: core/app_settings.py:61
1487
1492
  msgid "Update password scheme at login"
1488
1493
  msgstr "Aktualisiere das Passwortschema beim Anmelden"
1489
1494
 
1490
- #: core/app_settings.py:76
1495
+ #: core/app_settings.py:64
1491
1496
  msgid "Update user password at login to use the default password scheme"
1492
1497
  msgstr ""
1493
1498
  "Aktualisieren Sie das Benutzerkennwort bei der Anmeldung, um das Standard-"
1494
1499
  "Passwortschema zu verwenden."
1495
1500
 
1496
- #: core/app_settings.py:84
1501
+ #: core/app_settings.py:72
1497
1502
  msgid "Default password"
1498
1503
  msgstr "Standardpasswort"
1499
1504
 
1500
- #: core/app_settings.py:86
1505
+ #: core/app_settings.py:74
1501
1506
  msgid "Default password for automatically created accounts."
1502
1507
  msgstr "Standardpasswort für automatisch erstellte Accounts."
1503
1508
 
1504
- #: core/app_settings.py:93
1509
+ #: core/app_settings.py:81
1505
1510
  msgid "Random password length"
1506
1511
  msgstr "Zufällige Passwortlänge"
1507
1512
 
1508
- #: core/app_settings.py:95
1513
+ #: core/app_settings.py:83
1509
1514
  msgid "Length of randomly generated passwords."
1510
1515
  msgstr "Länge von zufällig generierten Passwörtern"
1511
1516
 
1512
- #: core/app_settings.py:103
1517
+ #: core/app_settings.py:91
1513
1518
  msgid "Allow special characters for random password"
1514
1519
  msgstr "Sonderzeichen für zufällige Passwörter zulassen"
1515
1520
 
1516
- #: core/app_settings.py:106
1521
+ #: core/app_settings.py:94
1517
1522
  msgid "Enable special characters in randomly generated passwords."
1518
1523
  msgstr "Sonderzeichen in zufällig generierten Passwörtern aktivieren."
1519
1524
 
1520
- #: core/app_settings.py:114
1525
+ #: core/app_settings.py:102
1521
1526
  msgid "Update password service URL"
1522
1527
  msgstr "Aktualisiere Passwort-Service-URL"
1523
1528
 
1524
- #: core/app_settings.py:116
1529
+ #: core/app_settings.py:104
1525
1530
  msgid ""
1526
1531
  "The URL of an external page where users will be able to update their "
1527
1532
  "password. It applies only to non local users, ie. those automatically "
@@ -1531,107 +1536,107 @@ msgstr ""
1531
1536
  "Diese Einstellung trifft nur auf nicht lokale Benutzer zu, z.B: Benutzer die "
1532
1537
  "nach erfolgreicher externer Authentifizierung angelegt wurden (LDAP, SMTP)."
1533
1538
 
1534
- #: core/app_settings.py:126
1539
+ #: core/app_settings.py:114
1535
1540
  msgid "Password recovery announcement"
1536
1541
  msgstr "Ankündigung zur Passwort-Wiederherstellung"
1537
1542
 
1538
- #: core/app_settings.py:128
1543
+ #: core/app_settings.py:116
1539
1544
  msgid "A temporary message that will be displayed on the reset password page."
1540
1545
  msgstr ""
1541
1546
  "Eine temporäre Nachricht, die auf der Passwort-Wiederherstellungsseite "
1542
1547
  "angezeigt wird."
1543
1548
 
1544
- #: core/app_settings.py:137
1549
+ #: core/app_settings.py:125
1545
1550
  msgid "Enable password recovery by SMS"
1546
1551
  msgstr "Aktiviere die Passwortwiederherstellung per SMS"
1547
1552
 
1548
- #: core/app_settings.py:140
1553
+ #: core/app_settings.py:128
1549
1554
  msgid "Enable password recovery by SMS for users who filled a phone number."
1550
1555
  msgstr ""
1551
1556
  "Aktiviere die Passwortwiederherstellung per SMS für Benutzer mit einer "
1552
1557
  "Telefonnummer."
1553
1558
 
1554
- #: core/app_settings.py:148
1559
+ #: core/app_settings.py:136
1555
1560
  msgid "SMS provider"
1556
1561
  msgstr "SMS Anbieter"
1557
1562
 
1558
- #: core/app_settings.py:151
1563
+ #: core/app_settings.py:139
1559
1564
  msgid "Choose a provider to send password recovery SMS"
1560
1565
  msgstr "Wähle einen Anbieter für das verschicken der Wiederherstellungs-SMS"
1561
1566
 
1562
- #: core/app_settings.py:163
1567
+ #: core/app_settings.py:151
1563
1568
  msgid "LDAP"
1564
1569
  msgstr "LDAP"
1565
1570
 
1566
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1571
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1567
1572
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1568
- #: webmail/app_settings.py:73
1573
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1569
1574
  msgid "Server address"
1570
1575
  msgstr "Server-Adresse"
1571
1576
 
1572
- #: core/app_settings.py:171
1577
+ #: core/app_settings.py:159
1573
1578
  msgid "The IP address or the DNS name of the LDAP server"
1574
1579
  msgstr "IP-Adresse oder Hostname des LDAP-Servers"
1575
1580
 
1576
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1581
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1577
1582
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1578
- #: webmail/app_settings.py:91
1583
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1579
1584
  msgid "Server port"
1580
1585
  msgstr "Server-Port"
1581
1586
 
1582
- #: core/app_settings.py:180
1587
+ #: core/app_settings.py:168
1583
1588
  msgid "The TCP port number used by the LDAP server"
1584
1589
  msgstr "Der TCP Port des LDAP-Servers"
1585
1590
 
1586
- #: core/app_settings.py:188
1591
+ #: core/app_settings.py:176
1587
1592
  msgid "Enable secondary server (fallback)"
1588
1593
  msgstr "Aktiviere Ausfallsserver (Fallback)"
1589
1594
 
1590
- #: core/app_settings.py:191
1595
+ #: core/app_settings.py:179
1591
1596
  msgid ""
1592
1597
  "Enable a secondary LDAP server which will be used if the primary one fails"
1593
1598
  msgstr ""
1594
1599
  "Aktiviere einen zweiten LDAP-Server, welcher verwendet wird, wenn der erste "
1595
1600
  "nicht erreichbar ist"
1596
1601
 
1597
- #: core/app_settings.py:199
1602
+ #: core/app_settings.py:187
1598
1603
  msgid "Secondary server address"
1599
1604
  msgstr "Ausfallsserver-Adresse"
1600
1605
 
1601
- #: core/app_settings.py:202
1606
+ #: core/app_settings.py:190
1602
1607
  msgid "The IP address or the DNS name of the seondary LDAP server"
1603
1608
  msgstr "Die IP-Adresse oder den DNS-Namen des zweiten LDAP-Servers"
1604
1609
 
1605
- #: core/app_settings.py:209
1610
+ #: core/app_settings.py:197
1606
1611
  msgid "Secondary server port"
1607
1612
  msgstr "Ausfallsserver-Port"
1608
1613
 
1609
- #: core/app_settings.py:212
1614
+ #: core/app_settings.py:200
1610
1615
  msgid "The TCP port number used by the LDAP secondary server"
1611
1616
  msgstr "Der TCP Port des sekundären LDAP-Servers"
1612
1617
 
1613
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1618
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1614
1619
  #: webmail/app_settings.py:45
1615
1620
  msgid "Use a secured connection"
1616
1621
  msgstr "Benutze eine sichere Verbindung"
1617
1622
 
1618
- #: core/app_settings.py:221
1623
+ #: core/app_settings.py:209
1619
1624
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1620
1625
  msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden"
1621
1626
 
1622
- #: core/app_settings.py:228
1627
+ #: core/app_settings.py:216
1623
1628
  msgid "Active Directory"
1624
1629
  msgstr "Active Directory"
1625
1630
 
1626
- #: core/app_settings.py:230
1631
+ #: core/app_settings.py:218
1627
1632
  msgid "Tell if the LDAP server is an Active Directory one"
1628
1633
  msgstr "Auswählen wenn der LDAP-Server ein Active Directory ist."
1629
1634
 
1630
- #: core/app_settings.py:237
1635
+ #: core/app_settings.py:225
1631
1636
  msgid "Administrator groups"
1632
1637
  msgstr "Administrator-Gruppen"
1633
1638
 
1634
- #: core/app_settings.py:239
1639
+ #: core/app_settings.py:227
1635
1640
  msgid ""
1636
1641
  "Members of those LDAP Posix groups will be created as domain administrators. "
1637
1642
  "Use ';' characters to separate groups."
@@ -1639,75 +1644,75 @@ msgstr ""
1639
1644
  "Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren "
1640
1645
  "angelegt werden. Nutzen Sie ';', um Gruppen zu separieren."
1641
1646
 
1642
- #: core/app_settings.py:248
1647
+ #: core/app_settings.py:236
1643
1648
  msgid "Group type"
1644
1649
  msgstr "Gruppentyp"
1645
1650
 
1646
- #: core/app_settings.py:250
1651
+ #: core/app_settings.py:238
1647
1652
  msgid "The LDAP group type to use with your directory."
1648
1653
  msgstr ""
1649
1654
  "Der LDAP Gruppentyp welcher mit diesem Verzeichnis benutzt werden soll."
1650
1655
 
1651
- #: core/app_settings.py:257
1656
+ #: core/app_settings.py:245
1652
1657
  msgid "Groups search base"
1653
1658
  msgstr "Gruppen Search Base"
1654
1659
 
1655
- #: core/app_settings.py:259
1660
+ #: core/app_settings.py:247
1656
1661
  msgid "The distinguished name of the search base used to find groups"
1657
1662
  msgstr "Der DN der Search Base mit der Gruppen gefunden werden"
1658
1663
 
1659
- #: core/app_settings.py:267
1664
+ #: core/app_settings.py:255
1660
1665
  msgid "Password attribute"
1661
1666
  msgstr "Passwort-Attribut"
1662
1667
 
1663
- #: core/app_settings.py:269
1668
+ #: core/app_settings.py:257
1664
1669
  msgid "The attribute used to store user passwords"
1665
1670
  msgstr "Das Attribut für Benutzerpasswörter"
1666
1671
 
1667
- #: core/app_settings.py:276
1672
+ #: core/app_settings.py:264
1668
1673
  msgid "LDAP authentication settings"
1669
1674
  msgstr "LDAP Authentifizierungseinstellungen"
1670
1675
 
1671
- #: core/app_settings.py:284
1676
+ #: core/app_settings.py:272
1672
1677
  msgid "Authentication method"
1673
1678
  msgstr "Authentifizierungsmethode"
1674
1679
 
1675
- #: core/app_settings.py:287
1680
+ #: core/app_settings.py:275
1676
1681
  msgid "Choose the authentication method to use"
1677
1682
  msgstr "Wählen Sie die Authentifizierungsmethode"
1678
1683
 
1679
- #: core/app_settings.py:294 core/app_settings.py:357
1684
+ #: core/app_settings.py:282 core/app_settings.py:345
1680
1685
  msgid "Bind DN"
1681
1686
  msgstr "Bind DN"
1682
1687
 
1683
- #: core/app_settings.py:296 core/app_settings.py:359
1688
+ #: core/app_settings.py:284 core/app_settings.py:347
1684
1689
  msgid ""
1685
1690
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1686
1691
  "for an anonymous bind"
1687
1692
  msgstr ""
1688
1693
  "Der DN für einen Bind an den LDAP-Server. Nichts eingeben für anonymen Bind."
1689
1694
 
1690
- #: core/app_settings.py:305 core/app_settings.py:367
1695
+ #: core/app_settings.py:293 core/app_settings.py:355
1691
1696
  msgid "Bind password"
1692
1697
  msgstr "Bind Passwort"
1693
1698
 
1694
- #: core/app_settings.py:307 core/app_settings.py:369
1699
+ #: core/app_settings.py:295 core/app_settings.py:357
1695
1700
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1696
1701
  msgstr "Das Passwort wenn mit dem Bind DN angemeldet wird."
1697
1702
 
1698
- #: core/app_settings.py:317 core/app_settings.py:422
1703
+ #: core/app_settings.py:305 core/app_settings.py:410
1699
1704
  msgid "Users search base"
1700
1705
  msgstr "Benutzer Search Base"
1701
1706
 
1702
- #: core/app_settings.py:319 core/app_settings.py:424
1707
+ #: core/app_settings.py:307 core/app_settings.py:412
1703
1708
  msgid "The distinguished name of the search base used to find users"
1704
1709
  msgstr "Der DN der Search Base mit der Benutzerkonten gefunden werden"
1705
1710
 
1706
- #: core/app_settings.py:328 core/app_settings.py:433
1711
+ #: core/app_settings.py:316 core/app_settings.py:421
1707
1712
  msgid "Search filter"
1708
1713
  msgstr "Suchfilter"
1709
1714
 
1710
- #: core/app_settings.py:330 core/app_settings.py:435
1715
+ #: core/app_settings.py:318 core/app_settings.py:423
1711
1716
  msgid ""
1712
1717
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1713
1718
  "valid, it must be enclosed in parentheses."
@@ -1715,11 +1720,11 @@ msgstr ""
1715
1720
  "Ein optionaler Filter, z.B. '(objectClass=person)'. Der Filter muss "
1716
1721
  "entsprechend der LDAP-Konvention in Klammern gesetzt werden."
1717
1722
 
1718
- #: core/app_settings.py:339
1723
+ #: core/app_settings.py:327
1719
1724
  msgid "User DN template"
1720
1725
  msgstr "Vorlage für User DN"
1721
1726
 
1722
- #: core/app_settings.py:341
1727
+ #: core/app_settings.py:329
1723
1728
  #, python-format
1724
1729
  msgid ""
1725
1730
  "The template used to construct a user's DN. It should contain one "
@@ -1728,26 +1733,26 @@ msgstr ""
1728
1733
  "Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s "
1729
1734
  "enthalten."
1730
1735
 
1731
- #: core/app_settings.py:350
1736
+ #: core/app_settings.py:338
1732
1737
  msgid "LDAP synchronization settings"
1733
1738
  msgstr "LDAP Synchronisations Einstellungen"
1734
1739
 
1735
- #: core/app_settings.py:378
1740
+ #: core/app_settings.py:366
1736
1741
  msgid "Enable export to LDAP"
1737
1742
  msgstr "Export zu LDAP aktivieren"
1738
1743
 
1739
- #: core/app_settings.py:380
1744
+ #: core/app_settings.py:368
1740
1745
  msgid ""
1741
1746
  "Enable automatic synchronization between local database and LDAP directory"
1742
1747
  msgstr ""
1743
1748
  "Automatische Synchronisation zwischen lokaler Datenbank und LDAP Verzeichnis "
1744
1749
  "aktivieren"
1745
1750
 
1746
- #: core/app_settings.py:389
1751
+ #: core/app_settings.py:377
1747
1752
  msgid "Delete remote LDAP account when local account is deleted"
1748
1753
  msgstr "Remote LDAP Benutzer entfernen wenn lokaler Benutzer gelöscht wird"
1749
1754
 
1750
- #: core/app_settings.py:392
1755
+ #: core/app_settings.py:380
1751
1756
  msgid ""
1752
1757
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1753
1758
  "be disabled."
@@ -1755,11 +1760,11 @@ msgstr ""
1755
1760
  "Remote LDAP Benutzer löschen wenn lokaler Benutzer gelöscht wird, ansonsten "
1756
1761
  "wird der Benutzer deaktiviert."
1757
1762
 
1758
- #: core/app_settings.py:401
1763
+ #: core/app_settings.py:389
1759
1764
  msgid "Account DN template"
1760
1765
  msgstr "Vorlage für User DN"
1761
1766
 
1762
- #: core/app_settings.py:403
1767
+ #: core/app_settings.py:391
1763
1768
  #, python-format
1764
1769
  msgid ""
1765
1770
  "The template used to construct an account's DN. It should contain one "
@@ -1768,92 +1773,92 @@ msgstr ""
1768
1773
  "Die Vorlage die verwendet wird um das User DN zu generieren. Es sollte "
1769
1774
  "mindestens einen Platzhalter beinhalten (z.B. %(user)s)"
1770
1775
 
1771
- #: core/app_settings.py:412
1776
+ #: core/app_settings.py:400
1772
1777
  msgid "Enable import from LDAP"
1773
1778
  msgstr "Import von LDAP aktivieren"
1774
1779
 
1775
- #: core/app_settings.py:414
1780
+ #: core/app_settings.py:402
1776
1781
  msgid "Enable account synchronization from LDAP directory to local database"
1777
1782
  msgstr ""
1778
1783
  "Automatische Kontensynchronisation vom LDAP Verzeichnis in die lokale "
1779
1784
  "Datenbank aktivieren"
1780
1785
 
1781
- #: core/app_settings.py:444
1786
+ #: core/app_settings.py:432
1782
1787
  msgid "Username attribute"
1783
1788
  msgstr "Benutzernamenattribut"
1784
1789
 
1785
- #: core/app_settings.py:446
1790
+ #: core/app_settings.py:434
1786
1791
  msgid "The name of the LDAP attribute where the username can be found."
1787
1792
  msgstr "Das LDAP-Attribut, in dem der Benutzername gefunden werden kann."
1788
1793
 
1789
- #: core/app_settings.py:455
1794
+ #: core/app_settings.py:443
1790
1795
  msgid "Enable Dovecot LDAP sync"
1791
1796
  msgstr "Dovecot LDAP-Synchronisation aktivieren"
1792
1797
 
1793
- #: core/app_settings.py:457
1798
+ #: core/app_settings.py:445
1794
1799
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1795
1800
  msgstr ""
1796
1801
  "LDAP-Authentifizierungseinstellungen werden auf die Dovecot-Konfiguration "
1797
1802
  "angewendet."
1798
1803
 
1799
- #: core/app_settings.py:465
1804
+ #: core/app_settings.py:453
1800
1805
  msgid "Dovecot LDAP config file"
1801
1806
  msgstr "Dovecot LDAP-Konfigurationsdatei"
1802
1807
 
1803
- #: core/app_settings.py:467
1808
+ #: core/app_settings.py:455
1804
1809
  msgid ""
1805
1810
  "Location of the configuration file which contains Dovecot LDAP settings."
1806
1811
  msgstr "Speicherort der Dovecot-Konfigurationsdatei für LDAP-Einstellungen."
1807
1812
 
1808
- #: core/app_settings.py:480
1813
+ #: core/app_settings.py:468
1809
1814
  msgid "Dashboard"
1810
1815
  msgstr "Dashboard"
1811
1816
 
1812
- #: core/app_settings.py:486
1817
+ #: core/app_settings.py:474
1813
1818
  msgid "Custom welcome message"
1814
1819
  msgstr "Individuelle Willkommensnachricht"
1815
1820
 
1816
- #: core/app_settings.py:488
1821
+ #: core/app_settings.py:476
1817
1822
  msgid "A welcome message that will be displayed instead the default one"
1818
1823
  msgstr ""
1819
1824
  "Eine Willkommensnachricht, die anstelle der Standardnachricht angezeigt wird"
1820
1825
 
1821
- #: core/app_settings.py:495
1826
+ #: core/app_settings.py:483
1822
1827
  msgid "Custom RSS feed"
1823
1828
  msgstr "Benutzerdefinierter RSS Feed"
1824
1829
 
1825
- #: core/app_settings.py:497
1830
+ #: core/app_settings.py:485
1826
1831
  msgid "Display custom RSS feed to resellers and domain administrators"
1827
1832
  msgstr ""
1828
1833
  "Zeige benutzerdefinierten RSS-Feed für Wiederverkäufer und Domain-"
1829
1834
  "Administratoren."
1830
1835
 
1831
- #: core/app_settings.py:506
1836
+ #: core/app_settings.py:494
1832
1837
  msgid "Display custom RSS feed to super admins"
1833
1838
  msgstr "Superadmin individuellen RSS Feed anzeigen"
1834
1839
 
1835
- #: core/app_settings.py:509
1840
+ #: core/app_settings.py:497
1836
1841
  msgid "Display custom RSS feed also to super administrators"
1837
1842
  msgstr "Individuellen RSS Feed auch für Superadmins anzeigen"
1838
1843
 
1839
- #: core/app_settings.py:517
1844
+ #: core/app_settings.py:505
1840
1845
  msgid "Hide features widget"
1841
1846
  msgstr "Verberge Funktionen Werkzeug"
1842
1847
 
1843
- #: core/app_settings.py:519
1848
+ #: core/app_settings.py:507
1844
1849
  msgid "Hide features widget for resellers and domain administrators"
1845
1850
  msgstr ""
1846
1851
  "Verberge Funktionen Werkzeug für Wiederverkäufer und Domain-Administratoren."
1847
1852
 
1848
- #: core/app_settings.py:531
1853
+ #: core/app_settings.py:519
1849
1854
  msgid "Theme"
1850
1855
  msgstr "Theme"
1851
1856
 
1852
- #: core/app_settings.py:537
1857
+ #: core/app_settings.py:525
1853
1858
  msgid "Primary theme color"
1854
1859
  msgstr "Primäre Themefarbe"
1855
1860
 
1856
- #: core/app_settings.py:539
1861
+ #: core/app_settings.py:527
1857
1862
  msgid ""
1858
1863
  "Primary color of the theme (hexadecimal code), used as the background color "
1859
1864
  "of the left menu for example"
@@ -1861,23 +1866,23 @@ msgstr ""
1861
1866
  "Primärfarbe des Themes (Hexadezimalcode), wird z.B. als Hintergrundfarbe des "
1862
1867
  "linken Menüs verwendet"
1863
1868
 
1864
- #: core/app_settings.py:548
1869
+ #: core/app_settings.py:536
1865
1870
  msgid "Primary theme color (lighter version)"
1866
1871
  msgstr "Primäre Themefarbe (helle Version)"
1867
1872
 
1868
- #: core/app_settings.py:551 core/app_settings.py:563
1873
+ #: core/app_settings.py:539 core/app_settings.py:551
1869
1874
  msgid "Primary color of the theme (hexadecimal code)"
1870
1875
  msgstr "Primärfarbe des Themes (Hexadezimalcode)"
1871
1876
 
1872
- #: core/app_settings.py:560
1877
+ #: core/app_settings.py:548
1873
1878
  msgid "Primary theme color (darker version)"
1874
1879
  msgstr "Primäre Themefarbe (dunklere Version)"
1875
1880
 
1876
- #: core/app_settings.py:571
1881
+ #: core/app_settings.py:559
1877
1882
  msgid "Secondary theme color"
1878
1883
  msgstr "Sekundäre Themefarbe"
1879
1884
 
1880
- #: core/app_settings.py:573
1885
+ #: core/app_settings.py:561
1881
1886
  msgid ""
1882
1887
  "Secondary color of the theme (hexadecimal code), used as the background "
1883
1888
  "color of some buttons for example"
@@ -1885,75 +1890,75 @@ msgstr ""
1885
1890
  "Sekundärfarbe des Themes (Hexadezimalcode), wird z.B. als Hintergrundfarbe "
1886
1891
  "einiger Buttons verwendet"
1887
1892
 
1888
- #: core/app_settings.py:581
1893
+ #: core/app_settings.py:569
1889
1894
  msgid "Labels theme color"
1890
1895
  msgstr "Etikettentheme Farbe"
1891
1896
 
1892
- #: core/app_settings.py:583
1897
+ #: core/app_settings.py:571
1893
1898
  msgid "Theme color for labels (hexadecimal code)"
1894
1899
  msgstr "Themefarbe für Etiketten (Hexadezimalcode)"
1895
1900
 
1896
- #: core/app_settings.py:595
1901
+ #: core/app_settings.py:583
1897
1902
  msgid "Notifications"
1898
1903
  msgstr "Benachrichtigungen"
1899
1904
 
1900
- #: core/app_settings.py:601
1905
+ #: core/app_settings.py:589
1901
1906
  msgid "Sender address"
1902
1907
  msgstr "Absenderadresse"
1903
1908
 
1904
- #: core/app_settings.py:603
1909
+ #: core/app_settings.py:591
1905
1910
  msgid "Email address used to send notifications."
1906
1911
  msgstr "E-Mail Adresse für das Senden von Benachrichtigungen."
1907
1912
 
1908
- #: core/app_settings.py:614
1913
+ #: core/app_settings.py:602
1909
1914
  msgid "Public API"
1910
1915
  msgstr "Öffentliche API"
1911
1916
 
1912
- #: core/app_settings.py:620
1917
+ #: core/app_settings.py:608
1913
1918
  msgid "Enable communication"
1914
1919
  msgstr "Verbindung aktivieren"
1915
1920
 
1916
- #: core/app_settings.py:622 core/app_settings.py:632
1921
+ #: core/app_settings.py:610 core/app_settings.py:620
1917
1922
  msgid "Automatically checks if a newer version is available"
1918
1923
  msgstr "Prüft automatisch ob eine neuere Version verfügbar ist."
1919
1924
 
1920
- #: core/app_settings.py:629
1925
+ #: core/app_settings.py:617
1921
1926
  msgid "Check new versions"
1922
1927
  msgstr "Prüfe auf neue Versionen"
1923
1928
 
1924
- #: core/app_settings.py:640
1929
+ #: core/app_settings.py:628
1925
1930
  msgid "Send an email when new versions are found"
1926
1931
  msgstr "Sende eine Email wenn eine neue Version gefunden wurde"
1927
1932
 
1928
- #: core/app_settings.py:644
1933
+ #: core/app_settings.py:632
1929
1934
  msgid "Send an email to notify admins about new versions"
1930
1935
  msgstr ""
1931
1936
  "Sende eine Email um die Administratoren über eine neue Version zu "
1932
1937
  "benachrichtigen"
1933
1938
 
1934
- #: core/app_settings.py:651 sievefilters/constants.py:25
1939
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1935
1940
  msgid "Recipient"
1936
1941
  msgstr "Empfänger"
1937
1942
 
1938
- #: core/app_settings.py:654
1943
+ #: core/app_settings.py:642
1939
1944
  msgid "Recipient of new versions notification emails."
1940
1945
  msgstr "Empfänger für die Benachrichtigungsemail für eine neue Version"
1941
1946
 
1942
- #: core/app_settings.py:661
1947
+ #: core/app_settings.py:649
1943
1948
  msgid "Send statistics"
1944
1949
  msgstr "Sende Statistiken"
1945
1950
 
1946
- #: core/app_settings.py:664
1951
+ #: core/app_settings.py:652
1947
1952
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1948
1953
  msgstr ""
1949
1954
  "Statistiken über die Modoboa public API senden (Zähler und Nutzungs "
1950
1955
  "Erweiterungen)"
1951
1956
 
1952
- #: core/app_settings.py:683
1957
+ #: core/app_settings.py:671
1953
1958
  msgid "Enable inactive account tracking"
1954
1959
  msgstr "Verfolgung inaktiver Konten aktivieren"
1955
1960
 
1956
- #: core/app_settings.py:686
1961
+ #: core/app_settings.py:674
1957
1962
  msgid ""
1958
1963
  "Allow the administrator to set a threshold (in days) beyond which an account "
1959
1964
  "is considered inactive if the user hasn't logged in"
@@ -1962,11 +1967,11 @@ msgstr ""
1962
1967
  "festzulegen, ab dem ein Konto als inaktiv gilt, wenn sich der Benutzer nicht "
1963
1968
  "angemeldet hat."
1964
1969
 
1965
- #: core/app_settings.py:695
1970
+ #: core/app_settings.py:683
1966
1971
  msgid "Inactive account threshold"
1967
1972
  msgstr "Schwellwert für inaktive Konten"
1968
1973
 
1969
- #: core/app_settings.py:698
1974
+ #: core/app_settings.py:686
1970
1975
  msgid ""
1971
1976
  "An account with a last login date greater than this threshold (in days) will "
1972
1977
  "be considered as inactive"
@@ -1974,46 +1979,38 @@ msgstr ""
1974
1979
  "Ein Konto mit einem Datum des letzten Logins, das größer als dieser "
1975
1980
  "Schwellenwert ist (in Tagen), wird als inaktiv betrachtet."
1976
1981
 
1977
- #: core/app_settings.py:707
1982
+ #: core/app_settings.py:695
1978
1983
  msgid "Top notifications check interval"
1979
1984
  msgstr "Benachrichtigungs-Prüfintervall"
1980
1985
 
1981
- #: core/app_settings.py:710
1986
+ #: core/app_settings.py:698
1982
1987
  msgid "Interval between two top notification checks (in seconds)"
1983
1988
  msgstr "Intervall zwischen zwei Benachrichtigungsprüfungen (in Sekunden)"
1984
1989
 
1985
- #: core/app_settings.py:717
1990
+ #: core/app_settings.py:705
1986
1991
  msgid "Maximum log record age"
1987
1992
  msgstr "Maximales Alter für Log-Einträge"
1988
1993
 
1989
- #: core/app_settings.py:719
1994
+ #: core/app_settings.py:707
1990
1995
  msgid "The maximum age in days of a log record"
1991
1996
  msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)"
1992
1997
 
1993
- #: core/app_settings.py:727
1998
+ #: core/app_settings.py:715
1994
1999
  msgid "Retention time in message history"
1995
2000
  msgstr "Aufbewahrungsdauer im Nachrichtenverlauf"
1996
2001
 
1997
- #: core/app_settings.py:730
2002
+ #: core/app_settings.py:718
1998
2003
  msgid "Retention time (in days) of a message in the message history section"
1999
2004
  msgstr "Aufbewahrungszeit (in Tagen) einer Nachricht im Nachrichtenverlauf"
2000
2005
 
2001
- #: core/app_settings.py:737
2006
+ #: core/app_settings.py:725
2002
2007
  msgid "Items per page"
2003
2008
  msgstr "Einträge pro Seite"
2004
2009
 
2005
- #: core/app_settings.py:739
2010
+ #: core/app_settings.py:727
2006
2011
  msgid "Number of displayed items per page"
2007
2012
  msgstr "Anzahl dargestellter Einträge pro Seite"
2008
2013
 
2009
- #: core/app_settings.py:746
2010
- msgid "Default top redirection"
2011
- msgstr "Standardumleitung"
2012
-
2013
- #: core/app_settings.py:748
2014
- msgid "The default redirection used when no application is specified"
2015
- msgstr "Die Standardumleitung wenn kein Programm angegeben wurde"
2016
-
2017
2014
  #: core/checks.py:15
2018
2015
  msgid ""
2019
2016
  "You have USE_TZ set to False, this may result in issues during transitions "
@@ -2354,7 +2351,7 @@ msgid "Not resolved"
2354
2351
  msgstr "Nicht aufgelöst"
2355
2352
 
2356
2353
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
2357
- #: webmail/constants.py:18
2354
+ #: webmail/constants.py:38
2358
2355
  msgid "None"
2359
2356
  msgstr "Nichts"
2360
2357
 
@@ -3302,7 +3299,7 @@ msgstr "ist"
3302
3299
  msgid "is not"
3303
3300
  msgstr "ist nicht"
3304
3301
 
3305
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3302
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
3306
3303
  msgid "Subject"
3307
3304
  msgstr "Betreff"
3308
3305
 
@@ -3546,19 +3543,19 @@ msgstr "Maximale Größe für Anhänge in Bytes (oder KB, MB, GB wenn angegeben)
3546
3543
  msgid "SMTP settings"
3547
3544
  msgstr "SMTP-Einstellungen"
3548
3545
 
3549
- #: webmail/app_settings.py:75
3546
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3550
3547
  msgid "Address of your SMTP server"
3551
3548
  msgstr "Adresse Ihres SMTP-Servers"
3552
3549
 
3553
- #: webmail/app_settings.py:82
3550
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3554
3551
  msgid "Secured connection mode"
3555
3552
  msgstr "Gesicherter Verbindungsaufbau"
3556
3553
 
3557
- #: webmail/app_settings.py:84
3554
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3558
3555
  msgid "Use a secured connection to access SMTP server"
3559
3556
  msgstr "Gesicherte Verbindung für Zugriff auf SMTP-Server verwenden"
3560
3557
 
3561
- #: webmail/app_settings.py:93
3558
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3562
3559
  msgid "Listening port of your SMTP server"
3563
3560
  msgstr "Port auf dem der SMTP-Server lauscht"
3564
3561
 
@@ -3570,97 +3567,103 @@ msgstr "Anmeldung erforderlich"
3570
3567
  msgid "Server needs authentication"
3571
3568
  msgstr "Server erfordert Authentifizierung"
3572
3569
 
3573
- #: webmail/app_settings.py:124
3570
+ #: webmail/app_settings.py:113
3571
+ #, fuzzy
3572
+ #| msgid "Server settings"
3573
+ msgid "Scheduling settings"
3574
+ msgstr "Server Einstellungen"
3575
+
3576
+ #: webmail/app_settings.py:161
3574
3577
  msgid "Default message display mode"
3575
3578
  msgstr "Standard-Betrachtungsmodus für Nachrichten"
3576
3579
 
3577
- #: webmail/app_settings.py:126
3580
+ #: webmail/app_settings.py:163
3578
3581
  msgid "The default mode used when displaying a message"
3579
3582
  msgstr "Der Standard-Modus zum Betrachten einer Nachricht"
3580
3583
 
3581
- #: webmail/app_settings.py:133
3584
+ #: webmail/app_settings.py:170
3582
3585
  msgid "Enable HTML links display"
3583
3586
  msgstr "Aktiviere Darstellung von HTML-Links"
3584
3587
 
3585
- #: webmail/app_settings.py:136
3588
+ #: webmail/app_settings.py:173
3586
3589
  msgid "Enable/Disable HTML links display"
3587
3590
  msgstr "Aktiviere/Deaktiviere Darstellung von HTML-Links"
3588
3591
 
3589
- #: webmail/app_settings.py:147
3592
+ #: webmail/app_settings.py:184
3590
3593
  msgid "Sets the maximum number of messages displayed in a page"
3591
3594
  msgstr ""
3592
3595
  "Legt die maximale Anzahl von Nachrichten fest, die auf einer Seite "
3593
3596
  "dargestellt werden"
3594
3597
 
3595
- #: webmail/app_settings.py:154
3598
+ #: webmail/app_settings.py:191
3596
3599
  msgid "Listing refresh rate"
3597
3600
  msgstr "Aktualisierungsintervall für Liste"
3598
3601
 
3599
- #: webmail/app_settings.py:156
3602
+ #: webmail/app_settings.py:193
3600
3603
  msgid "Automatic listing refresh rate (in secconds)"
3601
3604
  msgstr "AutoAktualisier Rate der Auflistung (in Sekunden)"
3602
3605
 
3603
- #: webmail/app_settings.py:163
3606
+ #: webmail/app_settings.py:200
3604
3607
  msgid "Folder container's width"
3605
3608
  msgstr "Breite des Postfachcontainers"
3606
3609
 
3607
- #: webmail/app_settings.py:165
3610
+ #: webmail/app_settings.py:202
3608
3611
  msgid "The width of the folder list container"
3609
3612
  msgstr "Die Breite der Postfach-Liste"
3610
3613
 
3611
- #: webmail/app_settings.py:176
3614
+ #: webmail/app_settings.py:213
3612
3615
  msgid "Folders"
3613
3616
  msgstr "Verzeichnisse"
3614
3617
 
3615
- #: webmail/app_settings.py:182
3618
+ #: webmail/app_settings.py:219
3616
3619
  msgid "Trash folder"
3617
3620
  msgstr "Papierkorb"
3618
3621
 
3619
- #: webmail/app_settings.py:184
3622
+ #: webmail/app_settings.py:221
3620
3623
  msgid "Folder where deleted messages go"
3621
3624
  msgstr "Ordner, in dem gelöschte Nachrichten abgelegt werden"
3622
3625
 
3623
- #: webmail/app_settings.py:191
3626
+ #: webmail/app_settings.py:228
3624
3627
  msgid "Sent folder"
3625
3628
  msgstr "Gesendete Nachrichten"
3626
3629
 
3627
- #: webmail/app_settings.py:193
3630
+ #: webmail/app_settings.py:230
3628
3631
  msgid "Folder where copies of sent messages go"
3629
3632
  msgstr "Ordner, in den Kopien gesendeter Nachrichten gehen"
3630
3633
 
3631
- #: webmail/app_settings.py:200
3634
+ #: webmail/app_settings.py:237
3632
3635
  msgid "Drafts folder"
3633
3636
  msgstr "Entwürfe"
3634
3637
 
3635
- #: webmail/app_settings.py:201
3638
+ #: webmail/app_settings.py:238
3636
3639
  msgid "Folder where drafts go"
3637
3640
  msgstr "Ordner für Entwürfe"
3638
3641
 
3639
- #: webmail/app_settings.py:207
3642
+ #: webmail/app_settings.py:244
3640
3643
  msgid "Junk folder"
3641
3644
  msgstr "Junk Ordner"
3642
3645
 
3643
- #: webmail/app_settings.py:209
3646
+ #: webmail/app_settings.py:246
3644
3647
  msgid "Folder where junk messages should go"
3645
3648
  msgstr "Ordner, in den Junk-Nachrichten gehen sollten"
3646
3649
 
3647
- #: webmail/app_settings.py:220
3650
+ #: webmail/app_settings.py:257
3648
3651
  msgid "Composing messages"
3649
3652
  msgstr "Nachrichten erstellen"
3650
3653
 
3651
- #: webmail/app_settings.py:226
3654
+ #: webmail/app_settings.py:263
3652
3655
  msgid "Default editor"
3653
3656
  msgstr "Standard-Editor"
3654
3657
 
3655
- #: webmail/app_settings.py:228
3658
+ #: webmail/app_settings.py:265
3656
3659
  msgid "The default editor to use when composing a message"
3657
3660
  msgstr "Der Standard-Editor zum Erstellen einer Nachricht"
3658
3661
 
3659
- #: webmail/app_settings.py:235
3662
+ #: webmail/app_settings.py:272
3660
3663
  msgid "Signature text"
3661
3664
  msgstr "Signatur"
3662
3665
 
3663
- #: webmail/app_settings.py:237
3666
+ #: webmail/app_settings.py:274
3664
3667
  msgid "User defined email signature"
3665
3668
  msgstr "Benutzerdefinierte E-Mail-Signatur"
3666
3669
 
@@ -3672,43 +3675,68 @@ msgstr "Server-Antwort"
3672
3675
  msgid "Failed to remove attachment: "
3673
3676
  msgstr "Konnte Anhang nicht entfernen:"
3674
3677
 
3675
- #: webmail/lib/imapemail.py:272
3678
+ #: webmail/lib/imapemail.py:270
3676
3679
  msgid "wrote:"
3677
3680
  msgstr "schrieb:"
3678
3681
 
3679
- #: webmail/lib/imapemail.py:306
3682
+ #: webmail/lib/imapemail.py:304
3680
3683
  msgid "Date"
3681
3684
  msgstr "Datum"
3682
3685
 
3683
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3686
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3684
3687
  msgid "Original message"
3685
3688
  msgstr "Ursprüngliche Nachricht"
3686
3689
 
3687
- #: webmail/lib/imaputils.py:221
3690
+ #: webmail/lib/imaputils.py:222
3688
3691
  msgid "Failed to retrieve hierarchy delimiter"
3689
3692
  msgstr "Hierarchietrennzeichen konnte nicht abgerufen werden"
3690
3693
 
3691
- #: webmail/lib/imaputils.py:472
3694
+ #: webmail/lib/imaputils.py:478
3692
3695
  msgid "Inbox"
3693
3696
  msgstr "Posteingang"
3694
3697
 
3695
- #: webmail/lib/imaputils.py:476
3698
+ #: webmail/lib/imaputils.py:482
3696
3699
  msgid "Drafts"
3697
3700
  msgstr "Entwürfe"
3698
3701
 
3699
- #: webmail/lib/imaputils.py:481
3702
+ #: webmail/lib/imaputils.py:487
3700
3703
  msgid "Junk"
3701
3704
  msgstr "SPAM"
3702
3705
 
3703
- #: webmail/lib/imaputils.py:486
3706
+ #: webmail/lib/imaputils.py:492
3704
3707
  msgid "Sent"
3705
3708
  msgstr "Gesendet"
3706
3709
 
3707
- #: webmail/lib/imaputils.py:491
3710
+ #: webmail/lib/imaputils.py:500
3711
+ msgid "Scheduled"
3712
+ msgstr ""
3713
+
3714
+ #: webmail/lib/imaputils.py:507
3708
3715
  msgid "Trash"
3709
3716
  msgstr "Papierkorb"
3710
3717
 
3711
- #: webmail/viewsets.py:357
3718
+ #: webmail/serializers.py:220
3719
+ msgid "Moving scheduled messages is forbidden"
3720
+ msgstr ""
3721
+
3722
+ #: webmail/serializers.py:253
3723
+ msgid "Only datetime in the future is allowed"
3724
+ msgstr ""
3725
+
3726
+ #: webmail/serializers.py:258
3727
+ msgid "Provived datetime must be one minute in the future at least"
3728
+ msgstr ""
3729
+
3730
+ #: webmail/viewsets.py:359
3712
3731
  #, python-format
3713
3732
  msgid "Attachment is too big (limit: %s)"
3714
3733
  msgstr "Anhang ist zu groß (Limit: %s)"
3734
+
3735
+ #~ msgid "User profile"
3736
+ #~ msgstr "Benutzername"
3737
+
3738
+ #~ msgid "Default top redirection"
3739
+ #~ msgstr "Standardumleitung"
3740
+
3741
+ #~ msgid "The default redirection used when no application is specified"
3742
+ #~ msgstr "Die Standardumleitung wenn kein Programm angegeben wurde"