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