modoboa 2.6.5__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/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-B-hTKSFr.js → AccountAliasForm-DO6DwfjE.js} +1 -1
- modoboa/frontend_dist/assets/{AccountEditView-LkP_qhf_.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-BVjNJekt.js → AliasEditView-CTjrXYPf.js} +1 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
- modoboa/frontend_dist/assets/{AliasView-DvvI6cV9.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-BO8_4Cwt.js → DomainAdminList-DD7p3i6F.js} +1 -1
- modoboa/frontend_dist/assets/{DomainEditView-BXylM4aB.js → DomainEditView-DoIoNYC4.js} +1 -1
- modoboa/frontend_dist/assets/{DomainTransportForm-Ccw5BXyM.js → DomainTransportForm-CbiJF9z5.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-Bd5XQI-1.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-DNn3CY-w.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-CnQ_aVqa.js → LoadingData-C2txD49L.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-Nh_gmh8e.js → LoginCallbackView-DAvty3CI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-BtC9BHuJ.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-C1Goz-hY.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-BegEnkQM.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-BAELnXh6.js → ProviderGeneralForm-DO-IpJMQ.js} +1 -1
- 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-Buv8Z5G4.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-D7AwBs4w.js → VCard-CBtX8JF-.js} +1 -1
- modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
- modoboa/frontend_dist/assets/{VCheckboxBtn-B5evxN9K.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-DY9021j4.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-DyK_Mj7R.js → VRow-83Qnr5iB.js} +1 -1
- modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
- modoboa/frontend_dist/assets/{VSelectionControl-Dkms9_P5.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-D8ZwwC_B.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-BZBqbAmd.js → accounts-KUsk6LHW.js} +1 -1
- modoboa/frontend_dist/assets/{admin-uCrKjpln.js → admin-BW9cZW0P.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-CFwFkX45.js → aliases-Ge0hjIsH.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-DCy0U0TD.js → amavis-BbFeFfsk.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-B4ScfQsG.js → amavis-DtuzP_CS.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-DKmh2q-4.js → contacts-DMJlQTe0.js} +1 -1
- modoboa/frontend_dist/assets/{domains-CDE4_LDF.js → domains-Du64lcXT.js} +1 -1
- modoboa/frontend_dist/assets/{domains.store-a9Y5UlDV.js → domains.store-1U61jeCV.js} +1 -1
- 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-Dwg6jPTX.js → index-Dv00bmw9.js} +1 -1
- modoboa/frontend_dist/assets/{index-BjibLozh.js → index-jui3edpn.js} +47 -41
- modoboa/frontend_dist/assets/{language.store-DGuI8jG0.js → language.store-OcfdXL_-.js} +1 -1
- modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
- modoboa/frontend_dist/assets/{layout-5PvsmkGR.js → layout-DOO7TRTJ.js} +1 -1
- modoboa/frontend_dist/assets/{layout.store-DJVcXtxk.js → layout.store-C0g-piJn.js} +1 -1
- modoboa/frontend_dist/assets/{logos-CMmd0hOG.js → logos-Dz2Gzei-.js} +1 -1
- modoboa/frontend_dist/assets/{logs-D2GOydPZ.js → logs-CLm32Weu.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-DJdlq9sh.js → parameters-DMIAQ7cd.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-DH3pPlaT.js → parameters.store-DLnFzCwV.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-CgFJFhCp.js → permissions-CrpE0b4w.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-ChTB-PYP.js → ssrBoot-B7cr7q9U.js} +1 -1
- modoboa/frontend_dist/assets/{tag-CvrHE14f.js → tag-WF93n81Q.js} +1 -1
- modoboa/frontend_dist/assets/{theme-DFzlhSh5.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/models.py +3 -3
- modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
- modoboa/imap_migration/tests.py +21 -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 +301 -273
- modoboa/locale/cs/LC_MESSAGES/django.po +286 -269
- modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/cs_CZ/LC_MESSAGES/django.po +303 -275
- modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de/LC_MESSAGES/django.po +297 -269
- modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de_DE/LC_MESSAGES/django.po +303 -275
- modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/el_GR/LC_MESSAGES/django.po +303 -275
- modoboa/locale/en/LC_MESSAGES/django.po +286 -269
- modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/es/LC_MESSAGES/django.po +302 -274
- modoboa/locale/es_MX/LC_MESSAGES/django.po +286 -269
- modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fi/LC_MESSAGES/django.po +299 -271
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +288 -271
- modoboa/locale/hu/LC_MESSAGES/django.po +286 -269
- modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/it/LC_MESSAGES/django.po +303 -275
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +390 -413
- modoboa/locale/ka/LC_MESSAGES/django.po +286 -269
- modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/nl_NL/LC_MESSAGES/django.po +299 -271
- modoboa/locale/no/LC_MESSAGES/django.po +286 -269
- modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pl_PL/LC_MESSAGES/django.po +297 -269
- modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_BR/LC_MESSAGES/django.po +298 -270
- modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_PT/LC_MESSAGES/django.po +303 -275
- modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ro_RO/LC_MESSAGES/django.po +299 -271
- modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ru/LC_MESSAGES/django.po +993 -1096
- modoboa/locale/si/LC_MESSAGES/django.po +286 -269
- modoboa/locale/sk/LC_MESSAGES/django.po +286 -269
- modoboa/locale/sk_SK/LC_MESSAGES/django.po +286 -269
- modoboa/locale/sl_SI/LC_MESSAGES/django.po +288 -269
- modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/sv/LC_MESSAGES/django.po +297 -269
- modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr/LC_MESSAGES/django.po +301 -272
- modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr_TR/LC_MESSAGES/django.po +291 -269
- modoboa/locale/uk/LC_MESSAGES/django.po +286 -269
- modoboa/locale/zh/LC_MESSAGES/django.po +286 -269
- modoboa/locale/zh_CN/LC_MESSAGES/django.po +286 -269
- modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/zh_TW/LC_MESSAGES/django.po +295 -273
- 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.5.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/RECORD +269 -252
- {modoboa-2.6.5.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-APeC9bsN.js +0 -1
- modoboa/frontend_dist/assets/AccountPasswordSubForm-D4vB2yQK.js +0 -1
- modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +0 -1
- modoboa/frontend_dist/assets/AddressBook-C03MXg3y.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-DFmyKOo6.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +0 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-CZ_SvjtG.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-Cyq25Jle.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +0 -1
- modoboa/frontend_dist/assets/ChoiceField-BPhUvoyr.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-BMIg94-U.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-CaAZYATm.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-DErmyUoy.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +0 -1
- modoboa/frontend_dist/assets/EmailField-BFgga4zp.js +0 -1
- modoboa/frontend_dist/assets/EmailView-DPWTch_6.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +0 -1
- modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +0 -1
- modoboa/frontend_dist/assets/InformationView-Cc0aBA5j.js +0 -1
- modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
- modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +0 -5
- modoboa/frontend_dist/assets/MenuItems-efx2rqwT.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-CesYYZ9f.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +0 -1
- modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +0 -1
- modoboa/frontend_dist/assets/QuarantineView-BzjeDhTm.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-noC3AXd9.js +0 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +0 -1
- modoboa/frontend_dist/assets/SettingsView-DJTdIeRK.css +0 -1
- modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +0 -6
- modoboa/frontend_dist/assets/StatisticsView-BZkVSh5o.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
- modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +0 -1
- modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
- modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +0 -1
- modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +0 -1
- modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +0 -1
- modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +0 -1
- modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +0 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +0 -1
- modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +0 -1
- modoboa/frontend_dist/assets/VExpansionPanels-CkwHiKsA.js +0 -1
- modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +0 -1
- modoboa/frontend_dist/assets/VForm-ClJU5x_v.js +0 -1
- modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +0 -1
- modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +0 -1
- modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
- modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +0 -1
- modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
- modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +0 -1
- modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +0 -1
- modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +0 -1
- modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +0 -1
- modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +0 -1
- modoboa/frontend_dist/assets/VTabs-D2c0KeF2.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-DvvH1ciR.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.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-pvLQtmbU.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +0 -1
- modoboa/frontend_dist/assets/filter-BVvMTmPG.js +0 -1
- modoboa/frontend_dist/assets/global.store-Bha4Z76j.js +0 -1
- modoboa/frontend_dist/assets/importExport-EgijWlC1.js +0 -1
- modoboa/frontend_dist/assets/languages-Cge6pECg.js +0 -1
- modoboa/frontend_dist/assets/transports-BUSYxSF4.js +0 -1
- modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +0 -1
- modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +0 -1
- {modoboa-2.6.5.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
- {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.6.5.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: 李 正 <364109980@qq.com>, 2021\n"
|
|
17
17
|
"Language-Team: Chinese (China) (https://www.transifex.com/tonio/teams/13749/"
|
|
@@ -45,14 +45,14 @@ msgid "Cannot be greater than domain quota"
|
|
|
45
45
|
msgstr ""
|
|
46
46
|
|
|
47
47
|
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
|
|
48
|
-
#: admin/api/v2/serializers.py:
|
|
48
|
+
#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
|
|
49
49
|
msgid "Permission denied."
|
|
50
50
|
msgstr ""
|
|
51
51
|
|
|
52
52
|
#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
|
|
53
|
-
#: admin/api/v2/serializers.py:
|
|
54
|
-
#: core/api/v2/serializers.py:
|
|
55
|
-
#: core/api/v2/serializers.py:
|
|
53
|
+
#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
|
|
54
|
+
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
|
|
55
|
+
#: core/api/v2/serializers.py:259 transport/backends.py:40
|
|
56
56
|
msgid "This field is required"
|
|
57
57
|
msgstr ""
|
|
58
58
|
|
|
@@ -61,7 +61,7 @@ msgid ""
|
|
|
61
61
|
"List of administered domains (resellers and domain administrators only)."
|
|
62
62
|
msgstr ""
|
|
63
63
|
|
|
64
|
-
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:
|
|
64
|
+
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
|
|
65
65
|
msgid "Not allowed for this role."
|
|
66
66
|
msgstr ""
|
|
67
67
|
|
|
@@ -69,13 +69,12 @@ msgstr ""
|
|
|
69
69
|
msgid "Must be equal to mailbox full_address"
|
|
70
70
|
msgstr ""
|
|
71
71
|
|
|
72
|
-
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:
|
|
73
|
-
#: calendars/serializers.py:
|
|
74
|
-
#: pdfcredentials/api/v2/serializers.py:91
|
|
72
|
+
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
|
|
73
|
+
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
|
|
75
74
|
msgid "This field is required."
|
|
76
75
|
msgstr ""
|
|
77
76
|
|
|
78
|
-
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:
|
|
77
|
+
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
|
|
79
78
|
msgid "Local domain {} does not exist"
|
|
80
79
|
msgstr ""
|
|
81
80
|
|
|
@@ -116,39 +115,39 @@ msgstr ""
|
|
|
116
115
|
msgid "User '%s' already exists"
|
|
117
116
|
msgstr ""
|
|
118
117
|
|
|
119
|
-
#: admin/api/v2/serializers.py:
|
|
118
|
+
#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
|
|
120
119
|
msgid "Must be a positive integer"
|
|
121
120
|
msgstr ""
|
|
122
121
|
|
|
123
|
-
#: admin/api/v2/serializers.py:
|
|
122
|
+
#: admin/api/v2/serializers.py:271
|
|
124
123
|
msgid "openssl not found, please make sure it is installed."
|
|
125
124
|
msgstr ""
|
|
126
125
|
|
|
127
|
-
#: admin/api/v2/serializers.py:
|
|
126
|
+
#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
|
|
128
127
|
msgid "Directory not found."
|
|
129
128
|
msgstr ""
|
|
130
129
|
|
|
131
|
-
#: admin/api/v2/serializers.py:
|
|
130
|
+
#: admin/api/v2/serializers.py:285
|
|
132
131
|
msgid "This field only allows valid IP addresses (or networks)"
|
|
133
132
|
msgstr ""
|
|
134
133
|
|
|
135
|
-
#: admin/api/v2/serializers.py:
|
|
134
|
+
#: admin/api/v2/serializers.py:298
|
|
136
135
|
msgid "Please disable imap migration before disabling this option."
|
|
137
136
|
msgstr ""
|
|
138
137
|
|
|
139
|
-
#: admin/api/v2/serializers.py:
|
|
138
|
+
#: admin/api/v2/serializers.py:311
|
|
140
139
|
msgid "Define at least one authorized network / address"
|
|
141
140
|
msgstr ""
|
|
142
141
|
|
|
143
|
-
#: admin/api/v2/serializers.py:
|
|
142
|
+
#: admin/api/v2/serializers.py:588
|
|
144
143
|
msgid "The left part of an email address can't be more than 64 characters."
|
|
145
144
|
msgstr ""
|
|
146
145
|
|
|
147
|
-
#: admin/api/v2/serializers.py:
|
|
146
|
+
#: admin/api/v2/serializers.py:610
|
|
148
147
|
msgid "A mailbox is required to create aliases."
|
|
149
148
|
msgstr ""
|
|
150
149
|
|
|
151
|
-
#: admin/api/v2/serializers.py:
|
|
150
|
+
#: admin/api/v2/serializers.py:783
|
|
152
151
|
msgid "Unknown status"
|
|
153
152
|
msgstr ""
|
|
154
153
|
|
|
@@ -240,141 +239,151 @@ msgstr ""
|
|
|
240
239
|
msgid "Check every domain against major DNSBL providers"
|
|
241
240
|
msgstr ""
|
|
242
241
|
|
|
243
|
-
#: admin/app_settings.py:
|
|
242
|
+
#: admin/app_settings.py:117
|
|
243
|
+
msgid "Notify domain admins about DNS issues"
|
|
244
|
+
msgstr ""
|
|
245
|
+
|
|
246
|
+
#: admin/app_settings.py:120
|
|
247
|
+
msgid ""
|
|
248
|
+
"Send a notification by email to domain administrators when DNS issues are "
|
|
249
|
+
"encountered"
|
|
250
|
+
msgstr ""
|
|
251
|
+
|
|
252
|
+
#: admin/app_settings.py:128
|
|
244
253
|
msgid "Custom DNS server"
|
|
245
254
|
msgstr ""
|
|
246
255
|
|
|
247
|
-
#: admin/app_settings.py:
|
|
256
|
+
#: admin/app_settings.py:130
|
|
248
257
|
msgid "Use a custom DNS server instead of local server configuration"
|
|
249
258
|
msgstr ""
|
|
250
259
|
|
|
251
|
-
#: admin/app_settings.py:
|
|
260
|
+
#: admin/app_settings.py:138
|
|
252
261
|
msgid "DKIM keys storage directory"
|
|
253
262
|
msgstr ""
|
|
254
263
|
|
|
255
|
-
#: admin/app_settings.py:
|
|
264
|
+
#: admin/app_settings.py:140
|
|
256
265
|
msgid ""
|
|
257
266
|
"Absolute path of the directory where DKIM private keys will be stored. Make "
|
|
258
267
|
"sure this directory belongs to root user and is not readable by the outside "
|
|
259
268
|
"world."
|
|
260
269
|
msgstr ""
|
|
261
270
|
|
|
262
|
-
#: admin/app_settings.py:
|
|
271
|
+
#: admin/app_settings.py:149
|
|
263
272
|
msgid "Default DKIM key length"
|
|
264
273
|
msgstr ""
|
|
265
274
|
|
|
266
|
-
#: admin/app_settings.py:
|
|
275
|
+
#: admin/app_settings.py:151
|
|
267
276
|
msgid "Default length in bits for newly generated DKIM keys."
|
|
268
277
|
msgstr ""
|
|
269
278
|
|
|
270
|
-
#: admin/app_settings.py:
|
|
279
|
+
#: admin/app_settings.py:158
|
|
271
280
|
msgid "Default domain quota"
|
|
272
281
|
msgstr ""
|
|
273
282
|
|
|
274
|
-
#: admin/app_settings.py:
|
|
283
|
+
#: admin/app_settings.py:160
|
|
275
284
|
msgid ""
|
|
276
285
|
"Default quota (in MB) applied to freshly created domains with no value "
|
|
277
286
|
"specified. A value of 0 means no quota."
|
|
278
287
|
msgstr ""
|
|
279
288
|
|
|
280
|
-
#: admin/app_settings.py:
|
|
289
|
+
#: admin/app_settings.py:168
|
|
281
290
|
msgid "Default domain sending limit"
|
|
282
291
|
msgstr ""
|
|
283
292
|
|
|
284
|
-
#: admin/app_settings.py:
|
|
293
|
+
#: admin/app_settings.py:170
|
|
285
294
|
msgid ""
|
|
286
295
|
"Number of messages freshly created domains will be allowed to send per day. "
|
|
287
296
|
"Leave empty for no limit."
|
|
288
297
|
msgstr ""
|
|
289
298
|
|
|
290
|
-
#: admin/app_settings.py:
|
|
299
|
+
#: admin/app_settings.py:182 limits/app_settings.py:61
|
|
291
300
|
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
|
|
292
301
|
msgid "Mailboxes"
|
|
293
302
|
msgstr ""
|
|
294
303
|
|
|
295
|
-
#: admin/app_settings.py:
|
|
304
|
+
#: admin/app_settings.py:188
|
|
296
305
|
msgid "Handle mailboxes on filesystem"
|
|
297
306
|
msgstr ""
|
|
298
307
|
|
|
299
|
-
#: admin/app_settings.py:
|
|
308
|
+
#: admin/app_settings.py:190
|
|
300
309
|
msgid ""
|
|
301
310
|
"Rename or remove mailboxes on the filesystem when they get renamed or "
|
|
302
311
|
"removed within Modoboa"
|
|
303
312
|
msgstr ""
|
|
304
313
|
|
|
305
|
-
#: admin/app_settings.py:
|
|
314
|
+
#: admin/app_settings.py:198 admin/models/domain.py:36
|
|
306
315
|
msgid "Default mailbox quota"
|
|
307
316
|
msgstr ""
|
|
308
317
|
|
|
309
|
-
#: admin/app_settings.py:
|
|
318
|
+
#: admin/app_settings.py:200
|
|
310
319
|
msgid ""
|
|
311
320
|
"Default mailbox quota (in MB) applied to freshly created domains with no "
|
|
312
321
|
"value specified. A value of 0 means no quota."
|
|
313
322
|
msgstr ""
|
|
314
323
|
|
|
315
|
-
#: admin/app_settings.py:
|
|
324
|
+
#: admin/app_settings.py:209
|
|
316
325
|
msgid "Default mailbox sending limit"
|
|
317
326
|
msgstr ""
|
|
318
327
|
|
|
319
|
-
#: admin/app_settings.py:
|
|
328
|
+
#: admin/app_settings.py:211
|
|
320
329
|
msgid ""
|
|
321
330
|
"Number of messages freshly created mailboxes will be allowed to send per "
|
|
322
331
|
"day. Leave empty for no limit."
|
|
323
332
|
msgstr ""
|
|
324
333
|
|
|
325
|
-
#: admin/app_settings.py:
|
|
334
|
+
#: admin/app_settings.py:219
|
|
326
335
|
msgid "Automatic account removal"
|
|
327
336
|
msgstr ""
|
|
328
337
|
|
|
329
|
-
#: admin/app_settings.py:
|
|
338
|
+
#: admin/app_settings.py:221
|
|
330
339
|
msgid "When a mailbox is removed, also remove the associated account"
|
|
331
340
|
msgstr ""
|
|
332
341
|
|
|
333
|
-
#: admin/app_settings.py:
|
|
342
|
+
#: admin/app_settings.py:230
|
|
334
343
|
msgid "Automatic domain/mailbox creation"
|
|
335
344
|
msgstr ""
|
|
336
345
|
|
|
337
|
-
#: admin/app_settings.py:
|
|
346
|
+
#: admin/app_settings.py:233
|
|
338
347
|
msgid "Create a domain and a mailbox when an account is automatically created."
|
|
339
348
|
msgstr ""
|
|
340
349
|
|
|
341
|
-
#: admin/app_settings.py:
|
|
350
|
+
#: admin/app_settings.py:242
|
|
342
351
|
msgid "Create an alias when a mailbox is renamed"
|
|
343
352
|
msgstr ""
|
|
344
353
|
|
|
345
|
-
#: admin/app_settings.py:
|
|
354
|
+
#: admin/app_settings.py:245
|
|
346
355
|
msgid "Create an alias using the old address when a mailbox is renamed."
|
|
347
356
|
msgstr ""
|
|
348
357
|
|
|
349
|
-
#: admin/app_settings.py:
|
|
358
|
+
#: admin/app_settings.py:257
|
|
350
359
|
msgid "Aliases"
|
|
351
360
|
msgstr ""
|
|
352
361
|
|
|
353
|
-
#: admin/app_settings.py:
|
|
362
|
+
#: admin/app_settings.py:263
|
|
354
363
|
msgid "Alias can target any domain"
|
|
355
364
|
msgstr ""
|
|
356
365
|
|
|
357
|
-
#: admin/app_settings.py:
|
|
366
|
+
#: admin/app_settings.py:265
|
|
358
367
|
msgid "Allow aliases to target any domain, not just the local domains."
|
|
359
368
|
msgstr ""
|
|
360
369
|
|
|
361
|
-
#: admin/app_settings.py:
|
|
370
|
+
#: admin/app_settings.py:272
|
|
362
371
|
msgid "Alias target block list"
|
|
363
372
|
msgstr ""
|
|
364
373
|
|
|
365
|
-
#: admin/app_settings.py:
|
|
374
|
+
#: admin/app_settings.py:274
|
|
366
375
|
msgid "A list of domains that aliases cannot target (comma separated)."
|
|
367
376
|
msgstr ""
|
|
368
377
|
|
|
369
|
-
#: admin/app_settings.py:
|
|
378
|
+
#: admin/app_settings.py:282
|
|
370
379
|
msgid "Alias target allow list"
|
|
371
380
|
msgstr ""
|
|
372
381
|
|
|
373
|
-
#: admin/app_settings.py:
|
|
382
|
+
#: admin/app_settings.py:284
|
|
374
383
|
msgid "A list of domains that aliases can target (comma separated)."
|
|
375
384
|
msgstr ""
|
|
376
385
|
|
|
377
|
-
#: admin/app_settings.py:
|
|
386
|
+
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
|
|
378
387
|
msgid "Administration"
|
|
379
388
|
msgstr ""
|
|
380
389
|
|
|
@@ -394,6 +403,35 @@ msgstr ""
|
|
|
394
403
|
msgid "Closed"
|
|
395
404
|
msgstr ""
|
|
396
405
|
|
|
406
|
+
#: admin/dns_checker.py:96
|
|
407
|
+
msgid "MX {} listed by DNSBL provider {}"
|
|
408
|
+
msgstr ""
|
|
409
|
+
|
|
410
|
+
#: admin/dns_checker.py:138
|
|
411
|
+
msgid "Domain has no MX record"
|
|
412
|
+
msgstr ""
|
|
413
|
+
|
|
414
|
+
#: admin/dns_checker.py:141
|
|
415
|
+
msgid "Domain {} has no MX record"
|
|
416
|
+
msgstr ""
|
|
417
|
+
|
|
418
|
+
#: admin/dns_checker.py:159
|
|
419
|
+
msgid "Invalid MX record: {}"
|
|
420
|
+
msgstr ""
|
|
421
|
+
|
|
422
|
+
#: admin/dns_checker.py:166
|
|
423
|
+
#, python-brace-format
|
|
424
|
+
msgid "MX record for domain {0} is invalid: {1}"
|
|
425
|
+
msgstr ""
|
|
426
|
+
|
|
427
|
+
#: admin/dns_checker.py:177
|
|
428
|
+
msgid "[modoboa] MX issue(s) for domain {}"
|
|
429
|
+
msgstr ""
|
|
430
|
+
|
|
431
|
+
#: admin/dns_checker.py:224
|
|
432
|
+
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
433
|
+
msgstr ""
|
|
434
|
+
|
|
397
435
|
#: admin/handlers.py:179
|
|
398
436
|
msgid "domain alias"
|
|
399
437
|
msgstr ""
|
|
@@ -416,8 +454,8 @@ msgstr ""
|
|
|
416
454
|
msgid "You are not allowed to import domain aliases."
|
|
417
455
|
msgstr ""
|
|
418
456
|
|
|
419
|
-
#: admin/lib.py:227 admin/tests/test_mx.py:
|
|
420
|
-
#: admin/tests/test_mx.py:
|
|
457
|
+
#: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
|
|
458
|
+
#: admin/tests/test_mx.py:157
|
|
421
459
|
#, python-format
|
|
422
460
|
msgid "No DNS record found for %s"
|
|
423
461
|
msgstr ""
|
|
@@ -427,11 +465,11 @@ msgstr ""
|
|
|
427
465
|
msgid "No %(type)s record for %(name)s"
|
|
428
466
|
msgstr ""
|
|
429
467
|
|
|
430
|
-
#: admin/lib.py:234 admin/tests/test_mx.py:
|
|
468
|
+
#: admin/lib.py:234 admin/tests/test_mx.py:142
|
|
431
469
|
msgid "No working name servers found"
|
|
432
470
|
msgstr ""
|
|
433
471
|
|
|
434
|
-
#: admin/lib.py:237 admin/tests/test_mx.py:
|
|
472
|
+
#: admin/lib.py:237 admin/tests/test_mx.py:146
|
|
435
473
|
#, python-format
|
|
436
474
|
msgid "DNS resolution timeout, unable to query %s at the moment"
|
|
437
475
|
msgstr ""
|
|
@@ -483,35 +521,6 @@ msgstr ""
|
|
|
483
521
|
msgid "Failed to generate DKIM public key"
|
|
484
522
|
msgstr ""
|
|
485
523
|
|
|
486
|
-
#: admin/management/commands/subcommands/_mx.py:133
|
|
487
|
-
msgid "MX {} listed by DNSBL provider {}"
|
|
488
|
-
msgstr ""
|
|
489
|
-
|
|
490
|
-
#: admin/management/commands/subcommands/_mx.py:174
|
|
491
|
-
msgid "Domain has no MX record"
|
|
492
|
-
msgstr ""
|
|
493
|
-
|
|
494
|
-
#: admin/management/commands/subcommands/_mx.py:177
|
|
495
|
-
msgid "Domain {} has no MX record"
|
|
496
|
-
msgstr ""
|
|
497
|
-
|
|
498
|
-
#: admin/management/commands/subcommands/_mx.py:195
|
|
499
|
-
msgid "Invalid MX record: {}"
|
|
500
|
-
msgstr ""
|
|
501
|
-
|
|
502
|
-
#: admin/management/commands/subcommands/_mx.py:202
|
|
503
|
-
#, python-brace-format
|
|
504
|
-
msgid "MX record for domain {0} is invalid: {1}"
|
|
505
|
-
msgstr ""
|
|
506
|
-
|
|
507
|
-
#: admin/management/commands/subcommands/_mx.py:213
|
|
508
|
-
msgid "[modoboa] MX issue(s) for domain {}"
|
|
509
|
-
msgstr ""
|
|
510
|
-
|
|
511
|
-
#: admin/management/commands/subcommands/_mx.py:269
|
|
512
|
-
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
513
|
-
msgstr ""
|
|
514
|
-
|
|
515
524
|
#: admin/models/alias.py:43
|
|
516
525
|
msgid "Domain not found."
|
|
517
526
|
msgstr ""
|
|
@@ -688,17 +697,17 @@ msgstr ""
|
|
|
688
697
|
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
|
|
689
698
|
msgstr ""
|
|
690
699
|
|
|
691
|
-
#: admin/tests/test_mx.py:
|
|
700
|
+
#: admin/tests/test_mx.py:141
|
|
692
701
|
#, python-format
|
|
693
702
|
msgid "No MX record for %s"
|
|
694
703
|
msgstr ""
|
|
695
704
|
|
|
696
|
-
#: admin/tests/test_mx.py:
|
|
705
|
+
#: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
|
|
697
706
|
#, python-format
|
|
698
707
|
msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
699
708
|
msgstr ""
|
|
700
709
|
|
|
701
|
-
#: admin/tests/test_mx.py:
|
|
710
|
+
#: admin/tests/test_mx.py:185
|
|
702
711
|
#, python-format
|
|
703
712
|
msgid "No AAAA record for %s"
|
|
704
713
|
msgstr ""
|
|
@@ -867,11 +876,11 @@ msgid ""
|
|
|
867
876
|
"database)"
|
|
868
877
|
msgstr ""
|
|
869
878
|
|
|
870
|
-
#: amavis/app_settings.py:236 webmail/app_settings.py:
|
|
879
|
+
#: amavis/app_settings.py:236 webmail/app_settings.py:155
|
|
871
880
|
msgid "Display"
|
|
872
881
|
msgstr ""
|
|
873
882
|
|
|
874
|
-
#: amavis/app_settings.py:243 webmail/app_settings.py:
|
|
883
|
+
#: amavis/app_settings.py:243 webmail/app_settings.py:181
|
|
875
884
|
msgid "Number of displayed emails per page"
|
|
876
885
|
msgstr ""
|
|
877
886
|
|
|
@@ -1113,7 +1122,7 @@ msgstr ""
|
|
|
1113
1122
|
msgid "Allow domain administrators to manage user calendars (read and write)"
|
|
1114
1123
|
msgstr ""
|
|
1115
1124
|
|
|
1116
|
-
#: calendars/app_settings.py:60 core/app_settings.py:
|
|
1125
|
+
#: calendars/app_settings.py:60 core/app_settings.py:664
|
|
1117
1126
|
#: rspamd/app_settings.py:45
|
|
1118
1127
|
msgid "Miscellaneous"
|
|
1119
1128
|
msgstr ""
|
|
@@ -1131,11 +1140,11 @@ msgstr ""
|
|
|
1131
1140
|
msgid "Calendars"
|
|
1132
1141
|
msgstr ""
|
|
1133
1142
|
|
|
1134
|
-
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:
|
|
1143
|
+
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
|
|
1135
1144
|
msgid "Server location is not set, please fix it."
|
|
1136
1145
|
msgstr ""
|
|
1137
1146
|
|
|
1138
|
-
#: calendars/viewsets.py:
|
|
1147
|
+
#: calendars/viewsets.py:199
|
|
1139
1148
|
msgid "Uploaded file is too big (max: {} bytes)"
|
|
1140
1149
|
msgstr ""
|
|
1141
1150
|
|
|
@@ -1214,7 +1223,7 @@ msgstr ""
|
|
|
1214
1223
|
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
1215
1224
|
msgstr ""
|
|
1216
1225
|
|
|
1217
|
-
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:
|
|
1226
|
+
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
|
|
1218
1227
|
msgid "Invalid password"
|
|
1219
1228
|
msgstr ""
|
|
1220
1229
|
|
|
@@ -1226,24 +1235,20 @@ msgstr ""
|
|
|
1226
1235
|
msgid "Local"
|
|
1227
1236
|
msgstr ""
|
|
1228
1237
|
|
|
1229
|
-
#: core/api/v2/serializers.py:
|
|
1230
|
-
|
|
1231
|
-
msgstr ""
|
|
1232
|
-
|
|
1233
|
-
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
1234
|
-
#: 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
|
|
1235
1240
|
msgid "Invalid syntax"
|
|
1236
1241
|
msgstr ""
|
|
1237
1242
|
|
|
1238
|
-
#: core/api/v2/serializers.py:
|
|
1243
|
+
#: core/api/v2/serializers.py:226
|
|
1239
1244
|
msgid "Invalid rounds number"
|
|
1240
1245
|
msgstr ""
|
|
1241
1246
|
|
|
1242
|
-
#: core/api/v2/serializers.py:
|
|
1247
|
+
#: core/api/v2/serializers.py:426 core/forms.py:81
|
|
1243
1248
|
msgid "This code is invalid"
|
|
1244
1249
|
msgstr ""
|
|
1245
1250
|
|
|
1246
|
-
#: core/api/v2/serializers.py:
|
|
1251
|
+
#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
|
|
1247
1252
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
1248
1253
|
msgstr ""
|
|
1249
1254
|
|
|
@@ -1268,525 +1273,517 @@ msgid "Calendar"
|
|
|
1268
1273
|
msgstr ""
|
|
1269
1274
|
|
|
1270
1275
|
#: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
|
|
1271
|
-
#: webmail/app_settings.py:
|
|
1276
|
+
#: webmail/app_settings.py:295 webmail/app_settings.py:302
|
|
1272
1277
|
msgid "Webmail"
|
|
1273
1278
|
msgstr ""
|
|
1274
1279
|
|
|
1275
|
-
#: core/app_settings.py:
|
|
1280
|
+
#: core/app_settings.py:25
|
|
1276
1281
|
msgid "Authentication"
|
|
1277
1282
|
msgstr ""
|
|
1278
1283
|
|
|
1279
|
-
#: core/app_settings.py:
|
|
1284
|
+
#: core/app_settings.py:31
|
|
1280
1285
|
msgid "Authentication type"
|
|
1281
1286
|
msgstr ""
|
|
1282
1287
|
|
|
1283
|
-
#: core/app_settings.py:
|
|
1288
|
+
#: core/app_settings.py:33
|
|
1284
1289
|
msgid "The backend used for authentication"
|
|
1285
1290
|
msgstr ""
|
|
1286
1291
|
|
|
1287
|
-
#: core/app_settings.py:
|
|
1292
|
+
#: core/app_settings.py:40
|
|
1288
1293
|
msgid "Default password scheme"
|
|
1289
1294
|
msgstr ""
|
|
1290
1295
|
|
|
1291
|
-
#: core/app_settings.py:
|
|
1296
|
+
#: core/app_settings.py:42
|
|
1292
1297
|
msgid "Scheme used to crypt mailbox passwords"
|
|
1293
1298
|
msgstr ""
|
|
1294
1299
|
|
|
1295
|
-
#: core/app_settings.py:
|
|
1300
|
+
#: core/app_settings.py:49
|
|
1296
1301
|
msgid "Rounds"
|
|
1297
1302
|
msgstr ""
|
|
1298
1303
|
|
|
1299
|
-
#: core/app_settings.py:
|
|
1304
|
+
#: core/app_settings.py:51
|
|
1300
1305
|
msgid ""
|
|
1301
1306
|
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
|
|
1302
1307
|
"between 1000 and 999999999, inclusive."
|
|
1303
1308
|
msgstr ""
|
|
1304
1309
|
|
|
1305
|
-
#: core/app_settings.py:
|
|
1310
|
+
#: core/app_settings.py:61
|
|
1306
1311
|
msgid "Update password scheme at login"
|
|
1307
1312
|
msgstr ""
|
|
1308
1313
|
|
|
1309
|
-
#: core/app_settings.py:
|
|
1314
|
+
#: core/app_settings.py:64
|
|
1310
1315
|
msgid "Update user password at login to use the default password scheme"
|
|
1311
1316
|
msgstr ""
|
|
1312
1317
|
|
|
1313
|
-
#: core/app_settings.py:
|
|
1318
|
+
#: core/app_settings.py:72
|
|
1314
1319
|
msgid "Default password"
|
|
1315
1320
|
msgstr ""
|
|
1316
1321
|
|
|
1317
|
-
#: core/app_settings.py:
|
|
1322
|
+
#: core/app_settings.py:74
|
|
1318
1323
|
msgid "Default password for automatically created accounts."
|
|
1319
1324
|
msgstr ""
|
|
1320
1325
|
|
|
1321
|
-
#: core/app_settings.py:
|
|
1326
|
+
#: core/app_settings.py:81
|
|
1322
1327
|
msgid "Random password length"
|
|
1323
1328
|
msgstr ""
|
|
1324
1329
|
|
|
1325
|
-
#: core/app_settings.py:
|
|
1330
|
+
#: core/app_settings.py:83
|
|
1326
1331
|
msgid "Length of randomly generated passwords."
|
|
1327
1332
|
msgstr ""
|
|
1328
1333
|
|
|
1329
|
-
#: core/app_settings.py:
|
|
1334
|
+
#: core/app_settings.py:91
|
|
1330
1335
|
msgid "Allow special characters for random password"
|
|
1331
1336
|
msgstr ""
|
|
1332
1337
|
|
|
1333
|
-
#: core/app_settings.py:
|
|
1338
|
+
#: core/app_settings.py:94
|
|
1334
1339
|
msgid "Enable special characters in randomly generated passwords."
|
|
1335
1340
|
msgstr ""
|
|
1336
1341
|
|
|
1337
|
-
#: core/app_settings.py:
|
|
1342
|
+
#: core/app_settings.py:102
|
|
1338
1343
|
msgid "Update password service URL"
|
|
1339
1344
|
msgstr ""
|
|
1340
1345
|
|
|
1341
|
-
#: core/app_settings.py:
|
|
1346
|
+
#: core/app_settings.py:104
|
|
1342
1347
|
msgid ""
|
|
1343
1348
|
"The URL of an external page where users will be able to update their "
|
|
1344
1349
|
"password. It applies only to non local users, ie. those automatically "
|
|
1345
1350
|
"created after a successful external authentication (LDAP, SMTP)."
|
|
1346
1351
|
msgstr ""
|
|
1347
1352
|
|
|
1348
|
-
#: core/app_settings.py:
|
|
1353
|
+
#: core/app_settings.py:114
|
|
1349
1354
|
msgid "Password recovery announcement"
|
|
1350
1355
|
msgstr ""
|
|
1351
1356
|
|
|
1352
|
-
#: core/app_settings.py:
|
|
1357
|
+
#: core/app_settings.py:116
|
|
1353
1358
|
msgid "A temporary message that will be displayed on the reset password page."
|
|
1354
1359
|
msgstr ""
|
|
1355
1360
|
|
|
1356
|
-
#: core/app_settings.py:
|
|
1361
|
+
#: core/app_settings.py:125
|
|
1357
1362
|
msgid "Enable password recovery by SMS"
|
|
1358
1363
|
msgstr ""
|
|
1359
1364
|
|
|
1360
|
-
#: core/app_settings.py:
|
|
1365
|
+
#: core/app_settings.py:128
|
|
1361
1366
|
msgid "Enable password recovery by SMS for users who filled a phone number."
|
|
1362
1367
|
msgstr ""
|
|
1363
1368
|
|
|
1364
|
-
#: core/app_settings.py:
|
|
1369
|
+
#: core/app_settings.py:136
|
|
1365
1370
|
msgid "SMS provider"
|
|
1366
1371
|
msgstr ""
|
|
1367
1372
|
|
|
1368
|
-
#: core/app_settings.py:
|
|
1373
|
+
#: core/app_settings.py:139
|
|
1369
1374
|
msgid "Choose a provider to send password recovery SMS"
|
|
1370
1375
|
msgstr ""
|
|
1371
1376
|
|
|
1372
|
-
#: core/app_settings.py:
|
|
1377
|
+
#: core/app_settings.py:151
|
|
1373
1378
|
msgid "LDAP"
|
|
1374
1379
|
msgstr ""
|
|
1375
1380
|
|
|
1376
|
-
#: core/app_settings.py:
|
|
1381
|
+
#: core/app_settings.py:157 sievefilters/app_settings.py:18
|
|
1377
1382
|
#: sievefilters/app_settings.py:51 webmail/app_settings.py:36
|
|
1378
|
-
#: webmail/app_settings.py:73
|
|
1383
|
+
#: webmail/app_settings.py:73 webmail/app_settings.py:119
|
|
1379
1384
|
msgid "Server address"
|
|
1380
1385
|
msgstr ""
|
|
1381
1386
|
|
|
1382
|
-
#: core/app_settings.py:
|
|
1387
|
+
#: core/app_settings.py:159
|
|
1383
1388
|
msgid "The IP address or the DNS name of the LDAP server"
|
|
1384
1389
|
msgstr ""
|
|
1385
1390
|
|
|
1386
|
-
#: core/app_settings.py:
|
|
1391
|
+
#: core/app_settings.py:166 sievefilters/app_settings.py:25
|
|
1387
1392
|
#: sievefilters/app_settings.py:67 webmail/app_settings.py:54
|
|
1388
|
-
#: webmail/app_settings.py:91
|
|
1393
|
+
#: webmail/app_settings.py:91 webmail/app_settings.py:137
|
|
1389
1394
|
msgid "Server port"
|
|
1390
1395
|
msgstr ""
|
|
1391
1396
|
|
|
1392
|
-
#: core/app_settings.py:
|
|
1397
|
+
#: core/app_settings.py:168
|
|
1393
1398
|
msgid "The TCP port number used by the LDAP server"
|
|
1394
1399
|
msgstr ""
|
|
1395
1400
|
|
|
1396
|
-
#: core/app_settings.py:
|
|
1401
|
+
#: core/app_settings.py:176
|
|
1397
1402
|
msgid "Enable secondary server (fallback)"
|
|
1398
1403
|
msgstr ""
|
|
1399
1404
|
|
|
1400
|
-
#: core/app_settings.py:
|
|
1405
|
+
#: core/app_settings.py:179
|
|
1401
1406
|
msgid ""
|
|
1402
1407
|
"Enable a secondary LDAP server which will be used if the primary one fails"
|
|
1403
1408
|
msgstr ""
|
|
1404
1409
|
|
|
1405
|
-
#: core/app_settings.py:
|
|
1410
|
+
#: core/app_settings.py:187
|
|
1406
1411
|
msgid "Secondary server address"
|
|
1407
1412
|
msgstr ""
|
|
1408
1413
|
|
|
1409
|
-
#: core/app_settings.py:
|
|
1414
|
+
#: core/app_settings.py:190
|
|
1410
1415
|
msgid "The IP address or the DNS name of the seondary LDAP server"
|
|
1411
1416
|
msgstr ""
|
|
1412
1417
|
|
|
1413
|
-
#: core/app_settings.py:
|
|
1418
|
+
#: core/app_settings.py:197
|
|
1414
1419
|
msgid "Secondary server port"
|
|
1415
1420
|
msgstr ""
|
|
1416
1421
|
|
|
1417
|
-
#: core/app_settings.py:
|
|
1422
|
+
#: core/app_settings.py:200
|
|
1418
1423
|
msgid "The TCP port number used by the LDAP secondary server"
|
|
1419
1424
|
msgstr ""
|
|
1420
1425
|
|
|
1421
|
-
#: core/app_settings.py:
|
|
1426
|
+
#: core/app_settings.py:207 sievefilters/app_settings.py:58
|
|
1422
1427
|
#: webmail/app_settings.py:45
|
|
1423
1428
|
msgid "Use a secured connection"
|
|
1424
1429
|
msgstr ""
|
|
1425
1430
|
|
|
1426
|
-
#: core/app_settings.py:
|
|
1431
|
+
#: core/app_settings.py:209
|
|
1427
1432
|
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
1428
1433
|
msgstr ""
|
|
1429
1434
|
|
|
1430
|
-
#: core/app_settings.py:
|
|
1435
|
+
#: core/app_settings.py:216
|
|
1431
1436
|
msgid "Active Directory"
|
|
1432
1437
|
msgstr ""
|
|
1433
1438
|
|
|
1434
|
-
#: core/app_settings.py:
|
|
1439
|
+
#: core/app_settings.py:218
|
|
1435
1440
|
msgid "Tell if the LDAP server is an Active Directory one"
|
|
1436
1441
|
msgstr ""
|
|
1437
1442
|
|
|
1438
|
-
#: core/app_settings.py:
|
|
1443
|
+
#: core/app_settings.py:225
|
|
1439
1444
|
msgid "Administrator groups"
|
|
1440
1445
|
msgstr ""
|
|
1441
1446
|
|
|
1442
|
-
#: core/app_settings.py:
|
|
1447
|
+
#: core/app_settings.py:227
|
|
1443
1448
|
msgid ""
|
|
1444
1449
|
"Members of those LDAP Posix groups will be created as domain administrators. "
|
|
1445
1450
|
"Use ';' characters to separate groups."
|
|
1446
1451
|
msgstr ""
|
|
1447
1452
|
|
|
1448
|
-
#: core/app_settings.py:
|
|
1453
|
+
#: core/app_settings.py:236
|
|
1449
1454
|
msgid "Group type"
|
|
1450
1455
|
msgstr ""
|
|
1451
1456
|
|
|
1452
|
-
#: core/app_settings.py:
|
|
1457
|
+
#: core/app_settings.py:238
|
|
1453
1458
|
msgid "The LDAP group type to use with your directory."
|
|
1454
1459
|
msgstr ""
|
|
1455
1460
|
|
|
1456
|
-
#: core/app_settings.py:
|
|
1461
|
+
#: core/app_settings.py:245
|
|
1457
1462
|
msgid "Groups search base"
|
|
1458
1463
|
msgstr ""
|
|
1459
1464
|
|
|
1460
|
-
#: core/app_settings.py:
|
|
1465
|
+
#: core/app_settings.py:247
|
|
1461
1466
|
msgid "The distinguished name of the search base used to find groups"
|
|
1462
1467
|
msgstr ""
|
|
1463
1468
|
|
|
1464
|
-
#: core/app_settings.py:
|
|
1469
|
+
#: core/app_settings.py:255
|
|
1465
1470
|
msgid "Password attribute"
|
|
1466
1471
|
msgstr ""
|
|
1467
1472
|
|
|
1468
|
-
#: core/app_settings.py:
|
|
1473
|
+
#: core/app_settings.py:257
|
|
1469
1474
|
msgid "The attribute used to store user passwords"
|
|
1470
1475
|
msgstr ""
|
|
1471
1476
|
|
|
1472
|
-
#: core/app_settings.py:
|
|
1477
|
+
#: core/app_settings.py:264
|
|
1473
1478
|
msgid "LDAP authentication settings"
|
|
1474
1479
|
msgstr ""
|
|
1475
1480
|
|
|
1476
|
-
#: core/app_settings.py:
|
|
1481
|
+
#: core/app_settings.py:272
|
|
1477
1482
|
msgid "Authentication method"
|
|
1478
1483
|
msgstr ""
|
|
1479
1484
|
|
|
1480
|
-
#: core/app_settings.py:
|
|
1485
|
+
#: core/app_settings.py:275
|
|
1481
1486
|
msgid "Choose the authentication method to use"
|
|
1482
1487
|
msgstr ""
|
|
1483
1488
|
|
|
1484
|
-
#: core/app_settings.py:
|
|
1489
|
+
#: core/app_settings.py:282 core/app_settings.py:345
|
|
1485
1490
|
msgid "Bind DN"
|
|
1486
1491
|
msgstr ""
|
|
1487
1492
|
|
|
1488
|
-
#: core/app_settings.py:
|
|
1493
|
+
#: core/app_settings.py:284 core/app_settings.py:347
|
|
1489
1494
|
msgid ""
|
|
1490
1495
|
"The distinguished name to use when binding to the LDAP server. Leave empty "
|
|
1491
1496
|
"for an anonymous bind"
|
|
1492
1497
|
msgstr ""
|
|
1493
1498
|
|
|
1494
|
-
#: core/app_settings.py:
|
|
1499
|
+
#: core/app_settings.py:293 core/app_settings.py:355
|
|
1495
1500
|
msgid "Bind password"
|
|
1496
1501
|
msgstr ""
|
|
1497
1502
|
|
|
1498
|
-
#: core/app_settings.py:
|
|
1503
|
+
#: core/app_settings.py:295 core/app_settings.py:357
|
|
1499
1504
|
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
|
|
1500
1505
|
msgstr ""
|
|
1501
1506
|
|
|
1502
|
-
#: core/app_settings.py:
|
|
1507
|
+
#: core/app_settings.py:305 core/app_settings.py:410
|
|
1503
1508
|
msgid "Users search base"
|
|
1504
1509
|
msgstr ""
|
|
1505
1510
|
|
|
1506
|
-
#: core/app_settings.py:
|
|
1511
|
+
#: core/app_settings.py:307 core/app_settings.py:412
|
|
1507
1512
|
msgid "The distinguished name of the search base used to find users"
|
|
1508
1513
|
msgstr ""
|
|
1509
1514
|
|
|
1510
|
-
#: core/app_settings.py:
|
|
1515
|
+
#: core/app_settings.py:316 core/app_settings.py:421
|
|
1511
1516
|
msgid "Search filter"
|
|
1512
1517
|
msgstr ""
|
|
1513
1518
|
|
|
1514
|
-
#: core/app_settings.py:
|
|
1519
|
+
#: core/app_settings.py:318 core/app_settings.py:423
|
|
1515
1520
|
msgid ""
|
|
1516
1521
|
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
|
|
1517
1522
|
"valid, it must be enclosed in parentheses."
|
|
1518
1523
|
msgstr ""
|
|
1519
1524
|
|
|
1520
|
-
#: core/app_settings.py:
|
|
1525
|
+
#: core/app_settings.py:327
|
|
1521
1526
|
msgid "User DN template"
|
|
1522
1527
|
msgstr ""
|
|
1523
1528
|
|
|
1524
|
-
#: core/app_settings.py:
|
|
1529
|
+
#: core/app_settings.py:329
|
|
1525
1530
|
#, python-format
|
|
1526
1531
|
msgid ""
|
|
1527
1532
|
"The template used to construct a user's DN. It should contain one "
|
|
1528
1533
|
"placeholder (ie. %(user)s)"
|
|
1529
1534
|
msgstr ""
|
|
1530
1535
|
|
|
1531
|
-
#: core/app_settings.py:
|
|
1536
|
+
#: core/app_settings.py:338
|
|
1532
1537
|
msgid "LDAP synchronization settings"
|
|
1533
1538
|
msgstr ""
|
|
1534
1539
|
|
|
1535
|
-
#: core/app_settings.py:
|
|
1540
|
+
#: core/app_settings.py:366
|
|
1536
1541
|
msgid "Enable export to LDAP"
|
|
1537
1542
|
msgstr ""
|
|
1538
1543
|
|
|
1539
|
-
#: core/app_settings.py:
|
|
1544
|
+
#: core/app_settings.py:368
|
|
1540
1545
|
msgid ""
|
|
1541
1546
|
"Enable automatic synchronization between local database and LDAP directory"
|
|
1542
1547
|
msgstr ""
|
|
1543
1548
|
|
|
1544
|
-
#: core/app_settings.py:
|
|
1549
|
+
#: core/app_settings.py:377
|
|
1545
1550
|
msgid "Delete remote LDAP account when local account is deleted"
|
|
1546
1551
|
msgstr ""
|
|
1547
1552
|
|
|
1548
|
-
#: core/app_settings.py:
|
|
1553
|
+
#: core/app_settings.py:380
|
|
1549
1554
|
msgid ""
|
|
1550
1555
|
"Delete remote LDAP account when local account is deleted, otherwise it will "
|
|
1551
1556
|
"be disabled."
|
|
1552
1557
|
msgstr ""
|
|
1553
1558
|
|
|
1554
|
-
#: core/app_settings.py:
|
|
1559
|
+
#: core/app_settings.py:389
|
|
1555
1560
|
msgid "Account DN template"
|
|
1556
1561
|
msgstr ""
|
|
1557
1562
|
|
|
1558
|
-
#: core/app_settings.py:
|
|
1563
|
+
#: core/app_settings.py:391
|
|
1559
1564
|
#, python-format
|
|
1560
1565
|
msgid ""
|
|
1561
1566
|
"The template used to construct an account's DN. It should contain one "
|
|
1562
1567
|
"placeholder (ie. %(user)s)"
|
|
1563
1568
|
msgstr ""
|
|
1564
1569
|
|
|
1565
|
-
#: core/app_settings.py:
|
|
1570
|
+
#: core/app_settings.py:400
|
|
1566
1571
|
msgid "Enable import from LDAP"
|
|
1567
1572
|
msgstr ""
|
|
1568
1573
|
|
|
1569
|
-
#: core/app_settings.py:
|
|
1574
|
+
#: core/app_settings.py:402
|
|
1570
1575
|
msgid "Enable account synchronization from LDAP directory to local database"
|
|
1571
1576
|
msgstr ""
|
|
1572
1577
|
|
|
1573
|
-
#: core/app_settings.py:
|
|
1578
|
+
#: core/app_settings.py:432
|
|
1574
1579
|
msgid "Username attribute"
|
|
1575
1580
|
msgstr ""
|
|
1576
1581
|
|
|
1577
|
-
#: core/app_settings.py:
|
|
1582
|
+
#: core/app_settings.py:434
|
|
1578
1583
|
msgid "The name of the LDAP attribute where the username can be found."
|
|
1579
1584
|
msgstr ""
|
|
1580
1585
|
|
|
1581
|
-
#: core/app_settings.py:
|
|
1586
|
+
#: core/app_settings.py:443
|
|
1582
1587
|
msgid "Enable Dovecot LDAP sync"
|
|
1583
1588
|
msgstr ""
|
|
1584
1589
|
|
|
1585
|
-
#: core/app_settings.py:
|
|
1590
|
+
#: core/app_settings.py:445
|
|
1586
1591
|
msgid "LDAP authentication settings will be applied to Dovecot configuration."
|
|
1587
1592
|
msgstr ""
|
|
1588
1593
|
|
|
1589
|
-
#: core/app_settings.py:
|
|
1594
|
+
#: core/app_settings.py:453
|
|
1590
1595
|
msgid "Dovecot LDAP config file"
|
|
1591
1596
|
msgstr ""
|
|
1592
1597
|
|
|
1593
|
-
#: core/app_settings.py:
|
|
1598
|
+
#: core/app_settings.py:455
|
|
1594
1599
|
msgid ""
|
|
1595
1600
|
"Location of the configuration file which contains Dovecot LDAP settings."
|
|
1596
1601
|
msgstr ""
|
|
1597
1602
|
|
|
1598
|
-
#: core/app_settings.py:
|
|
1603
|
+
#: core/app_settings.py:468
|
|
1599
1604
|
msgid "Dashboard"
|
|
1600
1605
|
msgstr ""
|
|
1601
1606
|
|
|
1602
|
-
#: core/app_settings.py:
|
|
1607
|
+
#: core/app_settings.py:474
|
|
1603
1608
|
msgid "Custom welcome message"
|
|
1604
1609
|
msgstr ""
|
|
1605
1610
|
|
|
1606
|
-
#: core/app_settings.py:
|
|
1611
|
+
#: core/app_settings.py:476
|
|
1607
1612
|
msgid "A welcome message that will be displayed instead the default one"
|
|
1608
1613
|
msgstr ""
|
|
1609
1614
|
|
|
1610
|
-
#: core/app_settings.py:
|
|
1615
|
+
#: core/app_settings.py:483
|
|
1611
1616
|
msgid "Custom RSS feed"
|
|
1612
1617
|
msgstr ""
|
|
1613
1618
|
|
|
1614
|
-
#: core/app_settings.py:
|
|
1619
|
+
#: core/app_settings.py:485
|
|
1615
1620
|
msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1616
1621
|
msgstr ""
|
|
1617
1622
|
|
|
1618
|
-
#: core/app_settings.py:
|
|
1623
|
+
#: core/app_settings.py:494
|
|
1619
1624
|
msgid "Display custom RSS feed to super admins"
|
|
1620
1625
|
msgstr ""
|
|
1621
1626
|
|
|
1622
|
-
#: core/app_settings.py:
|
|
1627
|
+
#: core/app_settings.py:497
|
|
1623
1628
|
msgid "Display custom RSS feed also to super administrators"
|
|
1624
1629
|
msgstr ""
|
|
1625
1630
|
|
|
1626
|
-
#: core/app_settings.py:
|
|
1631
|
+
#: core/app_settings.py:505
|
|
1627
1632
|
msgid "Hide features widget"
|
|
1628
1633
|
msgstr ""
|
|
1629
1634
|
|
|
1630
|
-
#: core/app_settings.py:
|
|
1635
|
+
#: core/app_settings.py:507
|
|
1631
1636
|
msgid "Hide features widget for resellers and domain administrators"
|
|
1632
1637
|
msgstr ""
|
|
1633
1638
|
|
|
1634
|
-
#: core/app_settings.py:
|
|
1639
|
+
#: core/app_settings.py:519
|
|
1635
1640
|
msgid "Theme"
|
|
1636
1641
|
msgstr ""
|
|
1637
1642
|
|
|
1638
|
-
#: core/app_settings.py:
|
|
1643
|
+
#: core/app_settings.py:525
|
|
1639
1644
|
msgid "Primary theme color"
|
|
1640
1645
|
msgstr ""
|
|
1641
1646
|
|
|
1642
|
-
#: core/app_settings.py:
|
|
1647
|
+
#: core/app_settings.py:527
|
|
1643
1648
|
msgid ""
|
|
1644
1649
|
"Primary color of the theme (hexadecimal code), used as the background color "
|
|
1645
1650
|
"of the left menu for example"
|
|
1646
1651
|
msgstr ""
|
|
1647
1652
|
|
|
1648
|
-
#: core/app_settings.py:
|
|
1653
|
+
#: core/app_settings.py:536
|
|
1649
1654
|
msgid "Primary theme color (lighter version)"
|
|
1650
1655
|
msgstr ""
|
|
1651
1656
|
|
|
1652
|
-
#: core/app_settings.py:
|
|
1657
|
+
#: core/app_settings.py:539 core/app_settings.py:551
|
|
1653
1658
|
msgid "Primary color of the theme (hexadecimal code)"
|
|
1654
1659
|
msgstr ""
|
|
1655
1660
|
|
|
1656
|
-
#: core/app_settings.py:
|
|
1661
|
+
#: core/app_settings.py:548
|
|
1657
1662
|
msgid "Primary theme color (darker version)"
|
|
1658
1663
|
msgstr ""
|
|
1659
1664
|
|
|
1660
|
-
#: core/app_settings.py:
|
|
1665
|
+
#: core/app_settings.py:559
|
|
1661
1666
|
msgid "Secondary theme color"
|
|
1662
1667
|
msgstr ""
|
|
1663
1668
|
|
|
1664
|
-
#: core/app_settings.py:
|
|
1669
|
+
#: core/app_settings.py:561
|
|
1665
1670
|
msgid ""
|
|
1666
1671
|
"Secondary color of the theme (hexadecimal code), used as the background "
|
|
1667
1672
|
"color of some buttons for example"
|
|
1668
1673
|
msgstr ""
|
|
1669
1674
|
|
|
1670
|
-
#: core/app_settings.py:
|
|
1675
|
+
#: core/app_settings.py:569
|
|
1671
1676
|
msgid "Labels theme color"
|
|
1672
1677
|
msgstr ""
|
|
1673
1678
|
|
|
1674
|
-
#: core/app_settings.py:
|
|
1679
|
+
#: core/app_settings.py:571
|
|
1675
1680
|
msgid "Theme color for labels (hexadecimal code)"
|
|
1676
1681
|
msgstr ""
|
|
1677
1682
|
|
|
1678
|
-
#: core/app_settings.py:
|
|
1683
|
+
#: core/app_settings.py:583
|
|
1679
1684
|
msgid "Notifications"
|
|
1680
1685
|
msgstr ""
|
|
1681
1686
|
|
|
1682
|
-
#: core/app_settings.py:
|
|
1687
|
+
#: core/app_settings.py:589
|
|
1683
1688
|
msgid "Sender address"
|
|
1684
1689
|
msgstr ""
|
|
1685
1690
|
|
|
1686
|
-
#: core/app_settings.py:
|
|
1691
|
+
#: core/app_settings.py:591
|
|
1687
1692
|
msgid "Email address used to send notifications."
|
|
1688
1693
|
msgstr ""
|
|
1689
1694
|
|
|
1690
|
-
#: core/app_settings.py:
|
|
1695
|
+
#: core/app_settings.py:602
|
|
1691
1696
|
msgid "Public API"
|
|
1692
1697
|
msgstr ""
|
|
1693
1698
|
|
|
1694
|
-
#: core/app_settings.py:
|
|
1699
|
+
#: core/app_settings.py:608
|
|
1695
1700
|
msgid "Enable communication"
|
|
1696
1701
|
msgstr ""
|
|
1697
1702
|
|
|
1698
|
-
#: core/app_settings.py:
|
|
1703
|
+
#: core/app_settings.py:610 core/app_settings.py:620
|
|
1699
1704
|
msgid "Automatically checks if a newer version is available"
|
|
1700
1705
|
msgstr ""
|
|
1701
1706
|
|
|
1702
|
-
#: core/app_settings.py:
|
|
1707
|
+
#: core/app_settings.py:617
|
|
1703
1708
|
msgid "Check new versions"
|
|
1704
1709
|
msgstr ""
|
|
1705
1710
|
|
|
1706
|
-
#: core/app_settings.py:
|
|
1711
|
+
#: core/app_settings.py:628
|
|
1707
1712
|
msgid "Send an email when new versions are found"
|
|
1708
1713
|
msgstr ""
|
|
1709
1714
|
|
|
1710
|
-
#: core/app_settings.py:
|
|
1715
|
+
#: core/app_settings.py:632
|
|
1711
1716
|
msgid "Send an email to notify admins about new versions"
|
|
1712
1717
|
msgstr ""
|
|
1713
1718
|
|
|
1714
|
-
#: core/app_settings.py:
|
|
1719
|
+
#: core/app_settings.py:639 sievefilters/constants.py:25
|
|
1715
1720
|
msgid "Recipient"
|
|
1716
1721
|
msgstr ""
|
|
1717
1722
|
|
|
1718
|
-
#: core/app_settings.py:
|
|
1723
|
+
#: core/app_settings.py:642
|
|
1719
1724
|
msgid "Recipient of new versions notification emails."
|
|
1720
1725
|
msgstr ""
|
|
1721
1726
|
|
|
1722
|
-
#: core/app_settings.py:
|
|
1727
|
+
#: core/app_settings.py:649
|
|
1723
1728
|
msgid "Send statistics"
|
|
1724
1729
|
msgstr ""
|
|
1725
1730
|
|
|
1726
|
-
#: core/app_settings.py:
|
|
1731
|
+
#: core/app_settings.py:652
|
|
1727
1732
|
msgid "Send statistics to Modoboa public API (counters and used extensions)"
|
|
1728
1733
|
msgstr ""
|
|
1729
1734
|
|
|
1730
|
-
#: core/app_settings.py:
|
|
1735
|
+
#: core/app_settings.py:671
|
|
1731
1736
|
msgid "Enable inactive account tracking"
|
|
1732
1737
|
msgstr ""
|
|
1733
1738
|
|
|
1734
|
-
#: core/app_settings.py:
|
|
1739
|
+
#: core/app_settings.py:674
|
|
1735
1740
|
msgid ""
|
|
1736
1741
|
"Allow the administrator to set a threshold (in days) beyond which an account "
|
|
1737
1742
|
"is considered inactive if the user hasn't logged in"
|
|
1738
1743
|
msgstr ""
|
|
1739
1744
|
|
|
1740
|
-
#: core/app_settings.py:
|
|
1745
|
+
#: core/app_settings.py:683
|
|
1741
1746
|
msgid "Inactive account threshold"
|
|
1742
1747
|
msgstr ""
|
|
1743
1748
|
|
|
1744
|
-
#: core/app_settings.py:
|
|
1749
|
+
#: core/app_settings.py:686
|
|
1745
1750
|
msgid ""
|
|
1746
1751
|
"An account with a last login date greater than this threshold (in days) will "
|
|
1747
1752
|
"be considered as inactive"
|
|
1748
1753
|
msgstr ""
|
|
1749
1754
|
|
|
1750
|
-
#: core/app_settings.py:
|
|
1755
|
+
#: core/app_settings.py:695
|
|
1751
1756
|
msgid "Top notifications check interval"
|
|
1752
1757
|
msgstr ""
|
|
1753
1758
|
|
|
1754
|
-
#: core/app_settings.py:
|
|
1759
|
+
#: core/app_settings.py:698
|
|
1755
1760
|
msgid "Interval between two top notification checks (in seconds)"
|
|
1756
1761
|
msgstr ""
|
|
1757
1762
|
|
|
1758
|
-
#: core/app_settings.py:
|
|
1763
|
+
#: core/app_settings.py:705
|
|
1759
1764
|
msgid "Maximum log record age"
|
|
1760
1765
|
msgstr ""
|
|
1761
1766
|
|
|
1762
|
-
#: core/app_settings.py:
|
|
1767
|
+
#: core/app_settings.py:707
|
|
1763
1768
|
msgid "The maximum age in days of a log record"
|
|
1764
1769
|
msgstr ""
|
|
1765
1770
|
|
|
1766
|
-
#: core/app_settings.py:
|
|
1771
|
+
#: core/app_settings.py:715
|
|
1767
1772
|
msgid "Retention time in message history"
|
|
1768
1773
|
msgstr ""
|
|
1769
1774
|
|
|
1770
|
-
#: core/app_settings.py:
|
|
1775
|
+
#: core/app_settings.py:718
|
|
1771
1776
|
msgid "Retention time (in days) of a message in the message history section"
|
|
1772
1777
|
msgstr ""
|
|
1773
1778
|
|
|
1774
|
-
#: core/app_settings.py:
|
|
1779
|
+
#: core/app_settings.py:725
|
|
1775
1780
|
msgid "Items per page"
|
|
1776
1781
|
msgstr ""
|
|
1777
1782
|
|
|
1778
|
-
#: core/app_settings.py:
|
|
1783
|
+
#: core/app_settings.py:727
|
|
1779
1784
|
msgid "Number of displayed items per page"
|
|
1780
1785
|
msgstr ""
|
|
1781
1786
|
|
|
1782
|
-
#: core/app_settings.py:746
|
|
1783
|
-
msgid "Default top redirection"
|
|
1784
|
-
msgstr ""
|
|
1785
|
-
|
|
1786
|
-
#: core/app_settings.py:748
|
|
1787
|
-
msgid "The default redirection used when no application is specified"
|
|
1788
|
-
msgstr ""
|
|
1789
|
-
|
|
1790
1787
|
#: core/checks.py:15
|
|
1791
1788
|
msgid ""
|
|
1792
1789
|
"You have USE_TZ set to False, this may result in issues during transitions "
|
|
@@ -2104,7 +2101,7 @@ msgid "Not resolved"
|
|
|
2104
2101
|
msgstr ""
|
|
2105
2102
|
|
|
2106
2103
|
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
|
|
2107
|
-
#: webmail/constants.py:
|
|
2104
|
+
#: webmail/constants.py:38
|
|
2108
2105
|
msgid "None"
|
|
2109
2106
|
msgstr ""
|
|
2110
2107
|
|
|
@@ -2984,7 +2981,7 @@ msgstr ""
|
|
|
2984
2981
|
msgid "is not"
|
|
2985
2982
|
msgstr ""
|
|
2986
2983
|
|
|
2987
|
-
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:
|
|
2984
|
+
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
|
|
2988
2985
|
msgid "Subject"
|
|
2989
2986
|
msgstr ""
|
|
2990
2987
|
|
|
@@ -3210,19 +3207,19 @@ msgstr ""
|
|
|
3210
3207
|
msgid "SMTP settings"
|
|
3211
3208
|
msgstr ""
|
|
3212
3209
|
|
|
3213
|
-
#: webmail/app_settings.py:75
|
|
3210
|
+
#: webmail/app_settings.py:75 webmail/app_settings.py:121
|
|
3214
3211
|
msgid "Address of your SMTP server"
|
|
3215
3212
|
msgstr ""
|
|
3216
3213
|
|
|
3217
|
-
#: webmail/app_settings.py:82
|
|
3214
|
+
#: webmail/app_settings.py:82 webmail/app_settings.py:128
|
|
3218
3215
|
msgid "Secured connection mode"
|
|
3219
3216
|
msgstr ""
|
|
3220
3217
|
|
|
3221
|
-
#: webmail/app_settings.py:84
|
|
3218
|
+
#: webmail/app_settings.py:84 webmail/app_settings.py:130
|
|
3222
3219
|
msgid "Use a secured connection to access SMTP server"
|
|
3223
3220
|
msgstr ""
|
|
3224
3221
|
|
|
3225
|
-
#: webmail/app_settings.py:93
|
|
3222
|
+
#: webmail/app_settings.py:93 webmail/app_settings.py:139
|
|
3226
3223
|
msgid "Listening port of your SMTP server"
|
|
3227
3224
|
msgstr ""
|
|
3228
3225
|
|
|
@@ -3234,95 +3231,99 @@ msgstr ""
|
|
|
3234
3231
|
msgid "Server needs authentication"
|
|
3235
3232
|
msgstr ""
|
|
3236
3233
|
|
|
3237
|
-
#: webmail/app_settings.py:
|
|
3234
|
+
#: webmail/app_settings.py:113
|
|
3235
|
+
msgid "Scheduling settings"
|
|
3236
|
+
msgstr ""
|
|
3237
|
+
|
|
3238
|
+
#: webmail/app_settings.py:161
|
|
3238
3239
|
msgid "Default message display mode"
|
|
3239
3240
|
msgstr ""
|
|
3240
3241
|
|
|
3241
|
-
#: webmail/app_settings.py:
|
|
3242
|
+
#: webmail/app_settings.py:163
|
|
3242
3243
|
msgid "The default mode used when displaying a message"
|
|
3243
3244
|
msgstr ""
|
|
3244
3245
|
|
|
3245
|
-
#: webmail/app_settings.py:
|
|
3246
|
+
#: webmail/app_settings.py:170
|
|
3246
3247
|
msgid "Enable HTML links display"
|
|
3247
3248
|
msgstr ""
|
|
3248
3249
|
|
|
3249
|
-
#: webmail/app_settings.py:
|
|
3250
|
+
#: webmail/app_settings.py:173
|
|
3250
3251
|
msgid "Enable/Disable HTML links display"
|
|
3251
3252
|
msgstr ""
|
|
3252
3253
|
|
|
3253
|
-
#: webmail/app_settings.py:
|
|
3254
|
+
#: webmail/app_settings.py:184
|
|
3254
3255
|
msgid "Sets the maximum number of messages displayed in a page"
|
|
3255
3256
|
msgstr ""
|
|
3256
3257
|
|
|
3257
|
-
#: webmail/app_settings.py:
|
|
3258
|
+
#: webmail/app_settings.py:191
|
|
3258
3259
|
msgid "Listing refresh rate"
|
|
3259
3260
|
msgstr ""
|
|
3260
3261
|
|
|
3261
|
-
#: webmail/app_settings.py:
|
|
3262
|
+
#: webmail/app_settings.py:193
|
|
3262
3263
|
msgid "Automatic listing refresh rate (in secconds)"
|
|
3263
3264
|
msgstr ""
|
|
3264
3265
|
|
|
3265
|
-
#: webmail/app_settings.py:
|
|
3266
|
+
#: webmail/app_settings.py:200
|
|
3266
3267
|
msgid "Folder container's width"
|
|
3267
3268
|
msgstr ""
|
|
3268
3269
|
|
|
3269
|
-
#: webmail/app_settings.py:
|
|
3270
|
+
#: webmail/app_settings.py:202
|
|
3270
3271
|
msgid "The width of the folder list container"
|
|
3271
3272
|
msgstr ""
|
|
3272
3273
|
|
|
3273
|
-
#: webmail/app_settings.py:
|
|
3274
|
+
#: webmail/app_settings.py:213
|
|
3274
3275
|
msgid "Folders"
|
|
3275
3276
|
msgstr ""
|
|
3276
3277
|
|
|
3277
|
-
#: webmail/app_settings.py:
|
|
3278
|
+
#: webmail/app_settings.py:219
|
|
3278
3279
|
msgid "Trash folder"
|
|
3279
3280
|
msgstr ""
|
|
3280
3281
|
|
|
3281
|
-
#: webmail/app_settings.py:
|
|
3282
|
+
#: webmail/app_settings.py:221
|
|
3282
3283
|
msgid "Folder where deleted messages go"
|
|
3283
3284
|
msgstr ""
|
|
3284
3285
|
|
|
3285
|
-
#: webmail/app_settings.py:
|
|
3286
|
+
#: webmail/app_settings.py:228
|
|
3286
3287
|
msgid "Sent folder"
|
|
3287
3288
|
msgstr ""
|
|
3288
3289
|
|
|
3289
|
-
#: webmail/app_settings.py:
|
|
3290
|
+
#: webmail/app_settings.py:230
|
|
3290
3291
|
msgid "Folder where copies of sent messages go"
|
|
3291
3292
|
msgstr ""
|
|
3292
3293
|
|
|
3293
|
-
#: webmail/app_settings.py:
|
|
3294
|
+
#: webmail/app_settings.py:237
|
|
3294
3295
|
msgid "Drafts folder"
|
|
3295
3296
|
msgstr ""
|
|
3296
3297
|
|
|
3297
|
-
#: webmail/app_settings.py:
|
|
3298
|
+
#: webmail/app_settings.py:238
|
|
3298
3299
|
msgid "Folder where drafts go"
|
|
3299
3300
|
msgstr ""
|
|
3300
3301
|
|
|
3301
|
-
#: webmail/app_settings.py:
|
|
3302
|
+
#: webmail/app_settings.py:244
|
|
3302
3303
|
msgid "Junk folder"
|
|
3303
3304
|
msgstr ""
|
|
3304
3305
|
|
|
3305
|
-
#: webmail/app_settings.py:
|
|
3306
|
+
#: webmail/app_settings.py:246
|
|
3306
3307
|
msgid "Folder where junk messages should go"
|
|
3307
3308
|
msgstr ""
|
|
3308
3309
|
|
|
3309
|
-
#: webmail/app_settings.py:
|
|
3310
|
+
#: webmail/app_settings.py:257
|
|
3310
3311
|
msgid "Composing messages"
|
|
3311
3312
|
msgstr ""
|
|
3312
3313
|
|
|
3313
|
-
#: webmail/app_settings.py:
|
|
3314
|
+
#: webmail/app_settings.py:263
|
|
3314
3315
|
msgid "Default editor"
|
|
3315
3316
|
msgstr ""
|
|
3316
3317
|
|
|
3317
|
-
#: webmail/app_settings.py:
|
|
3318
|
+
#: webmail/app_settings.py:265
|
|
3318
3319
|
msgid "The default editor to use when composing a message"
|
|
3319
3320
|
msgstr ""
|
|
3320
3321
|
|
|
3321
|
-
#: webmail/app_settings.py:
|
|
3322
|
+
#: webmail/app_settings.py:272
|
|
3322
3323
|
msgid "Signature text"
|
|
3323
3324
|
msgstr ""
|
|
3324
3325
|
|
|
3325
|
-
#: webmail/app_settings.py:
|
|
3326
|
+
#: webmail/app_settings.py:274
|
|
3326
3327
|
msgid "User defined email signature"
|
|
3327
3328
|
msgstr ""
|
|
3328
3329
|
|
|
@@ -3336,43 +3337,59 @@ msgstr ""
|
|
|
3336
3337
|
msgid "Failed to remove attachment: "
|
|
3337
3338
|
msgstr "无法创建LDAP帐户: {}"
|
|
3338
3339
|
|
|
3339
|
-
#: webmail/lib/imapemail.py:
|
|
3340
|
+
#: webmail/lib/imapemail.py:270
|
|
3340
3341
|
msgid "wrote:"
|
|
3341
3342
|
msgstr ""
|
|
3342
3343
|
|
|
3343
|
-
#: webmail/lib/imapemail.py:
|
|
3344
|
+
#: webmail/lib/imapemail.py:304
|
|
3344
3345
|
msgid "Date"
|
|
3345
3346
|
msgstr ""
|
|
3346
3347
|
|
|
3347
|
-
#: webmail/lib/imapemail.py:
|
|
3348
|
+
#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
|
|
3348
3349
|
msgid "Original message"
|
|
3349
3350
|
msgstr ""
|
|
3350
3351
|
|
|
3351
|
-
#: webmail/lib/imaputils.py:
|
|
3352
|
+
#: webmail/lib/imaputils.py:222
|
|
3352
3353
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3353
3354
|
msgstr ""
|
|
3354
3355
|
|
|
3355
|
-
#: webmail/lib/imaputils.py:
|
|
3356
|
+
#: webmail/lib/imaputils.py:478
|
|
3356
3357
|
msgid "Inbox"
|
|
3357
3358
|
msgstr ""
|
|
3358
3359
|
|
|
3359
|
-
#: webmail/lib/imaputils.py:
|
|
3360
|
+
#: webmail/lib/imaputils.py:482
|
|
3360
3361
|
msgid "Drafts"
|
|
3361
3362
|
msgstr ""
|
|
3362
3363
|
|
|
3363
|
-
#: webmail/lib/imaputils.py:
|
|
3364
|
+
#: webmail/lib/imaputils.py:487
|
|
3364
3365
|
msgid "Junk"
|
|
3365
3366
|
msgstr ""
|
|
3366
3367
|
|
|
3367
|
-
#: webmail/lib/imaputils.py:
|
|
3368
|
+
#: webmail/lib/imaputils.py:492
|
|
3368
3369
|
msgid "Sent"
|
|
3369
3370
|
msgstr ""
|
|
3370
3371
|
|
|
3371
|
-
#: webmail/lib/imaputils.py:
|
|
3372
|
+
#: webmail/lib/imaputils.py:500
|
|
3373
|
+
msgid "Scheduled"
|
|
3374
|
+
msgstr ""
|
|
3375
|
+
|
|
3376
|
+
#: webmail/lib/imaputils.py:507
|
|
3372
3377
|
msgid "Trash"
|
|
3373
3378
|
msgstr ""
|
|
3374
3379
|
|
|
3375
|
-
#: webmail/
|
|
3380
|
+
#: webmail/serializers.py:220
|
|
3381
|
+
msgid "Moving scheduled messages is forbidden"
|
|
3382
|
+
msgstr ""
|
|
3383
|
+
|
|
3384
|
+
#: webmail/serializers.py:253
|
|
3385
|
+
msgid "Only datetime in the future is allowed"
|
|
3386
|
+
msgstr ""
|
|
3387
|
+
|
|
3388
|
+
#: webmail/serializers.py:258
|
|
3389
|
+
msgid "Provived datetime must be one minute in the future at least"
|
|
3390
|
+
msgstr ""
|
|
3391
|
+
|
|
3392
|
+
#: webmail/viewsets.py:359
|
|
3376
3393
|
#, python-format
|
|
3377
3394
|
msgid "Attachment is too big (limit: %s)"
|
|
3378
3395
|
msgstr ""
|