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