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