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.
- modoboa/admin/api/v2/serializers.py +1 -0
- modoboa/admin/app_settings.py +12 -0
- modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
- modoboa/admin/jobs.py +86 -0
- modoboa/admin/management/commands/modo.py +0 -2
- modoboa/admin/tests/test_mailbox_operations.py +4 -4
- modoboa/admin/tests/test_mx.py +68 -56
- modoboa/amavis/jobs.py +11 -0
- modoboa/amavis/tests/test_jobs.py +18 -0
- modoboa/amavis/tests/test_viewsets.py +2 -3
- modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
- modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
- modoboa/autoconfig/tests.py +2 -1
- modoboa/autoconfig/views.py +11 -3
- modoboa/calendars/backends/caldav_.py +17 -13
- modoboa/calendars/jobs.py +7 -0
- modoboa/calendars/mocks.py +4 -1
- modoboa/calendars/serializers.py +14 -9
- modoboa/calendars/tests.py +10 -9
- modoboa/calendars/viewsets.py +3 -1
- modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
- modoboa/contacts/models.py +1 -0
- modoboa/contacts/serializers.py +5 -2
- modoboa/contacts/tasks.py +9 -3
- modoboa/contacts/tests.py +32 -6
- modoboa/contacts/viewsets.py +7 -1
- modoboa/core/api/v2/serializers.py +0 -7
- modoboa/core/api/v2/tests.py +0 -10
- modoboa/core/app_settings.py +0 -22
- modoboa/core/commands/deploy.py +13 -0
- modoboa/core/commands/templates/cron_config.py.tpl +33 -0
- modoboa/core/commands/templates/settings.py.tpl +21 -0
- modoboa/core/jobs.py +34 -0
- modoboa/core/management/commands/load_initial_data.py +1 -1
- modoboa/core/password_hashers/base.py +4 -1
- modoboa/core/tests/test_core.py +0 -14
- modoboa/core/tests/test_jobs.py +40 -0
- modoboa/frontend_dist/assets/{AccountAliasForm-B-hTKSFr.js → AccountAliasForm-DO6DwfjE.js} +1 -1
- modoboa/frontend_dist/assets/{AccountEditView-LkP_qhf_.js → AccountEditView-CCuN9mGB.js} +1 -1
- modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
- modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
- modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
- modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
- modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
- modoboa/frontend_dist/assets/{AliasEditView-BVjNJekt.js → AliasEditView-CTjrXYPf.js} +1 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
- modoboa/frontend_dist/assets/{AliasView-DvvI6cV9.js → AliasView-BN13MNN_.js} +1 -1
- modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
- modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
- modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
- modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
- modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
- modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
- modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
- modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
- modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
- modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
- modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
- modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
- modoboa/frontend_dist/assets/{DomainAdminList-BO8_4Cwt.js → DomainAdminList-DD7p3i6F.js} +1 -1
- modoboa/frontend_dist/assets/{DomainEditView-BXylM4aB.js → DomainEditView-DoIoNYC4.js} +1 -1
- modoboa/frontend_dist/assets/{DomainTransportForm-Ccw5BXyM.js → DomainTransportForm-CbiJF9z5.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-Bd5XQI-1.js → DomainView-BXvznFYz.js} +3 -3
- modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
- modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
- modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
- modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
- modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
- modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
- modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-DNn3CY-w.js → HtmlEditor-CyBl5wj2.js} +15 -15
- modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
- modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
- modoboa/frontend_dist/assets/{LoadingData-CnQ_aVqa.js → LoadingData-C2txD49L.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-Nh_gmh8e.js → LoginCallbackView-DAvty3CI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-BtC9BHuJ.js → LoginView-DHYITkn4.js} +1 -1
- modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
- modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
- modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
- modoboa/frontend_dist/assets/{MessageView-C1Goz-hY.js → MessageView-CrrEJpNI.js} +1 -1
- modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
- modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
- modoboa/frontend_dist/assets/{ParametersForm-BegEnkQM.js → ParametersForm-DFKYkPAs.js} +1 -1
- modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
- modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
- modoboa/frontend_dist/assets/{ProviderGeneralForm-BAELnXh6.js → ProviderGeneralForm-DO-IpJMQ.js} +1 -1
- modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
- modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
- modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
- modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
- modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
- modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
- modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
- modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
- modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
- modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
- modoboa/frontend_dist/assets/{VAlert-Buv8Z5G4.js → VAlert-MDbeolOo.js} +1 -1
- modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
- modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
- modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
- modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
- modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
- modoboa/frontend_dist/assets/{VCard-D7AwBs4w.js → VCard-CBtX8JF-.js} +1 -1
- modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
- modoboa/frontend_dist/assets/{VCheckboxBtn-B5evxN9K.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
- modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
- modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
- modoboa/frontend_dist/assets/{VContainer-DY9021j4.js → VContainer-Cn-vKB3s.js} +1 -1
- modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
- modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
- modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
- modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
- modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
- modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
- modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
- modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
- modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
- modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
- modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
- modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
- modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
- modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
- modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
- modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
- modoboa/frontend_dist/assets/{VRow-DyK_Mj7R.js → VRow-83Qnr5iB.js} +1 -1
- modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
- modoboa/frontend_dist/assets/{VSelectionControl-Dkms9_P5.js → VSelectionControl-Cqi1xt-q.js} +1 -1
- modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
- modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
- modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
- modoboa/frontend_dist/assets/{VTable-D8ZwwC_B.js → VTable-f7wcr2AZ.js} +1 -1
- modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
- modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
- modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
- modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
- modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
- modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
- modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
- modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
- modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
- modoboa/frontend_dist/assets/{accounts-BZBqbAmd.js → accounts-KUsk6LHW.js} +1 -1
- modoboa/frontend_dist/assets/{admin-uCrKjpln.js → admin-BW9cZW0P.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-CFwFkX45.js → aliases-Ge0hjIsH.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-DCy0U0TD.js → amavis-BbFeFfsk.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-B4ScfQsG.js → amavis-DtuzP_CS.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-DKmh2q-4.js → contacts-DMJlQTe0.js} +1 -1
- modoboa/frontend_dist/assets/{domains-CDE4_LDF.js → domains-Du64lcXT.js} +1 -1
- modoboa/frontend_dist/assets/{domains.store-a9Y5UlDV.js → domains.store-1U61jeCV.js} +1 -1
- modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
- modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
- modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
- modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
- modoboa/frontend_dist/assets/{index-Dwg6jPTX.js → index-Dv00bmw9.js} +1 -1
- modoboa/frontend_dist/assets/{index-BjibLozh.js → index-jui3edpn.js} +47 -41
- modoboa/frontend_dist/assets/{language.store-DGuI8jG0.js → language.store-OcfdXL_-.js} +1 -1
- modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
- modoboa/frontend_dist/assets/{layout-5PvsmkGR.js → layout-DOO7TRTJ.js} +1 -1
- modoboa/frontend_dist/assets/{layout.store-DJVcXtxk.js → layout.store-C0g-piJn.js} +1 -1
- modoboa/frontend_dist/assets/{logos-CMmd0hOG.js → logos-Dz2Gzei-.js} +1 -1
- modoboa/frontend_dist/assets/{logs-D2GOydPZ.js → logs-CLm32Weu.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-DJdlq9sh.js → parameters-DMIAQ7cd.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-DH3pPlaT.js → parameters.store-DLnFzCwV.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-CgFJFhCp.js → permissions-CrpE0b4w.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-ChTB-PYP.js → ssrBoot-B7cr7q9U.js} +1 -1
- modoboa/frontend_dist/assets/{tag-CvrHE14f.js → tag-WF93n81Q.js} +1 -1
- modoboa/frontend_dist/assets/{theme-DFzlhSh5.js → theme-_0oOYChG.js} +1 -1
- modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
- modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
- modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
- modoboa/frontend_dist/index.html +2 -2
- modoboa/imap_migration/models.py +3 -3
- modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
- modoboa/imap_migration/tests.py +21 -0
- modoboa/lib/cryptutils.py +2 -2
- modoboa/lib/sysutils.py +1 -1
- modoboa/lib/tests/__init__.py +0 -1
- modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/br/LC_MESSAGES/django.po +301 -273
- modoboa/locale/cs/LC_MESSAGES/django.po +286 -269
- modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/cs_CZ/LC_MESSAGES/django.po +303 -275
- modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de/LC_MESSAGES/django.po +297 -269
- modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de_DE/LC_MESSAGES/django.po +303 -275
- modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/el_GR/LC_MESSAGES/django.po +303 -275
- modoboa/locale/en/LC_MESSAGES/django.po +286 -269
- modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/es/LC_MESSAGES/django.po +302 -274
- modoboa/locale/es_MX/LC_MESSAGES/django.po +286 -269
- modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fi/LC_MESSAGES/django.po +299 -271
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +288 -271
- modoboa/locale/hu/LC_MESSAGES/django.po +286 -269
- modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/it/LC_MESSAGES/django.po +303 -275
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +390 -413
- modoboa/locale/ka/LC_MESSAGES/django.po +286 -269
- modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/nl_NL/LC_MESSAGES/django.po +299 -271
- modoboa/locale/no/LC_MESSAGES/django.po +286 -269
- modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pl_PL/LC_MESSAGES/django.po +297 -269
- modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_BR/LC_MESSAGES/django.po +298 -270
- modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_PT/LC_MESSAGES/django.po +303 -275
- modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ro_RO/LC_MESSAGES/django.po +299 -271
- modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ru/LC_MESSAGES/django.po +993 -1096
- modoboa/locale/si/LC_MESSAGES/django.po +286 -269
- modoboa/locale/sk/LC_MESSAGES/django.po +286 -269
- modoboa/locale/sk_SK/LC_MESSAGES/django.po +286 -269
- modoboa/locale/sl_SI/LC_MESSAGES/django.po +288 -269
- modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/sv/LC_MESSAGES/django.po +297 -269
- modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr/LC_MESSAGES/django.po +301 -272
- modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr_TR/LC_MESSAGES/django.po +291 -269
- modoboa/locale/uk/LC_MESSAGES/django.po +286 -269
- modoboa/locale/zh/LC_MESSAGES/django.po +286 -269
- modoboa/locale/zh_CN/LC_MESSAGES/django.po +286 -269
- modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/zh_TW/LC_MESSAGES/django.po +295 -273
- modoboa/maillog/jobs.py +11 -0
- modoboa/maillog/tests/test_views.py +5 -4
- modoboa/parameters/api/v2/tests.py +1 -1
- modoboa/policyd/management/commands/policy_daemon.py +5 -1
- modoboa/policyd/tests.py +4 -2
- modoboa/rspamd/tests.py +20 -0
- modoboa/templates/registration/twofactor_code_verify.html +1 -1
- modoboa/webmail/app_settings.py +37 -0
- modoboa/webmail/constants.py +21 -1
- modoboa/webmail/factories.py +19 -0
- modoboa/webmail/jobs.py +27 -0
- modoboa/webmail/lib/__init__.py +0 -2
- modoboa/webmail/lib/imapemail.py +9 -11
- modoboa/webmail/lib/imapheader.py +25 -13
- modoboa/webmail/lib/imaputils.py +51 -13
- modoboa/webmail/lib/sendmail.py +88 -105
- modoboa/webmail/lib/utils.py +109 -0
- modoboa/webmail/migrations/0001_initial.py +90 -0
- modoboa/webmail/migrations/__init__.py +0 -0
- modoboa/webmail/mocks.py +12 -3
- modoboa/webmail/models.py +102 -0
- modoboa/webmail/serializers.py +84 -4
- modoboa/webmail/tests/data.py +21 -0
- modoboa/webmail/tests/test_lib_imaputils.py +33 -0
- modoboa/webmail/tests/test_viewsets.py +108 -0
- modoboa/webmail/urls.py +5 -0
- modoboa/webmail/viewsets.py +39 -9
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/RECORD +269 -252
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
- modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
- modoboa/core/management/commands/cleanlogs.py +0 -53
- modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +0 -1
- modoboa/frontend_dist/assets/AccountPasswordSubForm-D4vB2yQK.js +0 -1
- modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +0 -1
- modoboa/frontend_dist/assets/AddressBook-C03MXg3y.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-DFmyKOo6.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +0 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-CZ_SvjtG.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-Cyq25Jle.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +0 -1
- modoboa/frontend_dist/assets/ChoiceField-BPhUvoyr.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-BMIg94-U.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-CaAZYATm.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-DErmyUoy.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +0 -1
- modoboa/frontend_dist/assets/EmailField-BFgga4zp.js +0 -1
- modoboa/frontend_dist/assets/EmailView-DPWTch_6.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +0 -1
- modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +0 -1
- modoboa/frontend_dist/assets/InformationView-Cc0aBA5j.js +0 -1
- modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
- modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +0 -5
- modoboa/frontend_dist/assets/MenuItems-efx2rqwT.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-CesYYZ9f.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +0 -1
- modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +0 -1
- modoboa/frontend_dist/assets/QuarantineView-BzjeDhTm.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-noC3AXd9.js +0 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +0 -1
- modoboa/frontend_dist/assets/SettingsView-DJTdIeRK.css +0 -1
- modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +0 -6
- modoboa/frontend_dist/assets/StatisticsView-BZkVSh5o.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
- modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +0 -1
- modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
- modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +0 -1
- modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +0 -1
- modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +0 -1
- modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +0 -1
- modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +0 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +0 -1
- modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +0 -1
- modoboa/frontend_dist/assets/VExpansionPanels-CkwHiKsA.js +0 -1
- modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +0 -1
- modoboa/frontend_dist/assets/VForm-ClJU5x_v.js +0 -1
- modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +0 -1
- modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +0 -1
- modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
- modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +0 -1
- modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
- modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +0 -1
- modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +0 -1
- modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +0 -1
- modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +0 -1
- modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +0 -1
- modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +0 -1
- modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
- modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
- modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
- modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
- modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +0 -1
- modoboa/frontend_dist/assets/filter-BVvMTmPG.js +0 -1
- modoboa/frontend_dist/assets/global.store-Bha4Z76j.js +0 -1
- modoboa/frontend_dist/assets/importExport-EgijWlC1.js +0 -1
- modoboa/frontend_dist/assets/languages-Cge6pECg.js +0 -1
- modoboa/frontend_dist/assets/transports-BUSYxSF4.js +0 -1
- modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +0 -1
- modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +0 -1
- {modoboa-2.6.5.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
|
@@ -8,7 +8,7 @@ msgid ""
|
|
|
8
8
|
msgstr ""
|
|
9
9
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
|
11
|
-
"POT-Creation-Date:
|
|
11
|
+
"POT-Creation-Date: 2026-02-04 09:30+0100\n"
|
|
12
12
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
13
13
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
14
14
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
@@ -41,14 +41,14 @@ msgid "Cannot be greater than domain quota"
|
|
|
41
41
|
msgstr ""
|
|
42
42
|
|
|
43
43
|
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
|
|
44
|
-
#: admin/api/v2/serializers.py:
|
|
44
|
+
#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
|
|
45
45
|
msgid "Permission denied."
|
|
46
46
|
msgstr ""
|
|
47
47
|
|
|
48
48
|
#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
|
|
49
|
-
#: admin/api/v2/serializers.py:
|
|
50
|
-
#: core/api/v2/serializers.py:
|
|
51
|
-
#: core/api/v2/serializers.py:
|
|
49
|
+
#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
|
|
50
|
+
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
|
|
51
|
+
#: core/api/v2/serializers.py:259 transport/backends.py:40
|
|
52
52
|
msgid "This field is required"
|
|
53
53
|
msgstr ""
|
|
54
54
|
|
|
@@ -57,7 +57,7 @@ msgid ""
|
|
|
57
57
|
"List of administered domains (resellers and domain administrators only)."
|
|
58
58
|
msgstr ""
|
|
59
59
|
|
|
60
|
-
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:
|
|
60
|
+
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
|
|
61
61
|
msgid "Not allowed for this role."
|
|
62
62
|
msgstr ""
|
|
63
63
|
|
|
@@ -65,13 +65,12 @@ msgstr ""
|
|
|
65
65
|
msgid "Must be equal to mailbox full_address"
|
|
66
66
|
msgstr ""
|
|
67
67
|
|
|
68
|
-
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:
|
|
69
|
-
#: calendars/serializers.py:
|
|
70
|
-
#: pdfcredentials/api/v2/serializers.py:91
|
|
68
|
+
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
|
|
69
|
+
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
|
|
71
70
|
msgid "This field is required."
|
|
72
71
|
msgstr ""
|
|
73
72
|
|
|
74
|
-
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:
|
|
73
|
+
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
|
|
75
74
|
msgid "Local domain {} does not exist"
|
|
76
75
|
msgstr ""
|
|
77
76
|
|
|
@@ -112,39 +111,39 @@ msgstr ""
|
|
|
112
111
|
msgid "User '%s' already exists"
|
|
113
112
|
msgstr ""
|
|
114
113
|
|
|
115
|
-
#: admin/api/v2/serializers.py:
|
|
114
|
+
#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
|
|
116
115
|
msgid "Must be a positive integer"
|
|
117
116
|
msgstr ""
|
|
118
117
|
|
|
119
|
-
#: admin/api/v2/serializers.py:
|
|
118
|
+
#: admin/api/v2/serializers.py:271
|
|
120
119
|
msgid "openssl not found, please make sure it is installed."
|
|
121
120
|
msgstr ""
|
|
122
121
|
|
|
123
|
-
#: admin/api/v2/serializers.py:
|
|
122
|
+
#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
|
|
124
123
|
msgid "Directory not found."
|
|
125
124
|
msgstr ""
|
|
126
125
|
|
|
127
|
-
#: admin/api/v2/serializers.py:
|
|
126
|
+
#: admin/api/v2/serializers.py:285
|
|
128
127
|
msgid "This field only allows valid IP addresses (or networks)"
|
|
129
128
|
msgstr ""
|
|
130
129
|
|
|
131
|
-
#: admin/api/v2/serializers.py:
|
|
130
|
+
#: admin/api/v2/serializers.py:298
|
|
132
131
|
msgid "Please disable imap migration before disabling this option."
|
|
133
132
|
msgstr ""
|
|
134
133
|
|
|
135
|
-
#: admin/api/v2/serializers.py:
|
|
134
|
+
#: admin/api/v2/serializers.py:311
|
|
136
135
|
msgid "Define at least one authorized network / address"
|
|
137
136
|
msgstr ""
|
|
138
137
|
|
|
139
|
-
#: admin/api/v2/serializers.py:
|
|
138
|
+
#: admin/api/v2/serializers.py:588
|
|
140
139
|
msgid "The left part of an email address can't be more than 64 characters."
|
|
141
140
|
msgstr ""
|
|
142
141
|
|
|
143
|
-
#: admin/api/v2/serializers.py:
|
|
142
|
+
#: admin/api/v2/serializers.py:610
|
|
144
143
|
msgid "A mailbox is required to create aliases."
|
|
145
144
|
msgstr ""
|
|
146
145
|
|
|
147
|
-
#: admin/api/v2/serializers.py:
|
|
146
|
+
#: admin/api/v2/serializers.py:783
|
|
148
147
|
msgid "Unknown status"
|
|
149
148
|
msgstr ""
|
|
150
149
|
|
|
@@ -236,141 +235,151 @@ msgstr ""
|
|
|
236
235
|
msgid "Check every domain against major DNSBL providers"
|
|
237
236
|
msgstr ""
|
|
238
237
|
|
|
239
|
-
#: admin/app_settings.py:
|
|
238
|
+
#: admin/app_settings.py:117
|
|
239
|
+
msgid "Notify domain admins about DNS issues"
|
|
240
|
+
msgstr ""
|
|
241
|
+
|
|
242
|
+
#: admin/app_settings.py:120
|
|
243
|
+
msgid ""
|
|
244
|
+
"Send a notification by email to domain administrators when DNS issues are "
|
|
245
|
+
"encountered"
|
|
246
|
+
msgstr ""
|
|
247
|
+
|
|
248
|
+
#: admin/app_settings.py:128
|
|
240
249
|
msgid "Custom DNS server"
|
|
241
250
|
msgstr ""
|
|
242
251
|
|
|
243
|
-
#: admin/app_settings.py:
|
|
252
|
+
#: admin/app_settings.py:130
|
|
244
253
|
msgid "Use a custom DNS server instead of local server configuration"
|
|
245
254
|
msgstr ""
|
|
246
255
|
|
|
247
|
-
#: admin/app_settings.py:
|
|
256
|
+
#: admin/app_settings.py:138
|
|
248
257
|
msgid "DKIM keys storage directory"
|
|
249
258
|
msgstr ""
|
|
250
259
|
|
|
251
|
-
#: admin/app_settings.py:
|
|
260
|
+
#: admin/app_settings.py:140
|
|
252
261
|
msgid ""
|
|
253
262
|
"Absolute path of the directory where DKIM private keys will be stored. Make "
|
|
254
263
|
"sure this directory belongs to root user and is not readable by the outside "
|
|
255
264
|
"world."
|
|
256
265
|
msgstr ""
|
|
257
266
|
|
|
258
|
-
#: admin/app_settings.py:
|
|
267
|
+
#: admin/app_settings.py:149
|
|
259
268
|
msgid "Default DKIM key length"
|
|
260
269
|
msgstr ""
|
|
261
270
|
|
|
262
|
-
#: admin/app_settings.py:
|
|
271
|
+
#: admin/app_settings.py:151
|
|
263
272
|
msgid "Default length in bits for newly generated DKIM keys."
|
|
264
273
|
msgstr ""
|
|
265
274
|
|
|
266
|
-
#: admin/app_settings.py:
|
|
275
|
+
#: admin/app_settings.py:158
|
|
267
276
|
msgid "Default domain quota"
|
|
268
277
|
msgstr ""
|
|
269
278
|
|
|
270
|
-
#: admin/app_settings.py:
|
|
279
|
+
#: admin/app_settings.py:160
|
|
271
280
|
msgid ""
|
|
272
281
|
"Default quota (in MB) applied to freshly created domains with no value "
|
|
273
282
|
"specified. A value of 0 means no quota."
|
|
274
283
|
msgstr ""
|
|
275
284
|
|
|
276
|
-
#: admin/app_settings.py:
|
|
285
|
+
#: admin/app_settings.py:168
|
|
277
286
|
msgid "Default domain sending limit"
|
|
278
287
|
msgstr ""
|
|
279
288
|
|
|
280
|
-
#: admin/app_settings.py:
|
|
289
|
+
#: admin/app_settings.py:170
|
|
281
290
|
msgid ""
|
|
282
291
|
"Number of messages freshly created domains will be allowed to send per day. "
|
|
283
292
|
"Leave empty for no limit."
|
|
284
293
|
msgstr ""
|
|
285
294
|
|
|
286
|
-
#: admin/app_settings.py:
|
|
295
|
+
#: admin/app_settings.py:182 limits/app_settings.py:61
|
|
287
296
|
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
|
|
288
297
|
msgid "Mailboxes"
|
|
289
298
|
msgstr ""
|
|
290
299
|
|
|
291
|
-
#: admin/app_settings.py:
|
|
300
|
+
#: admin/app_settings.py:188
|
|
292
301
|
msgid "Handle mailboxes on filesystem"
|
|
293
302
|
msgstr ""
|
|
294
303
|
|
|
295
|
-
#: admin/app_settings.py:
|
|
304
|
+
#: admin/app_settings.py:190
|
|
296
305
|
msgid ""
|
|
297
306
|
"Rename or remove mailboxes on the filesystem when they get renamed or "
|
|
298
307
|
"removed within Modoboa"
|
|
299
308
|
msgstr ""
|
|
300
309
|
|
|
301
|
-
#: admin/app_settings.py:
|
|
310
|
+
#: admin/app_settings.py:198 admin/models/domain.py:36
|
|
302
311
|
msgid "Default mailbox quota"
|
|
303
312
|
msgstr ""
|
|
304
313
|
|
|
305
|
-
#: admin/app_settings.py:
|
|
314
|
+
#: admin/app_settings.py:200
|
|
306
315
|
msgid ""
|
|
307
316
|
"Default mailbox quota (in MB) applied to freshly created domains with no "
|
|
308
317
|
"value specified. A value of 0 means no quota."
|
|
309
318
|
msgstr ""
|
|
310
319
|
|
|
311
|
-
#: admin/app_settings.py:
|
|
320
|
+
#: admin/app_settings.py:209
|
|
312
321
|
msgid "Default mailbox sending limit"
|
|
313
322
|
msgstr ""
|
|
314
323
|
|
|
315
|
-
#: admin/app_settings.py:
|
|
324
|
+
#: admin/app_settings.py:211
|
|
316
325
|
msgid ""
|
|
317
326
|
"Number of messages freshly created mailboxes will be allowed to send per "
|
|
318
327
|
"day. Leave empty for no limit."
|
|
319
328
|
msgstr ""
|
|
320
329
|
|
|
321
|
-
#: admin/app_settings.py:
|
|
330
|
+
#: admin/app_settings.py:219
|
|
322
331
|
msgid "Automatic account removal"
|
|
323
332
|
msgstr ""
|
|
324
333
|
|
|
325
|
-
#: admin/app_settings.py:
|
|
334
|
+
#: admin/app_settings.py:221
|
|
326
335
|
msgid "When a mailbox is removed, also remove the associated account"
|
|
327
336
|
msgstr ""
|
|
328
337
|
|
|
329
|
-
#: admin/app_settings.py:
|
|
338
|
+
#: admin/app_settings.py:230
|
|
330
339
|
msgid "Automatic domain/mailbox creation"
|
|
331
340
|
msgstr ""
|
|
332
341
|
|
|
333
|
-
#: admin/app_settings.py:
|
|
342
|
+
#: admin/app_settings.py:233
|
|
334
343
|
msgid "Create a domain and a mailbox when an account is automatically created."
|
|
335
344
|
msgstr ""
|
|
336
345
|
|
|
337
|
-
#: admin/app_settings.py:
|
|
346
|
+
#: admin/app_settings.py:242
|
|
338
347
|
msgid "Create an alias when a mailbox is renamed"
|
|
339
348
|
msgstr ""
|
|
340
349
|
|
|
341
|
-
#: admin/app_settings.py:
|
|
350
|
+
#: admin/app_settings.py:245
|
|
342
351
|
msgid "Create an alias using the old address when a mailbox is renamed."
|
|
343
352
|
msgstr ""
|
|
344
353
|
|
|
345
|
-
#: admin/app_settings.py:
|
|
354
|
+
#: admin/app_settings.py:257
|
|
346
355
|
msgid "Aliases"
|
|
347
356
|
msgstr ""
|
|
348
357
|
|
|
349
|
-
#: admin/app_settings.py:
|
|
358
|
+
#: admin/app_settings.py:263
|
|
350
359
|
msgid "Alias can target any domain"
|
|
351
360
|
msgstr ""
|
|
352
361
|
|
|
353
|
-
#: admin/app_settings.py:
|
|
362
|
+
#: admin/app_settings.py:265
|
|
354
363
|
msgid "Allow aliases to target any domain, not just the local domains."
|
|
355
364
|
msgstr ""
|
|
356
365
|
|
|
357
|
-
#: admin/app_settings.py:
|
|
366
|
+
#: admin/app_settings.py:272
|
|
358
367
|
msgid "Alias target block list"
|
|
359
368
|
msgstr ""
|
|
360
369
|
|
|
361
|
-
#: admin/app_settings.py:
|
|
370
|
+
#: admin/app_settings.py:274
|
|
362
371
|
msgid "A list of domains that aliases cannot target (comma separated)."
|
|
363
372
|
msgstr ""
|
|
364
373
|
|
|
365
|
-
#: admin/app_settings.py:
|
|
374
|
+
#: admin/app_settings.py:282
|
|
366
375
|
msgid "Alias target allow list"
|
|
367
376
|
msgstr ""
|
|
368
377
|
|
|
369
|
-
#: admin/app_settings.py:
|
|
378
|
+
#: admin/app_settings.py:284
|
|
370
379
|
msgid "A list of domains that aliases can target (comma separated)."
|
|
371
380
|
msgstr ""
|
|
372
381
|
|
|
373
|
-
#: admin/app_settings.py:
|
|
382
|
+
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
|
|
374
383
|
msgid "Administration"
|
|
375
384
|
msgstr ""
|
|
376
385
|
|
|
@@ -390,6 +399,35 @@ msgstr ""
|
|
|
390
399
|
msgid "Closed"
|
|
391
400
|
msgstr ""
|
|
392
401
|
|
|
402
|
+
#: admin/dns_checker.py:96
|
|
403
|
+
msgid "MX {} listed by DNSBL provider {}"
|
|
404
|
+
msgstr ""
|
|
405
|
+
|
|
406
|
+
#: admin/dns_checker.py:138
|
|
407
|
+
msgid "Domain has no MX record"
|
|
408
|
+
msgstr ""
|
|
409
|
+
|
|
410
|
+
#: admin/dns_checker.py:141
|
|
411
|
+
msgid "Domain {} has no MX record"
|
|
412
|
+
msgstr ""
|
|
413
|
+
|
|
414
|
+
#: admin/dns_checker.py:159
|
|
415
|
+
msgid "Invalid MX record: {}"
|
|
416
|
+
msgstr ""
|
|
417
|
+
|
|
418
|
+
#: admin/dns_checker.py:166
|
|
419
|
+
#, python-brace-format
|
|
420
|
+
msgid "MX record for domain {0} is invalid: {1}"
|
|
421
|
+
msgstr ""
|
|
422
|
+
|
|
423
|
+
#: admin/dns_checker.py:177
|
|
424
|
+
msgid "[modoboa] MX issue(s) for domain {}"
|
|
425
|
+
msgstr ""
|
|
426
|
+
|
|
427
|
+
#: admin/dns_checker.py:224
|
|
428
|
+
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
429
|
+
msgstr ""
|
|
430
|
+
|
|
393
431
|
#: admin/handlers.py:179
|
|
394
432
|
msgid "domain alias"
|
|
395
433
|
msgstr ""
|
|
@@ -412,8 +450,8 @@ msgstr ""
|
|
|
412
450
|
msgid "You are not allowed to import domain aliases."
|
|
413
451
|
msgstr ""
|
|
414
452
|
|
|
415
|
-
#: admin/lib.py:227 admin/tests/test_mx.py:
|
|
416
|
-
#: admin/tests/test_mx.py:
|
|
453
|
+
#: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
|
|
454
|
+
#: admin/tests/test_mx.py:157
|
|
417
455
|
#, python-format
|
|
418
456
|
msgid "No DNS record found for %s"
|
|
419
457
|
msgstr ""
|
|
@@ -423,11 +461,11 @@ msgstr ""
|
|
|
423
461
|
msgid "No %(type)s record for %(name)s"
|
|
424
462
|
msgstr ""
|
|
425
463
|
|
|
426
|
-
#: admin/lib.py:234 admin/tests/test_mx.py:
|
|
464
|
+
#: admin/lib.py:234 admin/tests/test_mx.py:142
|
|
427
465
|
msgid "No working name servers found"
|
|
428
466
|
msgstr ""
|
|
429
467
|
|
|
430
|
-
#: admin/lib.py:237 admin/tests/test_mx.py:
|
|
468
|
+
#: admin/lib.py:237 admin/tests/test_mx.py:146
|
|
431
469
|
#, python-format
|
|
432
470
|
msgid "DNS resolution timeout, unable to query %s at the moment"
|
|
433
471
|
msgstr ""
|
|
@@ -479,35 +517,6 @@ msgstr ""
|
|
|
479
517
|
msgid "Failed to generate DKIM public key"
|
|
480
518
|
msgstr ""
|
|
481
519
|
|
|
482
|
-
#: admin/management/commands/subcommands/_mx.py:133
|
|
483
|
-
msgid "MX {} listed by DNSBL provider {}"
|
|
484
|
-
msgstr ""
|
|
485
|
-
|
|
486
|
-
#: admin/management/commands/subcommands/_mx.py:174
|
|
487
|
-
msgid "Domain has no MX record"
|
|
488
|
-
msgstr ""
|
|
489
|
-
|
|
490
|
-
#: admin/management/commands/subcommands/_mx.py:177
|
|
491
|
-
msgid "Domain {} has no MX record"
|
|
492
|
-
msgstr ""
|
|
493
|
-
|
|
494
|
-
#: admin/management/commands/subcommands/_mx.py:195
|
|
495
|
-
msgid "Invalid MX record: {}"
|
|
496
|
-
msgstr ""
|
|
497
|
-
|
|
498
|
-
#: admin/management/commands/subcommands/_mx.py:202
|
|
499
|
-
#, python-brace-format
|
|
500
|
-
msgid "MX record for domain {0} is invalid: {1}"
|
|
501
|
-
msgstr ""
|
|
502
|
-
|
|
503
|
-
#: admin/management/commands/subcommands/_mx.py:213
|
|
504
|
-
msgid "[modoboa] MX issue(s) for domain {}"
|
|
505
|
-
msgstr ""
|
|
506
|
-
|
|
507
|
-
#: admin/management/commands/subcommands/_mx.py:269
|
|
508
|
-
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
509
|
-
msgstr ""
|
|
510
|
-
|
|
511
520
|
#: admin/models/alias.py:43
|
|
512
521
|
msgid "Domain not found."
|
|
513
522
|
msgstr ""
|
|
@@ -684,17 +693,17 @@ msgstr ""
|
|
|
684
693
|
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
|
|
685
694
|
msgstr ""
|
|
686
695
|
|
|
687
|
-
#: admin/tests/test_mx.py:
|
|
696
|
+
#: admin/tests/test_mx.py:141
|
|
688
697
|
#, python-format
|
|
689
698
|
msgid "No MX record for %s"
|
|
690
699
|
msgstr ""
|
|
691
700
|
|
|
692
|
-
#: admin/tests/test_mx.py:
|
|
701
|
+
#: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
|
|
693
702
|
#, python-format
|
|
694
703
|
msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
695
704
|
msgstr ""
|
|
696
705
|
|
|
697
|
-
#: admin/tests/test_mx.py:
|
|
706
|
+
#: admin/tests/test_mx.py:185
|
|
698
707
|
#, python-format
|
|
699
708
|
msgid "No AAAA record for %s"
|
|
700
709
|
msgstr ""
|
|
@@ -863,11 +872,11 @@ msgid ""
|
|
|
863
872
|
"database)"
|
|
864
873
|
msgstr ""
|
|
865
874
|
|
|
866
|
-
#: amavis/app_settings.py:236 webmail/app_settings.py:
|
|
875
|
+
#: amavis/app_settings.py:236 webmail/app_settings.py:155
|
|
867
876
|
msgid "Display"
|
|
868
877
|
msgstr ""
|
|
869
878
|
|
|
870
|
-
#: amavis/app_settings.py:243 webmail/app_settings.py:
|
|
879
|
+
#: amavis/app_settings.py:243 webmail/app_settings.py:181
|
|
871
880
|
msgid "Number of displayed emails per page"
|
|
872
881
|
msgstr ""
|
|
873
882
|
|
|
@@ -1110,7 +1119,7 @@ msgstr ""
|
|
|
1110
1119
|
msgid "Allow domain administrators to manage user calendars (read and write)"
|
|
1111
1120
|
msgstr ""
|
|
1112
1121
|
|
|
1113
|
-
#: calendars/app_settings.py:60 core/app_settings.py:
|
|
1122
|
+
#: calendars/app_settings.py:60 core/app_settings.py:664
|
|
1114
1123
|
#: rspamd/app_settings.py:45
|
|
1115
1124
|
msgid "Miscellaneous"
|
|
1116
1125
|
msgstr ""
|
|
@@ -1128,11 +1137,11 @@ msgstr ""
|
|
|
1128
1137
|
msgid "Calendars"
|
|
1129
1138
|
msgstr ""
|
|
1130
1139
|
|
|
1131
|
-
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:
|
|
1140
|
+
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
|
|
1132
1141
|
msgid "Server location is not set, please fix it."
|
|
1133
1142
|
msgstr ""
|
|
1134
1143
|
|
|
1135
|
-
#: calendars/viewsets.py:
|
|
1144
|
+
#: calendars/viewsets.py:199
|
|
1136
1145
|
msgid "Uploaded file is too big (max: {} bytes)"
|
|
1137
1146
|
msgstr ""
|
|
1138
1147
|
|
|
@@ -1211,7 +1220,7 @@ msgstr ""
|
|
|
1211
1220
|
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
1212
1221
|
msgstr ""
|
|
1213
1222
|
|
|
1214
|
-
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:
|
|
1223
|
+
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
|
|
1215
1224
|
msgid "Invalid password"
|
|
1216
1225
|
msgstr ""
|
|
1217
1226
|
|
|
@@ -1223,24 +1232,20 @@ msgstr ""
|
|
|
1223
1232
|
msgid "Local"
|
|
1224
1233
|
msgstr ""
|
|
1225
1234
|
|
|
1226
|
-
#: core/api/v2/serializers.py:
|
|
1227
|
-
|
|
1228
|
-
msgstr ""
|
|
1229
|
-
|
|
1230
|
-
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
1231
|
-
#: core/api/v2/serializers.py:228
|
|
1235
|
+
#: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
|
|
1236
|
+
#: core/api/v2/serializers.py:221
|
|
1232
1237
|
msgid "Invalid syntax"
|
|
1233
1238
|
msgstr ""
|
|
1234
1239
|
|
|
1235
|
-
#: core/api/v2/serializers.py:
|
|
1240
|
+
#: core/api/v2/serializers.py:226
|
|
1236
1241
|
msgid "Invalid rounds number"
|
|
1237
1242
|
msgstr ""
|
|
1238
1243
|
|
|
1239
|
-
#: core/api/v2/serializers.py:
|
|
1244
|
+
#: core/api/v2/serializers.py:426 core/forms.py:81
|
|
1240
1245
|
msgid "This code is invalid"
|
|
1241
1246
|
msgstr ""
|
|
1242
1247
|
|
|
1243
|
-
#: core/api/v2/serializers.py:
|
|
1248
|
+
#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
|
|
1244
1249
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
1245
1250
|
msgstr ""
|
|
1246
1251
|
|
|
@@ -1265,525 +1270,517 @@ msgid "Calendar"
|
|
|
1265
1270
|
msgstr ""
|
|
1266
1271
|
|
|
1267
1272
|
#: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
|
|
1268
|
-
#: webmail/app_settings.py:
|
|
1273
|
+
#: webmail/app_settings.py:295 webmail/app_settings.py:302
|
|
1269
1274
|
msgid "Webmail"
|
|
1270
1275
|
msgstr ""
|
|
1271
1276
|
|
|
1272
|
-
#: core/app_settings.py:
|
|
1277
|
+
#: core/app_settings.py:25
|
|
1273
1278
|
msgid "Authentication"
|
|
1274
1279
|
msgstr ""
|
|
1275
1280
|
|
|
1276
|
-
#: core/app_settings.py:
|
|
1281
|
+
#: core/app_settings.py:31
|
|
1277
1282
|
msgid "Authentication type"
|
|
1278
1283
|
msgstr ""
|
|
1279
1284
|
|
|
1280
|
-
#: core/app_settings.py:
|
|
1285
|
+
#: core/app_settings.py:33
|
|
1281
1286
|
msgid "The backend used for authentication"
|
|
1282
1287
|
msgstr ""
|
|
1283
1288
|
|
|
1284
|
-
#: core/app_settings.py:
|
|
1289
|
+
#: core/app_settings.py:40
|
|
1285
1290
|
msgid "Default password scheme"
|
|
1286
1291
|
msgstr ""
|
|
1287
1292
|
|
|
1288
|
-
#: core/app_settings.py:
|
|
1293
|
+
#: core/app_settings.py:42
|
|
1289
1294
|
msgid "Scheme used to crypt mailbox passwords"
|
|
1290
1295
|
msgstr ""
|
|
1291
1296
|
|
|
1292
|
-
#: core/app_settings.py:
|
|
1297
|
+
#: core/app_settings.py:49
|
|
1293
1298
|
msgid "Rounds"
|
|
1294
1299
|
msgstr ""
|
|
1295
1300
|
|
|
1296
|
-
#: core/app_settings.py:
|
|
1301
|
+
#: core/app_settings.py:51
|
|
1297
1302
|
msgid ""
|
|
1298
1303
|
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
|
|
1299
1304
|
"between 1000 and 999999999, inclusive."
|
|
1300
1305
|
msgstr ""
|
|
1301
1306
|
|
|
1302
|
-
#: core/app_settings.py:
|
|
1307
|
+
#: core/app_settings.py:61
|
|
1303
1308
|
msgid "Update password scheme at login"
|
|
1304
1309
|
msgstr ""
|
|
1305
1310
|
|
|
1306
|
-
#: core/app_settings.py:
|
|
1311
|
+
#: core/app_settings.py:64
|
|
1307
1312
|
msgid "Update user password at login to use the default password scheme"
|
|
1308
1313
|
msgstr ""
|
|
1309
1314
|
|
|
1310
|
-
#: core/app_settings.py:
|
|
1315
|
+
#: core/app_settings.py:72
|
|
1311
1316
|
msgid "Default password"
|
|
1312
1317
|
msgstr ""
|
|
1313
1318
|
|
|
1314
|
-
#: core/app_settings.py:
|
|
1319
|
+
#: core/app_settings.py:74
|
|
1315
1320
|
msgid "Default password for automatically created accounts."
|
|
1316
1321
|
msgstr ""
|
|
1317
1322
|
|
|
1318
|
-
#: core/app_settings.py:
|
|
1323
|
+
#: core/app_settings.py:81
|
|
1319
1324
|
msgid "Random password length"
|
|
1320
1325
|
msgstr ""
|
|
1321
1326
|
|
|
1322
|
-
#: core/app_settings.py:
|
|
1327
|
+
#: core/app_settings.py:83
|
|
1323
1328
|
msgid "Length of randomly generated passwords."
|
|
1324
1329
|
msgstr ""
|
|
1325
1330
|
|
|
1326
|
-
#: core/app_settings.py:
|
|
1331
|
+
#: core/app_settings.py:91
|
|
1327
1332
|
msgid "Allow special characters for random password"
|
|
1328
1333
|
msgstr ""
|
|
1329
1334
|
|
|
1330
|
-
#: core/app_settings.py:
|
|
1335
|
+
#: core/app_settings.py:94
|
|
1331
1336
|
msgid "Enable special characters in randomly generated passwords."
|
|
1332
1337
|
msgstr ""
|
|
1333
1338
|
|
|
1334
|
-
#: core/app_settings.py:
|
|
1339
|
+
#: core/app_settings.py:102
|
|
1335
1340
|
msgid "Update password service URL"
|
|
1336
1341
|
msgstr ""
|
|
1337
1342
|
|
|
1338
|
-
#: core/app_settings.py:
|
|
1343
|
+
#: core/app_settings.py:104
|
|
1339
1344
|
msgid ""
|
|
1340
1345
|
"The URL of an external page where users will be able to update their "
|
|
1341
1346
|
"password. It applies only to non local users, ie. those automatically "
|
|
1342
1347
|
"created after a successful external authentication (LDAP, SMTP)."
|
|
1343
1348
|
msgstr ""
|
|
1344
1349
|
|
|
1345
|
-
#: core/app_settings.py:
|
|
1350
|
+
#: core/app_settings.py:114
|
|
1346
1351
|
msgid "Password recovery announcement"
|
|
1347
1352
|
msgstr ""
|
|
1348
1353
|
|
|
1349
|
-
#: core/app_settings.py:
|
|
1354
|
+
#: core/app_settings.py:116
|
|
1350
1355
|
msgid "A temporary message that will be displayed on the reset password page."
|
|
1351
1356
|
msgstr ""
|
|
1352
1357
|
|
|
1353
|
-
#: core/app_settings.py:
|
|
1358
|
+
#: core/app_settings.py:125
|
|
1354
1359
|
msgid "Enable password recovery by SMS"
|
|
1355
1360
|
msgstr ""
|
|
1356
1361
|
|
|
1357
|
-
#: core/app_settings.py:
|
|
1362
|
+
#: core/app_settings.py:128
|
|
1358
1363
|
msgid "Enable password recovery by SMS for users who filled a phone number."
|
|
1359
1364
|
msgstr ""
|
|
1360
1365
|
|
|
1361
|
-
#: core/app_settings.py:
|
|
1366
|
+
#: core/app_settings.py:136
|
|
1362
1367
|
msgid "SMS provider"
|
|
1363
1368
|
msgstr ""
|
|
1364
1369
|
|
|
1365
|
-
#: core/app_settings.py:
|
|
1370
|
+
#: core/app_settings.py:139
|
|
1366
1371
|
msgid "Choose a provider to send password recovery SMS"
|
|
1367
1372
|
msgstr ""
|
|
1368
1373
|
|
|
1369
|
-
#: core/app_settings.py:
|
|
1374
|
+
#: core/app_settings.py:151
|
|
1370
1375
|
msgid "LDAP"
|
|
1371
1376
|
msgstr ""
|
|
1372
1377
|
|
|
1373
|
-
#: core/app_settings.py:
|
|
1378
|
+
#: core/app_settings.py:157 sievefilters/app_settings.py:18
|
|
1374
1379
|
#: sievefilters/app_settings.py:51 webmail/app_settings.py:36
|
|
1375
|
-
#: webmail/app_settings.py:73
|
|
1380
|
+
#: webmail/app_settings.py:73 webmail/app_settings.py:119
|
|
1376
1381
|
msgid "Server address"
|
|
1377
1382
|
msgstr ""
|
|
1378
1383
|
|
|
1379
|
-
#: core/app_settings.py:
|
|
1384
|
+
#: core/app_settings.py:159
|
|
1380
1385
|
msgid "The IP address or the DNS name of the LDAP server"
|
|
1381
1386
|
msgstr ""
|
|
1382
1387
|
|
|
1383
|
-
#: core/app_settings.py:
|
|
1388
|
+
#: core/app_settings.py:166 sievefilters/app_settings.py:25
|
|
1384
1389
|
#: sievefilters/app_settings.py:67 webmail/app_settings.py:54
|
|
1385
|
-
#: webmail/app_settings.py:91
|
|
1390
|
+
#: webmail/app_settings.py:91 webmail/app_settings.py:137
|
|
1386
1391
|
msgid "Server port"
|
|
1387
1392
|
msgstr ""
|
|
1388
1393
|
|
|
1389
|
-
#: core/app_settings.py:
|
|
1394
|
+
#: core/app_settings.py:168
|
|
1390
1395
|
msgid "The TCP port number used by the LDAP server"
|
|
1391
1396
|
msgstr ""
|
|
1392
1397
|
|
|
1393
|
-
#: core/app_settings.py:
|
|
1398
|
+
#: core/app_settings.py:176
|
|
1394
1399
|
msgid "Enable secondary server (fallback)"
|
|
1395
1400
|
msgstr ""
|
|
1396
1401
|
|
|
1397
|
-
#: core/app_settings.py:
|
|
1402
|
+
#: core/app_settings.py:179
|
|
1398
1403
|
msgid ""
|
|
1399
1404
|
"Enable a secondary LDAP server which will be used if the primary one fails"
|
|
1400
1405
|
msgstr ""
|
|
1401
1406
|
|
|
1402
|
-
#: core/app_settings.py:
|
|
1407
|
+
#: core/app_settings.py:187
|
|
1403
1408
|
msgid "Secondary server address"
|
|
1404
1409
|
msgstr ""
|
|
1405
1410
|
|
|
1406
|
-
#: core/app_settings.py:
|
|
1411
|
+
#: core/app_settings.py:190
|
|
1407
1412
|
msgid "The IP address or the DNS name of the seondary LDAP server"
|
|
1408
1413
|
msgstr ""
|
|
1409
1414
|
|
|
1410
|
-
#: core/app_settings.py:
|
|
1415
|
+
#: core/app_settings.py:197
|
|
1411
1416
|
msgid "Secondary server port"
|
|
1412
1417
|
msgstr ""
|
|
1413
1418
|
|
|
1414
|
-
#: core/app_settings.py:
|
|
1419
|
+
#: core/app_settings.py:200
|
|
1415
1420
|
msgid "The TCP port number used by the LDAP secondary server"
|
|
1416
1421
|
msgstr ""
|
|
1417
1422
|
|
|
1418
|
-
#: core/app_settings.py:
|
|
1423
|
+
#: core/app_settings.py:207 sievefilters/app_settings.py:58
|
|
1419
1424
|
#: webmail/app_settings.py:45
|
|
1420
1425
|
msgid "Use a secured connection"
|
|
1421
1426
|
msgstr ""
|
|
1422
1427
|
|
|
1423
|
-
#: core/app_settings.py:
|
|
1428
|
+
#: core/app_settings.py:209
|
|
1424
1429
|
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
1425
1430
|
msgstr ""
|
|
1426
1431
|
|
|
1427
|
-
#: core/app_settings.py:
|
|
1432
|
+
#: core/app_settings.py:216
|
|
1428
1433
|
msgid "Active Directory"
|
|
1429
1434
|
msgstr ""
|
|
1430
1435
|
|
|
1431
|
-
#: core/app_settings.py:
|
|
1436
|
+
#: core/app_settings.py:218
|
|
1432
1437
|
msgid "Tell if the LDAP server is an Active Directory one"
|
|
1433
1438
|
msgstr ""
|
|
1434
1439
|
|
|
1435
|
-
#: core/app_settings.py:
|
|
1440
|
+
#: core/app_settings.py:225
|
|
1436
1441
|
msgid "Administrator groups"
|
|
1437
1442
|
msgstr ""
|
|
1438
1443
|
|
|
1439
|
-
#: core/app_settings.py:
|
|
1444
|
+
#: core/app_settings.py:227
|
|
1440
1445
|
msgid ""
|
|
1441
1446
|
"Members of those LDAP Posix groups will be created as domain administrators. "
|
|
1442
1447
|
"Use ';' characters to separate groups."
|
|
1443
1448
|
msgstr ""
|
|
1444
1449
|
|
|
1445
|
-
#: core/app_settings.py:
|
|
1450
|
+
#: core/app_settings.py:236
|
|
1446
1451
|
msgid "Group type"
|
|
1447
1452
|
msgstr ""
|
|
1448
1453
|
|
|
1449
|
-
#: core/app_settings.py:
|
|
1454
|
+
#: core/app_settings.py:238
|
|
1450
1455
|
msgid "The LDAP group type to use with your directory."
|
|
1451
1456
|
msgstr ""
|
|
1452
1457
|
|
|
1453
|
-
#: core/app_settings.py:
|
|
1458
|
+
#: core/app_settings.py:245
|
|
1454
1459
|
msgid "Groups search base"
|
|
1455
1460
|
msgstr ""
|
|
1456
1461
|
|
|
1457
|
-
#: core/app_settings.py:
|
|
1462
|
+
#: core/app_settings.py:247
|
|
1458
1463
|
msgid "The distinguished name of the search base used to find groups"
|
|
1459
1464
|
msgstr ""
|
|
1460
1465
|
|
|
1461
|
-
#: core/app_settings.py:
|
|
1466
|
+
#: core/app_settings.py:255
|
|
1462
1467
|
msgid "Password attribute"
|
|
1463
1468
|
msgstr ""
|
|
1464
1469
|
|
|
1465
|
-
#: core/app_settings.py:
|
|
1470
|
+
#: core/app_settings.py:257
|
|
1466
1471
|
msgid "The attribute used to store user passwords"
|
|
1467
1472
|
msgstr ""
|
|
1468
1473
|
|
|
1469
|
-
#: core/app_settings.py:
|
|
1474
|
+
#: core/app_settings.py:264
|
|
1470
1475
|
msgid "LDAP authentication settings"
|
|
1471
1476
|
msgstr ""
|
|
1472
1477
|
|
|
1473
|
-
#: core/app_settings.py:
|
|
1478
|
+
#: core/app_settings.py:272
|
|
1474
1479
|
msgid "Authentication method"
|
|
1475
1480
|
msgstr ""
|
|
1476
1481
|
|
|
1477
|
-
#: core/app_settings.py:
|
|
1482
|
+
#: core/app_settings.py:275
|
|
1478
1483
|
msgid "Choose the authentication method to use"
|
|
1479
1484
|
msgstr ""
|
|
1480
1485
|
|
|
1481
|
-
#: core/app_settings.py:
|
|
1486
|
+
#: core/app_settings.py:282 core/app_settings.py:345
|
|
1482
1487
|
msgid "Bind DN"
|
|
1483
1488
|
msgstr ""
|
|
1484
1489
|
|
|
1485
|
-
#: core/app_settings.py:
|
|
1490
|
+
#: core/app_settings.py:284 core/app_settings.py:347
|
|
1486
1491
|
msgid ""
|
|
1487
1492
|
"The distinguished name to use when binding to the LDAP server. Leave empty "
|
|
1488
1493
|
"for an anonymous bind"
|
|
1489
1494
|
msgstr ""
|
|
1490
1495
|
|
|
1491
|
-
#: core/app_settings.py:
|
|
1496
|
+
#: core/app_settings.py:293 core/app_settings.py:355
|
|
1492
1497
|
msgid "Bind password"
|
|
1493
1498
|
msgstr ""
|
|
1494
1499
|
|
|
1495
|
-
#: core/app_settings.py:
|
|
1500
|
+
#: core/app_settings.py:295 core/app_settings.py:357
|
|
1496
1501
|
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
|
|
1497
1502
|
msgstr ""
|
|
1498
1503
|
|
|
1499
|
-
#: core/app_settings.py:
|
|
1504
|
+
#: core/app_settings.py:305 core/app_settings.py:410
|
|
1500
1505
|
msgid "Users search base"
|
|
1501
1506
|
msgstr ""
|
|
1502
1507
|
|
|
1503
|
-
#: core/app_settings.py:
|
|
1508
|
+
#: core/app_settings.py:307 core/app_settings.py:412
|
|
1504
1509
|
msgid "The distinguished name of the search base used to find users"
|
|
1505
1510
|
msgstr ""
|
|
1506
1511
|
|
|
1507
|
-
#: core/app_settings.py:
|
|
1512
|
+
#: core/app_settings.py:316 core/app_settings.py:421
|
|
1508
1513
|
msgid "Search filter"
|
|
1509
1514
|
msgstr ""
|
|
1510
1515
|
|
|
1511
|
-
#: core/app_settings.py:
|
|
1516
|
+
#: core/app_settings.py:318 core/app_settings.py:423
|
|
1512
1517
|
msgid ""
|
|
1513
1518
|
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
|
|
1514
1519
|
"valid, it must be enclosed in parentheses."
|
|
1515
1520
|
msgstr ""
|
|
1516
1521
|
|
|
1517
|
-
#: core/app_settings.py:
|
|
1522
|
+
#: core/app_settings.py:327
|
|
1518
1523
|
msgid "User DN template"
|
|
1519
1524
|
msgstr ""
|
|
1520
1525
|
|
|
1521
|
-
#: core/app_settings.py:
|
|
1526
|
+
#: core/app_settings.py:329
|
|
1522
1527
|
#, python-format
|
|
1523
1528
|
msgid ""
|
|
1524
1529
|
"The template used to construct a user's DN. It should contain one "
|
|
1525
1530
|
"placeholder (ie. %(user)s)"
|
|
1526
1531
|
msgstr ""
|
|
1527
1532
|
|
|
1528
|
-
#: core/app_settings.py:
|
|
1533
|
+
#: core/app_settings.py:338
|
|
1529
1534
|
msgid "LDAP synchronization settings"
|
|
1530
1535
|
msgstr ""
|
|
1531
1536
|
|
|
1532
|
-
#: core/app_settings.py:
|
|
1537
|
+
#: core/app_settings.py:366
|
|
1533
1538
|
msgid "Enable export to LDAP"
|
|
1534
1539
|
msgstr ""
|
|
1535
1540
|
|
|
1536
|
-
#: core/app_settings.py:
|
|
1541
|
+
#: core/app_settings.py:368
|
|
1537
1542
|
msgid ""
|
|
1538
1543
|
"Enable automatic synchronization between local database and LDAP directory"
|
|
1539
1544
|
msgstr ""
|
|
1540
1545
|
|
|
1541
|
-
#: core/app_settings.py:
|
|
1546
|
+
#: core/app_settings.py:377
|
|
1542
1547
|
msgid "Delete remote LDAP account when local account is deleted"
|
|
1543
1548
|
msgstr ""
|
|
1544
1549
|
|
|
1545
|
-
#: core/app_settings.py:
|
|
1550
|
+
#: core/app_settings.py:380
|
|
1546
1551
|
msgid ""
|
|
1547
1552
|
"Delete remote LDAP account when local account is deleted, otherwise it will "
|
|
1548
1553
|
"be disabled."
|
|
1549
1554
|
msgstr ""
|
|
1550
1555
|
|
|
1551
|
-
#: core/app_settings.py:
|
|
1556
|
+
#: core/app_settings.py:389
|
|
1552
1557
|
msgid "Account DN template"
|
|
1553
1558
|
msgstr ""
|
|
1554
1559
|
|
|
1555
|
-
#: core/app_settings.py:
|
|
1560
|
+
#: core/app_settings.py:391
|
|
1556
1561
|
#, python-format
|
|
1557
1562
|
msgid ""
|
|
1558
1563
|
"The template used to construct an account's DN. It should contain one "
|
|
1559
1564
|
"placeholder (ie. %(user)s)"
|
|
1560
1565
|
msgstr ""
|
|
1561
1566
|
|
|
1562
|
-
#: core/app_settings.py:
|
|
1567
|
+
#: core/app_settings.py:400
|
|
1563
1568
|
msgid "Enable import from LDAP"
|
|
1564
1569
|
msgstr ""
|
|
1565
1570
|
|
|
1566
|
-
#: core/app_settings.py:
|
|
1571
|
+
#: core/app_settings.py:402
|
|
1567
1572
|
msgid "Enable account synchronization from LDAP directory to local database"
|
|
1568
1573
|
msgstr ""
|
|
1569
1574
|
|
|
1570
|
-
#: core/app_settings.py:
|
|
1575
|
+
#: core/app_settings.py:432
|
|
1571
1576
|
msgid "Username attribute"
|
|
1572
1577
|
msgstr ""
|
|
1573
1578
|
|
|
1574
|
-
#: core/app_settings.py:
|
|
1579
|
+
#: core/app_settings.py:434
|
|
1575
1580
|
msgid "The name of the LDAP attribute where the username can be found."
|
|
1576
1581
|
msgstr ""
|
|
1577
1582
|
|
|
1578
|
-
#: core/app_settings.py:
|
|
1583
|
+
#: core/app_settings.py:443
|
|
1579
1584
|
msgid "Enable Dovecot LDAP sync"
|
|
1580
1585
|
msgstr ""
|
|
1581
1586
|
|
|
1582
|
-
#: core/app_settings.py:
|
|
1587
|
+
#: core/app_settings.py:445
|
|
1583
1588
|
msgid "LDAP authentication settings will be applied to Dovecot configuration."
|
|
1584
1589
|
msgstr ""
|
|
1585
1590
|
|
|
1586
|
-
#: core/app_settings.py:
|
|
1591
|
+
#: core/app_settings.py:453
|
|
1587
1592
|
msgid "Dovecot LDAP config file"
|
|
1588
1593
|
msgstr ""
|
|
1589
1594
|
|
|
1590
|
-
#: core/app_settings.py:
|
|
1595
|
+
#: core/app_settings.py:455
|
|
1591
1596
|
msgid ""
|
|
1592
1597
|
"Location of the configuration file which contains Dovecot LDAP settings."
|
|
1593
1598
|
msgstr ""
|
|
1594
1599
|
|
|
1595
|
-
#: core/app_settings.py:
|
|
1600
|
+
#: core/app_settings.py:468
|
|
1596
1601
|
msgid "Dashboard"
|
|
1597
1602
|
msgstr ""
|
|
1598
1603
|
|
|
1599
|
-
#: core/app_settings.py:
|
|
1604
|
+
#: core/app_settings.py:474
|
|
1600
1605
|
msgid "Custom welcome message"
|
|
1601
1606
|
msgstr ""
|
|
1602
1607
|
|
|
1603
|
-
#: core/app_settings.py:
|
|
1608
|
+
#: core/app_settings.py:476
|
|
1604
1609
|
msgid "A welcome message that will be displayed instead the default one"
|
|
1605
1610
|
msgstr ""
|
|
1606
1611
|
|
|
1607
|
-
#: core/app_settings.py:
|
|
1612
|
+
#: core/app_settings.py:483
|
|
1608
1613
|
msgid "Custom RSS feed"
|
|
1609
1614
|
msgstr ""
|
|
1610
1615
|
|
|
1611
|
-
#: core/app_settings.py:
|
|
1616
|
+
#: core/app_settings.py:485
|
|
1612
1617
|
msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1613
1618
|
msgstr ""
|
|
1614
1619
|
|
|
1615
|
-
#: core/app_settings.py:
|
|
1620
|
+
#: core/app_settings.py:494
|
|
1616
1621
|
msgid "Display custom RSS feed to super admins"
|
|
1617
1622
|
msgstr ""
|
|
1618
1623
|
|
|
1619
|
-
#: core/app_settings.py:
|
|
1624
|
+
#: core/app_settings.py:497
|
|
1620
1625
|
msgid "Display custom RSS feed also to super administrators"
|
|
1621
1626
|
msgstr ""
|
|
1622
1627
|
|
|
1623
|
-
#: core/app_settings.py:
|
|
1628
|
+
#: core/app_settings.py:505
|
|
1624
1629
|
msgid "Hide features widget"
|
|
1625
1630
|
msgstr ""
|
|
1626
1631
|
|
|
1627
|
-
#: core/app_settings.py:
|
|
1632
|
+
#: core/app_settings.py:507
|
|
1628
1633
|
msgid "Hide features widget for resellers and domain administrators"
|
|
1629
1634
|
msgstr ""
|
|
1630
1635
|
|
|
1631
|
-
#: core/app_settings.py:
|
|
1636
|
+
#: core/app_settings.py:519
|
|
1632
1637
|
msgid "Theme"
|
|
1633
1638
|
msgstr ""
|
|
1634
1639
|
|
|
1635
|
-
#: core/app_settings.py:
|
|
1640
|
+
#: core/app_settings.py:525
|
|
1636
1641
|
msgid "Primary theme color"
|
|
1637
1642
|
msgstr ""
|
|
1638
1643
|
|
|
1639
|
-
#: core/app_settings.py:
|
|
1644
|
+
#: core/app_settings.py:527
|
|
1640
1645
|
msgid ""
|
|
1641
1646
|
"Primary color of the theme (hexadecimal code), used as the background color "
|
|
1642
1647
|
"of the left menu for example"
|
|
1643
1648
|
msgstr ""
|
|
1644
1649
|
|
|
1645
|
-
#: core/app_settings.py:
|
|
1650
|
+
#: core/app_settings.py:536
|
|
1646
1651
|
msgid "Primary theme color (lighter version)"
|
|
1647
1652
|
msgstr ""
|
|
1648
1653
|
|
|
1649
|
-
#: core/app_settings.py:
|
|
1654
|
+
#: core/app_settings.py:539 core/app_settings.py:551
|
|
1650
1655
|
msgid "Primary color of the theme (hexadecimal code)"
|
|
1651
1656
|
msgstr ""
|
|
1652
1657
|
|
|
1653
|
-
#: core/app_settings.py:
|
|
1658
|
+
#: core/app_settings.py:548
|
|
1654
1659
|
msgid "Primary theme color (darker version)"
|
|
1655
1660
|
msgstr ""
|
|
1656
1661
|
|
|
1657
|
-
#: core/app_settings.py:
|
|
1662
|
+
#: core/app_settings.py:559
|
|
1658
1663
|
msgid "Secondary theme color"
|
|
1659
1664
|
msgstr ""
|
|
1660
1665
|
|
|
1661
|
-
#: core/app_settings.py:
|
|
1666
|
+
#: core/app_settings.py:561
|
|
1662
1667
|
msgid ""
|
|
1663
1668
|
"Secondary color of the theme (hexadecimal code), used as the background "
|
|
1664
1669
|
"color of some buttons for example"
|
|
1665
1670
|
msgstr ""
|
|
1666
1671
|
|
|
1667
|
-
#: core/app_settings.py:
|
|
1672
|
+
#: core/app_settings.py:569
|
|
1668
1673
|
msgid "Labels theme color"
|
|
1669
1674
|
msgstr ""
|
|
1670
1675
|
|
|
1671
|
-
#: core/app_settings.py:
|
|
1676
|
+
#: core/app_settings.py:571
|
|
1672
1677
|
msgid "Theme color for labels (hexadecimal code)"
|
|
1673
1678
|
msgstr ""
|
|
1674
1679
|
|
|
1675
|
-
#: core/app_settings.py:
|
|
1680
|
+
#: core/app_settings.py:583
|
|
1676
1681
|
msgid "Notifications"
|
|
1677
1682
|
msgstr ""
|
|
1678
1683
|
|
|
1679
|
-
#: core/app_settings.py:
|
|
1684
|
+
#: core/app_settings.py:589
|
|
1680
1685
|
msgid "Sender address"
|
|
1681
1686
|
msgstr ""
|
|
1682
1687
|
|
|
1683
|
-
#: core/app_settings.py:
|
|
1688
|
+
#: core/app_settings.py:591
|
|
1684
1689
|
msgid "Email address used to send notifications."
|
|
1685
1690
|
msgstr ""
|
|
1686
1691
|
|
|
1687
|
-
#: core/app_settings.py:
|
|
1692
|
+
#: core/app_settings.py:602
|
|
1688
1693
|
msgid "Public API"
|
|
1689
1694
|
msgstr ""
|
|
1690
1695
|
|
|
1691
|
-
#: core/app_settings.py:
|
|
1696
|
+
#: core/app_settings.py:608
|
|
1692
1697
|
msgid "Enable communication"
|
|
1693
1698
|
msgstr ""
|
|
1694
1699
|
|
|
1695
|
-
#: core/app_settings.py:
|
|
1700
|
+
#: core/app_settings.py:610 core/app_settings.py:620
|
|
1696
1701
|
msgid "Automatically checks if a newer version is available"
|
|
1697
1702
|
msgstr ""
|
|
1698
1703
|
|
|
1699
|
-
#: core/app_settings.py:
|
|
1704
|
+
#: core/app_settings.py:617
|
|
1700
1705
|
msgid "Check new versions"
|
|
1701
1706
|
msgstr ""
|
|
1702
1707
|
|
|
1703
|
-
#: core/app_settings.py:
|
|
1708
|
+
#: core/app_settings.py:628
|
|
1704
1709
|
msgid "Send an email when new versions are found"
|
|
1705
1710
|
msgstr ""
|
|
1706
1711
|
|
|
1707
|
-
#: core/app_settings.py:
|
|
1712
|
+
#: core/app_settings.py:632
|
|
1708
1713
|
msgid "Send an email to notify admins about new versions"
|
|
1709
1714
|
msgstr ""
|
|
1710
1715
|
|
|
1711
|
-
#: core/app_settings.py:
|
|
1716
|
+
#: core/app_settings.py:639 sievefilters/constants.py:25
|
|
1712
1717
|
msgid "Recipient"
|
|
1713
1718
|
msgstr ""
|
|
1714
1719
|
|
|
1715
|
-
#: core/app_settings.py:
|
|
1720
|
+
#: core/app_settings.py:642
|
|
1716
1721
|
msgid "Recipient of new versions notification emails."
|
|
1717
1722
|
msgstr ""
|
|
1718
1723
|
|
|
1719
|
-
#: core/app_settings.py:
|
|
1724
|
+
#: core/app_settings.py:649
|
|
1720
1725
|
msgid "Send statistics"
|
|
1721
1726
|
msgstr ""
|
|
1722
1727
|
|
|
1723
|
-
#: core/app_settings.py:
|
|
1728
|
+
#: core/app_settings.py:652
|
|
1724
1729
|
msgid "Send statistics to Modoboa public API (counters and used extensions)"
|
|
1725
1730
|
msgstr ""
|
|
1726
1731
|
|
|
1727
|
-
#: core/app_settings.py:
|
|
1732
|
+
#: core/app_settings.py:671
|
|
1728
1733
|
msgid "Enable inactive account tracking"
|
|
1729
1734
|
msgstr ""
|
|
1730
1735
|
|
|
1731
|
-
#: core/app_settings.py:
|
|
1736
|
+
#: core/app_settings.py:674
|
|
1732
1737
|
msgid ""
|
|
1733
1738
|
"Allow the administrator to set a threshold (in days) beyond which an account "
|
|
1734
1739
|
"is considered inactive if the user hasn't logged in"
|
|
1735
1740
|
msgstr ""
|
|
1736
1741
|
|
|
1737
|
-
#: core/app_settings.py:
|
|
1742
|
+
#: core/app_settings.py:683
|
|
1738
1743
|
msgid "Inactive account threshold"
|
|
1739
1744
|
msgstr ""
|
|
1740
1745
|
|
|
1741
|
-
#: core/app_settings.py:
|
|
1746
|
+
#: core/app_settings.py:686
|
|
1742
1747
|
msgid ""
|
|
1743
1748
|
"An account with a last login date greater than this threshold (in days) will "
|
|
1744
1749
|
"be considered as inactive"
|
|
1745
1750
|
msgstr ""
|
|
1746
1751
|
|
|
1747
|
-
#: core/app_settings.py:
|
|
1752
|
+
#: core/app_settings.py:695
|
|
1748
1753
|
msgid "Top notifications check interval"
|
|
1749
1754
|
msgstr ""
|
|
1750
1755
|
|
|
1751
|
-
#: core/app_settings.py:
|
|
1756
|
+
#: core/app_settings.py:698
|
|
1752
1757
|
msgid "Interval between two top notification checks (in seconds)"
|
|
1753
1758
|
msgstr ""
|
|
1754
1759
|
|
|
1755
|
-
#: core/app_settings.py:
|
|
1760
|
+
#: core/app_settings.py:705
|
|
1756
1761
|
msgid "Maximum log record age"
|
|
1757
1762
|
msgstr ""
|
|
1758
1763
|
|
|
1759
|
-
#: core/app_settings.py:
|
|
1764
|
+
#: core/app_settings.py:707
|
|
1760
1765
|
msgid "The maximum age in days of a log record"
|
|
1761
1766
|
msgstr ""
|
|
1762
1767
|
|
|
1763
|
-
#: core/app_settings.py:
|
|
1768
|
+
#: core/app_settings.py:715
|
|
1764
1769
|
msgid "Retention time in message history"
|
|
1765
1770
|
msgstr ""
|
|
1766
1771
|
|
|
1767
|
-
#: core/app_settings.py:
|
|
1772
|
+
#: core/app_settings.py:718
|
|
1768
1773
|
msgid "Retention time (in days) of a message in the message history section"
|
|
1769
1774
|
msgstr ""
|
|
1770
1775
|
|
|
1771
|
-
#: core/app_settings.py:
|
|
1776
|
+
#: core/app_settings.py:725
|
|
1772
1777
|
msgid "Items per page"
|
|
1773
1778
|
msgstr ""
|
|
1774
1779
|
|
|
1775
|
-
#: core/app_settings.py:
|
|
1780
|
+
#: core/app_settings.py:727
|
|
1776
1781
|
msgid "Number of displayed items per page"
|
|
1777
1782
|
msgstr ""
|
|
1778
1783
|
|
|
1779
|
-
#: core/app_settings.py:746
|
|
1780
|
-
msgid "Default top redirection"
|
|
1781
|
-
msgstr ""
|
|
1782
|
-
|
|
1783
|
-
#: core/app_settings.py:748
|
|
1784
|
-
msgid "The default redirection used when no application is specified"
|
|
1785
|
-
msgstr ""
|
|
1786
|
-
|
|
1787
1784
|
#: core/checks.py:15
|
|
1788
1785
|
msgid ""
|
|
1789
1786
|
"You have USE_TZ set to False, this may result in issues during transitions "
|
|
@@ -2104,7 +2101,7 @@ msgid "Not resolved"
|
|
|
2104
2101
|
msgstr ""
|
|
2105
2102
|
|
|
2106
2103
|
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
|
|
2107
|
-
#: webmail/constants.py:
|
|
2104
|
+
#: webmail/constants.py:38
|
|
2108
2105
|
msgid "None"
|
|
2109
2106
|
msgstr ""
|
|
2110
2107
|
|
|
@@ -2982,7 +2979,7 @@ msgstr ""
|
|
|
2982
2979
|
msgid "is not"
|
|
2983
2980
|
msgstr ""
|
|
2984
2981
|
|
|
2985
|
-
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:
|
|
2982
|
+
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
|
|
2986
2983
|
msgid "Subject"
|
|
2987
2984
|
msgstr ""
|
|
2988
2985
|
|
|
@@ -3208,19 +3205,19 @@ msgstr ""
|
|
|
3208
3205
|
msgid "SMTP settings"
|
|
3209
3206
|
msgstr ""
|
|
3210
3207
|
|
|
3211
|
-
#: webmail/app_settings.py:75
|
|
3208
|
+
#: webmail/app_settings.py:75 webmail/app_settings.py:121
|
|
3212
3209
|
msgid "Address of your SMTP server"
|
|
3213
3210
|
msgstr ""
|
|
3214
3211
|
|
|
3215
|
-
#: webmail/app_settings.py:82
|
|
3212
|
+
#: webmail/app_settings.py:82 webmail/app_settings.py:128
|
|
3216
3213
|
msgid "Secured connection mode"
|
|
3217
3214
|
msgstr ""
|
|
3218
3215
|
|
|
3219
|
-
#: webmail/app_settings.py:84
|
|
3216
|
+
#: webmail/app_settings.py:84 webmail/app_settings.py:130
|
|
3220
3217
|
msgid "Use a secured connection to access SMTP server"
|
|
3221
3218
|
msgstr ""
|
|
3222
3219
|
|
|
3223
|
-
#: webmail/app_settings.py:93
|
|
3220
|
+
#: webmail/app_settings.py:93 webmail/app_settings.py:139
|
|
3224
3221
|
msgid "Listening port of your SMTP server"
|
|
3225
3222
|
msgstr ""
|
|
3226
3223
|
|
|
@@ -3232,95 +3229,99 @@ msgstr ""
|
|
|
3232
3229
|
msgid "Server needs authentication"
|
|
3233
3230
|
msgstr ""
|
|
3234
3231
|
|
|
3235
|
-
#: webmail/app_settings.py:
|
|
3232
|
+
#: webmail/app_settings.py:113
|
|
3233
|
+
msgid "Scheduling settings"
|
|
3234
|
+
msgstr ""
|
|
3235
|
+
|
|
3236
|
+
#: webmail/app_settings.py:161
|
|
3236
3237
|
msgid "Default message display mode"
|
|
3237
3238
|
msgstr ""
|
|
3238
3239
|
|
|
3239
|
-
#: webmail/app_settings.py:
|
|
3240
|
+
#: webmail/app_settings.py:163
|
|
3240
3241
|
msgid "The default mode used when displaying a message"
|
|
3241
3242
|
msgstr ""
|
|
3242
3243
|
|
|
3243
|
-
#: webmail/app_settings.py:
|
|
3244
|
+
#: webmail/app_settings.py:170
|
|
3244
3245
|
msgid "Enable HTML links display"
|
|
3245
3246
|
msgstr ""
|
|
3246
3247
|
|
|
3247
|
-
#: webmail/app_settings.py:
|
|
3248
|
+
#: webmail/app_settings.py:173
|
|
3248
3249
|
msgid "Enable/Disable HTML links display"
|
|
3249
3250
|
msgstr ""
|
|
3250
3251
|
|
|
3251
|
-
#: webmail/app_settings.py:
|
|
3252
|
+
#: webmail/app_settings.py:184
|
|
3252
3253
|
msgid "Sets the maximum number of messages displayed in a page"
|
|
3253
3254
|
msgstr ""
|
|
3254
3255
|
|
|
3255
|
-
#: webmail/app_settings.py:
|
|
3256
|
+
#: webmail/app_settings.py:191
|
|
3256
3257
|
msgid "Listing refresh rate"
|
|
3257
3258
|
msgstr ""
|
|
3258
3259
|
|
|
3259
|
-
#: webmail/app_settings.py:
|
|
3260
|
+
#: webmail/app_settings.py:193
|
|
3260
3261
|
msgid "Automatic listing refresh rate (in secconds)"
|
|
3261
3262
|
msgstr ""
|
|
3262
3263
|
|
|
3263
|
-
#: webmail/app_settings.py:
|
|
3264
|
+
#: webmail/app_settings.py:200
|
|
3264
3265
|
msgid "Folder container's width"
|
|
3265
3266
|
msgstr ""
|
|
3266
3267
|
|
|
3267
|
-
#: webmail/app_settings.py:
|
|
3268
|
+
#: webmail/app_settings.py:202
|
|
3268
3269
|
msgid "The width of the folder list container"
|
|
3269
3270
|
msgstr ""
|
|
3270
3271
|
|
|
3271
|
-
#: webmail/app_settings.py:
|
|
3272
|
+
#: webmail/app_settings.py:213
|
|
3272
3273
|
msgid "Folders"
|
|
3273
3274
|
msgstr ""
|
|
3274
3275
|
|
|
3275
|
-
#: webmail/app_settings.py:
|
|
3276
|
+
#: webmail/app_settings.py:219
|
|
3276
3277
|
msgid "Trash folder"
|
|
3277
3278
|
msgstr ""
|
|
3278
3279
|
|
|
3279
|
-
#: webmail/app_settings.py:
|
|
3280
|
+
#: webmail/app_settings.py:221
|
|
3280
3281
|
msgid "Folder where deleted messages go"
|
|
3281
3282
|
msgstr ""
|
|
3282
3283
|
|
|
3283
|
-
#: webmail/app_settings.py:
|
|
3284
|
+
#: webmail/app_settings.py:228
|
|
3284
3285
|
msgid "Sent folder"
|
|
3285
3286
|
msgstr ""
|
|
3286
3287
|
|
|
3287
|
-
#: webmail/app_settings.py:
|
|
3288
|
+
#: webmail/app_settings.py:230
|
|
3288
3289
|
msgid "Folder where copies of sent messages go"
|
|
3289
3290
|
msgstr ""
|
|
3290
3291
|
|
|
3291
|
-
#: webmail/app_settings.py:
|
|
3292
|
+
#: webmail/app_settings.py:237
|
|
3292
3293
|
msgid "Drafts folder"
|
|
3293
3294
|
msgstr ""
|
|
3294
3295
|
|
|
3295
|
-
#: webmail/app_settings.py:
|
|
3296
|
+
#: webmail/app_settings.py:238
|
|
3296
3297
|
msgid "Folder where drafts go"
|
|
3297
3298
|
msgstr ""
|
|
3298
3299
|
|
|
3299
|
-
#: webmail/app_settings.py:
|
|
3300
|
+
#: webmail/app_settings.py:244
|
|
3300
3301
|
msgid "Junk folder"
|
|
3301
3302
|
msgstr ""
|
|
3302
3303
|
|
|
3303
|
-
#: webmail/app_settings.py:
|
|
3304
|
+
#: webmail/app_settings.py:246
|
|
3304
3305
|
msgid "Folder where junk messages should go"
|
|
3305
3306
|
msgstr ""
|
|
3306
3307
|
|
|
3307
|
-
#: webmail/app_settings.py:
|
|
3308
|
+
#: webmail/app_settings.py:257
|
|
3308
3309
|
msgid "Composing messages"
|
|
3309
3310
|
msgstr ""
|
|
3310
3311
|
|
|
3311
|
-
#: webmail/app_settings.py:
|
|
3312
|
+
#: webmail/app_settings.py:263
|
|
3312
3313
|
msgid "Default editor"
|
|
3313
3314
|
msgstr ""
|
|
3314
3315
|
|
|
3315
|
-
#: webmail/app_settings.py:
|
|
3316
|
+
#: webmail/app_settings.py:265
|
|
3316
3317
|
msgid "The default editor to use when composing a message"
|
|
3317
3318
|
msgstr ""
|
|
3318
3319
|
|
|
3319
|
-
#: webmail/app_settings.py:
|
|
3320
|
+
#: webmail/app_settings.py:272
|
|
3320
3321
|
msgid "Signature text"
|
|
3321
3322
|
msgstr ""
|
|
3322
3323
|
|
|
3323
|
-
#: webmail/app_settings.py:
|
|
3324
|
+
#: webmail/app_settings.py:274
|
|
3324
3325
|
msgid "User defined email signature"
|
|
3325
3326
|
msgstr ""
|
|
3326
3327
|
|
|
@@ -3332,43 +3333,59 @@ msgstr ""
|
|
|
3332
3333
|
msgid "Failed to remove attachment: "
|
|
3333
3334
|
msgstr ""
|
|
3334
3335
|
|
|
3335
|
-
#: webmail/lib/imapemail.py:
|
|
3336
|
+
#: webmail/lib/imapemail.py:270
|
|
3336
3337
|
msgid "wrote:"
|
|
3337
3338
|
msgstr ""
|
|
3338
3339
|
|
|
3339
|
-
#: webmail/lib/imapemail.py:
|
|
3340
|
+
#: webmail/lib/imapemail.py:304
|
|
3340
3341
|
msgid "Date"
|
|
3341
3342
|
msgstr ""
|
|
3342
3343
|
|
|
3343
|
-
#: webmail/lib/imapemail.py:
|
|
3344
|
+
#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
|
|
3344
3345
|
msgid "Original message"
|
|
3345
3346
|
msgstr ""
|
|
3346
3347
|
|
|
3347
|
-
#: webmail/lib/imaputils.py:
|
|
3348
|
+
#: webmail/lib/imaputils.py:222
|
|
3348
3349
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3349
3350
|
msgstr ""
|
|
3350
3351
|
|
|
3351
|
-
#: webmail/lib/imaputils.py:
|
|
3352
|
+
#: webmail/lib/imaputils.py:478
|
|
3352
3353
|
msgid "Inbox"
|
|
3353
3354
|
msgstr ""
|
|
3354
3355
|
|
|
3355
|
-
#: webmail/lib/imaputils.py:
|
|
3356
|
+
#: webmail/lib/imaputils.py:482
|
|
3356
3357
|
msgid "Drafts"
|
|
3357
3358
|
msgstr ""
|
|
3358
3359
|
|
|
3359
|
-
#: webmail/lib/imaputils.py:
|
|
3360
|
+
#: webmail/lib/imaputils.py:487
|
|
3360
3361
|
msgid "Junk"
|
|
3361
3362
|
msgstr ""
|
|
3362
3363
|
|
|
3363
|
-
#: webmail/lib/imaputils.py:
|
|
3364
|
+
#: webmail/lib/imaputils.py:492
|
|
3364
3365
|
msgid "Sent"
|
|
3365
3366
|
msgstr ""
|
|
3366
3367
|
|
|
3367
|
-
#: webmail/lib/imaputils.py:
|
|
3368
|
+
#: webmail/lib/imaputils.py:500
|
|
3369
|
+
msgid "Scheduled"
|
|
3370
|
+
msgstr ""
|
|
3371
|
+
|
|
3372
|
+
#: webmail/lib/imaputils.py:507
|
|
3368
3373
|
msgid "Trash"
|
|
3369
3374
|
msgstr ""
|
|
3370
3375
|
|
|
3371
|
-
#: webmail/
|
|
3376
|
+
#: webmail/serializers.py:220
|
|
3377
|
+
msgid "Moving scheduled messages is forbidden"
|
|
3378
|
+
msgstr ""
|
|
3379
|
+
|
|
3380
|
+
#: webmail/serializers.py:253
|
|
3381
|
+
msgid "Only datetime in the future is allowed"
|
|
3382
|
+
msgstr ""
|
|
3383
|
+
|
|
3384
|
+
#: webmail/serializers.py:258
|
|
3385
|
+
msgid "Provived datetime must be one minute in the future at least"
|
|
3386
|
+
msgstr ""
|
|
3387
|
+
|
|
3388
|
+
#: webmail/viewsets.py:359
|
|
3372
3389
|
#, python-format
|
|
3373
3390
|
msgid "Attachment is too big (limit: %s)"
|
|
3374
3391
|
msgstr ""
|