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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# This file is distributed under the same license as the PACKAGE package.
|
|
4
4
|
#
|
|
5
5
|
# Translators:
|
|
6
|
-
# Antoine Nguyen <tonio@ngyn.org>, 2016-2017,2020,2023-
|
|
6
|
+
# Antoine Nguyen <tonio@ngyn.org>, 2016-2017,2020,2023-2026
|
|
7
7
|
# Christophe CHAUVET <christophe.chauvet@gmail.com>, 2018
|
|
8
8
|
# Icarus Flight, 2022
|
|
9
9
|
# Icarus Flight, 2022
|
|
@@ -15,9 +15,9 @@ msgid ""
|
|
|
15
15
|
msgstr ""
|
|
16
16
|
"Project-Id-Version: Modoboa\n"
|
|
17
17
|
"Report-Msgid-Bugs-To: \n"
|
|
18
|
-
"POT-Creation-Date:
|
|
18
|
+
"POT-Creation-Date: 2026-02-04 09:30+0100\n"
|
|
19
19
|
"PO-Revision-Date: 2011-07-01 08:15+0000\n"
|
|
20
|
-
"Last-Translator: Antoine Nguyen <tonio@ngyn.org>, 2016-2017,2020,2023-
|
|
20
|
+
"Last-Translator: Antoine Nguyen <tonio@ngyn.org>, 2016-2017,2020,2023-2026\n"
|
|
21
21
|
"Language-Team: French (http://app.transifex.com/tonio/modoboa/language/fr/)\n"
|
|
22
22
|
"MIME-Version: 1.0\n"
|
|
23
23
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
@@ -48,14 +48,14 @@ msgid "Cannot be greater than domain quota"
|
|
|
48
48
|
msgstr "Ne peut pas être supérieur au quota du domaine"
|
|
49
49
|
|
|
50
50
|
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
|
|
51
|
-
#: admin/api/v2/serializers.py:
|
|
51
|
+
#: admin/api/v2/serializers.py:571 admin/models/alias.py:45
|
|
52
52
|
msgid "Permission denied."
|
|
53
53
|
msgstr "Permission refusée."
|
|
54
54
|
|
|
55
55
|
#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
|
|
56
|
-
#: admin/api/v2/serializers.py:
|
|
57
|
-
#: core/api/v2/serializers.py:
|
|
58
|
-
#: core/api/v2/serializers.py:
|
|
56
|
+
#: admin/api/v2/serializers.py:492 amavis/serializers.py:39
|
|
57
|
+
#: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
|
|
58
|
+
#: core/api/v2/serializers.py:259 transport/backends.py:40
|
|
59
59
|
msgid "This field is required"
|
|
60
60
|
msgstr "Ce champ est requis"
|
|
61
61
|
|
|
@@ -64,7 +64,7 @@ msgid ""
|
|
|
64
64
|
"List of administered domains (resellers and domain administrators only)."
|
|
65
65
|
msgstr "Liste des domaines administrés (revendeurs et administrateurs de domaine seulement)."
|
|
66
66
|
|
|
67
|
-
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:
|
|
67
|
+
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
|
|
68
68
|
msgid "Not allowed for this role."
|
|
69
69
|
msgstr "Non autorisé pour ce rôle."
|
|
70
70
|
|
|
@@ -72,13 +72,12 @@ msgstr "Non autorisé pour ce rôle."
|
|
|
72
72
|
msgid "Must be equal to mailbox full_address"
|
|
73
73
|
msgstr "Doit être égale au champ full_address dans mailbox"
|
|
74
74
|
|
|
75
|
-
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:
|
|
76
|
-
#: calendars/serializers.py:
|
|
77
|
-
#: pdfcredentials/api/v2/serializers.py:91
|
|
75
|
+
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
|
|
76
|
+
#: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
|
|
78
77
|
msgid "This field is required."
|
|
79
78
|
msgstr "Ce champ est requis."
|
|
80
79
|
|
|
81
|
-
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:
|
|
80
|
+
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
|
|
82
81
|
msgid "Local domain {} does not exist"
|
|
83
82
|
msgstr "Le domaine local {} n'existe pas"
|
|
84
83
|
|
|
@@ -119,39 +118,39 @@ msgstr "Vous ne pouvez pas définir de quota illimité"
|
|
|
119
118
|
msgid "User '%s' already exists"
|
|
120
119
|
msgstr "L'utilisateur '%s' existe déjà"
|
|
121
120
|
|
|
122
|
-
#: admin/api/v2/serializers.py:
|
|
121
|
+
#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
|
|
123
122
|
msgid "Must be a positive integer"
|
|
124
123
|
msgstr "Doit être un entier positif"
|
|
125
124
|
|
|
126
|
-
#: admin/api/v2/serializers.py:
|
|
125
|
+
#: admin/api/v2/serializers.py:271
|
|
127
126
|
msgid "openssl not found, please make sure it is installed."
|
|
128
127
|
msgstr "impossible de trouver openssl, veuillez vous assurer vous qu'il est installé."
|
|
129
128
|
|
|
130
|
-
#: admin/api/v2/serializers.py:
|
|
129
|
+
#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
|
|
131
130
|
msgid "Directory not found."
|
|
132
131
|
msgstr "Répertoire introuvable."
|
|
133
132
|
|
|
134
|
-
#: admin/api/v2/serializers.py:
|
|
133
|
+
#: admin/api/v2/serializers.py:285
|
|
135
134
|
msgid "This field only allows valid IP addresses (or networks)"
|
|
136
135
|
msgstr "Ce champ n'autorise que des adresses IP correctes (ou des réseaux)"
|
|
137
136
|
|
|
138
|
-
#: admin/api/v2/serializers.py:
|
|
137
|
+
#: admin/api/v2/serializers.py:298
|
|
139
138
|
msgid "Please disable imap migration before disabling this option."
|
|
140
139
|
msgstr "Veuillez désactiver la migration IMAP avant de désactiver cette option"
|
|
141
140
|
|
|
142
|
-
#: admin/api/v2/serializers.py:
|
|
141
|
+
#: admin/api/v2/serializers.py:311
|
|
143
142
|
msgid "Define at least one authorized network / address"
|
|
144
143
|
msgstr "Définissez au moins un réseau / une adresse autorisé"
|
|
145
144
|
|
|
146
|
-
#: admin/api/v2/serializers.py:
|
|
145
|
+
#: admin/api/v2/serializers.py:588
|
|
147
146
|
msgid "The left part of an email address can't be more than 64 characters."
|
|
148
147
|
msgstr "La partie gauche d'un courriel ne peut pas faire plus de 64 caractères."
|
|
149
148
|
|
|
150
|
-
#: admin/api/v2/serializers.py:
|
|
149
|
+
#: admin/api/v2/serializers.py:610
|
|
151
150
|
msgid "A mailbox is required to create aliases."
|
|
152
151
|
msgstr "Une boîte aux lettres est requises pour créer des alias"
|
|
153
152
|
|
|
154
|
-
#: admin/api/v2/serializers.py:
|
|
153
|
+
#: admin/api/v2/serializers.py:783
|
|
155
154
|
msgid "Unknown status"
|
|
156
155
|
msgstr "Statut inconnu"
|
|
157
156
|
|
|
@@ -243,142 +242,152 @@ msgstr "Activer les vérifications DNSBL"
|
|
|
243
242
|
msgid "Check every domain against major DNSBL providers"
|
|
244
243
|
msgstr "Vérifie chaque domaine auprès des fournisseurs de DNSBL"
|
|
245
244
|
|
|
246
|
-
#: admin/app_settings.py:
|
|
245
|
+
#: admin/app_settings.py:117
|
|
246
|
+
msgid "Notify domain admins about DNS issues"
|
|
247
|
+
msgstr "Notifier les administrateurs de domaine à propos des problèmes DNS"
|
|
248
|
+
|
|
249
|
+
#: admin/app_settings.py:120
|
|
250
|
+
msgid ""
|
|
251
|
+
"Send a notification by email to domain administrators when DNS issues are "
|
|
252
|
+
"encountered"
|
|
253
|
+
msgstr "Envoyer une notification email aux administrateurs de domaine quand des problèmes DNS sont rencontrés"
|
|
254
|
+
|
|
255
|
+
#: admin/app_settings.py:128
|
|
247
256
|
msgid "Custom DNS server"
|
|
248
257
|
msgstr "Serveur DNS personnalisé"
|
|
249
258
|
|
|
250
|
-
#: admin/app_settings.py:
|
|
259
|
+
#: admin/app_settings.py:130
|
|
251
260
|
msgid "Use a custom DNS server instead of local server configuration"
|
|
252
261
|
msgstr "Utiliser un serveur DNS personnalisé à la place de la configuration par défaut du serveur"
|
|
253
262
|
|
|
254
|
-
#: admin/app_settings.py:
|
|
263
|
+
#: admin/app_settings.py:138
|
|
255
264
|
msgid "DKIM keys storage directory"
|
|
256
265
|
msgstr "Répertoire de stockage des clés DKIM"
|
|
257
266
|
|
|
258
|
-
#: admin/app_settings.py:
|
|
267
|
+
#: admin/app_settings.py:140
|
|
259
268
|
msgid ""
|
|
260
269
|
"Absolute path of the directory where DKIM private keys will be stored. Make "
|
|
261
270
|
"sure this directory belongs to root user and is not readable by the outside "
|
|
262
271
|
"world."
|
|
263
272
|
msgstr "Chemin absolu du répertoire dans lequel seront stockées les clés DKIM. Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il n'est pas lisible par le monde extérieur."
|
|
264
273
|
|
|
265
|
-
#: admin/app_settings.py:
|
|
274
|
+
#: admin/app_settings.py:149
|
|
266
275
|
msgid "Default DKIM key length"
|
|
267
276
|
msgstr "Taille par défaut d'une clé DKIM"
|
|
268
277
|
|
|
269
|
-
#: admin/app_settings.py:
|
|
278
|
+
#: admin/app_settings.py:151
|
|
270
279
|
msgid "Default length in bits for newly generated DKIM keys."
|
|
271
280
|
msgstr "Taille par défaut en octets des clés DKIM nouvellement générées."
|
|
272
281
|
|
|
273
|
-
#: admin/app_settings.py:
|
|
282
|
+
#: admin/app_settings.py:158
|
|
274
283
|
msgid "Default domain quota"
|
|
275
284
|
msgstr "Quota de domaine par défaut"
|
|
276
285
|
|
|
277
|
-
#: admin/app_settings.py:
|
|
286
|
+
#: admin/app_settings.py:160
|
|
278
287
|
msgid ""
|
|
279
288
|
"Default quota (in MB) applied to freshly created domains with no value "
|
|
280
289
|
"specified. A value of 0 means no quota."
|
|
281
290
|
msgstr "Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué."
|
|
282
291
|
|
|
283
|
-
#: admin/app_settings.py:
|
|
292
|
+
#: admin/app_settings.py:168
|
|
284
293
|
msgid "Default domain sending limit"
|
|
285
294
|
msgstr "Limite d'envoi par défaut du domaine"
|
|
286
295
|
|
|
287
|
-
#: admin/app_settings.py:
|
|
296
|
+
#: admin/app_settings.py:170
|
|
288
297
|
msgid ""
|
|
289
298
|
"Number of messages freshly created domains will be allowed to send per day. "
|
|
290
299
|
"Leave empty for no limit."
|
|
291
300
|
msgstr "Nombre maximal de messages que les nouveaux domaines seront autorisés à envoyer par jour. Laisser vide pour n'indiquer aucune limite."
|
|
292
301
|
|
|
293
|
-
#: admin/app_settings.py:
|
|
302
|
+
#: admin/app_settings.py:182 limits/app_settings.py:61
|
|
294
303
|
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
|
|
295
304
|
msgid "Mailboxes"
|
|
296
305
|
msgstr "Boites"
|
|
297
306
|
|
|
298
|
-
#: admin/app_settings.py:
|
|
307
|
+
#: admin/app_settings.py:188
|
|
299
308
|
msgid "Handle mailboxes on filesystem"
|
|
300
309
|
msgstr "Gérer les boites sur le système de fichiers"
|
|
301
310
|
|
|
302
|
-
#: admin/app_settings.py:
|
|
311
|
+
#: admin/app_settings.py:190
|
|
303
312
|
msgid ""
|
|
304
313
|
"Rename or remove mailboxes on the filesystem when they get renamed or "
|
|
305
314
|
"removed within Modoboa"
|
|
306
315
|
msgstr "Renommer ou supprimer les boites sur le système de fichiers quand elles sont renommées ou supprimées dans Modoboa"
|
|
307
316
|
|
|
308
|
-
#: admin/app_settings.py:
|
|
317
|
+
#: admin/app_settings.py:198 admin/models/domain.py:36
|
|
309
318
|
msgid "Default mailbox quota"
|
|
310
319
|
msgstr "Quota par défaut pour une boîte aux lettres"
|
|
311
320
|
|
|
312
|
-
#: admin/app_settings.py:
|
|
321
|
+
#: admin/app_settings.py:200
|
|
313
322
|
msgid ""
|
|
314
323
|
"Default mailbox quota (in MB) applied to freshly created domains with no "
|
|
315
324
|
"value specified. A value of 0 means no quota."
|
|
316
325
|
msgstr "Quota par défaut (en Mo) appliqué aux nouveaux domaines quand aucune valeur n'est spécifiée. Une valeur de 0 signifie pas de quota."
|
|
317
326
|
|
|
318
|
-
#: admin/app_settings.py:
|
|
327
|
+
#: admin/app_settings.py:209
|
|
319
328
|
msgid "Default mailbox sending limit"
|
|
320
329
|
msgstr "Limite d'envoi par défaut d'une boîte aux lettres"
|
|
321
330
|
|
|
322
|
-
#: admin/app_settings.py:
|
|
331
|
+
#: admin/app_settings.py:211
|
|
323
332
|
msgid ""
|
|
324
333
|
"Number of messages freshly created mailboxes will be allowed to send per "
|
|
325
334
|
"day. Leave empty for no limit."
|
|
326
335
|
msgstr "Nombre maximal de messages que les nouveaux comptes seront autorisés à envoyer par jour. Laisser vide pour n'indiquer aucune limite."
|
|
327
336
|
|
|
328
|
-
#: admin/app_settings.py:
|
|
337
|
+
#: admin/app_settings.py:219
|
|
329
338
|
msgid "Automatic account removal"
|
|
330
339
|
msgstr "Suppression automatique de compte"
|
|
331
340
|
|
|
332
|
-
#: admin/app_settings.py:
|
|
341
|
+
#: admin/app_settings.py:221
|
|
333
342
|
msgid "When a mailbox is removed, also remove the associated account"
|
|
334
343
|
msgstr "Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en même temps"
|
|
335
344
|
|
|
336
|
-
#: admin/app_settings.py:
|
|
345
|
+
#: admin/app_settings.py:230
|
|
337
346
|
msgid "Automatic domain/mailbox creation"
|
|
338
347
|
msgstr "Création automatique de domaine/boite aux lettres"
|
|
339
348
|
|
|
340
|
-
#: admin/app_settings.py:
|
|
349
|
+
#: admin/app_settings.py:233
|
|
341
350
|
msgid ""
|
|
342
351
|
"Create a domain and a mailbox when an account is automatically created."
|
|
343
352
|
msgstr "Créer un domaine et une boite aux lettres quand un compte est créé automatiquement."
|
|
344
353
|
|
|
345
|
-
#: admin/app_settings.py:
|
|
354
|
+
#: admin/app_settings.py:242
|
|
346
355
|
msgid "Create an alias when a mailbox is renamed"
|
|
347
356
|
msgstr "Créer un alias quand une boite aux lettres est renommée"
|
|
348
357
|
|
|
349
|
-
#: admin/app_settings.py:
|
|
358
|
+
#: admin/app_settings.py:245
|
|
350
359
|
msgid "Create an alias using the old address when a mailbox is renamed."
|
|
351
360
|
msgstr "Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres est renommée."
|
|
352
361
|
|
|
353
|
-
#: admin/app_settings.py:
|
|
362
|
+
#: admin/app_settings.py:257
|
|
354
363
|
msgid "Aliases"
|
|
355
364
|
msgstr "Alias"
|
|
356
365
|
|
|
357
|
-
#: admin/app_settings.py:
|
|
366
|
+
#: admin/app_settings.py:263
|
|
358
367
|
msgid "Alias can target any domain"
|
|
359
368
|
msgstr "Les alias peuvent cibler n'importe quel domaine"
|
|
360
369
|
|
|
361
|
-
#: admin/app_settings.py:
|
|
370
|
+
#: admin/app_settings.py:265
|
|
362
371
|
msgid "Allow aliases to target any domain, not just the local domains."
|
|
363
372
|
msgstr "Autoriser les alias à cibler n'importe quel domaine, pas uniquement les domaines locaux."
|
|
364
373
|
|
|
365
|
-
#: admin/app_settings.py:
|
|
374
|
+
#: admin/app_settings.py:272
|
|
366
375
|
msgid "Alias target block list"
|
|
367
376
|
msgstr "Cibles interdites pour les alias"
|
|
368
377
|
|
|
369
|
-
#: admin/app_settings.py:
|
|
378
|
+
#: admin/app_settings.py:274
|
|
370
379
|
msgid "A list of domains that aliases cannot target (comma separated)."
|
|
371
380
|
msgstr "Une liste de domaines que les alias ne peuvent pas cibler (séparés par une virgule)."
|
|
372
381
|
|
|
373
|
-
#: admin/app_settings.py:
|
|
382
|
+
#: admin/app_settings.py:282
|
|
374
383
|
msgid "Alias target allow list"
|
|
375
384
|
msgstr "Cibles autorisées pour les alias"
|
|
376
385
|
|
|
377
|
-
#: admin/app_settings.py:
|
|
386
|
+
#: admin/app_settings.py:284
|
|
378
387
|
msgid "A list of domains that aliases can target (comma separated)."
|
|
379
388
|
msgstr "Une liste de domaines que les alias peuvent cibler (séparés par une virgule)."
|
|
380
389
|
|
|
381
|
-
#: admin/app_settings.py:
|
|
390
|
+
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
|
|
382
391
|
msgid "Administration"
|
|
383
392
|
msgstr "Administration"
|
|
384
393
|
|
|
@@ -398,6 +407,35 @@ msgstr "Ouverte"
|
|
|
398
407
|
msgid "Closed"
|
|
399
408
|
msgstr "Fermée"
|
|
400
409
|
|
|
410
|
+
#: admin/dns_checker.py:96
|
|
411
|
+
msgid "MX {} listed by DNSBL provider {}"
|
|
412
|
+
msgstr "Le MX {} est listé par le fournisseur de DNSBL {}"
|
|
413
|
+
|
|
414
|
+
#: admin/dns_checker.py:138
|
|
415
|
+
msgid "Domain has no MX record"
|
|
416
|
+
msgstr "Le domaine n'a pas d'enregistrement MX"
|
|
417
|
+
|
|
418
|
+
#: admin/dns_checker.py:141
|
|
419
|
+
msgid "Domain {} has no MX record"
|
|
420
|
+
msgstr "Le domaine {} n'a pas d'enregistrement MX"
|
|
421
|
+
|
|
422
|
+
#: admin/dns_checker.py:159
|
|
423
|
+
msgid "Invalid MX record: {}"
|
|
424
|
+
msgstr "Enregistrement MX incorrect : {}"
|
|
425
|
+
|
|
426
|
+
#: admin/dns_checker.py:166
|
|
427
|
+
#, python-brace-format
|
|
428
|
+
msgid "MX record for domain {0} is invalid: {1}"
|
|
429
|
+
msgstr "Enregistrement MX invalide pour le domaine {0} : {1}"
|
|
430
|
+
|
|
431
|
+
#: admin/dns_checker.py:177
|
|
432
|
+
msgid "[modoboa] MX issue(s) for domain {}"
|
|
433
|
+
msgstr "[modoboa] problème(s) de MX pour le domaine {}"
|
|
434
|
+
|
|
435
|
+
#: admin/dns_checker.py:224
|
|
436
|
+
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
437
|
+
msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}"
|
|
438
|
+
|
|
401
439
|
#: admin/handlers.py:179
|
|
402
440
|
msgid "domain alias"
|
|
403
441
|
msgstr "alias de domaine"
|
|
@@ -420,8 +458,8 @@ msgstr "Vous n'êtes pas autorisé à importer des domaines"
|
|
|
420
458
|
msgid "You are not allowed to import domain aliases."
|
|
421
459
|
msgstr "Vous n'êtes pas autorisé à importer des alias de domaine."
|
|
422
460
|
|
|
423
|
-
#: admin/lib.py:227 admin/tests/test_mx.py:
|
|
424
|
-
#: admin/tests/test_mx.py:
|
|
461
|
+
#: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
|
|
462
|
+
#: admin/tests/test_mx.py:157
|
|
425
463
|
#, python-format
|
|
426
464
|
msgid "No DNS record found for %s"
|
|
427
465
|
msgstr "Aucun enregistrement DNS trouvé pour %s."
|
|
@@ -431,11 +469,11 @@ msgstr "Aucun enregistrement DNS trouvé pour %s."
|
|
|
431
469
|
msgid "No %(type)s record for %(name)s"
|
|
432
470
|
msgstr "Aucun enregistrement %(type)s trouvé pour %(name)s"
|
|
433
471
|
|
|
434
|
-
#: admin/lib.py:234 admin/tests/test_mx.py:
|
|
472
|
+
#: admin/lib.py:234 admin/tests/test_mx.py:142
|
|
435
473
|
msgid "No working name servers found"
|
|
436
474
|
msgstr "Aucun serveur de noms fonctionnel trouvé"
|
|
437
475
|
|
|
438
|
-
#: admin/lib.py:237 admin/tests/test_mx.py:
|
|
476
|
+
#: admin/lib.py:237 admin/tests/test_mx.py:146
|
|
439
477
|
#, python-format
|
|
440
478
|
msgid "DNS resolution timeout, unable to query %s at the moment"
|
|
441
479
|
msgstr "Timeout de résolution DNS, impossible de requêter %s pour l'instant"
|
|
@@ -487,35 +525,6 @@ msgstr "Echec lors de la génération de la clé privée DKIM"
|
|
|
487
525
|
msgid "Failed to generate DKIM public key"
|
|
488
526
|
msgstr "Echec lors de la génération de la clé publique DKIM"
|
|
489
527
|
|
|
490
|
-
#: admin/management/commands/subcommands/_mx.py:133
|
|
491
|
-
msgid "MX {} listed by DNSBL provider {}"
|
|
492
|
-
msgstr "Le MX {} est listé par le fournisseur de DNSBL {}"
|
|
493
|
-
|
|
494
|
-
#: admin/management/commands/subcommands/_mx.py:174
|
|
495
|
-
msgid "Domain has no MX record"
|
|
496
|
-
msgstr "Le domaine n'a pas d'enregistrement MX"
|
|
497
|
-
|
|
498
|
-
#: admin/management/commands/subcommands/_mx.py:177
|
|
499
|
-
msgid "Domain {} has no MX record"
|
|
500
|
-
msgstr "Le domaine {} n'a pas d'enregistrement MX"
|
|
501
|
-
|
|
502
|
-
#: admin/management/commands/subcommands/_mx.py:195
|
|
503
|
-
msgid "Invalid MX record: {}"
|
|
504
|
-
msgstr "Enregistrement MX incorrect : {}"
|
|
505
|
-
|
|
506
|
-
#: admin/management/commands/subcommands/_mx.py:202
|
|
507
|
-
#, python-brace-format
|
|
508
|
-
msgid "MX record for domain {0} is invalid: {1}"
|
|
509
|
-
msgstr "Enregistrement MX invalide pour le domaine {0} : {1}"
|
|
510
|
-
|
|
511
|
-
#: admin/management/commands/subcommands/_mx.py:213
|
|
512
|
-
msgid "[modoboa] MX issue(s) for domain {}"
|
|
513
|
-
msgstr "[modoboa] problème(s) de MX pour le domaine {}"
|
|
514
|
-
|
|
515
|
-
#: admin/management/commands/subcommands/_mx.py:269
|
|
516
|
-
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
517
|
-
msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}"
|
|
518
|
-
|
|
519
528
|
#: admin/models/alias.py:43
|
|
520
529
|
msgid "Domain not found."
|
|
521
530
|
msgstr "Domaine introuvable."
|
|
@@ -692,17 +701,17 @@ msgstr "La réputation de ce domaine sera affectée et il est probable que les e
|
|
|
692
701
|
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
|
|
693
702
|
msgstr "Modoboa a détecté que le domain %(domain)s n'a aucun enregistrement MX valide :"
|
|
694
703
|
|
|
695
|
-
#: admin/tests/test_mx.py:
|
|
704
|
+
#: admin/tests/test_mx.py:141
|
|
696
705
|
#, python-format
|
|
697
706
|
msgid "No MX record for %s"
|
|
698
707
|
msgstr "Aucun enregistrement MX trouvé pour %s"
|
|
699
708
|
|
|
700
|
-
#: admin/tests/test_mx.py:
|
|
709
|
+
#: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
|
|
701
710
|
#, python-format
|
|
702
711
|
msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
703
712
|
msgstr "Format d'adresse IP incorrect pour %(domain)s; %(addr)s"
|
|
704
713
|
|
|
705
|
-
#: admin/tests/test_mx.py:
|
|
714
|
+
#: admin/tests/test_mx.py:185
|
|
706
715
|
#, python-format
|
|
707
716
|
msgid "No AAAA record for %s"
|
|
708
717
|
msgstr "Aucun enregistrement AAAA trouvé pour %s"
|
|
@@ -871,11 +880,11 @@ msgid ""
|
|
|
871
880
|
"database)"
|
|
872
881
|
msgstr "Autorise les utilisateur à entrainer personnellement Spamassassin (au sein d'une base dédiée)"
|
|
873
882
|
|
|
874
|
-
#: amavis/app_settings.py:236 webmail/app_settings.py:
|
|
883
|
+
#: amavis/app_settings.py:236 webmail/app_settings.py:155
|
|
875
884
|
msgid "Display"
|
|
876
885
|
msgstr "Affichage"
|
|
877
886
|
|
|
878
|
-
#: amavis/app_settings.py:243 webmail/app_settings.py:
|
|
887
|
+
#: amavis/app_settings.py:243 webmail/app_settings.py:181
|
|
879
888
|
msgid "Number of displayed emails per page"
|
|
880
889
|
msgstr "Nombre de messages affichés par page"
|
|
881
890
|
|
|
@@ -1119,7 +1128,7 @@ msgstr "Autoriser l'administration des calendriers"
|
|
|
1119
1128
|
msgid "Allow domain administrators to manage user calendars (read and write)"
|
|
1120
1129
|
msgstr "Autoriser les administrateurs de domaine à gérer les calendriers des utilisateurs (lecture et écriture)"
|
|
1121
1130
|
|
|
1122
|
-
#: calendars/app_settings.py:60 core/app_settings.py:
|
|
1131
|
+
#: calendars/app_settings.py:60 core/app_settings.py:664
|
|
1123
1132
|
#: rspamd/app_settings.py:45
|
|
1124
1133
|
msgid "Miscellaneous"
|
|
1125
1134
|
msgstr "Divers"
|
|
@@ -1137,11 +1146,11 @@ msgstr "Taille maximale en octets des fichiers ICS importés (ou KB, MB, GB si p
|
|
|
1137
1146
|
msgid "Calendars"
|
|
1138
1147
|
msgstr "Calendriers"
|
|
1139
1148
|
|
|
1140
|
-
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:
|
|
1149
|
+
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
|
|
1141
1150
|
msgid "Server location is not set, please fix it."
|
|
1142
1151
|
msgstr "L'emplacement du serveur n'est pas renseigné, veuillez corriger"
|
|
1143
1152
|
|
|
1144
|
-
#: calendars/viewsets.py:
|
|
1153
|
+
#: calendars/viewsets.py:199
|
|
1145
1154
|
msgid "Uploaded file is too big (max: {} bytes)"
|
|
1146
1155
|
msgstr "Le fichier téléchargé est trop gros (max : {} octets)"
|
|
1147
1156
|
|
|
@@ -1220,7 +1229,7 @@ msgstr "2FA est déjà activf"
|
|
|
1220
1229
|
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
1221
1230
|
msgstr "Echec de modification des paramètres TFA depuis '%(addr)s' en tant qu'utilisateur '%(user)s'"
|
|
1222
1231
|
|
|
1223
|
-
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:
|
|
1232
|
+
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
|
|
1224
1233
|
msgid "Invalid password"
|
|
1225
1234
|
msgstr "Mot de passe incorrect"
|
|
1226
1235
|
|
|
@@ -1232,24 +1241,20 @@ msgstr "Authentification 2 facteurs non activée"
|
|
|
1232
1241
|
msgid "Local"
|
|
1233
1242
|
msgstr "Locale"
|
|
1234
1243
|
|
|
1235
|
-
#: core/api/v2/serializers.py:
|
|
1236
|
-
|
|
1237
|
-
msgstr "Profil utilisateur"
|
|
1238
|
-
|
|
1239
|
-
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
1240
|
-
#: core/api/v2/serializers.py:228
|
|
1244
|
+
#: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
|
|
1245
|
+
#: core/api/v2/serializers.py:221
|
|
1241
1246
|
msgid "Invalid syntax"
|
|
1242
1247
|
msgstr "Syntaxe invalide"
|
|
1243
1248
|
|
|
1244
|
-
#: core/api/v2/serializers.py:
|
|
1249
|
+
#: core/api/v2/serializers.py:226
|
|
1245
1250
|
msgid "Invalid rounds number"
|
|
1246
1251
|
msgstr "Nombre invalide de tours"
|
|
1247
1252
|
|
|
1248
|
-
#: core/api/v2/serializers.py:
|
|
1253
|
+
#: core/api/v2/serializers.py:426 core/forms.py:81
|
|
1249
1254
|
msgid "This code is invalid"
|
|
1250
1255
|
msgstr "Ce code n'est pas valide"
|
|
1251
1256
|
|
|
1252
|
-
#: core/api/v2/serializers.py:
|
|
1257
|
+
#: core/api/v2/serializers.py:496 core/views/auth.py:213
|
|
1253
1258
|
#: core/views/auth.py:266
|
|
1254
1259
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
1255
1260
|
msgstr "Veuillez utiliser le code suivant pour récupérer votre mot de passe Modoboa : {}"
|
|
@@ -1275,525 +1280,517 @@ msgid "Calendar"
|
|
|
1275
1280
|
msgstr "Calendrier"
|
|
1276
1281
|
|
|
1277
1282
|
#: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
|
|
1278
|
-
#: webmail/app_settings.py:
|
|
1283
|
+
#: webmail/app_settings.py:295 webmail/app_settings.py:302
|
|
1279
1284
|
msgid "Webmail"
|
|
1280
1285
|
msgstr "Webmail"
|
|
1281
1286
|
|
|
1282
|
-
#: core/app_settings.py:
|
|
1287
|
+
#: core/app_settings.py:25
|
|
1283
1288
|
msgid "Authentication"
|
|
1284
1289
|
msgstr "Authentification"
|
|
1285
1290
|
|
|
1286
|
-
#: core/app_settings.py:
|
|
1291
|
+
#: core/app_settings.py:31
|
|
1287
1292
|
msgid "Authentication type"
|
|
1288
1293
|
msgstr "Type d'authentification"
|
|
1289
1294
|
|
|
1290
|
-
#: core/app_settings.py:
|
|
1295
|
+
#: core/app_settings.py:33
|
|
1291
1296
|
msgid "The backend used for authentication"
|
|
1292
1297
|
msgstr "Le backend utilisé pour l'authentification"
|
|
1293
1298
|
|
|
1294
|
-
#: core/app_settings.py:
|
|
1299
|
+
#: core/app_settings.py:40
|
|
1295
1300
|
msgid "Default password scheme"
|
|
1296
1301
|
msgstr "Méthode de chiffrement par défaut"
|
|
1297
1302
|
|
|
1298
|
-
#: core/app_settings.py:
|
|
1303
|
+
#: core/app_settings.py:42
|
|
1299
1304
|
msgid "Scheme used to crypt mailbox passwords"
|
|
1300
1305
|
msgstr "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres"
|
|
1301
1306
|
|
|
1302
|
-
#: core/app_settings.py:
|
|
1307
|
+
#: core/app_settings.py:49
|
|
1303
1308
|
msgid "Rounds"
|
|
1304
1309
|
msgstr "Tours"
|
|
1305
1310
|
|
|
1306
|
-
#: core/app_settings.py:
|
|
1311
|
+
#: core/app_settings.py:51
|
|
1307
1312
|
msgid ""
|
|
1308
1313
|
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
|
|
1309
1314
|
"between 1000 and 999999999, inclusive."
|
|
1310
1315
|
msgstr "Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit être compris entre 1000 et 999999999 inclue."
|
|
1311
1316
|
|
|
1312
|
-
#: core/app_settings.py:
|
|
1317
|
+
#: core/app_settings.py:61
|
|
1313
1318
|
msgid "Update password scheme at login"
|
|
1314
1319
|
msgstr "Mettre à jour la méthode de chiffrement du mot de passe à la connexion"
|
|
1315
1320
|
|
|
1316
|
-
#: core/app_settings.py:
|
|
1321
|
+
#: core/app_settings.py:64
|
|
1317
1322
|
msgid "Update user password at login to use the default password scheme"
|
|
1318
1323
|
msgstr "Mise à jour du mot de passe utilisateur lors d'une connexion pour utiliser la méthode de chiffrement par défaut"
|
|
1319
1324
|
|
|
1320
|
-
#: core/app_settings.py:
|
|
1325
|
+
#: core/app_settings.py:72
|
|
1321
1326
|
msgid "Default password"
|
|
1322
1327
|
msgstr "Mot de passe par défaut"
|
|
1323
1328
|
|
|
1324
|
-
#: core/app_settings.py:
|
|
1329
|
+
#: core/app_settings.py:74
|
|
1325
1330
|
msgid "Default password for automatically created accounts."
|
|
1326
1331
|
msgstr "Mot de passe par défaut pour les comptes créés automatiquement."
|
|
1327
1332
|
|
|
1328
|
-
#: core/app_settings.py:
|
|
1333
|
+
#: core/app_settings.py:81
|
|
1329
1334
|
msgid "Random password length"
|
|
1330
1335
|
msgstr "Taille d'un mot de passe aléatoire"
|
|
1331
1336
|
|
|
1332
|
-
#: core/app_settings.py:
|
|
1337
|
+
#: core/app_settings.py:83
|
|
1333
1338
|
msgid "Length of randomly generated passwords."
|
|
1334
1339
|
msgstr "Taille des mots de passe générés aléatoirement."
|
|
1335
1340
|
|
|
1336
|
-
#: core/app_settings.py:
|
|
1341
|
+
#: core/app_settings.py:91
|
|
1337
1342
|
msgid "Allow special characters for random password"
|
|
1338
1343
|
msgstr "Autoriser les caractères spéciaux pour les mots de passe aléatoires"
|
|
1339
1344
|
|
|
1340
|
-
#: core/app_settings.py:
|
|
1345
|
+
#: core/app_settings.py:94
|
|
1341
1346
|
msgid "Enable special characters in randomly generated passwords."
|
|
1342
1347
|
msgstr "Activer les caractères spéciaux dans les mots de passe générés aléatoirement."
|
|
1343
1348
|
|
|
1344
|
-
#: core/app_settings.py:
|
|
1349
|
+
#: core/app_settings.py:102
|
|
1345
1350
|
msgid "Update password service URL"
|
|
1346
1351
|
msgstr "URL de service de mise à jour du mot de passe"
|
|
1347
1352
|
|
|
1348
|
-
#: core/app_settings.py:
|
|
1353
|
+
#: core/app_settings.py:104
|
|
1349
1354
|
msgid ""
|
|
1350
1355
|
"The URL of an external page where users will be able to update their "
|
|
1351
1356
|
"password. It applies only to non local users, ie. those automatically "
|
|
1352
1357
|
"created after a successful external authentication (LDAP, SMTP)."
|
|
1353
1358
|
msgstr "L'URL d'une page externe où les utilisateurs pourront mettre à jour leur mot de passe. Elle s'applique uniquement aux utilisateurs non locaux, c'est à dire ceux créés après une authentification externe réussie (LDAP, SMTP)."
|
|
1354
1359
|
|
|
1355
|
-
#: core/app_settings.py:
|
|
1360
|
+
#: core/app_settings.py:114
|
|
1356
1361
|
msgid "Password recovery announcement"
|
|
1357
1362
|
msgstr "Annonce pour la récupération de mot de passe"
|
|
1358
1363
|
|
|
1359
|
-
#: core/app_settings.py:
|
|
1364
|
+
#: core/app_settings.py:116
|
|
1360
1365
|
msgid "A temporary message that will be displayed on the reset password page."
|
|
1361
1366
|
msgstr "Un message temporaire qui sera affiché sur la page de récupération de mot de passe"
|
|
1362
1367
|
|
|
1363
|
-
#: core/app_settings.py:
|
|
1368
|
+
#: core/app_settings.py:125
|
|
1364
1369
|
msgid "Enable password recovery by SMS"
|
|
1365
1370
|
msgstr "Activer la récupération de mot de passe par SMS"
|
|
1366
1371
|
|
|
1367
|
-
#: core/app_settings.py:
|
|
1372
|
+
#: core/app_settings.py:128
|
|
1368
1373
|
msgid "Enable password recovery by SMS for users who filled a phone number."
|
|
1369
1374
|
msgstr "Activer la récupération de mot de passe par SMS pour les utilisateurs ayant renseigné un numéro de téléphone"
|
|
1370
1375
|
|
|
1371
|
-
#: core/app_settings.py:
|
|
1376
|
+
#: core/app_settings.py:136
|
|
1372
1377
|
msgid "SMS provider"
|
|
1373
1378
|
msgstr "Fournisseur SMS"
|
|
1374
1379
|
|
|
1375
|
-
#: core/app_settings.py:
|
|
1380
|
+
#: core/app_settings.py:139
|
|
1376
1381
|
msgid "Choose a provider to send password recovery SMS"
|
|
1377
1382
|
msgstr "Choisir un fournisseur pour envoyer les SMS de récupération de mot de passe"
|
|
1378
1383
|
|
|
1379
|
-
#: core/app_settings.py:
|
|
1384
|
+
#: core/app_settings.py:151
|
|
1380
1385
|
msgid "LDAP"
|
|
1381
1386
|
msgstr "LDAP"
|
|
1382
1387
|
|
|
1383
|
-
#: core/app_settings.py:
|
|
1388
|
+
#: core/app_settings.py:157 sievefilters/app_settings.py:18
|
|
1384
1389
|
#: sievefilters/app_settings.py:51 webmail/app_settings.py:36
|
|
1385
|
-
#: webmail/app_settings.py:73
|
|
1390
|
+
#: webmail/app_settings.py:73 webmail/app_settings.py:119
|
|
1386
1391
|
msgid "Server address"
|
|
1387
1392
|
msgstr "Adresse du serveur"
|
|
1388
1393
|
|
|
1389
|
-
#: core/app_settings.py:
|
|
1394
|
+
#: core/app_settings.py:159
|
|
1390
1395
|
msgid "The IP address or the DNS name of the LDAP server"
|
|
1391
1396
|
msgstr "L'adresse IP ou le nom DNS du serveur LDAP"
|
|
1392
1397
|
|
|
1393
|
-
#: core/app_settings.py:
|
|
1398
|
+
#: core/app_settings.py:166 sievefilters/app_settings.py:25
|
|
1394
1399
|
#: sievefilters/app_settings.py:67 webmail/app_settings.py:54
|
|
1395
|
-
#: webmail/app_settings.py:91
|
|
1400
|
+
#: webmail/app_settings.py:91 webmail/app_settings.py:137
|
|
1396
1401
|
msgid "Server port"
|
|
1397
1402
|
msgstr "Port utilisé par le serveur"
|
|
1398
1403
|
|
|
1399
|
-
#: core/app_settings.py:
|
|
1404
|
+
#: core/app_settings.py:168
|
|
1400
1405
|
msgid "The TCP port number used by the LDAP server"
|
|
1401
1406
|
msgstr "Le port TCP utilisé par le serveur LDAP"
|
|
1402
1407
|
|
|
1403
|
-
#: core/app_settings.py:
|
|
1408
|
+
#: core/app_settings.py:176
|
|
1404
1409
|
msgid "Enable secondary server (fallback)"
|
|
1405
1410
|
msgstr "Activer le serveur secondaire (secours)"
|
|
1406
1411
|
|
|
1407
|
-
#: core/app_settings.py:
|
|
1412
|
+
#: core/app_settings.py:179
|
|
1408
1413
|
msgid ""
|
|
1409
1414
|
"Enable a secondary LDAP server which will be used if the primary one fails"
|
|
1410
1415
|
msgstr "Activer un serveur LDAP secondaire qui sera utilisé si le principal est en échec"
|
|
1411
1416
|
|
|
1412
|
-
#: core/app_settings.py:
|
|
1417
|
+
#: core/app_settings.py:187
|
|
1413
1418
|
msgid "Secondary server address"
|
|
1414
1419
|
msgstr "Adresse du serveur secondaire"
|
|
1415
1420
|
|
|
1416
|
-
#: core/app_settings.py:
|
|
1421
|
+
#: core/app_settings.py:190
|
|
1417
1422
|
msgid "The IP address or the DNS name of the seondary LDAP server"
|
|
1418
1423
|
msgstr "L'adresse IP ou le nom DNS du serveur LDAP secondaire"
|
|
1419
1424
|
|
|
1420
|
-
#: core/app_settings.py:
|
|
1425
|
+
#: core/app_settings.py:197
|
|
1421
1426
|
msgid "Secondary server port"
|
|
1422
1427
|
msgstr "Port du serveur secondaire"
|
|
1423
1428
|
|
|
1424
|
-
#: core/app_settings.py:
|
|
1429
|
+
#: core/app_settings.py:200
|
|
1425
1430
|
msgid "The TCP port number used by the LDAP secondary server"
|
|
1426
1431
|
msgstr "Le numéro du port TCP utilisé par le serveur LDAP secondaire"
|
|
1427
1432
|
|
|
1428
|
-
#: core/app_settings.py:
|
|
1433
|
+
#: core/app_settings.py:207 sievefilters/app_settings.py:58
|
|
1429
1434
|
#: webmail/app_settings.py:45
|
|
1430
1435
|
msgid "Use a secured connection"
|
|
1431
1436
|
msgstr "Utiliser une connexion sécurisée"
|
|
1432
1437
|
|
|
1433
|
-
#: core/app_settings.py:
|
|
1438
|
+
#: core/app_settings.py:209
|
|
1434
1439
|
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
1435
1440
|
msgstr "Utiliser une connexion SSL/STARTTLS pour accéder au serveur LDAP"
|
|
1436
1441
|
|
|
1437
|
-
#: core/app_settings.py:
|
|
1442
|
+
#: core/app_settings.py:216
|
|
1438
1443
|
msgid "Active Directory"
|
|
1439
1444
|
msgstr "Active Directory"
|
|
1440
1445
|
|
|
1441
|
-
#: core/app_settings.py:
|
|
1446
|
+
#: core/app_settings.py:218
|
|
1442
1447
|
msgid "Tell if the LDAP server is an Active Directory one"
|
|
1443
1448
|
msgstr "Indiquer si le serveur LDAP est un Active Directory ou pas"
|
|
1444
1449
|
|
|
1445
|
-
#: core/app_settings.py:
|
|
1450
|
+
#: core/app_settings.py:225
|
|
1446
1451
|
msgid "Administrator groups"
|
|
1447
1452
|
msgstr "Groupes administrateurs"
|
|
1448
1453
|
|
|
1449
|
-
#: core/app_settings.py:
|
|
1454
|
+
#: core/app_settings.py:227
|
|
1450
1455
|
msgid ""
|
|
1451
1456
|
"Members of those LDAP Posix groups will be created as domain administrators."
|
|
1452
1457
|
" Use ';' characters to separate groups."
|
|
1453
1458
|
msgstr "Les membres de ces groupes LDAP (Posix) seront créés en tant qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les groupes."
|
|
1454
1459
|
|
|
1455
|
-
#: core/app_settings.py:
|
|
1460
|
+
#: core/app_settings.py:236
|
|
1456
1461
|
msgid "Group type"
|
|
1457
1462
|
msgstr "Type de groupe"
|
|
1458
1463
|
|
|
1459
|
-
#: core/app_settings.py:
|
|
1464
|
+
#: core/app_settings.py:238
|
|
1460
1465
|
msgid "The LDAP group type to use with your directory."
|
|
1461
1466
|
msgstr "Le type de groupe LDAP à utiliser avec votre annuaire."
|
|
1462
1467
|
|
|
1463
|
-
#: core/app_settings.py:
|
|
1468
|
+
#: core/app_settings.py:245
|
|
1464
1469
|
msgid "Groups search base"
|
|
1465
1470
|
msgstr "Base de recherche des groupes"
|
|
1466
1471
|
|
|
1467
|
-
#: core/app_settings.py:
|
|
1472
|
+
#: core/app_settings.py:247
|
|
1468
1473
|
msgid "The distinguished name of the search base used to find groups"
|
|
1469
1474
|
msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les groupes"
|
|
1470
1475
|
|
|
1471
|
-
#: core/app_settings.py:
|
|
1476
|
+
#: core/app_settings.py:255
|
|
1472
1477
|
msgid "Password attribute"
|
|
1473
1478
|
msgstr "Attribut 'mot de passe'"
|
|
1474
1479
|
|
|
1475
|
-
#: core/app_settings.py:
|
|
1480
|
+
#: core/app_settings.py:257
|
|
1476
1481
|
msgid "The attribute used to store user passwords"
|
|
1477
1482
|
msgstr "L'attribut utilisé pour stocker les mots de passe"
|
|
1478
1483
|
|
|
1479
|
-
#: core/app_settings.py:
|
|
1484
|
+
#: core/app_settings.py:264
|
|
1480
1485
|
msgid "LDAP authentication settings"
|
|
1481
1486
|
msgstr "Paramètres d'authentification LDAP"
|
|
1482
1487
|
|
|
1483
|
-
#: core/app_settings.py:
|
|
1488
|
+
#: core/app_settings.py:272
|
|
1484
1489
|
msgid "Authentication method"
|
|
1485
1490
|
msgstr "Méthode d'authentification"
|
|
1486
1491
|
|
|
1487
|
-
#: core/app_settings.py:
|
|
1492
|
+
#: core/app_settings.py:275
|
|
1488
1493
|
msgid "Choose the authentication method to use"
|
|
1489
1494
|
msgstr "Choisir la méthode d'authentification à utiliser"
|
|
1490
1495
|
|
|
1491
|
-
#: core/app_settings.py:
|
|
1496
|
+
#: core/app_settings.py:282 core/app_settings.py:345
|
|
1492
1497
|
msgid "Bind DN"
|
|
1493
1498
|
msgstr "ND de connexion"
|
|
1494
1499
|
|
|
1495
|
-
#: core/app_settings.py:
|
|
1500
|
+
#: core/app_settings.py:284 core/app_settings.py:347
|
|
1496
1501
|
msgid ""
|
|
1497
1502
|
"The distinguished name to use when binding to the LDAP server. Leave empty "
|
|
1498
1503
|
"for an anonymous bind"
|
|
1499
1504
|
msgstr "Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser vide pour une connexion anonyme"
|
|
1500
1505
|
|
|
1501
|
-
#: core/app_settings.py:
|
|
1506
|
+
#: core/app_settings.py:293 core/app_settings.py:355
|
|
1502
1507
|
msgid "Bind password"
|
|
1503
1508
|
msgstr "Mot de passe de connexion"
|
|
1504
1509
|
|
|
1505
|
-
#: core/app_settings.py:
|
|
1510
|
+
#: core/app_settings.py:295 core/app_settings.py:357
|
|
1506
1511
|
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
|
|
1507
1512
|
msgstr "Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de connexion')"
|
|
1508
1513
|
|
|
1509
|
-
#: core/app_settings.py:
|
|
1514
|
+
#: core/app_settings.py:305 core/app_settings.py:410
|
|
1510
1515
|
msgid "Users search base"
|
|
1511
1516
|
msgstr "Base de recherche des utilisateurs"
|
|
1512
1517
|
|
|
1513
|
-
#: core/app_settings.py:
|
|
1518
|
+
#: core/app_settings.py:307 core/app_settings.py:412
|
|
1514
1519
|
msgid "The distinguished name of the search base used to find users"
|
|
1515
1520
|
msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les utilisateurs"
|
|
1516
1521
|
|
|
1517
|
-
#: core/app_settings.py:
|
|
1522
|
+
#: core/app_settings.py:316 core/app_settings.py:421
|
|
1518
1523
|
msgid "Search filter"
|
|
1519
1524
|
msgstr "Filtre de recherche"
|
|
1520
1525
|
|
|
1521
|
-
#: core/app_settings.py:
|
|
1526
|
+
#: core/app_settings.py:318 core/app_settings.py:423
|
|
1522
1527
|
msgid ""
|
|
1523
1528
|
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
|
|
1524
1529
|
"valid, it must be enclosed in parentheses."
|
|
1525
1530
|
msgstr "Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être valide, il doit être entouré de parenthèses."
|
|
1526
1531
|
|
|
1527
|
-
#: core/app_settings.py:
|
|
1532
|
+
#: core/app_settings.py:327
|
|
1528
1533
|
msgid "User DN template"
|
|
1529
1534
|
msgstr "Modèle de nom distinctif utilisateur"
|
|
1530
1535
|
|
|
1531
|
-
#: core/app_settings.py:
|
|
1536
|
+
#: core/app_settings.py:329
|
|
1532
1537
|
#, python-format
|
|
1533
1538
|
msgid ""
|
|
1534
1539
|
"The template used to construct a user's DN. It should contain one "
|
|
1535
1540
|
"placeholder (ie. %(user)s)"
|
|
1536
1541
|
msgstr "Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il doit contenir un espace réservé (ex. %(user)s)"
|
|
1537
1542
|
|
|
1538
|
-
#: core/app_settings.py:
|
|
1543
|
+
#: core/app_settings.py:338
|
|
1539
1544
|
msgid "LDAP synchronization settings"
|
|
1540
1545
|
msgstr "Paramètres de synchronisation LDAP"
|
|
1541
1546
|
|
|
1542
|
-
#: core/app_settings.py:
|
|
1547
|
+
#: core/app_settings.py:366
|
|
1543
1548
|
msgid "Enable export to LDAP"
|
|
1544
1549
|
msgstr "Activer l'export LDAP"
|
|
1545
1550
|
|
|
1546
|
-
#: core/app_settings.py:
|
|
1551
|
+
#: core/app_settings.py:368
|
|
1547
1552
|
msgid ""
|
|
1548
1553
|
"Enable automatic synchronization between local database and LDAP directory"
|
|
1549
1554
|
msgstr "Activer la synchronisation automatique entre la base de données locale et l'annuaire LDAP"
|
|
1550
1555
|
|
|
1551
|
-
#: core/app_settings.py:
|
|
1556
|
+
#: core/app_settings.py:377
|
|
1552
1557
|
msgid "Delete remote LDAP account when local account is deleted"
|
|
1553
1558
|
msgstr "Supprimer un compte LDAP distant lorsqu'un compte local est supprimé"
|
|
1554
1559
|
|
|
1555
|
-
#: core/app_settings.py:
|
|
1560
|
+
#: core/app_settings.py:380
|
|
1556
1561
|
msgid ""
|
|
1557
1562
|
"Delete remote LDAP account when local account is deleted, otherwise it will "
|
|
1558
1563
|
"be disabled."
|
|
1559
1564
|
msgstr "Supprimer un compte LDAP distant lorsqu'un compte local supprimé, autrement il sera désactivé."
|
|
1560
1565
|
|
|
1561
|
-
#: core/app_settings.py:
|
|
1566
|
+
#: core/app_settings.py:389
|
|
1562
1567
|
msgid "Account DN template"
|
|
1563
1568
|
msgstr "Modèle des DN de compte"
|
|
1564
1569
|
|
|
1565
|
-
#: core/app_settings.py:
|
|
1570
|
+
#: core/app_settings.py:391
|
|
1566
1571
|
#, python-format
|
|
1567
1572
|
msgid ""
|
|
1568
1573
|
"The template used to construct an account's DN. It should contain one "
|
|
1569
1574
|
"placeholder (ie. %(user)s)"
|
|
1570
1575
|
msgstr "Le modèle utilisé pour construite un DN de compte (nom unique). Il doit contenir un emplacement (c'est à dire 1%(user)s)"
|
|
1571
1576
|
|
|
1572
|
-
#: core/app_settings.py:
|
|
1577
|
+
#: core/app_settings.py:400
|
|
1573
1578
|
msgid "Enable import from LDAP"
|
|
1574
1579
|
msgstr "Activer l'import LDAP"
|
|
1575
1580
|
|
|
1576
|
-
#: core/app_settings.py:
|
|
1581
|
+
#: core/app_settings.py:402
|
|
1577
1582
|
msgid "Enable account synchronization from LDAP directory to local database"
|
|
1578
1583
|
msgstr "Activer la synchronisation des comptes entre un annuaire LDAP et la base de données locale"
|
|
1579
1584
|
|
|
1580
|
-
#: core/app_settings.py:
|
|
1585
|
+
#: core/app_settings.py:432
|
|
1581
1586
|
msgid "Username attribute"
|
|
1582
1587
|
msgstr "Attribut nom d'utilisateur"
|
|
1583
1588
|
|
|
1584
|
-
#: core/app_settings.py:
|
|
1589
|
+
#: core/app_settings.py:434
|
|
1585
1590
|
msgid "The name of the LDAP attribute where the username can be found."
|
|
1586
1591
|
msgstr "Le nom de l'attribut LDAP dans lequel le nom d'utilisateur peut être trouvé."
|
|
1587
1592
|
|
|
1588
|
-
#: core/app_settings.py:
|
|
1593
|
+
#: core/app_settings.py:443
|
|
1589
1594
|
msgid "Enable Dovecot LDAP sync"
|
|
1590
1595
|
msgstr "Activer la synchronisation LDAP pour Dovecot"
|
|
1591
1596
|
|
|
1592
|
-
#: core/app_settings.py:
|
|
1597
|
+
#: core/app_settings.py:445
|
|
1593
1598
|
msgid "LDAP authentication settings will be applied to Dovecot configuration."
|
|
1594
1599
|
msgstr "Les paramètres d'authentification LDAP seront appliqués à la configuration de Dovecot."
|
|
1595
1600
|
|
|
1596
|
-
#: core/app_settings.py:
|
|
1601
|
+
#: core/app_settings.py:453
|
|
1597
1602
|
msgid "Dovecot LDAP config file"
|
|
1598
1603
|
msgstr "Fichier de configuration Dovecot pour LDAP"
|
|
1599
1604
|
|
|
1600
|
-
#: core/app_settings.py:
|
|
1605
|
+
#: core/app_settings.py:455
|
|
1601
1606
|
msgid ""
|
|
1602
1607
|
"Location of the configuration file which contains Dovecot LDAP settings."
|
|
1603
1608
|
msgstr "Emplacement du fichier de configuration qui contient les paramètres LDAP de Dovecot"
|
|
1604
1609
|
|
|
1605
|
-
#: core/app_settings.py:
|
|
1610
|
+
#: core/app_settings.py:468
|
|
1606
1611
|
msgid "Dashboard"
|
|
1607
1612
|
msgstr "Tableau de bord"
|
|
1608
1613
|
|
|
1609
|
-
#: core/app_settings.py:
|
|
1614
|
+
#: core/app_settings.py:474
|
|
1610
1615
|
msgid "Custom welcome message"
|
|
1611
1616
|
msgstr "Message d'accueil personnalisé"
|
|
1612
1617
|
|
|
1613
|
-
#: core/app_settings.py:
|
|
1618
|
+
#: core/app_settings.py:476
|
|
1614
1619
|
msgid "A welcome message that will be displayed instead the default one"
|
|
1615
1620
|
msgstr "Un message d'accueil qui sera affiché à la place de celui par défaut"
|
|
1616
1621
|
|
|
1617
|
-
#: core/app_settings.py:
|
|
1622
|
+
#: core/app_settings.py:483
|
|
1618
1623
|
msgid "Custom RSS feed"
|
|
1619
1624
|
msgstr "Flux RSS personnalisé"
|
|
1620
1625
|
|
|
1621
|
-
#: core/app_settings.py:
|
|
1626
|
+
#: core/app_settings.py:485
|
|
1622
1627
|
msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1623
1628
|
msgstr "Afficher un flux RSS personnalisé aux revendeurs et administrateurs de domaine"
|
|
1624
1629
|
|
|
1625
|
-
#: core/app_settings.py:
|
|
1630
|
+
#: core/app_settings.py:494
|
|
1626
1631
|
msgid "Display custom RSS feed to super admins"
|
|
1627
1632
|
msgstr "Afficher le flux RSS personnalisé aux super admins"
|
|
1628
1633
|
|
|
1629
|
-
#: core/app_settings.py:
|
|
1634
|
+
#: core/app_settings.py:497
|
|
1630
1635
|
msgid "Display custom RSS feed also to super administrators"
|
|
1631
1636
|
msgstr "Afficher le flux RSS personnalisé aussi aux super administrateurs"
|
|
1632
1637
|
|
|
1633
|
-
#: core/app_settings.py:
|
|
1638
|
+
#: core/app_settings.py:505
|
|
1634
1639
|
msgid "Hide features widget"
|
|
1635
1640
|
msgstr "Masquer le widget des fonctionnalités"
|
|
1636
1641
|
|
|
1637
|
-
#: core/app_settings.py:
|
|
1642
|
+
#: core/app_settings.py:507
|
|
1638
1643
|
msgid "Hide features widget for resellers and domain administrators"
|
|
1639
1644
|
msgstr "Masquer le widget des fonctionnalités pour les revendeurs et les administrateurs de domaine"
|
|
1640
1645
|
|
|
1641
|
-
#: core/app_settings.py:
|
|
1646
|
+
#: core/app_settings.py:519
|
|
1642
1647
|
msgid "Theme"
|
|
1643
1648
|
msgstr "Thème"
|
|
1644
1649
|
|
|
1645
|
-
#: core/app_settings.py:
|
|
1650
|
+
#: core/app_settings.py:525
|
|
1646
1651
|
msgid "Primary theme color"
|
|
1647
1652
|
msgstr "Couleur principale du thème"
|
|
1648
1653
|
|
|
1649
|
-
#: core/app_settings.py:
|
|
1654
|
+
#: core/app_settings.py:527
|
|
1650
1655
|
msgid ""
|
|
1651
1656
|
"Primary color of the theme (hexadecimal code), used as the background color "
|
|
1652
1657
|
"of the left menu for example"
|
|
1653
1658
|
msgstr "Couleur principale du thème (code hexadécimal), utilisée par exemple comme couleur de fond dans le menu de gauche"
|
|
1654
1659
|
|
|
1655
|
-
#: core/app_settings.py:
|
|
1660
|
+
#: core/app_settings.py:536
|
|
1656
1661
|
msgid "Primary theme color (lighter version)"
|
|
1657
1662
|
msgstr "Couleur principale du thème (version plus claire)"
|
|
1658
1663
|
|
|
1659
|
-
#: core/app_settings.py:
|
|
1664
|
+
#: core/app_settings.py:539 core/app_settings.py:551
|
|
1660
1665
|
msgid "Primary color of the theme (hexadecimal code)"
|
|
1661
1666
|
msgstr "Couleur principale du thème (code hexadécimal)"
|
|
1662
1667
|
|
|
1663
|
-
#: core/app_settings.py:
|
|
1668
|
+
#: core/app_settings.py:548
|
|
1664
1669
|
msgid "Primary theme color (darker version)"
|
|
1665
1670
|
msgstr "Couleur principale du thème (version plus sombre)"
|
|
1666
1671
|
|
|
1667
|
-
#: core/app_settings.py:
|
|
1672
|
+
#: core/app_settings.py:559
|
|
1668
1673
|
msgid "Secondary theme color"
|
|
1669
1674
|
msgstr "Couleur secondaire du thème"
|
|
1670
1675
|
|
|
1671
|
-
#: core/app_settings.py:
|
|
1676
|
+
#: core/app_settings.py:561
|
|
1672
1677
|
msgid ""
|
|
1673
1678
|
"Secondary color of the theme (hexadecimal code), used as the background "
|
|
1674
1679
|
"color of some buttons for example"
|
|
1675
1680
|
msgstr "Couleur secondaire du thème (code hexadécimal), utilisée par exemple comme couleur de fond de certains boutons"
|
|
1676
1681
|
|
|
1677
|
-
#: core/app_settings.py:
|
|
1682
|
+
#: core/app_settings.py:569
|
|
1678
1683
|
msgid "Labels theme color"
|
|
1679
1684
|
msgstr "Couleur des libellés du thème"
|
|
1680
1685
|
|
|
1681
|
-
#: core/app_settings.py:
|
|
1686
|
+
#: core/app_settings.py:571
|
|
1682
1687
|
msgid "Theme color for labels (hexadecimal code)"
|
|
1683
1688
|
msgstr "Couleur du thème pour les libellés (code hexadécimal)"
|
|
1684
1689
|
|
|
1685
|
-
#: core/app_settings.py:
|
|
1690
|
+
#: core/app_settings.py:583
|
|
1686
1691
|
msgid "Notifications"
|
|
1687
1692
|
msgstr "Notifications"
|
|
1688
1693
|
|
|
1689
|
-
#: core/app_settings.py:
|
|
1694
|
+
#: core/app_settings.py:589
|
|
1690
1695
|
msgid "Sender address"
|
|
1691
1696
|
msgstr "Adresse d'envoi"
|
|
1692
1697
|
|
|
1693
|
-
#: core/app_settings.py:
|
|
1698
|
+
#: core/app_settings.py:591
|
|
1694
1699
|
msgid "Email address used to send notifications."
|
|
1695
1700
|
msgstr "Adresse utilisée pour envoyer les notifications."
|
|
1696
1701
|
|
|
1697
|
-
#: core/app_settings.py:
|
|
1702
|
+
#: core/app_settings.py:602
|
|
1698
1703
|
msgid "Public API"
|
|
1699
1704
|
msgstr "API publique"
|
|
1700
1705
|
|
|
1701
|
-
#: core/app_settings.py:
|
|
1706
|
+
#: core/app_settings.py:608
|
|
1702
1707
|
msgid "Enable communication"
|
|
1703
1708
|
msgstr "Activer la communication"
|
|
1704
1709
|
|
|
1705
|
-
#: core/app_settings.py:
|
|
1710
|
+
#: core/app_settings.py:610 core/app_settings.py:620
|
|
1706
1711
|
msgid "Automatically checks if a newer version is available"
|
|
1707
1712
|
msgstr "Vérifie automatiquement si une nouvelle version est disponible"
|
|
1708
1713
|
|
|
1709
|
-
#: core/app_settings.py:
|
|
1714
|
+
#: core/app_settings.py:617
|
|
1710
1715
|
msgid "Check new versions"
|
|
1711
1716
|
msgstr "Vérifier les nouvelles versions"
|
|
1712
1717
|
|
|
1713
|
-
#: core/app_settings.py:
|
|
1718
|
+
#: core/app_settings.py:628
|
|
1714
1719
|
msgid "Send an email when new versions are found"
|
|
1715
1720
|
msgstr "Envoyer un email quand de nouvelles versions sont trouvées"
|
|
1716
1721
|
|
|
1717
|
-
#: core/app_settings.py:
|
|
1722
|
+
#: core/app_settings.py:632
|
|
1718
1723
|
msgid "Send an email to notify admins about new versions"
|
|
1719
1724
|
msgstr "Envoyer un email pour notifier les administrateurs à propos des nouvelles versions"
|
|
1720
1725
|
|
|
1721
|
-
#: core/app_settings.py:
|
|
1726
|
+
#: core/app_settings.py:639 sievefilters/constants.py:25
|
|
1722
1727
|
msgid "Recipient"
|
|
1723
1728
|
msgstr "Destinataire"
|
|
1724
1729
|
|
|
1725
|
-
#: core/app_settings.py:
|
|
1730
|
+
#: core/app_settings.py:642
|
|
1726
1731
|
msgid "Recipient of new versions notification emails."
|
|
1727
1732
|
msgstr "Destinataire des emails de notification pour les nouvelles versions"
|
|
1728
1733
|
|
|
1729
|
-
#: core/app_settings.py:
|
|
1734
|
+
#: core/app_settings.py:649
|
|
1730
1735
|
msgid "Send statistics"
|
|
1731
1736
|
msgstr "Envoyer des statistiques"
|
|
1732
1737
|
|
|
1733
|
-
#: core/app_settings.py:
|
|
1738
|
+
#: core/app_settings.py:652
|
|
1734
1739
|
msgid "Send statistics to Modoboa public API (counters and used extensions)"
|
|
1735
1740
|
msgstr "Envoyer des statistiques à l'API publique de Modoboa (compteurs et extensions utilisées)"
|
|
1736
1741
|
|
|
1737
|
-
#: core/app_settings.py:
|
|
1742
|
+
#: core/app_settings.py:671
|
|
1738
1743
|
msgid "Enable inactive account tracking"
|
|
1739
1744
|
msgstr "Activer le suivi des comptes inactifs"
|
|
1740
1745
|
|
|
1741
|
-
#: core/app_settings.py:
|
|
1746
|
+
#: core/app_settings.py:674
|
|
1742
1747
|
msgid ""
|
|
1743
1748
|
"Allow the administrator to set a threshold (in days) beyond which an account"
|
|
1744
1749
|
" is considered inactive if the user hasn't logged in"
|
|
1745
1750
|
msgstr "Autoriser les administrateurs à définir in seuil (en jours) à partir duquel un compte est considéré comme inactif si l'utilisateur ne s'est pas connecté"
|
|
1746
1751
|
|
|
1747
|
-
#: core/app_settings.py:
|
|
1752
|
+
#: core/app_settings.py:683
|
|
1748
1753
|
msgid "Inactive account threshold"
|
|
1749
1754
|
msgstr "Seuil des comptes inactifs"
|
|
1750
1755
|
|
|
1751
|
-
#: core/app_settings.py:
|
|
1756
|
+
#: core/app_settings.py:686
|
|
1752
1757
|
msgid ""
|
|
1753
1758
|
"An account with a last login date greater than this threshold (in days) will"
|
|
1754
1759
|
" be considered as inactive"
|
|
1755
1760
|
msgstr "Un compte avec une date de dernière connexion antérieure à ce seuil sera considéré comme inactif"
|
|
1756
1761
|
|
|
1757
|
-
#: core/app_settings.py:
|
|
1762
|
+
#: core/app_settings.py:695
|
|
1758
1763
|
msgid "Top notifications check interval"
|
|
1759
1764
|
msgstr "Intervalle de vérification des notifications"
|
|
1760
1765
|
|
|
1761
|
-
#: core/app_settings.py:
|
|
1766
|
+
#: core/app_settings.py:698
|
|
1762
1767
|
msgid "Interval between two top notification checks (in seconds)"
|
|
1763
1768
|
msgstr "Intervalle entre deux vérifications de notification (en secondes)"
|
|
1764
1769
|
|
|
1765
|
-
#: core/app_settings.py:
|
|
1770
|
+
#: core/app_settings.py:705
|
|
1766
1771
|
msgid "Maximum log record age"
|
|
1767
1772
|
msgstr "Age maximal d'un enregistrement du journal"
|
|
1768
1773
|
|
|
1769
|
-
#: core/app_settings.py:
|
|
1774
|
+
#: core/app_settings.py:707
|
|
1770
1775
|
msgid "The maximum age in days of a log record"
|
|
1771
1776
|
msgstr "L'age maximal en jours d'un enregistrement du journal"
|
|
1772
1777
|
|
|
1773
|
-
#: core/app_settings.py:
|
|
1778
|
+
#: core/app_settings.py:715
|
|
1774
1779
|
msgid "Retention time in message history"
|
|
1775
1780
|
msgstr "Durée de rétention dans l'historique des messages"
|
|
1776
1781
|
|
|
1777
|
-
#: core/app_settings.py:
|
|
1782
|
+
#: core/app_settings.py:718
|
|
1778
1783
|
msgid "Retention time (in days) of a message in the message history section"
|
|
1779
1784
|
msgstr "Durée de rétention (en jours) d'un message dans l'historique des messages"
|
|
1780
1785
|
|
|
1781
|
-
#: core/app_settings.py:
|
|
1786
|
+
#: core/app_settings.py:725
|
|
1782
1787
|
msgid "Items per page"
|
|
1783
1788
|
msgstr "Eléments par page"
|
|
1784
1789
|
|
|
1785
|
-
#: core/app_settings.py:
|
|
1790
|
+
#: core/app_settings.py:727
|
|
1786
1791
|
msgid "Number of displayed items per page"
|
|
1787
1792
|
msgstr "Nombre d'éléments affichés par page"
|
|
1788
1793
|
|
|
1789
|
-
#: core/app_settings.py:746
|
|
1790
|
-
msgid "Default top redirection"
|
|
1791
|
-
msgstr "Redirection par défaut"
|
|
1792
|
-
|
|
1793
|
-
#: core/app_settings.py:748
|
|
1794
|
-
msgid "The default redirection used when no application is specified"
|
|
1795
|
-
msgstr "La redirection appliquée par défaut quand aucune application n'est spécifiée"
|
|
1796
|
-
|
|
1797
1794
|
#: core/checks.py:15
|
|
1798
1795
|
msgid ""
|
|
1799
1796
|
"You have USE_TZ set to False, this may result in issues during transitions "
|
|
@@ -2121,7 +2118,7 @@ msgid "Not resolved"
|
|
|
2121
2118
|
msgstr "Non résolu"
|
|
2122
2119
|
|
|
2123
2120
|
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
|
|
2124
|
-
#: webmail/constants.py:
|
|
2121
|
+
#: webmail/constants.py:38
|
|
2125
2122
|
msgid "None"
|
|
2126
2123
|
msgstr "Aucun"
|
|
2127
2124
|
|
|
@@ -2999,7 +2996,7 @@ msgstr "est"
|
|
|
2999
2996
|
msgid "is not"
|
|
3000
2997
|
msgstr "n'est pas"
|
|
3001
2998
|
|
|
3002
|
-
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:
|
|
2999
|
+
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
|
|
3003
3000
|
msgid "Subject"
|
|
3004
3001
|
msgstr "Sujet"
|
|
3005
3002
|
|
|
@@ -3225,19 +3222,19 @@ msgstr "Taille maximale d'une pièce jointe en octets (ou KB, MG, GB si précis
|
|
|
3225
3222
|
msgid "SMTP settings"
|
|
3226
3223
|
msgstr "Paramètres SMTP"
|
|
3227
3224
|
|
|
3228
|
-
#: webmail/app_settings.py:75
|
|
3225
|
+
#: webmail/app_settings.py:75 webmail/app_settings.py:121
|
|
3229
3226
|
msgid "Address of your SMTP server"
|
|
3230
3227
|
msgstr "Adresse de votre serveur SMTP"
|
|
3231
3228
|
|
|
3232
|
-
#: webmail/app_settings.py:82
|
|
3229
|
+
#: webmail/app_settings.py:82 webmail/app_settings.py:128
|
|
3233
3230
|
msgid "Secured connection mode"
|
|
3234
3231
|
msgstr "Mode de connexion sécurisé"
|
|
3235
3232
|
|
|
3236
|
-
#: webmail/app_settings.py:84
|
|
3233
|
+
#: webmail/app_settings.py:84 webmail/app_settings.py:130
|
|
3237
3234
|
msgid "Use a secured connection to access SMTP server"
|
|
3238
3235
|
msgstr "Utiliser une connexion sécurisée pour accéder au serveur SMTP"
|
|
3239
3236
|
|
|
3240
|
-
#: webmail/app_settings.py:93
|
|
3237
|
+
#: webmail/app_settings.py:93 webmail/app_settings.py:139
|
|
3241
3238
|
msgid "Listening port of your SMTP server"
|
|
3242
3239
|
msgstr "Port d'écoute de votre serveur SMTP"
|
|
3243
3240
|
|
|
@@ -3249,95 +3246,99 @@ msgstr "Authentification requise"
|
|
|
3249
3246
|
msgid "Server needs authentication"
|
|
3250
3247
|
msgstr "Le serveur nécessite une authentification"
|
|
3251
3248
|
|
|
3252
|
-
#: webmail/app_settings.py:
|
|
3249
|
+
#: webmail/app_settings.py:113
|
|
3250
|
+
msgid "Scheduling settings"
|
|
3251
|
+
msgstr "Paramètres de planification"
|
|
3252
|
+
|
|
3253
|
+
#: webmail/app_settings.py:161
|
|
3253
3254
|
msgid "Default message display mode"
|
|
3254
3255
|
msgstr "Mode d'affichage par défaut"
|
|
3255
3256
|
|
|
3256
|
-
#: webmail/app_settings.py:
|
|
3257
|
+
#: webmail/app_settings.py:163
|
|
3257
3258
|
msgid "The default mode used when displaying a message"
|
|
3258
3259
|
msgstr "Le mode par défaut utilisé pour afficher un message"
|
|
3259
3260
|
|
|
3260
|
-
#: webmail/app_settings.py:
|
|
3261
|
+
#: webmail/app_settings.py:170
|
|
3261
3262
|
msgid "Enable HTML links display"
|
|
3262
3263
|
msgstr "Activer l'affichage des liens HTML"
|
|
3263
3264
|
|
|
3264
|
-
#: webmail/app_settings.py:
|
|
3265
|
+
#: webmail/app_settings.py:173
|
|
3265
3266
|
msgid "Enable/Disable HTML links display"
|
|
3266
3267
|
msgstr "Activer/Désactiver l'affichage des liens HTML"
|
|
3267
3268
|
|
|
3268
|
-
#: webmail/app_settings.py:
|
|
3269
|
+
#: webmail/app_settings.py:184
|
|
3269
3270
|
msgid "Sets the maximum number of messages displayed in a page"
|
|
3270
3271
|
msgstr "Définir le nombre maximal de messages affichés dans une page"
|
|
3271
3272
|
|
|
3272
|
-
#: webmail/app_settings.py:
|
|
3273
|
+
#: webmail/app_settings.py:191
|
|
3273
3274
|
msgid "Listing refresh rate"
|
|
3274
3275
|
msgstr "Taux de rafraichissement de la liste"
|
|
3275
3276
|
|
|
3276
|
-
#: webmail/app_settings.py:
|
|
3277
|
+
#: webmail/app_settings.py:193
|
|
3277
3278
|
msgid "Automatic listing refresh rate (in secconds)"
|
|
3278
3279
|
msgstr "Taux de rafraichissement automatique de la liste (en secondes)"
|
|
3279
3280
|
|
|
3280
|
-
#: webmail/app_settings.py:
|
|
3281
|
+
#: webmail/app_settings.py:200
|
|
3281
3282
|
msgid "Folder container's width"
|
|
3282
3283
|
msgstr "Largeur du conteneur des dossiers"
|
|
3283
3284
|
|
|
3284
|
-
#: webmail/app_settings.py:
|
|
3285
|
+
#: webmail/app_settings.py:202
|
|
3285
3286
|
msgid "The width of the folder list container"
|
|
3286
3287
|
msgstr "La largeur du conteneur de la liste des dossiers"
|
|
3287
3288
|
|
|
3288
|
-
#: webmail/app_settings.py:
|
|
3289
|
+
#: webmail/app_settings.py:213
|
|
3289
3290
|
msgid "Folders"
|
|
3290
3291
|
msgstr "Dossiers"
|
|
3291
3292
|
|
|
3292
|
-
#: webmail/app_settings.py:
|
|
3293
|
+
#: webmail/app_settings.py:219
|
|
3293
3294
|
msgid "Trash folder"
|
|
3294
3295
|
msgstr "Dossier poubelle"
|
|
3295
3296
|
|
|
3296
|
-
#: webmail/app_settings.py:
|
|
3297
|
+
#: webmail/app_settings.py:221
|
|
3297
3298
|
msgid "Folder where deleted messages go"
|
|
3298
3299
|
msgstr "Dossier dans lequel vont les messages supprimés"
|
|
3299
3300
|
|
|
3300
|
-
#: webmail/app_settings.py:
|
|
3301
|
+
#: webmail/app_settings.py:228
|
|
3301
3302
|
msgid "Sent folder"
|
|
3302
3303
|
msgstr "Dossier envoyé"
|
|
3303
3304
|
|
|
3304
|
-
#: webmail/app_settings.py:
|
|
3305
|
+
#: webmail/app_settings.py:230
|
|
3305
3306
|
msgid "Folder where copies of sent messages go"
|
|
3306
3307
|
msgstr "Dossier dans lequel vont les copies de messages envoyés"
|
|
3307
3308
|
|
|
3308
|
-
#: webmail/app_settings.py:
|
|
3309
|
+
#: webmail/app_settings.py:237
|
|
3309
3310
|
msgid "Drafts folder"
|
|
3310
3311
|
msgstr "Dossier brouillon"
|
|
3311
3312
|
|
|
3312
|
-
#: webmail/app_settings.py:
|
|
3313
|
+
#: webmail/app_settings.py:238
|
|
3313
3314
|
msgid "Folder where drafts go"
|
|
3314
3315
|
msgstr "Dossier dans lequel vont les brouillons"
|
|
3315
3316
|
|
|
3316
|
-
#: webmail/app_settings.py:
|
|
3317
|
+
#: webmail/app_settings.py:244
|
|
3317
3318
|
msgid "Junk folder"
|
|
3318
3319
|
msgstr "Dossier Junk"
|
|
3319
3320
|
|
|
3320
|
-
#: webmail/app_settings.py:
|
|
3321
|
+
#: webmail/app_settings.py:246
|
|
3321
3322
|
msgid "Folder where junk messages should go"
|
|
3322
3323
|
msgstr "Dossier dans lequel les messages indésirables doivent aller"
|
|
3323
3324
|
|
|
3324
|
-
#: webmail/app_settings.py:
|
|
3325
|
+
#: webmail/app_settings.py:257
|
|
3325
3326
|
msgid "Composing messages"
|
|
3326
3327
|
msgstr "Rédaction de messages"
|
|
3327
3328
|
|
|
3328
|
-
#: webmail/app_settings.py:
|
|
3329
|
+
#: webmail/app_settings.py:263
|
|
3329
3330
|
msgid "Default editor"
|
|
3330
3331
|
msgstr "Editeur par défaut"
|
|
3331
3332
|
|
|
3332
|
-
#: webmail/app_settings.py:
|
|
3333
|
+
#: webmail/app_settings.py:265
|
|
3333
3334
|
msgid "The default editor to use when composing a message"
|
|
3334
3335
|
msgstr "L'éditeur à utiliser par défaut pour rédiger un message"
|
|
3335
3336
|
|
|
3336
|
-
#: webmail/app_settings.py:
|
|
3337
|
+
#: webmail/app_settings.py:272
|
|
3337
3338
|
msgid "Signature text"
|
|
3338
3339
|
msgstr "Texte de signature"
|
|
3339
3340
|
|
|
3340
|
-
#: webmail/app_settings.py:
|
|
3341
|
+
#: webmail/app_settings.py:274
|
|
3341
3342
|
msgid "User defined email signature"
|
|
3342
3343
|
msgstr "Signature email personnalisée"
|
|
3343
3344
|
|
|
@@ -3349,43 +3350,59 @@ msgstr "Réponse du serveur"
|
|
|
3349
3350
|
msgid "Failed to remove attachment: "
|
|
3350
3351
|
msgstr "Impossible de supprimer la pièce jointe :"
|
|
3351
3352
|
|
|
3352
|
-
#: webmail/lib/imapemail.py:
|
|
3353
|
+
#: webmail/lib/imapemail.py:270
|
|
3353
3354
|
msgid "wrote:"
|
|
3354
3355
|
msgstr "a écrit :"
|
|
3355
3356
|
|
|
3356
|
-
#: webmail/lib/imapemail.py:
|
|
3357
|
+
#: webmail/lib/imapemail.py:304
|
|
3357
3358
|
msgid "Date"
|
|
3358
3359
|
msgstr "Date"
|
|
3359
3360
|
|
|
3360
|
-
#: webmail/lib/imapemail.py:
|
|
3361
|
+
#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
|
|
3361
3362
|
msgid "Original message"
|
|
3362
3363
|
msgstr "Message original"
|
|
3363
3364
|
|
|
3364
|
-
#: webmail/lib/imaputils.py:
|
|
3365
|
+
#: webmail/lib/imaputils.py:222
|
|
3365
3366
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3366
3367
|
msgstr "Echec lors de la récupération du séparateur de hierarchie"
|
|
3367
3368
|
|
|
3368
|
-
#: webmail/lib/imaputils.py:
|
|
3369
|
+
#: webmail/lib/imaputils.py:478
|
|
3369
3370
|
msgid "Inbox"
|
|
3370
3371
|
msgstr "Boite de réception"
|
|
3371
3372
|
|
|
3372
|
-
#: webmail/lib/imaputils.py:
|
|
3373
|
+
#: webmail/lib/imaputils.py:482
|
|
3373
3374
|
msgid "Drafts"
|
|
3374
3375
|
msgstr "Brouillons"
|
|
3375
3376
|
|
|
3376
|
-
#: webmail/lib/imaputils.py:
|
|
3377
|
+
#: webmail/lib/imaputils.py:487
|
|
3377
3378
|
msgid "Junk"
|
|
3378
3379
|
msgstr "Indésirables"
|
|
3379
3380
|
|
|
3380
|
-
#: webmail/lib/imaputils.py:
|
|
3381
|
+
#: webmail/lib/imaputils.py:492
|
|
3381
3382
|
msgid "Sent"
|
|
3382
3383
|
msgstr "Envoyés"
|
|
3383
3384
|
|
|
3384
|
-
#: webmail/lib/imaputils.py:
|
|
3385
|
+
#: webmail/lib/imaputils.py:500
|
|
3386
|
+
msgid "Scheduled"
|
|
3387
|
+
msgstr "Planifiés"
|
|
3388
|
+
|
|
3389
|
+
#: webmail/lib/imaputils.py:507
|
|
3385
3390
|
msgid "Trash"
|
|
3386
3391
|
msgstr "Corbeille"
|
|
3387
3392
|
|
|
3388
|
-
#: webmail/
|
|
3393
|
+
#: webmail/serializers.py:220
|
|
3394
|
+
msgid "Moving scheduled messages is forbidden"
|
|
3395
|
+
msgstr "Déplacer des messages planifiés n'est pas autorisé"
|
|
3396
|
+
|
|
3397
|
+
#: webmail/serializers.py:253
|
|
3398
|
+
msgid "Only datetime in the future is allowed"
|
|
3399
|
+
msgstr "Seule une date à venir est autorisée"
|
|
3400
|
+
|
|
3401
|
+
#: webmail/serializers.py:258
|
|
3402
|
+
msgid "Provived datetime must be one minute in the future at least"
|
|
3403
|
+
msgstr "La date fournie doit être au minimum une minute dans le futur"
|
|
3404
|
+
|
|
3405
|
+
#: webmail/viewsets.py:359
|
|
3389
3406
|
#, python-format
|
|
3390
3407
|
msgid "Attachment is too big (limit: %s)"
|
|
3391
3408
|
msgstr "La pièce jointe est trop grosse (limite : %s)"
|