modoboa 2.6.4__py3-none-any.whl → 2.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/autoreply/models.py +4 -4
- 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-tLHotdIR.js → AccountAliasForm-DO6DwfjE.js} +1 -1
- modoboa/frontend_dist/assets/{AccountEditView-DnQIIg47.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-n75NEN_s.js → AliasEditView-CTjrXYPf.js} +1 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
- modoboa/frontend_dist/assets/{AliasView-DFIvPeIm.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-BjtfbhRj.js → DomainAdminList-DD7p3i6F.js} +1 -1
- modoboa/frontend_dist/assets/{DomainEditView-Cq5Ea4RW.js → DomainEditView-DoIoNYC4.js} +1 -1
- modoboa/frontend_dist/assets/{DomainTransportForm-DAXJGNLA.js → DomainTransportForm-CbiJF9z5.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-BfpK7U14.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-D753fIAJ.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-Tm56XNwj.js → LoadingData-C2txD49L.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-DjCHUgz5.js → LoginCallbackView-DAvty3CI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-D0r4XBEl.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-BWh9BqzS.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-y02-GM0r.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-DO-IpJMQ.js +1 -0
- 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-CNys_LUS.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-BoH6kjPa.js → VCard-CBtX8JF-.js} +1 -1
- modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
- modoboa/frontend_dist/assets/{VCheckboxBtn-Ccl786Rg.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-DKMcKasC.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-CuVZGqBj.js → VRow-83Qnr5iB.js} +1 -1
- modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
- modoboa/frontend_dist/assets/{VSelectionControl-uKY9Zull.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-gDsAUSLX.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-DqbBlaLK.js → accounts-KUsk6LHW.js} +1 -1
- modoboa/frontend_dist/assets/{admin-D36m_nXq.js → admin-BW9cZW0P.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-BtyF8GC8.js → aliases-Ge0hjIsH.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-DySmsCJQ.js → amavis-BbFeFfsk.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-B4QhM5Fa.js → amavis-DtuzP_CS.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-Df8ptuMn.js → contacts-DMJlQTe0.js} +1 -1
- modoboa/frontend_dist/assets/{domains-CSxtTvUh.js → domains-Du64lcXT.js} +1 -1
- modoboa/frontend_dist/assets/domains.store-1U61jeCV.js +1 -0
- 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-Bp9Fb67E.js → index-Dv00bmw9.js} +1 -1
- modoboa/frontend_dist/assets/index-jui3edpn.js +1001 -0
- modoboa/frontend_dist/assets/{language.store-_-zrrEiS.js → language.store-OcfdXL_-.js} +1 -1
- modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
- modoboa/frontend_dist/assets/{layout-CjSP_k58.js → layout-DOO7TRTJ.js} +1 -1
- modoboa/frontend_dist/assets/{layout.store-CF5WRevH.js → layout.store-C0g-piJn.js} +1 -1
- modoboa/frontend_dist/assets/{logos-95XYS6uH.js → logos-Dz2Gzei-.js} +1 -1
- modoboa/frontend_dist/assets/{logs-CyU_PIDh.js → logs-CLm32Weu.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-BxAXBXU1.js → parameters-DMIAQ7cd.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-CATOSoQZ.js → parameters.store-DLnFzCwV.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-cSkGqV3M.js → permissions-CrpE0b4w.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-05WtbG6H.js → ssrBoot-B7cr7q9U.js} +1 -1
- modoboa/frontend_dist/assets/{tag-BmV84V2s.js → tag-WF93n81Q.js} +1 -1
- modoboa/frontend_dist/assets/{theme-myV4ekXo.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/api/v2/serializers.py +13 -0
- modoboa/imap_migration/models.py +3 -3
- modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
- modoboa/imap_migration/tests.py +28 -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 +753 -317
- modoboa/locale/cs/LC_MESSAGES/django.po +671 -309
- modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/cs_CZ/LC_MESSAGES/django.po +801 -378
- modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de/LC_MESSAGES/django.po +1116 -455
- modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de_DE/LC_MESSAGES/django.po +745 -318
- modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/el_GR/LC_MESSAGES/django.po +825 -393
- modoboa/locale/en/LC_MESSAGES/django.po +669 -309
- modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/es/LC_MESSAGES/django.po +810 -390
- modoboa/locale/es_MX/LC_MESSAGES/django.po +669 -309
- modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fi/LC_MESSAGES/django.po +756 -316
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +674 -313
- modoboa/locale/hu/LC_MESSAGES/django.po +669 -309
- modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/it/LC_MESSAGES/django.po +807 -380
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +951 -419
- modoboa/locale/ka/LC_MESSAGES/django.po +669 -309
- modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/nl_NL/LC_MESSAGES/django.po +807 -387
- modoboa/locale/no/LC_MESSAGES/django.po +669 -309
- modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pl_PL/LC_MESSAGES/django.po +826 -396
- modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_BR/LC_MESSAGES/django.po +830 -392
- modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_PT/LC_MESSAGES/django.po +788 -371
- modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ro_RO/LC_MESSAGES/django.po +763 -316
- modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ru/LC_MESSAGES/django.po +1336 -1046
- modoboa/locale/si/LC_MESSAGES/django.po +669 -309
- modoboa/locale/sk/LC_MESSAGES/django.po +671 -309
- modoboa/locale/sk_SK/LC_MESSAGES/django.po +671 -309
- modoboa/locale/sl_SI/LC_MESSAGES/django.po +695 -315
- modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/sv/LC_MESSAGES/django.po +819 -387
- modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr/LC_MESSAGES/django.po +737 -315
- modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr_TR/LC_MESSAGES/django.po +711 -310
- modoboa/locale/uk/LC_MESSAGES/django.po +671 -309
- modoboa/locale/zh/LC_MESSAGES/django.po +668 -309
- modoboa/locale/zh_CN/LC_MESSAGES/django.po +668 -309
- modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/zh_TW/LC_MESSAGES/django.po +747 -316
- 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.4.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/RECORD +271 -254
- {modoboa-2.6.4.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-B2HptJzY.js +0 -1
- modoboa/frontend_dist/assets/AccountPasswordSubForm-DpADntAL.js +0 -1
- modoboa/frontend_dist/assets/AccountView-CJBGh9Oe.js +0 -1
- modoboa/frontend_dist/assets/AddressBook-CrFqzlzZ.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-BbCt7YxX.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-CIlt_IKQ.js +0 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-jjj5yJJw.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-sWnED3E9.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-DSCBIvef.js +0 -1
- modoboa/frontend_dist/assets/ChoiceField-RDT6XcnX.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-G3sXQAwI.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-Ce1CtFjD.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-Du7aqKbR.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-BHWaBAzH.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-CjtILq0_.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-DFNwusDZ.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-CYxLy-3Y.js +0 -1
- modoboa/frontend_dist/assets/EmailField-DmPc4pyP.js +0 -1
- modoboa/frontend_dist/assets/EmailView-BE3vYZtJ.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-DMwKNHfI.js +0 -1
- modoboa/frontend_dist/assets/FiltersView-Dps3_fAh.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-C0I00eXf.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-CoGBVhZx.js +0 -1
- modoboa/frontend_dist/assets/InformationView-eB2ayeLD.js +0 -1
- modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
- modoboa/frontend_dist/assets/MailboxView-DNokO2WZ.js +0 -5
- modoboa/frontend_dist/assets/MenuItems-dl38msRA.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-BZ7NUOwo.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-DcOVgmcH.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-B6abt-LH.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-v0YS6WU4.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-BaL9mKxJ.js +0 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-eoHMDO5v.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-Zu-G35u7.js +0 -1
- modoboa/frontend_dist/assets/QuarantineLayout-BHiiksnP.js +0 -1
- modoboa/frontend_dist/assets/QuarantineView-BOXSobRz.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-JmSiNWPy.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-D0YBapCG.js +0 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-DUmQzUDk.js +0 -1
- modoboa/frontend_dist/assets/SettingsView-DIvKGRBY.css +0 -1
- modoboa/frontend_dist/assets/SettingsView-DMuaKagM.js +0 -6
- modoboa/frontend_dist/assets/StatisticsView-CyY_CNcI.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-BTDBH33K.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
- modoboa/frontend_dist/assets/UserLayout-DwxcQr4L.js +0 -1
- modoboa/frontend_dist/assets/VApp-B0vRc3-6.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-Huaz_-hf.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
- modoboa/frontend_dist/assets/VAvatar-JdJfoK0C.js +0 -1
- modoboa/frontend_dist/assets/VBadge-Cg5iu5LG.js +0 -1
- modoboa/frontend_dist/assets/VCheckbox-CCLOJFKF.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-452uc3tY.js +0 -1
- modoboa/frontend_dist/assets/VDataTable-BkLLfcQK.js +0 -1
- modoboa/frontend_dist/assets/VDataTableServer-B_6fWBA3.js +0 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-Ike7oqcC.js +0 -1
- modoboa/frontend_dist/assets/VDialog-DIUeAIpw.js +0 -1
- modoboa/frontend_dist/assets/VExpansionPanels-BeMgiS7A.js +0 -1
- modoboa/frontend_dist/assets/VFileInput-Dvj95FL5.js +0 -1
- modoboa/frontend_dist/assets/VForm-DkphQD3e.js +0 -1
- modoboa/frontend_dist/assets/VInput-CbqehdOu.js +0 -1
- modoboa/frontend_dist/assets/VMenu-B6SCtOwT.js +0 -1
- modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
- modoboa/frontend_dist/assets/VPicker-BUx70Wjg.js +0 -1
- modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
- modoboa/frontend_dist/assets/VProgressCircular-DTDGzl2O.js +0 -1
- modoboa/frontend_dist/assets/VRadioGroup-CS9ULZ1c.js +0 -1
- modoboa/frontend_dist/assets/VSelect-D5IXDPEX.js +0 -1
- modoboa/frontend_dist/assets/VSheet-HeHw6g5_.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-BUxSSJbH.js +0 -1
- modoboa/frontend_dist/assets/VSwitch-Dh_dserW.js +0 -1
- modoboa/frontend_dist/assets/VTabs-5XSICLQP.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-QXQFhKxm.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-Bdy4UKmV.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-CyrYSqJZ.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-kZpArwK1.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-CNUHODnw.js +0 -1
- modoboa/frontend_dist/assets/domains.store-D4ZqCQ-O.js +0 -1
- modoboa/frontend_dist/assets/filter-DHKXX97M.js +0 -1
- modoboa/frontend_dist/assets/global.store-DYMmGKpn.js +0 -1
- modoboa/frontend_dist/assets/importExport-C-adpHJX.js +0 -1
- modoboa/frontend_dist/assets/index-B1bntsLR.js +0 -995
- modoboa/frontend_dist/assets/languages-CxjoT69j.js +0 -1
- modoboa/frontend_dist/assets/transports-ChdHV5hX.js +0 -1
- modoboa/frontend_dist/assets/webmail-B7MNMkv_.js +0 -1
- modoboa/frontend_dist/assets/webmail.store-Cm-h6hhE.js +0 -1
- {modoboa-2.6.4.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.6.4.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
|
-
#: transport/backends.py:40
|
|
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
|
|
|
@@ -79,7 +78,7 @@ msgstr ""
|
|
|
79
78
|
msgid "A list of recipient"
|
|
80
79
|
msgstr ""
|
|
81
80
|
|
|
82
|
-
#: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:
|
|
81
|
+
#: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
|
|
83
82
|
msgid "This alias already exists"
|
|
84
83
|
msgstr ""
|
|
85
84
|
|
|
@@ -112,47 +111,47 @@ 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
|
|
|
151
|
-
#: admin/api/v2/viewsets.py:
|
|
150
|
+
#: admin/api/v2/viewsets.py:95
|
|
152
151
|
msgid "You don't have access to this domain"
|
|
153
152
|
msgstr ""
|
|
154
153
|
|
|
155
|
-
#: admin/api/v2/viewsets.py:
|
|
154
|
+
#: admin/api/v2/viewsets.py:98
|
|
156
155
|
msgid "You can't delete your own domain"
|
|
157
156
|
msgstr ""
|
|
158
157
|
|
|
@@ -236,113 +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
|
|
355
|
+
msgid "Aliases"
|
|
356
|
+
msgstr ""
|
|
357
|
+
|
|
358
|
+
#: admin/app_settings.py:263
|
|
359
|
+
msgid "Alias can target any domain"
|
|
360
|
+
msgstr ""
|
|
361
|
+
|
|
362
|
+
#: admin/app_settings.py:265
|
|
363
|
+
msgid "Allow aliases to target any domain, not just the local domains."
|
|
364
|
+
msgstr ""
|
|
365
|
+
|
|
366
|
+
#: admin/app_settings.py:272
|
|
367
|
+
msgid "Alias target block list"
|
|
368
|
+
msgstr ""
|
|
369
|
+
|
|
370
|
+
#: admin/app_settings.py:274
|
|
371
|
+
msgid "A list of domains that aliases cannot target (comma separated)."
|
|
372
|
+
msgstr ""
|
|
373
|
+
|
|
374
|
+
#: admin/app_settings.py:282
|
|
375
|
+
msgid "Alias target allow list"
|
|
376
|
+
msgstr ""
|
|
377
|
+
|
|
378
|
+
#: admin/app_settings.py:284
|
|
379
|
+
msgid "A list of domains that aliases can target (comma separated)."
|
|
380
|
+
msgstr ""
|
|
381
|
+
|
|
382
|
+
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
|
|
346
383
|
msgid "Administration"
|
|
347
384
|
msgstr ""
|
|
348
385
|
|
|
@@ -362,6 +399,35 @@ msgstr ""
|
|
|
362
399
|
msgid "Closed"
|
|
363
400
|
msgstr ""
|
|
364
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
|
+
|
|
365
431
|
#: admin/handlers.py:179
|
|
366
432
|
msgid "domain alias"
|
|
367
433
|
msgstr ""
|
|
@@ -371,58 +437,54 @@ msgstr ""
|
|
|
371
437
|
msgid "Account import failed (%s): domain does not exist"
|
|
372
438
|
msgstr ""
|
|
373
439
|
|
|
374
|
-
#: admin/handlers.py:
|
|
375
|
-
msgid "Mailbox {} already exists"
|
|
376
|
-
msgstr ""
|
|
377
|
-
|
|
378
|
-
#: admin/handlers.py:251
|
|
440
|
+
#: admin/handlers.py:246
|
|
379
441
|
#, python-format
|
|
380
442
|
msgid "Account import failed (%s): wrong quota value"
|
|
381
443
|
msgstr ""
|
|
382
444
|
|
|
383
|
-
#: admin/lib.py:
|
|
445
|
+
#: admin/lib.py:126
|
|
384
446
|
msgid "You are not allowed to import domains"
|
|
385
447
|
msgstr ""
|
|
386
448
|
|
|
387
|
-
#: admin/lib.py:
|
|
449
|
+
#: admin/lib.py:135
|
|
388
450
|
msgid "You are not allowed to import domain aliases."
|
|
389
451
|
msgstr ""
|
|
390
452
|
|
|
391
|
-
#: admin/lib.py:
|
|
392
|
-
#: 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
|
|
393
455
|
#, python-format
|
|
394
456
|
msgid "No DNS record found for %s"
|
|
395
457
|
msgstr ""
|
|
396
458
|
|
|
397
|
-
#: admin/lib.py:
|
|
459
|
+
#: admin/lib.py:230
|
|
398
460
|
#, python-format
|
|
399
461
|
msgid "No %(type)s record for %(name)s"
|
|
400
462
|
msgstr ""
|
|
401
463
|
|
|
402
|
-
#: admin/lib.py:
|
|
464
|
+
#: admin/lib.py:234 admin/tests/test_mx.py:142
|
|
403
465
|
msgid "No working name servers found"
|
|
404
466
|
msgstr ""
|
|
405
467
|
|
|
406
|
-
#: admin/lib.py:
|
|
468
|
+
#: admin/lib.py:237 admin/tests/test_mx.py:146
|
|
407
469
|
#, python-format
|
|
408
470
|
msgid "DNS resolution timeout, unable to query %s at the moment"
|
|
409
471
|
msgstr ""
|
|
410
472
|
|
|
411
|
-
#: admin/lib.py:
|
|
473
|
+
#: admin/lib.py:241
|
|
412
474
|
msgid "DNS name is too long: {}"
|
|
413
475
|
msgstr ""
|
|
414
476
|
|
|
415
|
-
#: admin/lib.py:
|
|
477
|
+
#: admin/lib.py:272
|
|
416
478
|
#, python-brace-format
|
|
417
479
|
msgid "Invalid IP address format for {domain}; {addr}"
|
|
418
480
|
msgstr ""
|
|
419
481
|
|
|
420
|
-
#: admin/lib.py:
|
|
482
|
+
#: admin/lib.py:365
|
|
421
483
|
#, python-format
|
|
422
484
|
msgid "Object already exists: %s"
|
|
423
485
|
msgstr ""
|
|
424
486
|
|
|
425
|
-
#: admin/lib.py:
|
|
487
|
+
#: admin/lib.py:369
|
|
426
488
|
#, python-format
|
|
427
489
|
msgid "%d objects imported successfully"
|
|
428
490
|
msgstr ""
|
|
@@ -455,77 +517,52 @@ msgstr ""
|
|
|
455
517
|
msgid "Failed to generate DKIM public key"
|
|
456
518
|
msgstr ""
|
|
457
519
|
|
|
458
|
-
#: admin/
|
|
459
|
-
msgid "MX {} listed by DNSBL provider {}"
|
|
460
|
-
msgstr ""
|
|
461
|
-
|
|
462
|
-
#: admin/management/commands/subcommands/_mx.py:174
|
|
463
|
-
msgid "Domain has no MX record"
|
|
464
|
-
msgstr ""
|
|
465
|
-
|
|
466
|
-
#: admin/management/commands/subcommands/_mx.py:177
|
|
467
|
-
msgid "Domain {} has no MX record"
|
|
468
|
-
msgstr ""
|
|
469
|
-
|
|
470
|
-
#: admin/management/commands/subcommands/_mx.py:195
|
|
471
|
-
msgid "Invalid MX record: {}"
|
|
472
|
-
msgstr ""
|
|
473
|
-
|
|
474
|
-
#: admin/management/commands/subcommands/_mx.py:202
|
|
475
|
-
#, python-brace-format
|
|
476
|
-
msgid "MX record for domain {0} is invalid: {1}"
|
|
477
|
-
msgstr ""
|
|
478
|
-
|
|
479
|
-
#: admin/management/commands/subcommands/_mx.py:213
|
|
480
|
-
msgid "[modoboa] MX issue(s) for domain {}"
|
|
481
|
-
msgstr ""
|
|
482
|
-
|
|
483
|
-
#: admin/management/commands/subcommands/_mx.py:269
|
|
484
|
-
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
485
|
-
msgstr ""
|
|
486
|
-
|
|
487
|
-
#: admin/models/alias.py:42
|
|
520
|
+
#: admin/models/alias.py:43
|
|
488
521
|
msgid "Domain not found."
|
|
489
522
|
msgstr ""
|
|
490
523
|
|
|
491
|
-
#: admin/models/alias.py:
|
|
524
|
+
#: admin/models/alias.py:117 admin/models/mailbox.py:85
|
|
492
525
|
msgid "address"
|
|
493
526
|
msgstr ""
|
|
494
527
|
|
|
495
|
-
#: admin/models/alias.py:
|
|
528
|
+
#: admin/models/alias.py:119
|
|
496
529
|
msgid "The alias address."
|
|
497
530
|
msgstr ""
|
|
498
531
|
|
|
499
|
-
#: admin/models/alias.py:
|
|
532
|
+
#: admin/models/alias.py:123 admin/models/domain.py:45
|
|
500
533
|
#: admin/models/domain_alias.py:45 autoreply/models.py:25
|
|
501
534
|
msgid "enabled"
|
|
502
535
|
msgstr ""
|
|
503
536
|
|
|
504
|
-
#: admin/models/alias.py:
|
|
537
|
+
#: admin/models/alias.py:124 admin/models/domain_alias.py:46
|
|
505
538
|
msgid "Check to activate this alias"
|
|
506
539
|
msgstr ""
|
|
507
540
|
|
|
508
|
-
#: admin/models/alias.py:
|
|
541
|
+
#: admin/models/alias.py:128
|
|
509
542
|
msgid "Description"
|
|
510
543
|
msgstr ""
|
|
511
544
|
|
|
512
|
-
#: admin/models/alias.py:
|
|
545
|
+
#: admin/models/alias.py:129
|
|
513
546
|
msgid "Expire at"
|
|
514
547
|
msgstr ""
|
|
515
548
|
|
|
516
|
-
#: admin/models/alias.py:
|
|
549
|
+
#: admin/models/alias.py:170
|
|
517
550
|
msgid "alias"
|
|
518
551
|
msgstr ""
|
|
519
552
|
|
|
520
|
-
#: admin/models/alias.py:
|
|
553
|
+
#: admin/models/alias.py:203
|
|
521
554
|
msgid "Invalid address"
|
|
522
555
|
msgstr ""
|
|
523
556
|
|
|
524
|
-
#: admin/models/alias.py:
|
|
557
|
+
#: admin/models/alias.py:206
|
|
558
|
+
msgid "Target domain not allowed"
|
|
559
|
+
msgstr ""
|
|
560
|
+
|
|
561
|
+
#: admin/models/alias.py:224
|
|
525
562
|
msgid "Local recipient {}@{} not found"
|
|
526
563
|
msgstr ""
|
|
527
564
|
|
|
528
|
-
#: admin/models/alias.py:
|
|
565
|
+
#: admin/models/alias.py:273
|
|
529
566
|
msgid "Invalid line: {}"
|
|
530
567
|
msgstr ""
|
|
531
568
|
|
|
@@ -633,6 +670,10 @@ msgstr ""
|
|
|
633
670
|
msgid "Domain does not exist"
|
|
634
671
|
msgstr ""
|
|
635
672
|
|
|
673
|
+
#: admin/models/mailbox.py:342
|
|
674
|
+
msgid "Mailbox {} already exists"
|
|
675
|
+
msgstr ""
|
|
676
|
+
|
|
636
677
|
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
|
|
637
678
|
#, python-format
|
|
638
679
|
msgid ""
|
|
@@ -652,21 +693,332 @@ msgstr ""
|
|
|
652
693
|
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
|
|
653
694
|
msgstr ""
|
|
654
695
|
|
|
655
|
-
#: admin/tests/test_mx.py:
|
|
696
|
+
#: admin/tests/test_mx.py:141
|
|
656
697
|
#, python-format
|
|
657
698
|
msgid "No MX record for %s"
|
|
658
699
|
msgstr ""
|
|
659
700
|
|
|
660
|
-
#: admin/tests/test_mx.py:
|
|
701
|
+
#: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
|
|
661
702
|
#, python-format
|
|
662
703
|
msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
663
704
|
msgstr ""
|
|
664
705
|
|
|
665
|
-
#: admin/tests/test_mx.py:
|
|
706
|
+
#: admin/tests/test_mx.py:185
|
|
666
707
|
#, python-format
|
|
667
708
|
msgid "No AAAA record for %s"
|
|
668
709
|
msgstr ""
|
|
669
710
|
|
|
711
|
+
#: amavis/app_settings.py:11
|
|
712
|
+
msgid "Amavis settings"
|
|
713
|
+
msgstr ""
|
|
714
|
+
|
|
715
|
+
#: amavis/app_settings.py:17
|
|
716
|
+
msgid "Localpart is case sensitive"
|
|
717
|
+
msgstr ""
|
|
718
|
+
|
|
719
|
+
#: amavis/app_settings.py:19
|
|
720
|
+
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
|
|
721
|
+
msgstr ""
|
|
722
|
+
|
|
723
|
+
#: amavis/app_settings.py:27
|
|
724
|
+
msgid "Recipient delimiter"
|
|
725
|
+
msgstr ""
|
|
726
|
+
|
|
727
|
+
#: amavis/app_settings.py:29
|
|
728
|
+
msgid "Value should match amavisd.conf variable $recipient_delimiter"
|
|
729
|
+
msgstr ""
|
|
730
|
+
|
|
731
|
+
#: amavis/app_settings.py:41
|
|
732
|
+
msgid "Quarantine settings"
|
|
733
|
+
msgstr ""
|
|
734
|
+
|
|
735
|
+
#: amavis/app_settings.py:47
|
|
736
|
+
msgid "Maximum message age"
|
|
737
|
+
msgstr ""
|
|
738
|
+
|
|
739
|
+
#: amavis/app_settings.py:49
|
|
740
|
+
msgid "Quarantine messages maximum age (in days) before deletion"
|
|
741
|
+
msgstr ""
|
|
742
|
+
|
|
743
|
+
#: amavis/app_settings.py:60
|
|
744
|
+
msgid "Message releasing"
|
|
745
|
+
msgstr ""
|
|
746
|
+
|
|
747
|
+
#: amavis/app_settings.py:66
|
|
748
|
+
msgid "Remove released messages"
|
|
749
|
+
msgstr ""
|
|
750
|
+
|
|
751
|
+
#: amavis/app_settings.py:68
|
|
752
|
+
msgid "Remove messages marked as released while cleaning up the database"
|
|
753
|
+
msgstr ""
|
|
754
|
+
|
|
755
|
+
#: amavis/app_settings.py:76
|
|
756
|
+
msgid "Amavis connection mode"
|
|
757
|
+
msgstr ""
|
|
758
|
+
|
|
759
|
+
#: amavis/app_settings.py:78
|
|
760
|
+
msgid "Mode used to access the PDP server"
|
|
761
|
+
msgstr ""
|
|
762
|
+
|
|
763
|
+
#: amavis/app_settings.py:85
|
|
764
|
+
msgid "PDP server address"
|
|
765
|
+
msgstr ""
|
|
766
|
+
|
|
767
|
+
#: amavis/app_settings.py:87
|
|
768
|
+
msgid "PDP server address (if inet mode)"
|
|
769
|
+
msgstr ""
|
|
770
|
+
|
|
771
|
+
#: amavis/app_settings.py:95
|
|
772
|
+
msgid "PDP server port"
|
|
773
|
+
msgstr ""
|
|
774
|
+
|
|
775
|
+
#: amavis/app_settings.py:97
|
|
776
|
+
msgid "PDP server port (if inet mode)"
|
|
777
|
+
msgstr ""
|
|
778
|
+
|
|
779
|
+
#: amavis/app_settings.py:105
|
|
780
|
+
msgid "PDP server socket"
|
|
781
|
+
msgstr ""
|
|
782
|
+
|
|
783
|
+
#: amavis/app_settings.py:107
|
|
784
|
+
msgid "Path to the PDP server socket (if unix mode)"
|
|
785
|
+
msgstr ""
|
|
786
|
+
|
|
787
|
+
#: amavis/app_settings.py:115
|
|
788
|
+
msgid "Allow direct release"
|
|
789
|
+
msgstr ""
|
|
790
|
+
|
|
791
|
+
#: amavis/app_settings.py:117
|
|
792
|
+
msgid "Allow users to directly release their messages"
|
|
793
|
+
msgstr ""
|
|
794
|
+
|
|
795
|
+
#: amavis/app_settings.py:124
|
|
796
|
+
msgid "Enable self-service mode"
|
|
797
|
+
msgstr ""
|
|
798
|
+
|
|
799
|
+
#: amavis/app_settings.py:126
|
|
800
|
+
msgid "Activate the 'self-service' mode"
|
|
801
|
+
msgstr ""
|
|
802
|
+
|
|
803
|
+
#: amavis/app_settings.py:133
|
|
804
|
+
msgid "Notifications sender"
|
|
805
|
+
msgstr ""
|
|
806
|
+
|
|
807
|
+
#: amavis/app_settings.py:135
|
|
808
|
+
msgid "The e-mail address used to send notitications"
|
|
809
|
+
msgstr ""
|
|
810
|
+
|
|
811
|
+
#: amavis/app_settings.py:146
|
|
812
|
+
msgid "Manual learning"
|
|
813
|
+
msgstr ""
|
|
814
|
+
|
|
815
|
+
#: amavis/app_settings.py:152
|
|
816
|
+
msgid "Enable manual learning"
|
|
817
|
+
msgstr ""
|
|
818
|
+
|
|
819
|
+
#: amavis/app_settings.py:154
|
|
820
|
+
msgid "Allow super administrators to manually train Spamassassin"
|
|
821
|
+
msgstr ""
|
|
822
|
+
|
|
823
|
+
#: amavis/app_settings.py:161
|
|
824
|
+
msgid "Is Spamassassin local?"
|
|
825
|
+
msgstr ""
|
|
826
|
+
|
|
827
|
+
#: amavis/app_settings.py:163
|
|
828
|
+
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
|
829
|
+
msgstr ""
|
|
830
|
+
|
|
831
|
+
#: amavis/app_settings.py:171
|
|
832
|
+
msgid "Default user"
|
|
833
|
+
msgstr ""
|
|
834
|
+
|
|
835
|
+
#: amavis/app_settings.py:173
|
|
836
|
+
msgid "Name of the user owning the default bayesian database"
|
|
837
|
+
msgstr ""
|
|
838
|
+
|
|
839
|
+
#: amavis/app_settings.py:181
|
|
840
|
+
msgid "Spamd address"
|
|
841
|
+
msgstr ""
|
|
842
|
+
|
|
843
|
+
#: amavis/app_settings.py:183
|
|
844
|
+
msgid "The IP address where spamd can be reached"
|
|
845
|
+
msgstr ""
|
|
846
|
+
|
|
847
|
+
#: amavis/app_settings.py:191
|
|
848
|
+
msgid "Spamd port"
|
|
849
|
+
msgstr ""
|
|
850
|
+
|
|
851
|
+
#: amavis/app_settings.py:193
|
|
852
|
+
msgid "The TCP port spamd is listening on"
|
|
853
|
+
msgstr ""
|
|
854
|
+
|
|
855
|
+
#: amavis/app_settings.py:202
|
|
856
|
+
msgid "Enable per-domain manual learning"
|
|
857
|
+
msgstr ""
|
|
858
|
+
|
|
859
|
+
#: amavis/app_settings.py:205
|
|
860
|
+
msgid ""
|
|
861
|
+
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
|
862
|
+
"domain databases)"
|
|
863
|
+
msgstr ""
|
|
864
|
+
|
|
865
|
+
#: amavis/app_settings.py:215
|
|
866
|
+
msgid "Enable per-user manual learning"
|
|
867
|
+
msgstr ""
|
|
868
|
+
|
|
869
|
+
#: amavis/app_settings.py:218
|
|
870
|
+
msgid ""
|
|
871
|
+
"Allow simple users to personally train Spamassassin (within a dedicated "
|
|
872
|
+
"database)"
|
|
873
|
+
msgstr ""
|
|
874
|
+
|
|
875
|
+
#: amavis/app_settings.py:236 webmail/app_settings.py:155
|
|
876
|
+
msgid "Display"
|
|
877
|
+
msgstr ""
|
|
878
|
+
|
|
879
|
+
#: amavis/app_settings.py:243 webmail/app_settings.py:181
|
|
880
|
+
msgid "Number of displayed emails per page"
|
|
881
|
+
msgstr ""
|
|
882
|
+
|
|
883
|
+
#: amavis/app_settings.py:246
|
|
884
|
+
msgid "Set the maximum number of messages displayed in a page"
|
|
885
|
+
msgstr ""
|
|
886
|
+
|
|
887
|
+
#: amavis/app_settings.py:266 amavis/app_settings.py:273
|
|
888
|
+
msgid "Amavis"
|
|
889
|
+
msgstr ""
|
|
890
|
+
|
|
891
|
+
#: amavis/checks/settings_checks.py:8
|
|
892
|
+
msgid ""
|
|
893
|
+
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
|
|
894
|
+
"by the Amavis database."
|
|
895
|
+
msgstr ""
|
|
896
|
+
|
|
897
|
+
#: amavis/checks/settings_checks.py:12
|
|
898
|
+
msgid ""
|
|
899
|
+
"Check your database character encoding and set/update "
|
|
900
|
+
"AMAVIS_DEFAULT_DATABASE_ENCODING."
|
|
901
|
+
msgstr ""
|
|
902
|
+
|
|
903
|
+
#: amavis/checks/settings_checks.py:19
|
|
904
|
+
msgid "Modoboa Amavis has not been tested using the selected database engine."
|
|
905
|
+
msgstr ""
|
|
906
|
+
|
|
907
|
+
#: amavis/checks/settings_checks.py:20
|
|
908
|
+
msgid "Try using PostgreSQL, MySQL or MariaDB."
|
|
909
|
+
msgstr ""
|
|
910
|
+
|
|
911
|
+
#: amavis/handlers.py:141
|
|
912
|
+
msgid "Pending requests"
|
|
913
|
+
msgstr ""
|
|
914
|
+
|
|
915
|
+
#: amavis/lib.py:59
|
|
916
|
+
#, python-format
|
|
917
|
+
msgid "Connection to amavis failed: %s"
|
|
918
|
+
msgstr ""
|
|
919
|
+
|
|
920
|
+
#: amavis/lib.py:133
|
|
921
|
+
msgid "Failed to find {} binary"
|
|
922
|
+
msgstr ""
|
|
923
|
+
|
|
924
|
+
#: amavis/lib.py:148
|
|
925
|
+
msgid "No recipient found"
|
|
926
|
+
msgstr ""
|
|
927
|
+
|
|
928
|
+
#: amavis/lib.py:159
|
|
929
|
+
msgid "Local domain not found"
|
|
930
|
+
msgstr ""
|
|
931
|
+
|
|
932
|
+
#: amavis/management/commands/amnotify.py:59
|
|
933
|
+
msgid "[modoboa] Pending release requests"
|
|
934
|
+
msgstr ""
|
|
935
|
+
|
|
936
|
+
#: amavis/models.py:101
|
|
937
|
+
msgid "Virus filter"
|
|
938
|
+
msgstr ""
|
|
939
|
+
|
|
940
|
+
#: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
|
|
941
|
+
msgid "yes"
|
|
942
|
+
msgstr ""
|
|
943
|
+
|
|
944
|
+
#: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
|
|
945
|
+
msgid "no"
|
|
946
|
+
msgstr ""
|
|
947
|
+
|
|
948
|
+
#: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
|
|
949
|
+
msgid "default"
|
|
950
|
+
msgstr ""
|
|
951
|
+
|
|
952
|
+
#: amavis/models.py:111
|
|
953
|
+
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
|
|
954
|
+
msgstr ""
|
|
955
|
+
|
|
956
|
+
#: amavis/models.py:115
|
|
957
|
+
msgid "Spam filter"
|
|
958
|
+
msgstr ""
|
|
959
|
+
|
|
960
|
+
#: amavis/models.py:125
|
|
961
|
+
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
|
|
962
|
+
msgstr ""
|
|
963
|
+
|
|
964
|
+
#: amavis/models.py:129
|
|
965
|
+
msgid "Banned filter"
|
|
966
|
+
msgstr ""
|
|
967
|
+
|
|
968
|
+
#: amavis/models.py:139
|
|
969
|
+
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
|
|
970
|
+
msgstr ""
|
|
971
|
+
|
|
972
|
+
#: amavis/models.py:170
|
|
973
|
+
msgid "Spam marker"
|
|
974
|
+
msgstr ""
|
|
975
|
+
|
|
976
|
+
#: amavis/models.py:176
|
|
977
|
+
msgid ""
|
|
978
|
+
"Modify spam subject using the specified text. Choose 'default' to use global "
|
|
979
|
+
"settings."
|
|
980
|
+
msgstr ""
|
|
981
|
+
|
|
982
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:3
|
|
983
|
+
#, python-format
|
|
984
|
+
msgid "%(counter)s release request is pending for action."
|
|
985
|
+
msgid_plural "%(counter)s release requests are pending for action."
|
|
986
|
+
msgstr[0] ""
|
|
987
|
+
msgstr[1] ""
|
|
988
|
+
|
|
989
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:8
|
|
990
|
+
msgid "Sketch:"
|
|
991
|
+
msgstr ""
|
|
992
|
+
|
|
993
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:10
|
|
994
|
+
msgid "From:"
|
|
995
|
+
msgstr ""
|
|
996
|
+
|
|
997
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:11
|
|
998
|
+
msgid "To:"
|
|
999
|
+
msgstr ""
|
|
1000
|
+
|
|
1001
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:12
|
|
1002
|
+
msgid "Date:"
|
|
1003
|
+
msgstr ""
|
|
1004
|
+
|
|
1005
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:13
|
|
1006
|
+
msgid "Subject:"
|
|
1007
|
+
msgstr ""
|
|
1008
|
+
|
|
1009
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:14
|
|
1010
|
+
msgid "Act on this message:"
|
|
1011
|
+
msgstr ""
|
|
1012
|
+
|
|
1013
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:16
|
|
1014
|
+
#, python-format
|
|
1015
|
+
msgid "Please visit %(listingurl)s for a full listing."
|
|
1016
|
+
msgstr ""
|
|
1017
|
+
|
|
1018
|
+
#: amavis/viewsets.py:122
|
|
1019
|
+
msgid "Invalid request"
|
|
1020
|
+
msgstr ""
|
|
1021
|
+
|
|
670
1022
|
#: autoreply/api/v2/serializers.py:27
|
|
671
1023
|
msgid "Value can't be less than 1 day"
|
|
672
1024
|
msgstr ""
|
|
@@ -767,7 +1119,7 @@ msgstr ""
|
|
|
767
1119
|
msgid "Allow domain administrators to manage user calendars (read and write)"
|
|
768
1120
|
msgstr ""
|
|
769
1121
|
|
|
770
|
-
#: calendars/app_settings.py:60 core/app_settings.py:
|
|
1122
|
+
#: calendars/app_settings.py:60 core/app_settings.py:664
|
|
771
1123
|
#: rspamd/app_settings.py:45
|
|
772
1124
|
msgid "Miscellaneous"
|
|
773
1125
|
msgstr ""
|
|
@@ -781,15 +1133,15 @@ msgid ""
|
|
|
781
1133
|
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
|
|
782
1134
|
msgstr ""
|
|
783
1135
|
|
|
784
|
-
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:
|
|
1136
|
+
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
|
|
785
1137
|
msgid "Calendars"
|
|
786
1138
|
msgstr ""
|
|
787
1139
|
|
|
788
|
-
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:
|
|
1140
|
+
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
|
|
789
1141
|
msgid "Server location is not set, please fix it."
|
|
790
1142
|
msgstr ""
|
|
791
1143
|
|
|
792
|
-
#: calendars/viewsets.py:
|
|
1144
|
+
#: calendars/viewsets.py:199
|
|
793
1145
|
msgid "Uploaded file is too big (max: {} bytes)"
|
|
794
1146
|
msgstr ""
|
|
795
1147
|
|
|
@@ -815,7 +1167,7 @@ msgstr ""
|
|
|
815
1167
|
msgid "Interval in seconds between 2 synchronization requests"
|
|
816
1168
|
msgstr ""
|
|
817
1169
|
|
|
818
|
-
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:
|
|
1170
|
+
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
|
|
819
1171
|
msgid "Contacts"
|
|
820
1172
|
msgstr ""
|
|
821
1173
|
|
|
@@ -863,12 +1215,12 @@ msgstr ""
|
|
|
863
1215
|
msgid "2FA is already enabled"
|
|
864
1216
|
msgstr ""
|
|
865
1217
|
|
|
866
|
-
#: core/api/v1/serializers.py:
|
|
1218
|
+
#: core/api/v1/serializers.py:87
|
|
867
1219
|
#, python-format
|
|
868
1220
|
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
869
1221
|
msgstr ""
|
|
870
1222
|
|
|
871
|
-
#: core/api/v1/serializers.py:
|
|
1223
|
+
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
|
|
872
1224
|
msgid "Invalid password"
|
|
873
1225
|
msgstr ""
|
|
874
1226
|
|
|
@@ -880,24 +1232,20 @@ msgstr ""
|
|
|
880
1232
|
msgid "Local"
|
|
881
1233
|
msgstr ""
|
|
882
1234
|
|
|
883
|
-
#: core/api/v2/serializers.py:
|
|
884
|
-
|
|
885
|
-
msgstr ""
|
|
886
|
-
|
|
887
|
-
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
888
|
-
#: 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
|
|
889
1237
|
msgid "Invalid syntax"
|
|
890
1238
|
msgstr ""
|
|
891
1239
|
|
|
892
|
-
#: core/api/v2/serializers.py:
|
|
1240
|
+
#: core/api/v2/serializers.py:226
|
|
893
1241
|
msgid "Invalid rounds number"
|
|
894
1242
|
msgstr ""
|
|
895
1243
|
|
|
896
|
-
#: core/api/v2/serializers.py:
|
|
1244
|
+
#: core/api/v2/serializers.py:426 core/forms.py:81
|
|
897
1245
|
msgid "This code is invalid"
|
|
898
1246
|
msgstr ""
|
|
899
1247
|
|
|
900
|
-
#: core/api/v2/serializers.py:
|
|
1248
|
+
#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
|
|
901
1249
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
902
1250
|
msgstr ""
|
|
903
1251
|
|
|
@@ -905,534 +1253,534 @@ msgstr ""
|
|
|
905
1253
|
msgid "Administration console"
|
|
906
1254
|
msgstr ""
|
|
907
1255
|
|
|
908
|
-
#: core/api/v2/viewsets.py:
|
|
909
|
-
msgid "
|
|
1256
|
+
#: core/api/v2/viewsets.py:184 dmarc/models.py:11
|
|
1257
|
+
msgid "Quarantine"
|
|
1258
|
+
msgstr ""
|
|
1259
|
+
|
|
1260
|
+
#: core/api/v2/viewsets.py:186
|
|
1261
|
+
msgid "Amavis quarantine"
|
|
910
1262
|
msgstr ""
|
|
911
1263
|
|
|
912
1264
|
#: core/api/v2/viewsets.py:197
|
|
1265
|
+
msgid "Address book"
|
|
1266
|
+
msgstr ""
|
|
1267
|
+
|
|
1268
|
+
#: core/api/v2/viewsets.py:207
|
|
913
1269
|
msgid "Calendar"
|
|
914
1270
|
msgstr ""
|
|
915
1271
|
|
|
916
|
-
#: core/api/v2/viewsets.py:
|
|
917
|
-
#: webmail/app_settings.py:
|
|
1272
|
+
#: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
|
|
1273
|
+
#: webmail/app_settings.py:295 webmail/app_settings.py:302
|
|
918
1274
|
msgid "Webmail"
|
|
919
1275
|
msgstr ""
|
|
920
1276
|
|
|
921
|
-
#: core/app_settings.py:
|
|
1277
|
+
#: core/app_settings.py:25
|
|
922
1278
|
msgid "Authentication"
|
|
923
1279
|
msgstr ""
|
|
924
1280
|
|
|
925
|
-
#: core/app_settings.py:
|
|
1281
|
+
#: core/app_settings.py:31
|
|
926
1282
|
msgid "Authentication type"
|
|
927
1283
|
msgstr ""
|
|
928
1284
|
|
|
929
|
-
#: core/app_settings.py:
|
|
1285
|
+
#: core/app_settings.py:33
|
|
930
1286
|
msgid "The backend used for authentication"
|
|
931
1287
|
msgstr ""
|
|
932
1288
|
|
|
933
|
-
#: core/app_settings.py:
|
|
1289
|
+
#: core/app_settings.py:40
|
|
934
1290
|
msgid "Default password scheme"
|
|
935
1291
|
msgstr ""
|
|
936
1292
|
|
|
937
|
-
#: core/app_settings.py:
|
|
1293
|
+
#: core/app_settings.py:42
|
|
938
1294
|
msgid "Scheme used to crypt mailbox passwords"
|
|
939
1295
|
msgstr ""
|
|
940
1296
|
|
|
941
|
-
#: core/app_settings.py:
|
|
1297
|
+
#: core/app_settings.py:49
|
|
942
1298
|
msgid "Rounds"
|
|
943
1299
|
msgstr ""
|
|
944
1300
|
|
|
945
|
-
#: core/app_settings.py:
|
|
1301
|
+
#: core/app_settings.py:51
|
|
946
1302
|
msgid ""
|
|
947
1303
|
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
|
|
948
1304
|
"between 1000 and 999999999, inclusive."
|
|
949
1305
|
msgstr ""
|
|
950
1306
|
|
|
951
|
-
#: core/app_settings.py:
|
|
1307
|
+
#: core/app_settings.py:61
|
|
952
1308
|
msgid "Update password scheme at login"
|
|
953
1309
|
msgstr ""
|
|
954
1310
|
|
|
955
|
-
#: core/app_settings.py:
|
|
1311
|
+
#: core/app_settings.py:64
|
|
956
1312
|
msgid "Update user password at login to use the default password scheme"
|
|
957
1313
|
msgstr ""
|
|
958
1314
|
|
|
959
|
-
#: core/app_settings.py:
|
|
1315
|
+
#: core/app_settings.py:72
|
|
960
1316
|
msgid "Default password"
|
|
961
1317
|
msgstr ""
|
|
962
1318
|
|
|
963
|
-
#: core/app_settings.py:
|
|
1319
|
+
#: core/app_settings.py:74
|
|
964
1320
|
msgid "Default password for automatically created accounts."
|
|
965
1321
|
msgstr ""
|
|
966
1322
|
|
|
967
|
-
#: core/app_settings.py:
|
|
1323
|
+
#: core/app_settings.py:81
|
|
968
1324
|
msgid "Random password length"
|
|
969
1325
|
msgstr ""
|
|
970
1326
|
|
|
971
|
-
#: core/app_settings.py:
|
|
1327
|
+
#: core/app_settings.py:83
|
|
972
1328
|
msgid "Length of randomly generated passwords."
|
|
973
1329
|
msgstr ""
|
|
974
1330
|
|
|
975
|
-
#: core/app_settings.py:
|
|
1331
|
+
#: core/app_settings.py:91
|
|
976
1332
|
msgid "Allow special characters for random password"
|
|
977
1333
|
msgstr ""
|
|
978
1334
|
|
|
979
|
-
#: core/app_settings.py:
|
|
1335
|
+
#: core/app_settings.py:94
|
|
980
1336
|
msgid "Enable special characters in randomly generated passwords."
|
|
981
1337
|
msgstr ""
|
|
982
1338
|
|
|
983
|
-
#: core/app_settings.py:
|
|
1339
|
+
#: core/app_settings.py:102
|
|
984
1340
|
msgid "Update password service URL"
|
|
985
1341
|
msgstr ""
|
|
986
1342
|
|
|
987
|
-
#: core/app_settings.py:
|
|
1343
|
+
#: core/app_settings.py:104
|
|
988
1344
|
msgid ""
|
|
989
1345
|
"The URL of an external page where users will be able to update their "
|
|
990
1346
|
"password. It applies only to non local users, ie. those automatically "
|
|
991
1347
|
"created after a successful external authentication (LDAP, SMTP)."
|
|
992
1348
|
msgstr ""
|
|
993
1349
|
|
|
994
|
-
#: core/app_settings.py:
|
|
1350
|
+
#: core/app_settings.py:114
|
|
995
1351
|
msgid "Password recovery announcement"
|
|
996
1352
|
msgstr ""
|
|
997
1353
|
|
|
998
|
-
#: core/app_settings.py:
|
|
1354
|
+
#: core/app_settings.py:116
|
|
999
1355
|
msgid "A temporary message that will be displayed on the reset password page."
|
|
1000
1356
|
msgstr ""
|
|
1001
1357
|
|
|
1002
|
-
#: core/app_settings.py:
|
|
1358
|
+
#: core/app_settings.py:125
|
|
1003
1359
|
msgid "Enable password recovery by SMS"
|
|
1004
1360
|
msgstr ""
|
|
1005
1361
|
|
|
1006
|
-
#: core/app_settings.py:
|
|
1362
|
+
#: core/app_settings.py:128
|
|
1007
1363
|
msgid "Enable password recovery by SMS for users who filled a phone number."
|
|
1008
1364
|
msgstr ""
|
|
1009
1365
|
|
|
1010
|
-
#: core/app_settings.py:
|
|
1366
|
+
#: core/app_settings.py:136
|
|
1011
1367
|
msgid "SMS provider"
|
|
1012
1368
|
msgstr ""
|
|
1013
1369
|
|
|
1014
|
-
#: core/app_settings.py:
|
|
1370
|
+
#: core/app_settings.py:139
|
|
1015
1371
|
msgid "Choose a provider to send password recovery SMS"
|
|
1016
1372
|
msgstr ""
|
|
1017
1373
|
|
|
1018
|
-
#: core/app_settings.py:
|
|
1374
|
+
#: core/app_settings.py:151
|
|
1019
1375
|
msgid "LDAP"
|
|
1020
1376
|
msgstr ""
|
|
1021
1377
|
|
|
1022
|
-
#: core/app_settings.py:
|
|
1378
|
+
#: core/app_settings.py:157 sievefilters/app_settings.py:18
|
|
1023
1379
|
#: sievefilters/app_settings.py:51 webmail/app_settings.py:36
|
|
1024
|
-
#: webmail/app_settings.py:73
|
|
1380
|
+
#: webmail/app_settings.py:73 webmail/app_settings.py:119
|
|
1025
1381
|
msgid "Server address"
|
|
1026
1382
|
msgstr ""
|
|
1027
1383
|
|
|
1028
|
-
#: core/app_settings.py:
|
|
1384
|
+
#: core/app_settings.py:159
|
|
1029
1385
|
msgid "The IP address or the DNS name of the LDAP server"
|
|
1030
1386
|
msgstr ""
|
|
1031
1387
|
|
|
1032
|
-
#: core/app_settings.py:
|
|
1388
|
+
#: core/app_settings.py:166 sievefilters/app_settings.py:25
|
|
1033
1389
|
#: sievefilters/app_settings.py:67 webmail/app_settings.py:54
|
|
1034
|
-
#: webmail/app_settings.py:91
|
|
1390
|
+
#: webmail/app_settings.py:91 webmail/app_settings.py:137
|
|
1035
1391
|
msgid "Server port"
|
|
1036
1392
|
msgstr ""
|
|
1037
1393
|
|
|
1038
|
-
#: core/app_settings.py:
|
|
1394
|
+
#: core/app_settings.py:168
|
|
1039
1395
|
msgid "The TCP port number used by the LDAP server"
|
|
1040
1396
|
msgstr ""
|
|
1041
1397
|
|
|
1042
|
-
#: core/app_settings.py:
|
|
1398
|
+
#: core/app_settings.py:176
|
|
1043
1399
|
msgid "Enable secondary server (fallback)"
|
|
1044
1400
|
msgstr ""
|
|
1045
1401
|
|
|
1046
|
-
#: core/app_settings.py:
|
|
1402
|
+
#: core/app_settings.py:179
|
|
1047
1403
|
msgid ""
|
|
1048
1404
|
"Enable a secondary LDAP server which will be used if the primary one fails"
|
|
1049
1405
|
msgstr ""
|
|
1050
1406
|
|
|
1051
|
-
#: core/app_settings.py:
|
|
1407
|
+
#: core/app_settings.py:187
|
|
1052
1408
|
msgid "Secondary server address"
|
|
1053
1409
|
msgstr ""
|
|
1054
1410
|
|
|
1055
|
-
#: core/app_settings.py:
|
|
1411
|
+
#: core/app_settings.py:190
|
|
1056
1412
|
msgid "The IP address or the DNS name of the seondary LDAP server"
|
|
1057
1413
|
msgstr ""
|
|
1058
1414
|
|
|
1059
|
-
#: core/app_settings.py:
|
|
1415
|
+
#: core/app_settings.py:197
|
|
1060
1416
|
msgid "Secondary server port"
|
|
1061
1417
|
msgstr ""
|
|
1062
1418
|
|
|
1063
|
-
#: core/app_settings.py:
|
|
1419
|
+
#: core/app_settings.py:200
|
|
1064
1420
|
msgid "The TCP port number used by the LDAP secondary server"
|
|
1065
1421
|
msgstr ""
|
|
1066
1422
|
|
|
1067
|
-
#: core/app_settings.py:
|
|
1423
|
+
#: core/app_settings.py:207 sievefilters/app_settings.py:58
|
|
1068
1424
|
#: webmail/app_settings.py:45
|
|
1069
1425
|
msgid "Use a secured connection"
|
|
1070
1426
|
msgstr ""
|
|
1071
1427
|
|
|
1072
|
-
#: core/app_settings.py:
|
|
1428
|
+
#: core/app_settings.py:209
|
|
1073
1429
|
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
1074
1430
|
msgstr ""
|
|
1075
1431
|
|
|
1076
|
-
#: core/app_settings.py:
|
|
1432
|
+
#: core/app_settings.py:216
|
|
1077
1433
|
msgid "Active Directory"
|
|
1078
1434
|
msgstr ""
|
|
1079
1435
|
|
|
1080
|
-
#: core/app_settings.py:
|
|
1436
|
+
#: core/app_settings.py:218
|
|
1081
1437
|
msgid "Tell if the LDAP server is an Active Directory one"
|
|
1082
1438
|
msgstr ""
|
|
1083
1439
|
|
|
1084
|
-
#: core/app_settings.py:
|
|
1440
|
+
#: core/app_settings.py:225
|
|
1085
1441
|
msgid "Administrator groups"
|
|
1086
1442
|
msgstr ""
|
|
1087
1443
|
|
|
1088
|
-
#: core/app_settings.py:
|
|
1444
|
+
#: core/app_settings.py:227
|
|
1089
1445
|
msgid ""
|
|
1090
1446
|
"Members of those LDAP Posix groups will be created as domain administrators. "
|
|
1091
1447
|
"Use ';' characters to separate groups."
|
|
1092
1448
|
msgstr ""
|
|
1093
1449
|
|
|
1094
|
-
#: core/app_settings.py:
|
|
1450
|
+
#: core/app_settings.py:236
|
|
1095
1451
|
msgid "Group type"
|
|
1096
1452
|
msgstr ""
|
|
1097
1453
|
|
|
1098
|
-
#: core/app_settings.py:
|
|
1454
|
+
#: core/app_settings.py:238
|
|
1099
1455
|
msgid "The LDAP group type to use with your directory."
|
|
1100
1456
|
msgstr ""
|
|
1101
1457
|
|
|
1102
|
-
#: core/app_settings.py:
|
|
1458
|
+
#: core/app_settings.py:245
|
|
1103
1459
|
msgid "Groups search base"
|
|
1104
1460
|
msgstr ""
|
|
1105
1461
|
|
|
1106
|
-
#: core/app_settings.py:
|
|
1462
|
+
#: core/app_settings.py:247
|
|
1107
1463
|
msgid "The distinguished name of the search base used to find groups"
|
|
1108
1464
|
msgstr ""
|
|
1109
1465
|
|
|
1110
|
-
#: core/app_settings.py:
|
|
1466
|
+
#: core/app_settings.py:255
|
|
1111
1467
|
msgid "Password attribute"
|
|
1112
1468
|
msgstr ""
|
|
1113
1469
|
|
|
1114
|
-
#: core/app_settings.py:
|
|
1470
|
+
#: core/app_settings.py:257
|
|
1115
1471
|
msgid "The attribute used to store user passwords"
|
|
1116
1472
|
msgstr ""
|
|
1117
1473
|
|
|
1118
|
-
#: core/app_settings.py:
|
|
1474
|
+
#: core/app_settings.py:264
|
|
1119
1475
|
msgid "LDAP authentication settings"
|
|
1120
1476
|
msgstr ""
|
|
1121
1477
|
|
|
1122
|
-
#: core/app_settings.py:
|
|
1478
|
+
#: core/app_settings.py:272
|
|
1123
1479
|
msgid "Authentication method"
|
|
1124
1480
|
msgstr ""
|
|
1125
1481
|
|
|
1126
|
-
#: core/app_settings.py:
|
|
1482
|
+
#: core/app_settings.py:275
|
|
1127
1483
|
msgid "Choose the authentication method to use"
|
|
1128
1484
|
msgstr ""
|
|
1129
1485
|
|
|
1130
|
-
#: core/app_settings.py:
|
|
1486
|
+
#: core/app_settings.py:282 core/app_settings.py:345
|
|
1131
1487
|
msgid "Bind DN"
|
|
1132
1488
|
msgstr ""
|
|
1133
1489
|
|
|
1134
|
-
#: core/app_settings.py:
|
|
1490
|
+
#: core/app_settings.py:284 core/app_settings.py:347
|
|
1135
1491
|
msgid ""
|
|
1136
1492
|
"The distinguished name to use when binding to the LDAP server. Leave empty "
|
|
1137
1493
|
"for an anonymous bind"
|
|
1138
1494
|
msgstr ""
|
|
1139
1495
|
|
|
1140
|
-
#: core/app_settings.py:
|
|
1496
|
+
#: core/app_settings.py:293 core/app_settings.py:355
|
|
1141
1497
|
msgid "Bind password"
|
|
1142
1498
|
msgstr ""
|
|
1143
1499
|
|
|
1144
|
-
#: core/app_settings.py:
|
|
1500
|
+
#: core/app_settings.py:295 core/app_settings.py:357
|
|
1145
1501
|
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
|
|
1146
1502
|
msgstr ""
|
|
1147
1503
|
|
|
1148
|
-
#: core/app_settings.py:
|
|
1504
|
+
#: core/app_settings.py:305 core/app_settings.py:410
|
|
1149
1505
|
msgid "Users search base"
|
|
1150
1506
|
msgstr ""
|
|
1151
1507
|
|
|
1152
|
-
#: core/app_settings.py:
|
|
1508
|
+
#: core/app_settings.py:307 core/app_settings.py:412
|
|
1153
1509
|
msgid "The distinguished name of the search base used to find users"
|
|
1154
1510
|
msgstr ""
|
|
1155
1511
|
|
|
1156
|
-
#: core/app_settings.py:
|
|
1512
|
+
#: core/app_settings.py:316 core/app_settings.py:421
|
|
1157
1513
|
msgid "Search filter"
|
|
1158
1514
|
msgstr ""
|
|
1159
1515
|
|
|
1160
|
-
#: core/app_settings.py:
|
|
1516
|
+
#: core/app_settings.py:318 core/app_settings.py:423
|
|
1161
1517
|
msgid ""
|
|
1162
1518
|
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
|
|
1163
1519
|
"valid, it must be enclosed in parentheses."
|
|
1164
1520
|
msgstr ""
|
|
1165
1521
|
|
|
1166
|
-
#: core/app_settings.py:
|
|
1522
|
+
#: core/app_settings.py:327
|
|
1167
1523
|
msgid "User DN template"
|
|
1168
1524
|
msgstr ""
|
|
1169
1525
|
|
|
1170
|
-
#: core/app_settings.py:
|
|
1526
|
+
#: core/app_settings.py:329
|
|
1171
1527
|
#, python-format
|
|
1172
1528
|
msgid ""
|
|
1173
1529
|
"The template used to construct a user's DN. It should contain one "
|
|
1174
1530
|
"placeholder (ie. %(user)s)"
|
|
1175
1531
|
msgstr ""
|
|
1176
1532
|
|
|
1177
|
-
#: core/app_settings.py:
|
|
1533
|
+
#: core/app_settings.py:338
|
|
1178
1534
|
msgid "LDAP synchronization settings"
|
|
1179
1535
|
msgstr ""
|
|
1180
1536
|
|
|
1181
|
-
#: core/app_settings.py:
|
|
1537
|
+
#: core/app_settings.py:366
|
|
1182
1538
|
msgid "Enable export to LDAP"
|
|
1183
1539
|
msgstr ""
|
|
1184
1540
|
|
|
1185
|
-
#: core/app_settings.py:
|
|
1541
|
+
#: core/app_settings.py:368
|
|
1186
1542
|
msgid ""
|
|
1187
1543
|
"Enable automatic synchronization between local database and LDAP directory"
|
|
1188
1544
|
msgstr ""
|
|
1189
1545
|
|
|
1190
|
-
#: core/app_settings.py:
|
|
1546
|
+
#: core/app_settings.py:377
|
|
1191
1547
|
msgid "Delete remote LDAP account when local account is deleted"
|
|
1192
1548
|
msgstr ""
|
|
1193
1549
|
|
|
1194
|
-
#: core/app_settings.py:
|
|
1550
|
+
#: core/app_settings.py:380
|
|
1195
1551
|
msgid ""
|
|
1196
1552
|
"Delete remote LDAP account when local account is deleted, otherwise it will "
|
|
1197
1553
|
"be disabled."
|
|
1198
1554
|
msgstr ""
|
|
1199
1555
|
|
|
1200
|
-
#: core/app_settings.py:
|
|
1556
|
+
#: core/app_settings.py:389
|
|
1201
1557
|
msgid "Account DN template"
|
|
1202
1558
|
msgstr ""
|
|
1203
1559
|
|
|
1204
|
-
#: core/app_settings.py:
|
|
1560
|
+
#: core/app_settings.py:391
|
|
1205
1561
|
#, python-format
|
|
1206
1562
|
msgid ""
|
|
1207
1563
|
"The template used to construct an account's DN. It should contain one "
|
|
1208
1564
|
"placeholder (ie. %(user)s)"
|
|
1209
1565
|
msgstr ""
|
|
1210
1566
|
|
|
1211
|
-
#: core/app_settings.py:
|
|
1567
|
+
#: core/app_settings.py:400
|
|
1212
1568
|
msgid "Enable import from LDAP"
|
|
1213
1569
|
msgstr ""
|
|
1214
1570
|
|
|
1215
|
-
#: core/app_settings.py:
|
|
1571
|
+
#: core/app_settings.py:402
|
|
1216
1572
|
msgid "Enable account synchronization from LDAP directory to local database"
|
|
1217
1573
|
msgstr ""
|
|
1218
1574
|
|
|
1219
|
-
#: core/app_settings.py:
|
|
1575
|
+
#: core/app_settings.py:432
|
|
1220
1576
|
msgid "Username attribute"
|
|
1221
1577
|
msgstr ""
|
|
1222
1578
|
|
|
1223
|
-
#: core/app_settings.py:
|
|
1579
|
+
#: core/app_settings.py:434
|
|
1224
1580
|
msgid "The name of the LDAP attribute where the username can be found."
|
|
1225
1581
|
msgstr ""
|
|
1226
1582
|
|
|
1227
|
-
#: core/app_settings.py:
|
|
1583
|
+
#: core/app_settings.py:443
|
|
1228
1584
|
msgid "Enable Dovecot LDAP sync"
|
|
1229
1585
|
msgstr ""
|
|
1230
1586
|
|
|
1231
|
-
#: core/app_settings.py:
|
|
1587
|
+
#: core/app_settings.py:445
|
|
1232
1588
|
msgid "LDAP authentication settings will be applied to Dovecot configuration."
|
|
1233
1589
|
msgstr ""
|
|
1234
1590
|
|
|
1235
|
-
#: core/app_settings.py:
|
|
1591
|
+
#: core/app_settings.py:453
|
|
1236
1592
|
msgid "Dovecot LDAP config file"
|
|
1237
1593
|
msgstr ""
|
|
1238
1594
|
|
|
1239
|
-
#: core/app_settings.py:
|
|
1595
|
+
#: core/app_settings.py:455
|
|
1240
1596
|
msgid ""
|
|
1241
1597
|
"Location of the configuration file which contains Dovecot LDAP settings."
|
|
1242
1598
|
msgstr ""
|
|
1243
1599
|
|
|
1244
|
-
#: core/app_settings.py:
|
|
1600
|
+
#: core/app_settings.py:468
|
|
1245
1601
|
msgid "Dashboard"
|
|
1246
1602
|
msgstr ""
|
|
1247
1603
|
|
|
1248
|
-
#: core/app_settings.py:
|
|
1604
|
+
#: core/app_settings.py:474
|
|
1249
1605
|
msgid "Custom welcome message"
|
|
1250
1606
|
msgstr ""
|
|
1251
1607
|
|
|
1252
|
-
#: core/app_settings.py:
|
|
1608
|
+
#: core/app_settings.py:476
|
|
1253
1609
|
msgid "A welcome message that will be displayed instead the default one"
|
|
1254
1610
|
msgstr ""
|
|
1255
1611
|
|
|
1256
|
-
#: core/app_settings.py:
|
|
1612
|
+
#: core/app_settings.py:483
|
|
1257
1613
|
msgid "Custom RSS feed"
|
|
1258
1614
|
msgstr ""
|
|
1259
1615
|
|
|
1260
|
-
#: core/app_settings.py:
|
|
1616
|
+
#: core/app_settings.py:485
|
|
1261
1617
|
msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1262
1618
|
msgstr ""
|
|
1263
1619
|
|
|
1264
|
-
#: core/app_settings.py:
|
|
1620
|
+
#: core/app_settings.py:494
|
|
1265
1621
|
msgid "Display custom RSS feed to super admins"
|
|
1266
1622
|
msgstr ""
|
|
1267
1623
|
|
|
1268
|
-
#: core/app_settings.py:
|
|
1624
|
+
#: core/app_settings.py:497
|
|
1269
1625
|
msgid "Display custom RSS feed also to super administrators"
|
|
1270
1626
|
msgstr ""
|
|
1271
1627
|
|
|
1272
|
-
#: core/app_settings.py:
|
|
1628
|
+
#: core/app_settings.py:505
|
|
1273
1629
|
msgid "Hide features widget"
|
|
1274
1630
|
msgstr ""
|
|
1275
1631
|
|
|
1276
|
-
#: core/app_settings.py:
|
|
1632
|
+
#: core/app_settings.py:507
|
|
1277
1633
|
msgid "Hide features widget for resellers and domain administrators"
|
|
1278
1634
|
msgstr ""
|
|
1279
1635
|
|
|
1280
|
-
#: core/app_settings.py:
|
|
1636
|
+
#: core/app_settings.py:519
|
|
1281
1637
|
msgid "Theme"
|
|
1282
1638
|
msgstr ""
|
|
1283
1639
|
|
|
1284
|
-
#: core/app_settings.py:
|
|
1640
|
+
#: core/app_settings.py:525
|
|
1285
1641
|
msgid "Primary theme color"
|
|
1286
1642
|
msgstr ""
|
|
1287
1643
|
|
|
1288
|
-
#: core/app_settings.py:
|
|
1644
|
+
#: core/app_settings.py:527
|
|
1289
1645
|
msgid ""
|
|
1290
1646
|
"Primary color of the theme (hexadecimal code), used as the background color "
|
|
1291
1647
|
"of the left menu for example"
|
|
1292
1648
|
msgstr ""
|
|
1293
1649
|
|
|
1294
|
-
#: core/app_settings.py:
|
|
1650
|
+
#: core/app_settings.py:536
|
|
1295
1651
|
msgid "Primary theme color (lighter version)"
|
|
1296
1652
|
msgstr ""
|
|
1297
1653
|
|
|
1298
|
-
#: core/app_settings.py:
|
|
1654
|
+
#: core/app_settings.py:539 core/app_settings.py:551
|
|
1299
1655
|
msgid "Primary color of the theme (hexadecimal code)"
|
|
1300
1656
|
msgstr ""
|
|
1301
1657
|
|
|
1302
|
-
#: core/app_settings.py:
|
|
1658
|
+
#: core/app_settings.py:548
|
|
1303
1659
|
msgid "Primary theme color (darker version)"
|
|
1304
1660
|
msgstr ""
|
|
1305
1661
|
|
|
1306
|
-
#: core/app_settings.py:
|
|
1662
|
+
#: core/app_settings.py:559
|
|
1307
1663
|
msgid "Secondary theme color"
|
|
1308
1664
|
msgstr ""
|
|
1309
1665
|
|
|
1310
|
-
#: core/app_settings.py:
|
|
1666
|
+
#: core/app_settings.py:561
|
|
1311
1667
|
msgid ""
|
|
1312
1668
|
"Secondary color of the theme (hexadecimal code), used as the background "
|
|
1313
1669
|
"color of some buttons for example"
|
|
1314
1670
|
msgstr ""
|
|
1315
1671
|
|
|
1316
|
-
#: core/app_settings.py:
|
|
1672
|
+
#: core/app_settings.py:569
|
|
1317
1673
|
msgid "Labels theme color"
|
|
1318
1674
|
msgstr ""
|
|
1319
1675
|
|
|
1320
|
-
#: core/app_settings.py:
|
|
1676
|
+
#: core/app_settings.py:571
|
|
1321
1677
|
msgid "Theme color for labels (hexadecimal code)"
|
|
1322
1678
|
msgstr ""
|
|
1323
1679
|
|
|
1324
|
-
#: core/app_settings.py:
|
|
1680
|
+
#: core/app_settings.py:583
|
|
1325
1681
|
msgid "Notifications"
|
|
1326
1682
|
msgstr ""
|
|
1327
1683
|
|
|
1328
|
-
#: core/app_settings.py:
|
|
1684
|
+
#: core/app_settings.py:589
|
|
1329
1685
|
msgid "Sender address"
|
|
1330
1686
|
msgstr ""
|
|
1331
1687
|
|
|
1332
|
-
#: core/app_settings.py:
|
|
1688
|
+
#: core/app_settings.py:591
|
|
1333
1689
|
msgid "Email address used to send notifications."
|
|
1334
1690
|
msgstr ""
|
|
1335
1691
|
|
|
1336
|
-
#: core/app_settings.py:
|
|
1692
|
+
#: core/app_settings.py:602
|
|
1337
1693
|
msgid "Public API"
|
|
1338
1694
|
msgstr ""
|
|
1339
1695
|
|
|
1340
|
-
#: core/app_settings.py:
|
|
1696
|
+
#: core/app_settings.py:608
|
|
1341
1697
|
msgid "Enable communication"
|
|
1342
1698
|
msgstr ""
|
|
1343
1699
|
|
|
1344
|
-
#: core/app_settings.py:
|
|
1700
|
+
#: core/app_settings.py:610 core/app_settings.py:620
|
|
1345
1701
|
msgid "Automatically checks if a newer version is available"
|
|
1346
1702
|
msgstr ""
|
|
1347
1703
|
|
|
1348
|
-
#: core/app_settings.py:
|
|
1704
|
+
#: core/app_settings.py:617
|
|
1349
1705
|
msgid "Check new versions"
|
|
1350
1706
|
msgstr ""
|
|
1351
1707
|
|
|
1352
|
-
#: core/app_settings.py:
|
|
1708
|
+
#: core/app_settings.py:628
|
|
1353
1709
|
msgid "Send an email when new versions are found"
|
|
1354
1710
|
msgstr ""
|
|
1355
1711
|
|
|
1356
|
-
#: core/app_settings.py:
|
|
1712
|
+
#: core/app_settings.py:632
|
|
1357
1713
|
msgid "Send an email to notify admins about new versions"
|
|
1358
1714
|
msgstr ""
|
|
1359
1715
|
|
|
1360
|
-
#: core/app_settings.py:
|
|
1716
|
+
#: core/app_settings.py:639 sievefilters/constants.py:25
|
|
1361
1717
|
msgid "Recipient"
|
|
1362
1718
|
msgstr ""
|
|
1363
1719
|
|
|
1364
|
-
#: core/app_settings.py:
|
|
1720
|
+
#: core/app_settings.py:642
|
|
1365
1721
|
msgid "Recipient of new versions notification emails."
|
|
1366
1722
|
msgstr ""
|
|
1367
1723
|
|
|
1368
|
-
#: core/app_settings.py:
|
|
1724
|
+
#: core/app_settings.py:649
|
|
1369
1725
|
msgid "Send statistics"
|
|
1370
1726
|
msgstr ""
|
|
1371
1727
|
|
|
1372
|
-
#: core/app_settings.py:
|
|
1728
|
+
#: core/app_settings.py:652
|
|
1373
1729
|
msgid "Send statistics to Modoboa public API (counters and used extensions)"
|
|
1374
1730
|
msgstr ""
|
|
1375
1731
|
|
|
1376
|
-
#: core/app_settings.py:
|
|
1732
|
+
#: core/app_settings.py:671
|
|
1377
1733
|
msgid "Enable inactive account tracking"
|
|
1378
1734
|
msgstr ""
|
|
1379
1735
|
|
|
1380
|
-
#: core/app_settings.py:
|
|
1736
|
+
#: core/app_settings.py:674
|
|
1381
1737
|
msgid ""
|
|
1382
1738
|
"Allow the administrator to set a threshold (in days) beyond which an account "
|
|
1383
1739
|
"is considered inactive if the user hasn't logged in"
|
|
1384
1740
|
msgstr ""
|
|
1385
1741
|
|
|
1386
|
-
#: core/app_settings.py:
|
|
1742
|
+
#: core/app_settings.py:683
|
|
1387
1743
|
msgid "Inactive account threshold"
|
|
1388
1744
|
msgstr ""
|
|
1389
1745
|
|
|
1390
|
-
#: core/app_settings.py:
|
|
1746
|
+
#: core/app_settings.py:686
|
|
1391
1747
|
msgid ""
|
|
1392
1748
|
"An account with a last login date greater than this threshold (in days) will "
|
|
1393
1749
|
"be considered as inactive"
|
|
1394
1750
|
msgstr ""
|
|
1395
1751
|
|
|
1396
|
-
#: core/app_settings.py:
|
|
1752
|
+
#: core/app_settings.py:695
|
|
1397
1753
|
msgid "Top notifications check interval"
|
|
1398
1754
|
msgstr ""
|
|
1399
1755
|
|
|
1400
|
-
#: core/app_settings.py:
|
|
1756
|
+
#: core/app_settings.py:698
|
|
1401
1757
|
msgid "Interval between two top notification checks (in seconds)"
|
|
1402
1758
|
msgstr ""
|
|
1403
1759
|
|
|
1404
|
-
#: core/app_settings.py:
|
|
1760
|
+
#: core/app_settings.py:705
|
|
1405
1761
|
msgid "Maximum log record age"
|
|
1406
1762
|
msgstr ""
|
|
1407
1763
|
|
|
1408
|
-
#: core/app_settings.py:
|
|
1764
|
+
#: core/app_settings.py:707
|
|
1409
1765
|
msgid "The maximum age in days of a log record"
|
|
1410
1766
|
msgstr ""
|
|
1411
1767
|
|
|
1412
|
-
#: core/app_settings.py:
|
|
1768
|
+
#: core/app_settings.py:715
|
|
1413
1769
|
msgid "Retention time in message history"
|
|
1414
1770
|
msgstr ""
|
|
1415
1771
|
|
|
1416
|
-
#: core/app_settings.py:
|
|
1772
|
+
#: core/app_settings.py:718
|
|
1417
1773
|
msgid "Retention time (in days) of a message in the message history section"
|
|
1418
1774
|
msgstr ""
|
|
1419
1775
|
|
|
1420
|
-
#: core/app_settings.py:
|
|
1776
|
+
#: core/app_settings.py:725
|
|
1421
1777
|
msgid "Items per page"
|
|
1422
1778
|
msgstr ""
|
|
1423
1779
|
|
|
1424
|
-
#: core/app_settings.py:
|
|
1780
|
+
#: core/app_settings.py:727
|
|
1425
1781
|
msgid "Number of displayed items per page"
|
|
1426
1782
|
msgstr ""
|
|
1427
1783
|
|
|
1428
|
-
#: core/app_settings.py:746
|
|
1429
|
-
msgid "Default top redirection"
|
|
1430
|
-
msgstr ""
|
|
1431
|
-
|
|
1432
|
-
#: core/app_settings.py:748
|
|
1433
|
-
msgid "The default redirection used when no application is specified"
|
|
1434
|
-
msgstr ""
|
|
1435
|
-
|
|
1436
1784
|
#: core/checks.py:15
|
|
1437
1785
|
msgid ""
|
|
1438
1786
|
"You have USE_TZ set to False, this may result in issues during transitions "
|
|
@@ -1558,7 +1906,7 @@ msgstr ""
|
|
|
1558
1906
|
msgid "One or more updates are available"
|
|
1559
1907
|
msgstr ""
|
|
1560
1908
|
|
|
1561
|
-
#: core/handlers.py:
|
|
1909
|
+
#: core/handlers.py:140
|
|
1562
1910
|
#, python-format
|
|
1563
1911
|
msgid "You are still using a deprecated password scheme (%s)"
|
|
1564
1912
|
msgstr ""
|
|
@@ -1713,22 +2061,22 @@ msgstr[1] ""
|
|
|
1713
2061
|
msgid "The core part of Modoboa"
|
|
1714
2062
|
msgstr ""
|
|
1715
2063
|
|
|
1716
|
-
#: core/views/auth.py:
|
|
2064
|
+
#: core/views/auth.py:82
|
|
1717
2065
|
#, python-format
|
|
1718
2066
|
msgid "User '%s' successfully logged in"
|
|
1719
2067
|
msgstr ""
|
|
1720
2068
|
|
|
1721
|
-
#: core/views/auth.py:
|
|
2069
|
+
#: core/views/auth.py:128
|
|
1722
2070
|
#, python-format
|
|
1723
2071
|
msgid "Password scheme mismatch. Updating %s password"
|
|
1724
2072
|
msgstr ""
|
|
1725
2073
|
|
|
1726
|
-
#: core/views/auth.py:
|
|
2074
|
+
#: core/views/auth.py:135
|
|
1727
2075
|
#, python-format
|
|
1728
2076
|
msgid "Password hash parameter missmatch. Updating %s password"
|
|
1729
2077
|
msgstr ""
|
|
1730
2078
|
|
|
1731
|
-
#: core/views/auth.py:
|
|
2079
|
+
#: core/views/auth.py:173
|
|
1732
2080
|
msgid "User '{}' successfully logged out"
|
|
1733
2081
|
msgstr ""
|
|
1734
2082
|
|
|
@@ -1753,14 +2101,10 @@ msgid "Not resolved"
|
|
|
1753
2101
|
msgstr ""
|
|
1754
2102
|
|
|
1755
2103
|
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
|
|
1756
|
-
#: webmail/constants.py:
|
|
2104
|
+
#: webmail/constants.py:38
|
|
1757
2105
|
msgid "None"
|
|
1758
2106
|
msgstr ""
|
|
1759
2107
|
|
|
1760
|
-
#: dmarc/models.py:11
|
|
1761
|
-
msgid "Quarantine"
|
|
1762
|
-
msgstr ""
|
|
1763
|
-
|
|
1764
2108
|
#: dmarc/models.py:12
|
|
1765
2109
|
msgid "Reject"
|
|
1766
2110
|
msgstr ""
|
|
@@ -1885,7 +2229,11 @@ msgstr ""
|
|
|
1885
2229
|
msgid "Public key mismatchs"
|
|
1886
2230
|
msgstr ""
|
|
1887
2231
|
|
|
1888
|
-
#: imap_migration/api/v2/serializers.py:
|
|
2232
|
+
#: imap_migration/api/v2/serializers.py:66
|
|
2233
|
+
msgid "Migrated domain with name {} already exists"
|
|
2234
|
+
msgstr ""
|
|
2235
|
+
|
|
2236
|
+
#: imap_migration/api/v2/serializers.py:130
|
|
1889
2237
|
msgid "Access denied"
|
|
1890
2238
|
msgstr ""
|
|
1891
2239
|
|
|
@@ -2558,7 +2906,7 @@ msgstr ""
|
|
|
2558
2906
|
msgid "Rspamd"
|
|
2559
2907
|
msgstr ""
|
|
2560
2908
|
|
|
2561
|
-
#: sievefilters/api/v2/viewsets.py:
|
|
2909
|
+
#: sievefilters/api/v2/viewsets.py:203
|
|
2562
2910
|
#, python-format
|
|
2563
2911
|
msgid "Filter %s already exists"
|
|
2564
2912
|
msgstr ""
|
|
@@ -2631,7 +2979,7 @@ msgstr ""
|
|
|
2631
2979
|
msgid "is not"
|
|
2632
2980
|
msgstr ""
|
|
2633
2981
|
|
|
2634
|
-
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:
|
|
2982
|
+
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
|
|
2635
2983
|
msgid "Subject"
|
|
2636
2984
|
msgstr ""
|
|
2637
2985
|
|
|
@@ -2857,19 +3205,19 @@ msgstr ""
|
|
|
2857
3205
|
msgid "SMTP settings"
|
|
2858
3206
|
msgstr ""
|
|
2859
3207
|
|
|
2860
|
-
#: webmail/app_settings.py:75
|
|
3208
|
+
#: webmail/app_settings.py:75 webmail/app_settings.py:121
|
|
2861
3209
|
msgid "Address of your SMTP server"
|
|
2862
3210
|
msgstr ""
|
|
2863
3211
|
|
|
2864
|
-
#: webmail/app_settings.py:82
|
|
3212
|
+
#: webmail/app_settings.py:82 webmail/app_settings.py:128
|
|
2865
3213
|
msgid "Secured connection mode"
|
|
2866
3214
|
msgstr ""
|
|
2867
3215
|
|
|
2868
|
-
#: webmail/app_settings.py:84
|
|
3216
|
+
#: webmail/app_settings.py:84 webmail/app_settings.py:130
|
|
2869
3217
|
msgid "Use a secured connection to access SMTP server"
|
|
2870
3218
|
msgstr ""
|
|
2871
3219
|
|
|
2872
|
-
#: webmail/app_settings.py:93
|
|
3220
|
+
#: webmail/app_settings.py:93 webmail/app_settings.py:139
|
|
2873
3221
|
msgid "Listening port of your SMTP server"
|
|
2874
3222
|
msgstr ""
|
|
2875
3223
|
|
|
@@ -2881,103 +3229,99 @@ msgstr ""
|
|
|
2881
3229
|
msgid "Server needs authentication"
|
|
2882
3230
|
msgstr ""
|
|
2883
3231
|
|
|
2884
|
-
#: webmail/app_settings.py:
|
|
2885
|
-
msgid "
|
|
3232
|
+
#: webmail/app_settings.py:113
|
|
3233
|
+
msgid "Scheduling settings"
|
|
2886
3234
|
msgstr ""
|
|
2887
3235
|
|
|
2888
|
-
#: webmail/app_settings.py:
|
|
3236
|
+
#: webmail/app_settings.py:161
|
|
2889
3237
|
msgid "Default message display mode"
|
|
2890
3238
|
msgstr ""
|
|
2891
3239
|
|
|
2892
|
-
#: webmail/app_settings.py:
|
|
3240
|
+
#: webmail/app_settings.py:163
|
|
2893
3241
|
msgid "The default mode used when displaying a message"
|
|
2894
3242
|
msgstr ""
|
|
2895
3243
|
|
|
2896
|
-
#: webmail/app_settings.py:
|
|
3244
|
+
#: webmail/app_settings.py:170
|
|
2897
3245
|
msgid "Enable HTML links display"
|
|
2898
3246
|
msgstr ""
|
|
2899
3247
|
|
|
2900
|
-
#: webmail/app_settings.py:
|
|
3248
|
+
#: webmail/app_settings.py:173
|
|
2901
3249
|
msgid "Enable/Disable HTML links display"
|
|
2902
3250
|
msgstr ""
|
|
2903
3251
|
|
|
2904
|
-
#: webmail/app_settings.py:
|
|
2905
|
-
msgid "Number of displayed emails per page"
|
|
2906
|
-
msgstr ""
|
|
2907
|
-
|
|
2908
|
-
#: webmail/app_settings.py:147
|
|
3252
|
+
#: webmail/app_settings.py:184
|
|
2909
3253
|
msgid "Sets the maximum number of messages displayed in a page"
|
|
2910
3254
|
msgstr ""
|
|
2911
3255
|
|
|
2912
|
-
#: webmail/app_settings.py:
|
|
3256
|
+
#: webmail/app_settings.py:191
|
|
2913
3257
|
msgid "Listing refresh rate"
|
|
2914
3258
|
msgstr ""
|
|
2915
3259
|
|
|
2916
|
-
#: webmail/app_settings.py:
|
|
3260
|
+
#: webmail/app_settings.py:193
|
|
2917
3261
|
msgid "Automatic listing refresh rate (in secconds)"
|
|
2918
3262
|
msgstr ""
|
|
2919
3263
|
|
|
2920
|
-
#: webmail/app_settings.py:
|
|
3264
|
+
#: webmail/app_settings.py:200
|
|
2921
3265
|
msgid "Folder container's width"
|
|
2922
3266
|
msgstr ""
|
|
2923
3267
|
|
|
2924
|
-
#: webmail/app_settings.py:
|
|
3268
|
+
#: webmail/app_settings.py:202
|
|
2925
3269
|
msgid "The width of the folder list container"
|
|
2926
3270
|
msgstr ""
|
|
2927
3271
|
|
|
2928
|
-
#: webmail/app_settings.py:
|
|
3272
|
+
#: webmail/app_settings.py:213
|
|
2929
3273
|
msgid "Folders"
|
|
2930
3274
|
msgstr ""
|
|
2931
3275
|
|
|
2932
|
-
#: webmail/app_settings.py:
|
|
3276
|
+
#: webmail/app_settings.py:219
|
|
2933
3277
|
msgid "Trash folder"
|
|
2934
3278
|
msgstr ""
|
|
2935
3279
|
|
|
2936
|
-
#: webmail/app_settings.py:
|
|
3280
|
+
#: webmail/app_settings.py:221
|
|
2937
3281
|
msgid "Folder where deleted messages go"
|
|
2938
3282
|
msgstr ""
|
|
2939
3283
|
|
|
2940
|
-
#: webmail/app_settings.py:
|
|
3284
|
+
#: webmail/app_settings.py:228
|
|
2941
3285
|
msgid "Sent folder"
|
|
2942
3286
|
msgstr ""
|
|
2943
3287
|
|
|
2944
|
-
#: webmail/app_settings.py:
|
|
3288
|
+
#: webmail/app_settings.py:230
|
|
2945
3289
|
msgid "Folder where copies of sent messages go"
|
|
2946
3290
|
msgstr ""
|
|
2947
3291
|
|
|
2948
|
-
#: webmail/app_settings.py:
|
|
3292
|
+
#: webmail/app_settings.py:237
|
|
2949
3293
|
msgid "Drafts folder"
|
|
2950
3294
|
msgstr ""
|
|
2951
3295
|
|
|
2952
|
-
#: webmail/app_settings.py:
|
|
3296
|
+
#: webmail/app_settings.py:238
|
|
2953
3297
|
msgid "Folder where drafts go"
|
|
2954
3298
|
msgstr ""
|
|
2955
3299
|
|
|
2956
|
-
#: webmail/app_settings.py:
|
|
3300
|
+
#: webmail/app_settings.py:244
|
|
2957
3301
|
msgid "Junk folder"
|
|
2958
3302
|
msgstr ""
|
|
2959
3303
|
|
|
2960
|
-
#: webmail/app_settings.py:
|
|
3304
|
+
#: webmail/app_settings.py:246
|
|
2961
3305
|
msgid "Folder where junk messages should go"
|
|
2962
3306
|
msgstr ""
|
|
2963
3307
|
|
|
2964
|
-
#: webmail/app_settings.py:
|
|
3308
|
+
#: webmail/app_settings.py:257
|
|
2965
3309
|
msgid "Composing messages"
|
|
2966
3310
|
msgstr ""
|
|
2967
3311
|
|
|
2968
|
-
#: webmail/app_settings.py:
|
|
3312
|
+
#: webmail/app_settings.py:263
|
|
2969
3313
|
msgid "Default editor"
|
|
2970
3314
|
msgstr ""
|
|
2971
3315
|
|
|
2972
|
-
#: webmail/app_settings.py:
|
|
3316
|
+
#: webmail/app_settings.py:265
|
|
2973
3317
|
msgid "The default editor to use when composing a message"
|
|
2974
3318
|
msgstr ""
|
|
2975
3319
|
|
|
2976
|
-
#: webmail/app_settings.py:
|
|
3320
|
+
#: webmail/app_settings.py:272
|
|
2977
3321
|
msgid "Signature text"
|
|
2978
3322
|
msgstr ""
|
|
2979
3323
|
|
|
2980
|
-
#: webmail/app_settings.py:
|
|
3324
|
+
#: webmail/app_settings.py:274
|
|
2981
3325
|
msgid "User defined email signature"
|
|
2982
3326
|
msgstr ""
|
|
2983
3327
|
|
|
@@ -2989,43 +3333,59 @@ msgstr ""
|
|
|
2989
3333
|
msgid "Failed to remove attachment: "
|
|
2990
3334
|
msgstr ""
|
|
2991
3335
|
|
|
2992
|
-
#: webmail/lib/imapemail.py:
|
|
3336
|
+
#: webmail/lib/imapemail.py:270
|
|
2993
3337
|
msgid "wrote:"
|
|
2994
3338
|
msgstr ""
|
|
2995
3339
|
|
|
2996
|
-
#: webmail/lib/imapemail.py:
|
|
3340
|
+
#: webmail/lib/imapemail.py:304
|
|
2997
3341
|
msgid "Date"
|
|
2998
3342
|
msgstr ""
|
|
2999
3343
|
|
|
3000
|
-
#: webmail/lib/imapemail.py:
|
|
3344
|
+
#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
|
|
3001
3345
|
msgid "Original message"
|
|
3002
3346
|
msgstr ""
|
|
3003
3347
|
|
|
3004
|
-
#: webmail/lib/imaputils.py:
|
|
3348
|
+
#: webmail/lib/imaputils.py:222
|
|
3005
3349
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3006
3350
|
msgstr ""
|
|
3007
3351
|
|
|
3008
|
-
#: webmail/lib/imaputils.py:
|
|
3352
|
+
#: webmail/lib/imaputils.py:478
|
|
3009
3353
|
msgid "Inbox"
|
|
3010
3354
|
msgstr ""
|
|
3011
3355
|
|
|
3012
|
-
#: webmail/lib/imaputils.py:
|
|
3356
|
+
#: webmail/lib/imaputils.py:482
|
|
3013
3357
|
msgid "Drafts"
|
|
3014
3358
|
msgstr ""
|
|
3015
3359
|
|
|
3016
|
-
#: webmail/lib/imaputils.py:
|
|
3360
|
+
#: webmail/lib/imaputils.py:487
|
|
3017
3361
|
msgid "Junk"
|
|
3018
3362
|
msgstr ""
|
|
3019
3363
|
|
|
3020
|
-
#: webmail/lib/imaputils.py:
|
|
3364
|
+
#: webmail/lib/imaputils.py:492
|
|
3021
3365
|
msgid "Sent"
|
|
3022
3366
|
msgstr ""
|
|
3023
3367
|
|
|
3024
|
-
#: webmail/lib/imaputils.py:
|
|
3368
|
+
#: webmail/lib/imaputils.py:500
|
|
3369
|
+
msgid "Scheduled"
|
|
3370
|
+
msgstr ""
|
|
3371
|
+
|
|
3372
|
+
#: webmail/lib/imaputils.py:507
|
|
3025
3373
|
msgid "Trash"
|
|
3026
3374
|
msgstr ""
|
|
3027
3375
|
|
|
3028
|
-
#: 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
|
|
3029
3389
|
#, python-format
|
|
3030
3390
|
msgid "Attachment is too big (limit: %s)"
|
|
3031
3391
|
msgstr ""
|