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