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"
|
|
@@ -40,14 +40,14 @@ msgid "Cannot be greater than domain quota"
|
|
|
40
40
|
msgstr ""
|
|
41
41
|
|
|
42
42
|
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
|
|
43
|
-
#: admin/api/v2/serializers.py:
|
|
43
|
+
#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
|
|
44
44
|
msgid "Permission denied."
|
|
45
45
|
msgstr ""
|
|
46
46
|
|
|
47
47
|
#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
|
|
48
|
-
#: admin/api/v2/serializers.py:
|
|
49
|
-
#: core/api/v2/serializers.py:
|
|
50
|
-
#: core/api/v2/serializers.py:
|
|
48
|
+
#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
|
|
49
|
+
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
|
|
50
|
+
#: core/api/v2/serializers.py:259 transport/backends.py:40
|
|
51
51
|
msgid "This field is required"
|
|
52
52
|
msgstr ""
|
|
53
53
|
|
|
@@ -56,7 +56,7 @@ msgid ""
|
|
|
56
56
|
"List of administered domains (resellers and domain administrators only)."
|
|
57
57
|
msgstr ""
|
|
58
58
|
|
|
59
|
-
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:
|
|
59
|
+
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
|
|
60
60
|
msgid "Not allowed for this role."
|
|
61
61
|
msgstr ""
|
|
62
62
|
|
|
@@ -64,13 +64,12 @@ msgstr ""
|
|
|
64
64
|
msgid "Must be equal to mailbox full_address"
|
|
65
65
|
msgstr ""
|
|
66
66
|
|
|
67
|
-
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:
|
|
68
|
-
#: calendars/serializers.py:
|
|
69
|
-
#: pdfcredentials/api/v2/serializers.py:91
|
|
67
|
+
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
|
|
68
|
+
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
|
|
70
69
|
msgid "This field is required."
|
|
71
70
|
msgstr ""
|
|
72
71
|
|
|
73
|
-
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:
|
|
72
|
+
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
|
|
74
73
|
msgid "Local domain {} does not exist"
|
|
75
74
|
msgstr ""
|
|
76
75
|
|
|
@@ -111,39 +110,39 @@ msgstr ""
|
|
|
111
110
|
msgid "User '%s' already exists"
|
|
112
111
|
msgstr ""
|
|
113
112
|
|
|
114
|
-
#: admin/api/v2/serializers.py:
|
|
113
|
+
#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
|
|
115
114
|
msgid "Must be a positive integer"
|
|
116
115
|
msgstr ""
|
|
117
116
|
|
|
118
|
-
#: admin/api/v2/serializers.py:
|
|
117
|
+
#: admin/api/v2/serializers.py:271
|
|
119
118
|
msgid "openssl not found, please make sure it is installed."
|
|
120
119
|
msgstr ""
|
|
121
120
|
|
|
122
|
-
#: admin/api/v2/serializers.py:
|
|
121
|
+
#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
|
|
123
122
|
msgid "Directory not found."
|
|
124
123
|
msgstr ""
|
|
125
124
|
|
|
126
|
-
#: admin/api/v2/serializers.py:
|
|
125
|
+
#: admin/api/v2/serializers.py:285
|
|
127
126
|
msgid "This field only allows valid IP addresses (or networks)"
|
|
128
127
|
msgstr ""
|
|
129
128
|
|
|
130
|
-
#: admin/api/v2/serializers.py:
|
|
129
|
+
#: admin/api/v2/serializers.py:298
|
|
131
130
|
msgid "Please disable imap migration before disabling this option."
|
|
132
131
|
msgstr ""
|
|
133
132
|
|
|
134
|
-
#: admin/api/v2/serializers.py:
|
|
133
|
+
#: admin/api/v2/serializers.py:311
|
|
135
134
|
msgid "Define at least one authorized network / address"
|
|
136
135
|
msgstr ""
|
|
137
136
|
|
|
138
|
-
#: admin/api/v2/serializers.py:
|
|
137
|
+
#: admin/api/v2/serializers.py:588
|
|
139
138
|
msgid "The left part of an email address can't be more than 64 characters."
|
|
140
139
|
msgstr ""
|
|
141
140
|
|
|
142
|
-
#: admin/api/v2/serializers.py:
|
|
141
|
+
#: admin/api/v2/serializers.py:610
|
|
143
142
|
msgid "A mailbox is required to create aliases."
|
|
144
143
|
msgstr ""
|
|
145
144
|
|
|
146
|
-
#: admin/api/v2/serializers.py:
|
|
145
|
+
#: admin/api/v2/serializers.py:783
|
|
147
146
|
msgid "Unknown status"
|
|
148
147
|
msgstr ""
|
|
149
148
|
|
|
@@ -235,141 +234,151 @@ msgstr ""
|
|
|
235
234
|
msgid "Check every domain against major DNSBL providers"
|
|
236
235
|
msgstr ""
|
|
237
236
|
|
|
238
|
-
#: admin/app_settings.py:
|
|
237
|
+
#: admin/app_settings.py:117
|
|
238
|
+
msgid "Notify domain admins about DNS issues"
|
|
239
|
+
msgstr ""
|
|
240
|
+
|
|
241
|
+
#: admin/app_settings.py:120
|
|
242
|
+
msgid ""
|
|
243
|
+
"Send a notification by email to domain administrators when DNS issues are "
|
|
244
|
+
"encountered"
|
|
245
|
+
msgstr ""
|
|
246
|
+
|
|
247
|
+
#: admin/app_settings.py:128
|
|
239
248
|
msgid "Custom DNS server"
|
|
240
249
|
msgstr ""
|
|
241
250
|
|
|
242
|
-
#: admin/app_settings.py:
|
|
251
|
+
#: admin/app_settings.py:130
|
|
243
252
|
msgid "Use a custom DNS server instead of local server configuration"
|
|
244
253
|
msgstr ""
|
|
245
254
|
|
|
246
|
-
#: admin/app_settings.py:
|
|
255
|
+
#: admin/app_settings.py:138
|
|
247
256
|
msgid "DKIM keys storage directory"
|
|
248
257
|
msgstr ""
|
|
249
258
|
|
|
250
|
-
#: admin/app_settings.py:
|
|
259
|
+
#: admin/app_settings.py:140
|
|
251
260
|
msgid ""
|
|
252
261
|
"Absolute path of the directory where DKIM private keys will be stored. Make "
|
|
253
262
|
"sure this directory belongs to root user and is not readable by the outside "
|
|
254
263
|
"world."
|
|
255
264
|
msgstr ""
|
|
256
265
|
|
|
257
|
-
#: admin/app_settings.py:
|
|
266
|
+
#: admin/app_settings.py:149
|
|
258
267
|
msgid "Default DKIM key length"
|
|
259
268
|
msgstr ""
|
|
260
269
|
|
|
261
|
-
#: admin/app_settings.py:
|
|
270
|
+
#: admin/app_settings.py:151
|
|
262
271
|
msgid "Default length in bits for newly generated DKIM keys."
|
|
263
272
|
msgstr ""
|
|
264
273
|
|
|
265
|
-
#: admin/app_settings.py:
|
|
274
|
+
#: admin/app_settings.py:158
|
|
266
275
|
msgid "Default domain quota"
|
|
267
276
|
msgstr ""
|
|
268
277
|
|
|
269
|
-
#: admin/app_settings.py:
|
|
278
|
+
#: admin/app_settings.py:160
|
|
270
279
|
msgid ""
|
|
271
280
|
"Default quota (in MB) applied to freshly created domains with no value "
|
|
272
281
|
"specified. A value of 0 means no quota."
|
|
273
282
|
msgstr ""
|
|
274
283
|
|
|
275
|
-
#: admin/app_settings.py:
|
|
284
|
+
#: admin/app_settings.py:168
|
|
276
285
|
msgid "Default domain sending limit"
|
|
277
286
|
msgstr ""
|
|
278
287
|
|
|
279
|
-
#: admin/app_settings.py:
|
|
288
|
+
#: admin/app_settings.py:170
|
|
280
289
|
msgid ""
|
|
281
290
|
"Number of messages freshly created domains will be allowed to send per day. "
|
|
282
291
|
"Leave empty for no limit."
|
|
283
292
|
msgstr ""
|
|
284
293
|
|
|
285
|
-
#: admin/app_settings.py:
|
|
294
|
+
#: admin/app_settings.py:182 limits/app_settings.py:61
|
|
286
295
|
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
|
|
287
296
|
msgid "Mailboxes"
|
|
288
297
|
msgstr ""
|
|
289
298
|
|
|
290
|
-
#: admin/app_settings.py:
|
|
299
|
+
#: admin/app_settings.py:188
|
|
291
300
|
msgid "Handle mailboxes on filesystem"
|
|
292
301
|
msgstr ""
|
|
293
302
|
|
|
294
|
-
#: admin/app_settings.py:
|
|
303
|
+
#: admin/app_settings.py:190
|
|
295
304
|
msgid ""
|
|
296
305
|
"Rename or remove mailboxes on the filesystem when they get renamed or "
|
|
297
306
|
"removed within Modoboa"
|
|
298
307
|
msgstr ""
|
|
299
308
|
|
|
300
|
-
#: admin/app_settings.py:
|
|
309
|
+
#: admin/app_settings.py:198 admin/models/domain.py:36
|
|
301
310
|
msgid "Default mailbox quota"
|
|
302
311
|
msgstr ""
|
|
303
312
|
|
|
304
|
-
#: admin/app_settings.py:
|
|
313
|
+
#: admin/app_settings.py:200
|
|
305
314
|
msgid ""
|
|
306
315
|
"Default mailbox quota (in MB) applied to freshly created domains with no "
|
|
307
316
|
"value specified. A value of 0 means no quota."
|
|
308
317
|
msgstr ""
|
|
309
318
|
|
|
310
|
-
#: admin/app_settings.py:
|
|
319
|
+
#: admin/app_settings.py:209
|
|
311
320
|
msgid "Default mailbox sending limit"
|
|
312
321
|
msgstr ""
|
|
313
322
|
|
|
314
|
-
#: admin/app_settings.py:
|
|
323
|
+
#: admin/app_settings.py:211
|
|
315
324
|
msgid ""
|
|
316
325
|
"Number of messages freshly created mailboxes will be allowed to send per "
|
|
317
326
|
"day. Leave empty for no limit."
|
|
318
327
|
msgstr ""
|
|
319
328
|
|
|
320
|
-
#: admin/app_settings.py:
|
|
329
|
+
#: admin/app_settings.py:219
|
|
321
330
|
msgid "Automatic account removal"
|
|
322
331
|
msgstr ""
|
|
323
332
|
|
|
324
|
-
#: admin/app_settings.py:
|
|
333
|
+
#: admin/app_settings.py:221
|
|
325
334
|
msgid "When a mailbox is removed, also remove the associated account"
|
|
326
335
|
msgstr ""
|
|
327
336
|
|
|
328
|
-
#: admin/app_settings.py:
|
|
337
|
+
#: admin/app_settings.py:230
|
|
329
338
|
msgid "Automatic domain/mailbox creation"
|
|
330
339
|
msgstr ""
|
|
331
340
|
|
|
332
|
-
#: admin/app_settings.py:
|
|
341
|
+
#: admin/app_settings.py:233
|
|
333
342
|
msgid "Create a domain and a mailbox when an account is automatically created."
|
|
334
343
|
msgstr ""
|
|
335
344
|
|
|
336
|
-
#: admin/app_settings.py:
|
|
345
|
+
#: admin/app_settings.py:242
|
|
337
346
|
msgid "Create an alias when a mailbox is renamed"
|
|
338
347
|
msgstr ""
|
|
339
348
|
|
|
340
|
-
#: admin/app_settings.py:
|
|
349
|
+
#: admin/app_settings.py:245
|
|
341
350
|
msgid "Create an alias using the old address when a mailbox is renamed."
|
|
342
351
|
msgstr ""
|
|
343
352
|
|
|
344
|
-
#: admin/app_settings.py:
|
|
353
|
+
#: admin/app_settings.py:257
|
|
345
354
|
msgid "Aliases"
|
|
346
355
|
msgstr ""
|
|
347
356
|
|
|
348
|
-
#: admin/app_settings.py:
|
|
357
|
+
#: admin/app_settings.py:263
|
|
349
358
|
msgid "Alias can target any domain"
|
|
350
359
|
msgstr ""
|
|
351
360
|
|
|
352
|
-
#: admin/app_settings.py:
|
|
361
|
+
#: admin/app_settings.py:265
|
|
353
362
|
msgid "Allow aliases to target any domain, not just the local domains."
|
|
354
363
|
msgstr ""
|
|
355
364
|
|
|
356
|
-
#: admin/app_settings.py:
|
|
365
|
+
#: admin/app_settings.py:272
|
|
357
366
|
msgid "Alias target block list"
|
|
358
367
|
msgstr ""
|
|
359
368
|
|
|
360
|
-
#: admin/app_settings.py:
|
|
369
|
+
#: admin/app_settings.py:274
|
|
361
370
|
msgid "A list of domains that aliases cannot target (comma separated)."
|
|
362
371
|
msgstr ""
|
|
363
372
|
|
|
364
|
-
#: admin/app_settings.py:
|
|
373
|
+
#: admin/app_settings.py:282
|
|
365
374
|
msgid "Alias target allow list"
|
|
366
375
|
msgstr ""
|
|
367
376
|
|
|
368
|
-
#: admin/app_settings.py:
|
|
377
|
+
#: admin/app_settings.py:284
|
|
369
378
|
msgid "A list of domains that aliases can target (comma separated)."
|
|
370
379
|
msgstr ""
|
|
371
380
|
|
|
372
|
-
#: admin/app_settings.py:
|
|
381
|
+
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
|
|
373
382
|
msgid "Administration"
|
|
374
383
|
msgstr ""
|
|
375
384
|
|
|
@@ -389,6 +398,35 @@ msgstr ""
|
|
|
389
398
|
msgid "Closed"
|
|
390
399
|
msgstr ""
|
|
391
400
|
|
|
401
|
+
#: admin/dns_checker.py:96
|
|
402
|
+
msgid "MX {} listed by DNSBL provider {}"
|
|
403
|
+
msgstr ""
|
|
404
|
+
|
|
405
|
+
#: admin/dns_checker.py:138
|
|
406
|
+
msgid "Domain has no MX record"
|
|
407
|
+
msgstr ""
|
|
408
|
+
|
|
409
|
+
#: admin/dns_checker.py:141
|
|
410
|
+
msgid "Domain {} has no MX record"
|
|
411
|
+
msgstr ""
|
|
412
|
+
|
|
413
|
+
#: admin/dns_checker.py:159
|
|
414
|
+
msgid "Invalid MX record: {}"
|
|
415
|
+
msgstr ""
|
|
416
|
+
|
|
417
|
+
#: admin/dns_checker.py:166
|
|
418
|
+
#, python-brace-format
|
|
419
|
+
msgid "MX record for domain {0} is invalid: {1}"
|
|
420
|
+
msgstr ""
|
|
421
|
+
|
|
422
|
+
#: admin/dns_checker.py:177
|
|
423
|
+
msgid "[modoboa] MX issue(s) for domain {}"
|
|
424
|
+
msgstr ""
|
|
425
|
+
|
|
426
|
+
#: admin/dns_checker.py:224
|
|
427
|
+
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
428
|
+
msgstr ""
|
|
429
|
+
|
|
392
430
|
#: admin/handlers.py:179
|
|
393
431
|
msgid "domain alias"
|
|
394
432
|
msgstr ""
|
|
@@ -411,8 +449,8 @@ msgstr ""
|
|
|
411
449
|
msgid "You are not allowed to import domain aliases."
|
|
412
450
|
msgstr ""
|
|
413
451
|
|
|
414
|
-
#: admin/lib.py:227 admin/tests/test_mx.py:
|
|
415
|
-
#: admin/tests/test_mx.py:
|
|
452
|
+
#: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
|
|
453
|
+
#: admin/tests/test_mx.py:157
|
|
416
454
|
#, python-format
|
|
417
455
|
msgid "No DNS record found for %s"
|
|
418
456
|
msgstr ""
|
|
@@ -422,11 +460,11 @@ msgstr ""
|
|
|
422
460
|
msgid "No %(type)s record for %(name)s"
|
|
423
461
|
msgstr ""
|
|
424
462
|
|
|
425
|
-
#: admin/lib.py:234 admin/tests/test_mx.py:
|
|
463
|
+
#: admin/lib.py:234 admin/tests/test_mx.py:142
|
|
426
464
|
msgid "No working name servers found"
|
|
427
465
|
msgstr ""
|
|
428
466
|
|
|
429
|
-
#: admin/lib.py:237 admin/tests/test_mx.py:
|
|
467
|
+
#: admin/lib.py:237 admin/tests/test_mx.py:146
|
|
430
468
|
#, python-format
|
|
431
469
|
msgid "DNS resolution timeout, unable to query %s at the moment"
|
|
432
470
|
msgstr ""
|
|
@@ -478,35 +516,6 @@ msgstr ""
|
|
|
478
516
|
msgid "Failed to generate DKIM public key"
|
|
479
517
|
msgstr ""
|
|
480
518
|
|
|
481
|
-
#: admin/management/commands/subcommands/_mx.py:133
|
|
482
|
-
msgid "MX {} listed by DNSBL provider {}"
|
|
483
|
-
msgstr ""
|
|
484
|
-
|
|
485
|
-
#: admin/management/commands/subcommands/_mx.py:174
|
|
486
|
-
msgid "Domain has no MX record"
|
|
487
|
-
msgstr ""
|
|
488
|
-
|
|
489
|
-
#: admin/management/commands/subcommands/_mx.py:177
|
|
490
|
-
msgid "Domain {} has no MX record"
|
|
491
|
-
msgstr ""
|
|
492
|
-
|
|
493
|
-
#: admin/management/commands/subcommands/_mx.py:195
|
|
494
|
-
msgid "Invalid MX record: {}"
|
|
495
|
-
msgstr ""
|
|
496
|
-
|
|
497
|
-
#: admin/management/commands/subcommands/_mx.py:202
|
|
498
|
-
#, python-brace-format
|
|
499
|
-
msgid "MX record for domain {0} is invalid: {1}"
|
|
500
|
-
msgstr ""
|
|
501
|
-
|
|
502
|
-
#: admin/management/commands/subcommands/_mx.py:213
|
|
503
|
-
msgid "[modoboa] MX issue(s) for domain {}"
|
|
504
|
-
msgstr ""
|
|
505
|
-
|
|
506
|
-
#: admin/management/commands/subcommands/_mx.py:269
|
|
507
|
-
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
508
|
-
msgstr ""
|
|
509
|
-
|
|
510
519
|
#: admin/models/alias.py:43
|
|
511
520
|
msgid "Domain not found."
|
|
512
521
|
msgstr ""
|
|
@@ -683,17 +692,17 @@ msgstr ""
|
|
|
683
692
|
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
|
|
684
693
|
msgstr ""
|
|
685
694
|
|
|
686
|
-
#: admin/tests/test_mx.py:
|
|
695
|
+
#: admin/tests/test_mx.py:141
|
|
687
696
|
#, python-format
|
|
688
697
|
msgid "No MX record for %s"
|
|
689
698
|
msgstr ""
|
|
690
699
|
|
|
691
|
-
#: admin/tests/test_mx.py:
|
|
700
|
+
#: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
|
|
692
701
|
#, python-format
|
|
693
702
|
msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
694
703
|
msgstr ""
|
|
695
704
|
|
|
696
|
-
#: admin/tests/test_mx.py:
|
|
705
|
+
#: admin/tests/test_mx.py:185
|
|
697
706
|
#, python-format
|
|
698
707
|
msgid "No AAAA record for %s"
|
|
699
708
|
msgstr ""
|
|
@@ -862,11 +871,11 @@ msgid ""
|
|
|
862
871
|
"database)"
|
|
863
872
|
msgstr ""
|
|
864
873
|
|
|
865
|
-
#: amavis/app_settings.py:236 webmail/app_settings.py:
|
|
874
|
+
#: amavis/app_settings.py:236 webmail/app_settings.py:155
|
|
866
875
|
msgid "Display"
|
|
867
876
|
msgstr ""
|
|
868
877
|
|
|
869
|
-
#: amavis/app_settings.py:243 webmail/app_settings.py:
|
|
878
|
+
#: amavis/app_settings.py:243 webmail/app_settings.py:181
|
|
870
879
|
msgid "Number of displayed emails per page"
|
|
871
880
|
msgstr ""
|
|
872
881
|
|
|
@@ -1109,7 +1118,7 @@ msgstr ""
|
|
|
1109
1118
|
msgid "Allow domain administrators to manage user calendars (read and write)"
|
|
1110
1119
|
msgstr ""
|
|
1111
1120
|
|
|
1112
|
-
#: calendars/app_settings.py:60 core/app_settings.py:
|
|
1121
|
+
#: calendars/app_settings.py:60 core/app_settings.py:664
|
|
1113
1122
|
#: rspamd/app_settings.py:45
|
|
1114
1123
|
msgid "Miscellaneous"
|
|
1115
1124
|
msgstr ""
|
|
@@ -1127,11 +1136,11 @@ msgstr ""
|
|
|
1127
1136
|
msgid "Calendars"
|
|
1128
1137
|
msgstr ""
|
|
1129
1138
|
|
|
1130
|
-
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:
|
|
1139
|
+
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
|
|
1131
1140
|
msgid "Server location is not set, please fix it."
|
|
1132
1141
|
msgstr ""
|
|
1133
1142
|
|
|
1134
|
-
#: calendars/viewsets.py:
|
|
1143
|
+
#: calendars/viewsets.py:199
|
|
1135
1144
|
msgid "Uploaded file is too big (max: {} bytes)"
|
|
1136
1145
|
msgstr ""
|
|
1137
1146
|
|
|
@@ -1210,7 +1219,7 @@ msgstr ""
|
|
|
1210
1219
|
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
1211
1220
|
msgstr ""
|
|
1212
1221
|
|
|
1213
|
-
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:
|
|
1222
|
+
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
|
|
1214
1223
|
msgid "Invalid password"
|
|
1215
1224
|
msgstr ""
|
|
1216
1225
|
|
|
@@ -1222,24 +1231,20 @@ msgstr ""
|
|
|
1222
1231
|
msgid "Local"
|
|
1223
1232
|
msgstr ""
|
|
1224
1233
|
|
|
1225
|
-
#: core/api/v2/serializers.py:
|
|
1226
|
-
|
|
1227
|
-
msgstr ""
|
|
1228
|
-
|
|
1229
|
-
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
1230
|
-
#: core/api/v2/serializers.py:228
|
|
1234
|
+
#: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
|
|
1235
|
+
#: core/api/v2/serializers.py:221
|
|
1231
1236
|
msgid "Invalid syntax"
|
|
1232
1237
|
msgstr ""
|
|
1233
1238
|
|
|
1234
|
-
#: core/api/v2/serializers.py:
|
|
1239
|
+
#: core/api/v2/serializers.py:226
|
|
1235
1240
|
msgid "Invalid rounds number"
|
|
1236
1241
|
msgstr ""
|
|
1237
1242
|
|
|
1238
|
-
#: core/api/v2/serializers.py:
|
|
1243
|
+
#: core/api/v2/serializers.py:426 core/forms.py:81
|
|
1239
1244
|
msgid "This code is invalid"
|
|
1240
1245
|
msgstr ""
|
|
1241
1246
|
|
|
1242
|
-
#: core/api/v2/serializers.py:
|
|
1247
|
+
#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
|
|
1243
1248
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
1244
1249
|
msgstr ""
|
|
1245
1250
|
|
|
@@ -1264,525 +1269,517 @@ msgid "Calendar"
|
|
|
1264
1269
|
msgstr ""
|
|
1265
1270
|
|
|
1266
1271
|
#: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
|
|
1267
|
-
#: webmail/app_settings.py:
|
|
1272
|
+
#: webmail/app_settings.py:295 webmail/app_settings.py:302
|
|
1268
1273
|
msgid "Webmail"
|
|
1269
1274
|
msgstr ""
|
|
1270
1275
|
|
|
1271
|
-
#: core/app_settings.py:
|
|
1276
|
+
#: core/app_settings.py:25
|
|
1272
1277
|
msgid "Authentication"
|
|
1273
1278
|
msgstr ""
|
|
1274
1279
|
|
|
1275
|
-
#: core/app_settings.py:
|
|
1280
|
+
#: core/app_settings.py:31
|
|
1276
1281
|
msgid "Authentication type"
|
|
1277
1282
|
msgstr ""
|
|
1278
1283
|
|
|
1279
|
-
#: core/app_settings.py:
|
|
1284
|
+
#: core/app_settings.py:33
|
|
1280
1285
|
msgid "The backend used for authentication"
|
|
1281
1286
|
msgstr ""
|
|
1282
1287
|
|
|
1283
|
-
#: core/app_settings.py:
|
|
1288
|
+
#: core/app_settings.py:40
|
|
1284
1289
|
msgid "Default password scheme"
|
|
1285
1290
|
msgstr ""
|
|
1286
1291
|
|
|
1287
|
-
#: core/app_settings.py:
|
|
1292
|
+
#: core/app_settings.py:42
|
|
1288
1293
|
msgid "Scheme used to crypt mailbox passwords"
|
|
1289
1294
|
msgstr ""
|
|
1290
1295
|
|
|
1291
|
-
#: core/app_settings.py:
|
|
1296
|
+
#: core/app_settings.py:49
|
|
1292
1297
|
msgid "Rounds"
|
|
1293
1298
|
msgstr ""
|
|
1294
1299
|
|
|
1295
|
-
#: core/app_settings.py:
|
|
1300
|
+
#: core/app_settings.py:51
|
|
1296
1301
|
msgid ""
|
|
1297
1302
|
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
|
|
1298
1303
|
"between 1000 and 999999999, inclusive."
|
|
1299
1304
|
msgstr ""
|
|
1300
1305
|
|
|
1301
|
-
#: core/app_settings.py:
|
|
1306
|
+
#: core/app_settings.py:61
|
|
1302
1307
|
msgid "Update password scheme at login"
|
|
1303
1308
|
msgstr ""
|
|
1304
1309
|
|
|
1305
|
-
#: core/app_settings.py:
|
|
1310
|
+
#: core/app_settings.py:64
|
|
1306
1311
|
msgid "Update user password at login to use the default password scheme"
|
|
1307
1312
|
msgstr ""
|
|
1308
1313
|
|
|
1309
|
-
#: core/app_settings.py:
|
|
1314
|
+
#: core/app_settings.py:72
|
|
1310
1315
|
msgid "Default password"
|
|
1311
1316
|
msgstr ""
|
|
1312
1317
|
|
|
1313
|
-
#: core/app_settings.py:
|
|
1318
|
+
#: core/app_settings.py:74
|
|
1314
1319
|
msgid "Default password for automatically created accounts."
|
|
1315
1320
|
msgstr ""
|
|
1316
1321
|
|
|
1317
|
-
#: core/app_settings.py:
|
|
1322
|
+
#: core/app_settings.py:81
|
|
1318
1323
|
msgid "Random password length"
|
|
1319
1324
|
msgstr ""
|
|
1320
1325
|
|
|
1321
|
-
#: core/app_settings.py:
|
|
1326
|
+
#: core/app_settings.py:83
|
|
1322
1327
|
msgid "Length of randomly generated passwords."
|
|
1323
1328
|
msgstr ""
|
|
1324
1329
|
|
|
1325
|
-
#: core/app_settings.py:
|
|
1330
|
+
#: core/app_settings.py:91
|
|
1326
1331
|
msgid "Allow special characters for random password"
|
|
1327
1332
|
msgstr ""
|
|
1328
1333
|
|
|
1329
|
-
#: core/app_settings.py:
|
|
1334
|
+
#: core/app_settings.py:94
|
|
1330
1335
|
msgid "Enable special characters in randomly generated passwords."
|
|
1331
1336
|
msgstr ""
|
|
1332
1337
|
|
|
1333
|
-
#: core/app_settings.py:
|
|
1338
|
+
#: core/app_settings.py:102
|
|
1334
1339
|
msgid "Update password service URL"
|
|
1335
1340
|
msgstr ""
|
|
1336
1341
|
|
|
1337
|
-
#: core/app_settings.py:
|
|
1342
|
+
#: core/app_settings.py:104
|
|
1338
1343
|
msgid ""
|
|
1339
1344
|
"The URL of an external page where users will be able to update their "
|
|
1340
1345
|
"password. It applies only to non local users, ie. those automatically "
|
|
1341
1346
|
"created after a successful external authentication (LDAP, SMTP)."
|
|
1342
1347
|
msgstr ""
|
|
1343
1348
|
|
|
1344
|
-
#: core/app_settings.py:
|
|
1349
|
+
#: core/app_settings.py:114
|
|
1345
1350
|
msgid "Password recovery announcement"
|
|
1346
1351
|
msgstr ""
|
|
1347
1352
|
|
|
1348
|
-
#: core/app_settings.py:
|
|
1353
|
+
#: core/app_settings.py:116
|
|
1349
1354
|
msgid "A temporary message that will be displayed on the reset password page."
|
|
1350
1355
|
msgstr ""
|
|
1351
1356
|
|
|
1352
|
-
#: core/app_settings.py:
|
|
1357
|
+
#: core/app_settings.py:125
|
|
1353
1358
|
msgid "Enable password recovery by SMS"
|
|
1354
1359
|
msgstr ""
|
|
1355
1360
|
|
|
1356
|
-
#: core/app_settings.py:
|
|
1361
|
+
#: core/app_settings.py:128
|
|
1357
1362
|
msgid "Enable password recovery by SMS for users who filled a phone number."
|
|
1358
1363
|
msgstr ""
|
|
1359
1364
|
|
|
1360
|
-
#: core/app_settings.py:
|
|
1365
|
+
#: core/app_settings.py:136
|
|
1361
1366
|
msgid "SMS provider"
|
|
1362
1367
|
msgstr ""
|
|
1363
1368
|
|
|
1364
|
-
#: core/app_settings.py:
|
|
1369
|
+
#: core/app_settings.py:139
|
|
1365
1370
|
msgid "Choose a provider to send password recovery SMS"
|
|
1366
1371
|
msgstr ""
|
|
1367
1372
|
|
|
1368
|
-
#: core/app_settings.py:
|
|
1373
|
+
#: core/app_settings.py:151
|
|
1369
1374
|
msgid "LDAP"
|
|
1370
1375
|
msgstr ""
|
|
1371
1376
|
|
|
1372
|
-
#: core/app_settings.py:
|
|
1377
|
+
#: core/app_settings.py:157 sievefilters/app_settings.py:18
|
|
1373
1378
|
#: sievefilters/app_settings.py:51 webmail/app_settings.py:36
|
|
1374
|
-
#: webmail/app_settings.py:73
|
|
1379
|
+
#: webmail/app_settings.py:73 webmail/app_settings.py:119
|
|
1375
1380
|
msgid "Server address"
|
|
1376
1381
|
msgstr ""
|
|
1377
1382
|
|
|
1378
|
-
#: core/app_settings.py:
|
|
1383
|
+
#: core/app_settings.py:159
|
|
1379
1384
|
msgid "The IP address or the DNS name of the LDAP server"
|
|
1380
1385
|
msgstr ""
|
|
1381
1386
|
|
|
1382
|
-
#: core/app_settings.py:
|
|
1387
|
+
#: core/app_settings.py:166 sievefilters/app_settings.py:25
|
|
1383
1388
|
#: sievefilters/app_settings.py:67 webmail/app_settings.py:54
|
|
1384
|
-
#: webmail/app_settings.py:91
|
|
1389
|
+
#: webmail/app_settings.py:91 webmail/app_settings.py:137
|
|
1385
1390
|
msgid "Server port"
|
|
1386
1391
|
msgstr ""
|
|
1387
1392
|
|
|
1388
|
-
#: core/app_settings.py:
|
|
1393
|
+
#: core/app_settings.py:168
|
|
1389
1394
|
msgid "The TCP port number used by the LDAP server"
|
|
1390
1395
|
msgstr ""
|
|
1391
1396
|
|
|
1392
|
-
#: core/app_settings.py:
|
|
1397
|
+
#: core/app_settings.py:176
|
|
1393
1398
|
msgid "Enable secondary server (fallback)"
|
|
1394
1399
|
msgstr ""
|
|
1395
1400
|
|
|
1396
|
-
#: core/app_settings.py:
|
|
1401
|
+
#: core/app_settings.py:179
|
|
1397
1402
|
msgid ""
|
|
1398
1403
|
"Enable a secondary LDAP server which will be used if the primary one fails"
|
|
1399
1404
|
msgstr ""
|
|
1400
1405
|
|
|
1401
|
-
#: core/app_settings.py:
|
|
1406
|
+
#: core/app_settings.py:187
|
|
1402
1407
|
msgid "Secondary server address"
|
|
1403
1408
|
msgstr ""
|
|
1404
1409
|
|
|
1405
|
-
#: core/app_settings.py:
|
|
1410
|
+
#: core/app_settings.py:190
|
|
1406
1411
|
msgid "The IP address or the DNS name of the seondary LDAP server"
|
|
1407
1412
|
msgstr ""
|
|
1408
1413
|
|
|
1409
|
-
#: core/app_settings.py:
|
|
1414
|
+
#: core/app_settings.py:197
|
|
1410
1415
|
msgid "Secondary server port"
|
|
1411
1416
|
msgstr ""
|
|
1412
1417
|
|
|
1413
|
-
#: core/app_settings.py:
|
|
1418
|
+
#: core/app_settings.py:200
|
|
1414
1419
|
msgid "The TCP port number used by the LDAP secondary server"
|
|
1415
1420
|
msgstr ""
|
|
1416
1421
|
|
|
1417
|
-
#: core/app_settings.py:
|
|
1422
|
+
#: core/app_settings.py:207 sievefilters/app_settings.py:58
|
|
1418
1423
|
#: webmail/app_settings.py:45
|
|
1419
1424
|
msgid "Use a secured connection"
|
|
1420
1425
|
msgstr ""
|
|
1421
1426
|
|
|
1422
|
-
#: core/app_settings.py:
|
|
1427
|
+
#: core/app_settings.py:209
|
|
1423
1428
|
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
1424
1429
|
msgstr ""
|
|
1425
1430
|
|
|
1426
|
-
#: core/app_settings.py:
|
|
1431
|
+
#: core/app_settings.py:216
|
|
1427
1432
|
msgid "Active Directory"
|
|
1428
1433
|
msgstr ""
|
|
1429
1434
|
|
|
1430
|
-
#: core/app_settings.py:
|
|
1435
|
+
#: core/app_settings.py:218
|
|
1431
1436
|
msgid "Tell if the LDAP server is an Active Directory one"
|
|
1432
1437
|
msgstr ""
|
|
1433
1438
|
|
|
1434
|
-
#: core/app_settings.py:
|
|
1439
|
+
#: core/app_settings.py:225
|
|
1435
1440
|
msgid "Administrator groups"
|
|
1436
1441
|
msgstr ""
|
|
1437
1442
|
|
|
1438
|
-
#: core/app_settings.py:
|
|
1443
|
+
#: core/app_settings.py:227
|
|
1439
1444
|
msgid ""
|
|
1440
1445
|
"Members of those LDAP Posix groups will be created as domain administrators. "
|
|
1441
1446
|
"Use ';' characters to separate groups."
|
|
1442
1447
|
msgstr ""
|
|
1443
1448
|
|
|
1444
|
-
#: core/app_settings.py:
|
|
1449
|
+
#: core/app_settings.py:236
|
|
1445
1450
|
msgid "Group type"
|
|
1446
1451
|
msgstr ""
|
|
1447
1452
|
|
|
1448
|
-
#: core/app_settings.py:
|
|
1453
|
+
#: core/app_settings.py:238
|
|
1449
1454
|
msgid "The LDAP group type to use with your directory."
|
|
1450
1455
|
msgstr ""
|
|
1451
1456
|
|
|
1452
|
-
#: core/app_settings.py:
|
|
1457
|
+
#: core/app_settings.py:245
|
|
1453
1458
|
msgid "Groups search base"
|
|
1454
1459
|
msgstr ""
|
|
1455
1460
|
|
|
1456
|
-
#: core/app_settings.py:
|
|
1461
|
+
#: core/app_settings.py:247
|
|
1457
1462
|
msgid "The distinguished name of the search base used to find groups"
|
|
1458
1463
|
msgstr ""
|
|
1459
1464
|
|
|
1460
|
-
#: core/app_settings.py:
|
|
1465
|
+
#: core/app_settings.py:255
|
|
1461
1466
|
msgid "Password attribute"
|
|
1462
1467
|
msgstr ""
|
|
1463
1468
|
|
|
1464
|
-
#: core/app_settings.py:
|
|
1469
|
+
#: core/app_settings.py:257
|
|
1465
1470
|
msgid "The attribute used to store user passwords"
|
|
1466
1471
|
msgstr ""
|
|
1467
1472
|
|
|
1468
|
-
#: core/app_settings.py:
|
|
1473
|
+
#: core/app_settings.py:264
|
|
1469
1474
|
msgid "LDAP authentication settings"
|
|
1470
1475
|
msgstr ""
|
|
1471
1476
|
|
|
1472
|
-
#: core/app_settings.py:
|
|
1477
|
+
#: core/app_settings.py:272
|
|
1473
1478
|
msgid "Authentication method"
|
|
1474
1479
|
msgstr ""
|
|
1475
1480
|
|
|
1476
|
-
#: core/app_settings.py:
|
|
1481
|
+
#: core/app_settings.py:275
|
|
1477
1482
|
msgid "Choose the authentication method to use"
|
|
1478
1483
|
msgstr ""
|
|
1479
1484
|
|
|
1480
|
-
#: core/app_settings.py:
|
|
1485
|
+
#: core/app_settings.py:282 core/app_settings.py:345
|
|
1481
1486
|
msgid "Bind DN"
|
|
1482
1487
|
msgstr ""
|
|
1483
1488
|
|
|
1484
|
-
#: core/app_settings.py:
|
|
1489
|
+
#: core/app_settings.py:284 core/app_settings.py:347
|
|
1485
1490
|
msgid ""
|
|
1486
1491
|
"The distinguished name to use when binding to the LDAP server. Leave empty "
|
|
1487
1492
|
"for an anonymous bind"
|
|
1488
1493
|
msgstr ""
|
|
1489
1494
|
|
|
1490
|
-
#: core/app_settings.py:
|
|
1495
|
+
#: core/app_settings.py:293 core/app_settings.py:355
|
|
1491
1496
|
msgid "Bind password"
|
|
1492
1497
|
msgstr ""
|
|
1493
1498
|
|
|
1494
|
-
#: core/app_settings.py:
|
|
1499
|
+
#: core/app_settings.py:295 core/app_settings.py:357
|
|
1495
1500
|
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
|
|
1496
1501
|
msgstr ""
|
|
1497
1502
|
|
|
1498
|
-
#: core/app_settings.py:
|
|
1503
|
+
#: core/app_settings.py:305 core/app_settings.py:410
|
|
1499
1504
|
msgid "Users search base"
|
|
1500
1505
|
msgstr ""
|
|
1501
1506
|
|
|
1502
|
-
#: core/app_settings.py:
|
|
1507
|
+
#: core/app_settings.py:307 core/app_settings.py:412
|
|
1503
1508
|
msgid "The distinguished name of the search base used to find users"
|
|
1504
1509
|
msgstr ""
|
|
1505
1510
|
|
|
1506
|
-
#: core/app_settings.py:
|
|
1511
|
+
#: core/app_settings.py:316 core/app_settings.py:421
|
|
1507
1512
|
msgid "Search filter"
|
|
1508
1513
|
msgstr ""
|
|
1509
1514
|
|
|
1510
|
-
#: core/app_settings.py:
|
|
1515
|
+
#: core/app_settings.py:318 core/app_settings.py:423
|
|
1511
1516
|
msgid ""
|
|
1512
1517
|
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
|
|
1513
1518
|
"valid, it must be enclosed in parentheses."
|
|
1514
1519
|
msgstr ""
|
|
1515
1520
|
|
|
1516
|
-
#: core/app_settings.py:
|
|
1521
|
+
#: core/app_settings.py:327
|
|
1517
1522
|
msgid "User DN template"
|
|
1518
1523
|
msgstr ""
|
|
1519
1524
|
|
|
1520
|
-
#: core/app_settings.py:
|
|
1525
|
+
#: core/app_settings.py:329
|
|
1521
1526
|
#, python-format
|
|
1522
1527
|
msgid ""
|
|
1523
1528
|
"The template used to construct a user's DN. It should contain one "
|
|
1524
1529
|
"placeholder (ie. %(user)s)"
|
|
1525
1530
|
msgstr ""
|
|
1526
1531
|
|
|
1527
|
-
#: core/app_settings.py:
|
|
1532
|
+
#: core/app_settings.py:338
|
|
1528
1533
|
msgid "LDAP synchronization settings"
|
|
1529
1534
|
msgstr ""
|
|
1530
1535
|
|
|
1531
|
-
#: core/app_settings.py:
|
|
1536
|
+
#: core/app_settings.py:366
|
|
1532
1537
|
msgid "Enable export to LDAP"
|
|
1533
1538
|
msgstr ""
|
|
1534
1539
|
|
|
1535
|
-
#: core/app_settings.py:
|
|
1540
|
+
#: core/app_settings.py:368
|
|
1536
1541
|
msgid ""
|
|
1537
1542
|
"Enable automatic synchronization between local database and LDAP directory"
|
|
1538
1543
|
msgstr ""
|
|
1539
1544
|
|
|
1540
|
-
#: core/app_settings.py:
|
|
1545
|
+
#: core/app_settings.py:377
|
|
1541
1546
|
msgid "Delete remote LDAP account when local account is deleted"
|
|
1542
1547
|
msgstr ""
|
|
1543
1548
|
|
|
1544
|
-
#: core/app_settings.py:
|
|
1549
|
+
#: core/app_settings.py:380
|
|
1545
1550
|
msgid ""
|
|
1546
1551
|
"Delete remote LDAP account when local account is deleted, otherwise it will "
|
|
1547
1552
|
"be disabled."
|
|
1548
1553
|
msgstr ""
|
|
1549
1554
|
|
|
1550
|
-
#: core/app_settings.py:
|
|
1555
|
+
#: core/app_settings.py:389
|
|
1551
1556
|
msgid "Account DN template"
|
|
1552
1557
|
msgstr ""
|
|
1553
1558
|
|
|
1554
|
-
#: core/app_settings.py:
|
|
1559
|
+
#: core/app_settings.py:391
|
|
1555
1560
|
#, python-format
|
|
1556
1561
|
msgid ""
|
|
1557
1562
|
"The template used to construct an account's DN. It should contain one "
|
|
1558
1563
|
"placeholder (ie. %(user)s)"
|
|
1559
1564
|
msgstr ""
|
|
1560
1565
|
|
|
1561
|
-
#: core/app_settings.py:
|
|
1566
|
+
#: core/app_settings.py:400
|
|
1562
1567
|
msgid "Enable import from LDAP"
|
|
1563
1568
|
msgstr ""
|
|
1564
1569
|
|
|
1565
|
-
#: core/app_settings.py:
|
|
1570
|
+
#: core/app_settings.py:402
|
|
1566
1571
|
msgid "Enable account synchronization from LDAP directory to local database"
|
|
1567
1572
|
msgstr ""
|
|
1568
1573
|
|
|
1569
|
-
#: core/app_settings.py:
|
|
1574
|
+
#: core/app_settings.py:432
|
|
1570
1575
|
msgid "Username attribute"
|
|
1571
1576
|
msgstr ""
|
|
1572
1577
|
|
|
1573
|
-
#: core/app_settings.py:
|
|
1578
|
+
#: core/app_settings.py:434
|
|
1574
1579
|
msgid "The name of the LDAP attribute where the username can be found."
|
|
1575
1580
|
msgstr ""
|
|
1576
1581
|
|
|
1577
|
-
#: core/app_settings.py:
|
|
1582
|
+
#: core/app_settings.py:443
|
|
1578
1583
|
msgid "Enable Dovecot LDAP sync"
|
|
1579
1584
|
msgstr ""
|
|
1580
1585
|
|
|
1581
|
-
#: core/app_settings.py:
|
|
1586
|
+
#: core/app_settings.py:445
|
|
1582
1587
|
msgid "LDAP authentication settings will be applied to Dovecot configuration."
|
|
1583
1588
|
msgstr ""
|
|
1584
1589
|
|
|
1585
|
-
#: core/app_settings.py:
|
|
1590
|
+
#: core/app_settings.py:453
|
|
1586
1591
|
msgid "Dovecot LDAP config file"
|
|
1587
1592
|
msgstr ""
|
|
1588
1593
|
|
|
1589
|
-
#: core/app_settings.py:
|
|
1594
|
+
#: core/app_settings.py:455
|
|
1590
1595
|
msgid ""
|
|
1591
1596
|
"Location of the configuration file which contains Dovecot LDAP settings."
|
|
1592
1597
|
msgstr ""
|
|
1593
1598
|
|
|
1594
|
-
#: core/app_settings.py:
|
|
1599
|
+
#: core/app_settings.py:468
|
|
1595
1600
|
msgid "Dashboard"
|
|
1596
1601
|
msgstr ""
|
|
1597
1602
|
|
|
1598
|
-
#: core/app_settings.py:
|
|
1603
|
+
#: core/app_settings.py:474
|
|
1599
1604
|
msgid "Custom welcome message"
|
|
1600
1605
|
msgstr ""
|
|
1601
1606
|
|
|
1602
|
-
#: core/app_settings.py:
|
|
1607
|
+
#: core/app_settings.py:476
|
|
1603
1608
|
msgid "A welcome message that will be displayed instead the default one"
|
|
1604
1609
|
msgstr ""
|
|
1605
1610
|
|
|
1606
|
-
#: core/app_settings.py:
|
|
1611
|
+
#: core/app_settings.py:483
|
|
1607
1612
|
msgid "Custom RSS feed"
|
|
1608
1613
|
msgstr ""
|
|
1609
1614
|
|
|
1610
|
-
#: core/app_settings.py:
|
|
1615
|
+
#: core/app_settings.py:485
|
|
1611
1616
|
msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1612
1617
|
msgstr ""
|
|
1613
1618
|
|
|
1614
|
-
#: core/app_settings.py:
|
|
1619
|
+
#: core/app_settings.py:494
|
|
1615
1620
|
msgid "Display custom RSS feed to super admins"
|
|
1616
1621
|
msgstr ""
|
|
1617
1622
|
|
|
1618
|
-
#: core/app_settings.py:
|
|
1623
|
+
#: core/app_settings.py:497
|
|
1619
1624
|
msgid "Display custom RSS feed also to super administrators"
|
|
1620
1625
|
msgstr ""
|
|
1621
1626
|
|
|
1622
|
-
#: core/app_settings.py:
|
|
1627
|
+
#: core/app_settings.py:505
|
|
1623
1628
|
msgid "Hide features widget"
|
|
1624
1629
|
msgstr ""
|
|
1625
1630
|
|
|
1626
|
-
#: core/app_settings.py:
|
|
1631
|
+
#: core/app_settings.py:507
|
|
1627
1632
|
msgid "Hide features widget for resellers and domain administrators"
|
|
1628
1633
|
msgstr ""
|
|
1629
1634
|
|
|
1630
|
-
#: core/app_settings.py:
|
|
1635
|
+
#: core/app_settings.py:519
|
|
1631
1636
|
msgid "Theme"
|
|
1632
1637
|
msgstr ""
|
|
1633
1638
|
|
|
1634
|
-
#: core/app_settings.py:
|
|
1639
|
+
#: core/app_settings.py:525
|
|
1635
1640
|
msgid "Primary theme color"
|
|
1636
1641
|
msgstr ""
|
|
1637
1642
|
|
|
1638
|
-
#: core/app_settings.py:
|
|
1643
|
+
#: core/app_settings.py:527
|
|
1639
1644
|
msgid ""
|
|
1640
1645
|
"Primary color of the theme (hexadecimal code), used as the background color "
|
|
1641
1646
|
"of the left menu for example"
|
|
1642
1647
|
msgstr ""
|
|
1643
1648
|
|
|
1644
|
-
#: core/app_settings.py:
|
|
1649
|
+
#: core/app_settings.py:536
|
|
1645
1650
|
msgid "Primary theme color (lighter version)"
|
|
1646
1651
|
msgstr ""
|
|
1647
1652
|
|
|
1648
|
-
#: core/app_settings.py:
|
|
1653
|
+
#: core/app_settings.py:539 core/app_settings.py:551
|
|
1649
1654
|
msgid "Primary color of the theme (hexadecimal code)"
|
|
1650
1655
|
msgstr ""
|
|
1651
1656
|
|
|
1652
|
-
#: core/app_settings.py:
|
|
1657
|
+
#: core/app_settings.py:548
|
|
1653
1658
|
msgid "Primary theme color (darker version)"
|
|
1654
1659
|
msgstr ""
|
|
1655
1660
|
|
|
1656
|
-
#: core/app_settings.py:
|
|
1661
|
+
#: core/app_settings.py:559
|
|
1657
1662
|
msgid "Secondary theme color"
|
|
1658
1663
|
msgstr ""
|
|
1659
1664
|
|
|
1660
|
-
#: core/app_settings.py:
|
|
1665
|
+
#: core/app_settings.py:561
|
|
1661
1666
|
msgid ""
|
|
1662
1667
|
"Secondary color of the theme (hexadecimal code), used as the background "
|
|
1663
1668
|
"color of some buttons for example"
|
|
1664
1669
|
msgstr ""
|
|
1665
1670
|
|
|
1666
|
-
#: core/app_settings.py:
|
|
1671
|
+
#: core/app_settings.py:569
|
|
1667
1672
|
msgid "Labels theme color"
|
|
1668
1673
|
msgstr ""
|
|
1669
1674
|
|
|
1670
|
-
#: core/app_settings.py:
|
|
1675
|
+
#: core/app_settings.py:571
|
|
1671
1676
|
msgid "Theme color for labels (hexadecimal code)"
|
|
1672
1677
|
msgstr ""
|
|
1673
1678
|
|
|
1674
|
-
#: core/app_settings.py:
|
|
1679
|
+
#: core/app_settings.py:583
|
|
1675
1680
|
msgid "Notifications"
|
|
1676
1681
|
msgstr ""
|
|
1677
1682
|
|
|
1678
|
-
#: core/app_settings.py:
|
|
1683
|
+
#: core/app_settings.py:589
|
|
1679
1684
|
msgid "Sender address"
|
|
1680
1685
|
msgstr ""
|
|
1681
1686
|
|
|
1682
|
-
#: core/app_settings.py:
|
|
1687
|
+
#: core/app_settings.py:591
|
|
1683
1688
|
msgid "Email address used to send notifications."
|
|
1684
1689
|
msgstr ""
|
|
1685
1690
|
|
|
1686
|
-
#: core/app_settings.py:
|
|
1691
|
+
#: core/app_settings.py:602
|
|
1687
1692
|
msgid "Public API"
|
|
1688
1693
|
msgstr ""
|
|
1689
1694
|
|
|
1690
|
-
#: core/app_settings.py:
|
|
1695
|
+
#: core/app_settings.py:608
|
|
1691
1696
|
msgid "Enable communication"
|
|
1692
1697
|
msgstr ""
|
|
1693
1698
|
|
|
1694
|
-
#: core/app_settings.py:
|
|
1699
|
+
#: core/app_settings.py:610 core/app_settings.py:620
|
|
1695
1700
|
msgid "Automatically checks if a newer version is available"
|
|
1696
1701
|
msgstr ""
|
|
1697
1702
|
|
|
1698
|
-
#: core/app_settings.py:
|
|
1703
|
+
#: core/app_settings.py:617
|
|
1699
1704
|
msgid "Check new versions"
|
|
1700
1705
|
msgstr ""
|
|
1701
1706
|
|
|
1702
|
-
#: core/app_settings.py:
|
|
1707
|
+
#: core/app_settings.py:628
|
|
1703
1708
|
msgid "Send an email when new versions are found"
|
|
1704
1709
|
msgstr ""
|
|
1705
1710
|
|
|
1706
|
-
#: core/app_settings.py:
|
|
1711
|
+
#: core/app_settings.py:632
|
|
1707
1712
|
msgid "Send an email to notify admins about new versions"
|
|
1708
1713
|
msgstr ""
|
|
1709
1714
|
|
|
1710
|
-
#: core/app_settings.py:
|
|
1715
|
+
#: core/app_settings.py:639 sievefilters/constants.py:25
|
|
1711
1716
|
msgid "Recipient"
|
|
1712
1717
|
msgstr ""
|
|
1713
1718
|
|
|
1714
|
-
#: core/app_settings.py:
|
|
1719
|
+
#: core/app_settings.py:642
|
|
1715
1720
|
msgid "Recipient of new versions notification emails."
|
|
1716
1721
|
msgstr ""
|
|
1717
1722
|
|
|
1718
|
-
#: core/app_settings.py:
|
|
1723
|
+
#: core/app_settings.py:649
|
|
1719
1724
|
msgid "Send statistics"
|
|
1720
1725
|
msgstr ""
|
|
1721
1726
|
|
|
1722
|
-
#: core/app_settings.py:
|
|
1727
|
+
#: core/app_settings.py:652
|
|
1723
1728
|
msgid "Send statistics to Modoboa public API (counters and used extensions)"
|
|
1724
1729
|
msgstr ""
|
|
1725
1730
|
|
|
1726
|
-
#: core/app_settings.py:
|
|
1731
|
+
#: core/app_settings.py:671
|
|
1727
1732
|
msgid "Enable inactive account tracking"
|
|
1728
1733
|
msgstr ""
|
|
1729
1734
|
|
|
1730
|
-
#: core/app_settings.py:
|
|
1735
|
+
#: core/app_settings.py:674
|
|
1731
1736
|
msgid ""
|
|
1732
1737
|
"Allow the administrator to set a threshold (in days) beyond which an account "
|
|
1733
1738
|
"is considered inactive if the user hasn't logged in"
|
|
1734
1739
|
msgstr ""
|
|
1735
1740
|
|
|
1736
|
-
#: core/app_settings.py:
|
|
1741
|
+
#: core/app_settings.py:683
|
|
1737
1742
|
msgid "Inactive account threshold"
|
|
1738
1743
|
msgstr ""
|
|
1739
1744
|
|
|
1740
|
-
#: core/app_settings.py:
|
|
1745
|
+
#: core/app_settings.py:686
|
|
1741
1746
|
msgid ""
|
|
1742
1747
|
"An account with a last login date greater than this threshold (in days) will "
|
|
1743
1748
|
"be considered as inactive"
|
|
1744
1749
|
msgstr ""
|
|
1745
1750
|
|
|
1746
|
-
#: core/app_settings.py:
|
|
1751
|
+
#: core/app_settings.py:695
|
|
1747
1752
|
msgid "Top notifications check interval"
|
|
1748
1753
|
msgstr ""
|
|
1749
1754
|
|
|
1750
|
-
#: core/app_settings.py:
|
|
1755
|
+
#: core/app_settings.py:698
|
|
1751
1756
|
msgid "Interval between two top notification checks (in seconds)"
|
|
1752
1757
|
msgstr ""
|
|
1753
1758
|
|
|
1754
|
-
#: core/app_settings.py:
|
|
1759
|
+
#: core/app_settings.py:705
|
|
1755
1760
|
msgid "Maximum log record age"
|
|
1756
1761
|
msgstr ""
|
|
1757
1762
|
|
|
1758
|
-
#: core/app_settings.py:
|
|
1763
|
+
#: core/app_settings.py:707
|
|
1759
1764
|
msgid "The maximum age in days of a log record"
|
|
1760
1765
|
msgstr ""
|
|
1761
1766
|
|
|
1762
|
-
#: core/app_settings.py:
|
|
1767
|
+
#: core/app_settings.py:715
|
|
1763
1768
|
msgid "Retention time in message history"
|
|
1764
1769
|
msgstr ""
|
|
1765
1770
|
|
|
1766
|
-
#: core/app_settings.py:
|
|
1771
|
+
#: core/app_settings.py:718
|
|
1767
1772
|
msgid "Retention time (in days) of a message in the message history section"
|
|
1768
1773
|
msgstr ""
|
|
1769
1774
|
|
|
1770
|
-
#: core/app_settings.py:
|
|
1775
|
+
#: core/app_settings.py:725
|
|
1771
1776
|
msgid "Items per page"
|
|
1772
1777
|
msgstr ""
|
|
1773
1778
|
|
|
1774
|
-
#: core/app_settings.py:
|
|
1779
|
+
#: core/app_settings.py:727
|
|
1775
1780
|
msgid "Number of displayed items per page"
|
|
1776
1781
|
msgstr ""
|
|
1777
1782
|
|
|
1778
|
-
#: core/app_settings.py:746
|
|
1779
|
-
msgid "Default top redirection"
|
|
1780
|
-
msgstr ""
|
|
1781
|
-
|
|
1782
|
-
#: core/app_settings.py:748
|
|
1783
|
-
msgid "The default redirection used when no application is specified"
|
|
1784
|
-
msgstr ""
|
|
1785
|
-
|
|
1786
1783
|
#: core/checks.py:15
|
|
1787
1784
|
msgid ""
|
|
1788
1785
|
"You have USE_TZ set to False, this may result in issues during transitions "
|
|
@@ -2103,7 +2100,7 @@ msgid "Not resolved"
|
|
|
2103
2100
|
msgstr ""
|
|
2104
2101
|
|
|
2105
2102
|
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
|
|
2106
|
-
#: webmail/constants.py:
|
|
2103
|
+
#: webmail/constants.py:38
|
|
2107
2104
|
msgid "None"
|
|
2108
2105
|
msgstr ""
|
|
2109
2106
|
|
|
@@ -2981,7 +2978,7 @@ msgstr ""
|
|
|
2981
2978
|
msgid "is not"
|
|
2982
2979
|
msgstr ""
|
|
2983
2980
|
|
|
2984
|
-
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:
|
|
2981
|
+
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
|
|
2985
2982
|
msgid "Subject"
|
|
2986
2983
|
msgstr ""
|
|
2987
2984
|
|
|
@@ -3207,19 +3204,19 @@ msgstr ""
|
|
|
3207
3204
|
msgid "SMTP settings"
|
|
3208
3205
|
msgstr ""
|
|
3209
3206
|
|
|
3210
|
-
#: webmail/app_settings.py:75
|
|
3207
|
+
#: webmail/app_settings.py:75 webmail/app_settings.py:121
|
|
3211
3208
|
msgid "Address of your SMTP server"
|
|
3212
3209
|
msgstr ""
|
|
3213
3210
|
|
|
3214
|
-
#: webmail/app_settings.py:82
|
|
3211
|
+
#: webmail/app_settings.py:82 webmail/app_settings.py:128
|
|
3215
3212
|
msgid "Secured connection mode"
|
|
3216
3213
|
msgstr ""
|
|
3217
3214
|
|
|
3218
|
-
#: webmail/app_settings.py:84
|
|
3215
|
+
#: webmail/app_settings.py:84 webmail/app_settings.py:130
|
|
3219
3216
|
msgid "Use a secured connection to access SMTP server"
|
|
3220
3217
|
msgstr ""
|
|
3221
3218
|
|
|
3222
|
-
#: webmail/app_settings.py:93
|
|
3219
|
+
#: webmail/app_settings.py:93 webmail/app_settings.py:139
|
|
3223
3220
|
msgid "Listening port of your SMTP server"
|
|
3224
3221
|
msgstr ""
|
|
3225
3222
|
|
|
@@ -3231,95 +3228,99 @@ msgstr ""
|
|
|
3231
3228
|
msgid "Server needs authentication"
|
|
3232
3229
|
msgstr ""
|
|
3233
3230
|
|
|
3234
|
-
#: webmail/app_settings.py:
|
|
3231
|
+
#: webmail/app_settings.py:113
|
|
3232
|
+
msgid "Scheduling settings"
|
|
3233
|
+
msgstr ""
|
|
3234
|
+
|
|
3235
|
+
#: webmail/app_settings.py:161
|
|
3235
3236
|
msgid "Default message display mode"
|
|
3236
3237
|
msgstr ""
|
|
3237
3238
|
|
|
3238
|
-
#: webmail/app_settings.py:
|
|
3239
|
+
#: webmail/app_settings.py:163
|
|
3239
3240
|
msgid "The default mode used when displaying a message"
|
|
3240
3241
|
msgstr ""
|
|
3241
3242
|
|
|
3242
|
-
#: webmail/app_settings.py:
|
|
3243
|
+
#: webmail/app_settings.py:170
|
|
3243
3244
|
msgid "Enable HTML links display"
|
|
3244
3245
|
msgstr ""
|
|
3245
3246
|
|
|
3246
|
-
#: webmail/app_settings.py:
|
|
3247
|
+
#: webmail/app_settings.py:173
|
|
3247
3248
|
msgid "Enable/Disable HTML links display"
|
|
3248
3249
|
msgstr ""
|
|
3249
3250
|
|
|
3250
|
-
#: webmail/app_settings.py:
|
|
3251
|
+
#: webmail/app_settings.py:184
|
|
3251
3252
|
msgid "Sets the maximum number of messages displayed in a page"
|
|
3252
3253
|
msgstr ""
|
|
3253
3254
|
|
|
3254
|
-
#: webmail/app_settings.py:
|
|
3255
|
+
#: webmail/app_settings.py:191
|
|
3255
3256
|
msgid "Listing refresh rate"
|
|
3256
3257
|
msgstr ""
|
|
3257
3258
|
|
|
3258
|
-
#: webmail/app_settings.py:
|
|
3259
|
+
#: webmail/app_settings.py:193
|
|
3259
3260
|
msgid "Automatic listing refresh rate (in secconds)"
|
|
3260
3261
|
msgstr ""
|
|
3261
3262
|
|
|
3262
|
-
#: webmail/app_settings.py:
|
|
3263
|
+
#: webmail/app_settings.py:200
|
|
3263
3264
|
msgid "Folder container's width"
|
|
3264
3265
|
msgstr ""
|
|
3265
3266
|
|
|
3266
|
-
#: webmail/app_settings.py:
|
|
3267
|
+
#: webmail/app_settings.py:202
|
|
3267
3268
|
msgid "The width of the folder list container"
|
|
3268
3269
|
msgstr ""
|
|
3269
3270
|
|
|
3270
|
-
#: webmail/app_settings.py:
|
|
3271
|
+
#: webmail/app_settings.py:213
|
|
3271
3272
|
msgid "Folders"
|
|
3272
3273
|
msgstr ""
|
|
3273
3274
|
|
|
3274
|
-
#: webmail/app_settings.py:
|
|
3275
|
+
#: webmail/app_settings.py:219
|
|
3275
3276
|
msgid "Trash folder"
|
|
3276
3277
|
msgstr ""
|
|
3277
3278
|
|
|
3278
|
-
#: webmail/app_settings.py:
|
|
3279
|
+
#: webmail/app_settings.py:221
|
|
3279
3280
|
msgid "Folder where deleted messages go"
|
|
3280
3281
|
msgstr ""
|
|
3281
3282
|
|
|
3282
|
-
#: webmail/app_settings.py:
|
|
3283
|
+
#: webmail/app_settings.py:228
|
|
3283
3284
|
msgid "Sent folder"
|
|
3284
3285
|
msgstr ""
|
|
3285
3286
|
|
|
3286
|
-
#: webmail/app_settings.py:
|
|
3287
|
+
#: webmail/app_settings.py:230
|
|
3287
3288
|
msgid "Folder where copies of sent messages go"
|
|
3288
3289
|
msgstr ""
|
|
3289
3290
|
|
|
3290
|
-
#: webmail/app_settings.py:
|
|
3291
|
+
#: webmail/app_settings.py:237
|
|
3291
3292
|
msgid "Drafts folder"
|
|
3292
3293
|
msgstr ""
|
|
3293
3294
|
|
|
3294
|
-
#: webmail/app_settings.py:
|
|
3295
|
+
#: webmail/app_settings.py:238
|
|
3295
3296
|
msgid "Folder where drafts go"
|
|
3296
3297
|
msgstr ""
|
|
3297
3298
|
|
|
3298
|
-
#: webmail/app_settings.py:
|
|
3299
|
+
#: webmail/app_settings.py:244
|
|
3299
3300
|
msgid "Junk folder"
|
|
3300
3301
|
msgstr ""
|
|
3301
3302
|
|
|
3302
|
-
#: webmail/app_settings.py:
|
|
3303
|
+
#: webmail/app_settings.py:246
|
|
3303
3304
|
msgid "Folder where junk messages should go"
|
|
3304
3305
|
msgstr ""
|
|
3305
3306
|
|
|
3306
|
-
#: webmail/app_settings.py:
|
|
3307
|
+
#: webmail/app_settings.py:257
|
|
3307
3308
|
msgid "Composing messages"
|
|
3308
3309
|
msgstr ""
|
|
3309
3310
|
|
|
3310
|
-
#: webmail/app_settings.py:
|
|
3311
|
+
#: webmail/app_settings.py:263
|
|
3311
3312
|
msgid "Default editor"
|
|
3312
3313
|
msgstr ""
|
|
3313
3314
|
|
|
3314
|
-
#: webmail/app_settings.py:
|
|
3315
|
+
#: webmail/app_settings.py:265
|
|
3315
3316
|
msgid "The default editor to use when composing a message"
|
|
3316
3317
|
msgstr ""
|
|
3317
3318
|
|
|
3318
|
-
#: webmail/app_settings.py:
|
|
3319
|
+
#: webmail/app_settings.py:272
|
|
3319
3320
|
msgid "Signature text"
|
|
3320
3321
|
msgstr ""
|
|
3321
3322
|
|
|
3322
|
-
#: webmail/app_settings.py:
|
|
3323
|
+
#: webmail/app_settings.py:274
|
|
3323
3324
|
msgid "User defined email signature"
|
|
3324
3325
|
msgstr ""
|
|
3325
3326
|
|
|
@@ -3331,43 +3332,59 @@ msgstr ""
|
|
|
3331
3332
|
msgid "Failed to remove attachment: "
|
|
3332
3333
|
msgstr ""
|
|
3333
3334
|
|
|
3334
|
-
#: webmail/lib/imapemail.py:
|
|
3335
|
+
#: webmail/lib/imapemail.py:270
|
|
3335
3336
|
msgid "wrote:"
|
|
3336
3337
|
msgstr ""
|
|
3337
3338
|
|
|
3338
|
-
#: webmail/lib/imapemail.py:
|
|
3339
|
+
#: webmail/lib/imapemail.py:304
|
|
3339
3340
|
msgid "Date"
|
|
3340
3341
|
msgstr ""
|
|
3341
3342
|
|
|
3342
|
-
#: webmail/lib/imapemail.py:
|
|
3343
|
+
#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
|
|
3343
3344
|
msgid "Original message"
|
|
3344
3345
|
msgstr ""
|
|
3345
3346
|
|
|
3346
|
-
#: webmail/lib/imaputils.py:
|
|
3347
|
+
#: webmail/lib/imaputils.py:222
|
|
3347
3348
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3348
3349
|
msgstr ""
|
|
3349
3350
|
|
|
3350
|
-
#: webmail/lib/imaputils.py:
|
|
3351
|
+
#: webmail/lib/imaputils.py:478
|
|
3351
3352
|
msgid "Inbox"
|
|
3352
3353
|
msgstr ""
|
|
3353
3354
|
|
|
3354
|
-
#: webmail/lib/imaputils.py:
|
|
3355
|
+
#: webmail/lib/imaputils.py:482
|
|
3355
3356
|
msgid "Drafts"
|
|
3356
3357
|
msgstr ""
|
|
3357
3358
|
|
|
3358
|
-
#: webmail/lib/imaputils.py:
|
|
3359
|
+
#: webmail/lib/imaputils.py:487
|
|
3359
3360
|
msgid "Junk"
|
|
3360
3361
|
msgstr ""
|
|
3361
3362
|
|
|
3362
|
-
#: webmail/lib/imaputils.py:
|
|
3363
|
+
#: webmail/lib/imaputils.py:492
|
|
3363
3364
|
msgid "Sent"
|
|
3364
3365
|
msgstr ""
|
|
3365
3366
|
|
|
3366
|
-
#: webmail/lib/imaputils.py:
|
|
3367
|
+
#: webmail/lib/imaputils.py:500
|
|
3368
|
+
msgid "Scheduled"
|
|
3369
|
+
msgstr ""
|
|
3370
|
+
|
|
3371
|
+
#: webmail/lib/imaputils.py:507
|
|
3367
3372
|
msgid "Trash"
|
|
3368
3373
|
msgstr ""
|
|
3369
3374
|
|
|
3370
|
-
#: webmail/
|
|
3375
|
+
#: webmail/serializers.py:220
|
|
3376
|
+
msgid "Moving scheduled messages is forbidden"
|
|
3377
|
+
msgstr ""
|
|
3378
|
+
|
|
3379
|
+
#: webmail/serializers.py:253
|
|
3380
|
+
msgid "Only datetime in the future is allowed"
|
|
3381
|
+
msgstr ""
|
|
3382
|
+
|
|
3383
|
+
#: webmail/serializers.py:258
|
|
3384
|
+
msgid "Provived datetime must be one minute in the future at least"
|
|
3385
|
+
msgstr ""
|
|
3386
|
+
|
|
3387
|
+
#: webmail/viewsets.py:359
|
|
3371
3388
|
#, python-format
|
|
3372
3389
|
msgid "Attachment is too big (limit: %s)"
|
|
3373
3390
|
msgstr ""
|