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