modoboa 2.6.4__py3-none-any.whl → 2.7.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- modoboa/admin/api/v2/serializers.py +1 -0
- modoboa/admin/app_settings.py +12 -0
- modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
- modoboa/admin/jobs.py +86 -0
- modoboa/admin/management/commands/modo.py +0 -2
- modoboa/admin/tests/test_mailbox_operations.py +4 -4
- modoboa/admin/tests/test_mx.py +68 -56
- modoboa/amavis/jobs.py +11 -0
- modoboa/amavis/tests/test_jobs.py +18 -0
- modoboa/amavis/tests/test_viewsets.py +2 -3
- modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
- modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
- modoboa/autoconfig/tests.py +2 -1
- modoboa/autoconfig/views.py +11 -3
- modoboa/autoreply/models.py +4 -4
- modoboa/calendars/backends/caldav_.py +17 -13
- modoboa/calendars/jobs.py +7 -0
- modoboa/calendars/mocks.py +4 -1
- modoboa/calendars/serializers.py +14 -9
- modoboa/calendars/tests.py +10 -9
- modoboa/calendars/viewsets.py +3 -1
- modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
- modoboa/contacts/models.py +1 -0
- modoboa/contacts/serializers.py +5 -2
- modoboa/contacts/tasks.py +9 -3
- modoboa/contacts/tests.py +32 -6
- modoboa/contacts/viewsets.py +7 -1
- modoboa/core/api/v2/serializers.py +0 -7
- modoboa/core/api/v2/tests.py +0 -10
- modoboa/core/app_settings.py +0 -22
- modoboa/core/commands/deploy.py +13 -0
- modoboa/core/commands/templates/cron_config.py.tpl +33 -0
- modoboa/core/commands/templates/settings.py.tpl +21 -0
- modoboa/core/jobs.py +34 -0
- modoboa/core/management/commands/load_initial_data.py +1 -1
- modoboa/core/password_hashers/base.py +4 -1
- modoboa/core/tests/test_core.py +0 -14
- modoboa/core/tests/test_jobs.py +40 -0
- modoboa/frontend_dist/assets/{AccountAliasForm-tLHotdIR.js → AccountAliasForm-DO6DwfjE.js} +1 -1
- modoboa/frontend_dist/assets/{AccountEditView-DnQIIg47.js → AccountEditView-CCuN9mGB.js} +1 -1
- modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
- modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
- modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
- modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
- modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
- modoboa/frontend_dist/assets/{AliasEditView-n75NEN_s.js → AliasEditView-CTjrXYPf.js} +1 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
- modoboa/frontend_dist/assets/{AliasView-DFIvPeIm.js → AliasView-BN13MNN_.js} +1 -1
- modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
- modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
- modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
- modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
- modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
- modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
- modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
- modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
- modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
- modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
- modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
- modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
- modoboa/frontend_dist/assets/{DomainAdminList-BjtfbhRj.js → DomainAdminList-DD7p3i6F.js} +1 -1
- modoboa/frontend_dist/assets/{DomainEditView-Cq5Ea4RW.js → DomainEditView-DoIoNYC4.js} +1 -1
- modoboa/frontend_dist/assets/{DomainTransportForm-DAXJGNLA.js → DomainTransportForm-CbiJF9z5.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-BfpK7U14.js → DomainView-BXvznFYz.js} +3 -3
- modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
- modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
- modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
- modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
- modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
- modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
- modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-D753fIAJ.js → HtmlEditor-CyBl5wj2.js} +15 -15
- modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
- modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
- modoboa/frontend_dist/assets/{LoadingData-Tm56XNwj.js → LoadingData-C2txD49L.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-DjCHUgz5.js → LoginCallbackView-DAvty3CI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-D0r4XBEl.js → LoginView-DHYITkn4.js} +1 -1
- modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
- modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
- modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
- modoboa/frontend_dist/assets/{MessageView-BWh9BqzS.js → MessageView-CrrEJpNI.js} +1 -1
- modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
- modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
- modoboa/frontend_dist/assets/{ParametersForm-y02-GM0r.js → ParametersForm-DFKYkPAs.js} +1 -1
- modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
- modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
- modoboa/frontend_dist/assets/ProviderGeneralForm-DO-IpJMQ.js +1 -0
- modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
- modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
- modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
- modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
- modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
- modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
- modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
- modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
- modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
- modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
- modoboa/frontend_dist/assets/{VAlert-CNys_LUS.js → VAlert-MDbeolOo.js} +1 -1
- modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
- modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
- modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
- modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
- modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
- modoboa/frontend_dist/assets/{VCard-BoH6kjPa.js → VCard-CBtX8JF-.js} +1 -1
- modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
- modoboa/frontend_dist/assets/{VCheckboxBtn-Ccl786Rg.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
- modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
- modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
- modoboa/frontend_dist/assets/{VContainer-DKMcKasC.js → VContainer-Cn-vKB3s.js} +1 -1
- modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
- modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
- modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
- modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
- modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
- modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
- modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
- modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
- modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
- modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
- modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
- modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
- modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
- modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
- modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
- modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
- modoboa/frontend_dist/assets/{VRow-CuVZGqBj.js → VRow-83Qnr5iB.js} +1 -1
- modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
- modoboa/frontend_dist/assets/{VSelectionControl-uKY9Zull.js → VSelectionControl-Cqi1xt-q.js} +1 -1
- modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
- modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
- modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
- modoboa/frontend_dist/assets/{VTable-gDsAUSLX.js → VTable-f7wcr2AZ.js} +1 -1
- modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
- modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
- modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
- modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
- modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
- modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
- modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
- modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
- modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
- modoboa/frontend_dist/assets/{accounts-DqbBlaLK.js → accounts-KUsk6LHW.js} +1 -1
- modoboa/frontend_dist/assets/{admin-D36m_nXq.js → admin-BW9cZW0P.js} +1 -1
- modoboa/frontend_dist/assets/{aliases-BtyF8GC8.js → aliases-Ge0hjIsH.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-DySmsCJQ.js → amavis-BbFeFfsk.js} +1 -1
- modoboa/frontend_dist/assets/{amavis-B4QhM5Fa.js → amavis-DtuzP_CS.js} +1 -1
- modoboa/frontend_dist/assets/{contacts-Df8ptuMn.js → contacts-DMJlQTe0.js} +1 -1
- modoboa/frontend_dist/assets/{domains-CSxtTvUh.js → domains-Du64lcXT.js} +1 -1
- modoboa/frontend_dist/assets/domains.store-1U61jeCV.js +1 -0
- modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
- modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
- modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
- modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
- modoboa/frontend_dist/assets/{index-Bp9Fb67E.js → index-Dv00bmw9.js} +1 -1
- modoboa/frontend_dist/assets/index-jui3edpn.js +1001 -0
- modoboa/frontend_dist/assets/{language.store-_-zrrEiS.js → language.store-OcfdXL_-.js} +1 -1
- modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
- modoboa/frontend_dist/assets/{layout-CjSP_k58.js → layout-DOO7TRTJ.js} +1 -1
- modoboa/frontend_dist/assets/{layout.store-CF5WRevH.js → layout.store-C0g-piJn.js} +1 -1
- modoboa/frontend_dist/assets/{logos-95XYS6uH.js → logos-Dz2Gzei-.js} +1 -1
- modoboa/frontend_dist/assets/{logs-CyU_PIDh.js → logs-CLm32Weu.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-BxAXBXU1.js → parameters-DMIAQ7cd.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-CATOSoQZ.js → parameters.store-DLnFzCwV.js} +1 -1
- modoboa/frontend_dist/assets/{permissions-cSkGqV3M.js → permissions-CrpE0b4w.js} +1 -1
- modoboa/frontend_dist/assets/{ssrBoot-05WtbG6H.js → ssrBoot-B7cr7q9U.js} +1 -1
- modoboa/frontend_dist/assets/{tag-BmV84V2s.js → tag-WF93n81Q.js} +1 -1
- modoboa/frontend_dist/assets/{theme-myV4ekXo.js → theme-_0oOYChG.js} +1 -1
- modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
- modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
- modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
- modoboa/frontend_dist/index.html +2 -2
- modoboa/imap_migration/api/v2/serializers.py +13 -0
- modoboa/imap_migration/models.py +3 -3
- modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
- modoboa/imap_migration/tests.py +28 -0
- modoboa/lib/cryptutils.py +2 -2
- modoboa/lib/sysutils.py +1 -1
- modoboa/lib/tests/__init__.py +0 -1
- modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/br/LC_MESSAGES/django.po +753 -317
- modoboa/locale/cs/LC_MESSAGES/django.po +671 -309
- modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/cs_CZ/LC_MESSAGES/django.po +801 -378
- modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de/LC_MESSAGES/django.po +1116 -455
- modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de_DE/LC_MESSAGES/django.po +745 -318
- modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/el_GR/LC_MESSAGES/django.po +825 -393
- modoboa/locale/en/LC_MESSAGES/django.po +669 -309
- modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/es/LC_MESSAGES/django.po +810 -390
- modoboa/locale/es_MX/LC_MESSAGES/django.po +669 -309
- modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fi/LC_MESSAGES/django.po +756 -316
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +674 -313
- modoboa/locale/hu/LC_MESSAGES/django.po +669 -309
- modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/it/LC_MESSAGES/django.po +807 -380
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +951 -419
- modoboa/locale/ka/LC_MESSAGES/django.po +669 -309
- modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/nl_NL/LC_MESSAGES/django.po +807 -387
- modoboa/locale/no/LC_MESSAGES/django.po +669 -309
- modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pl_PL/LC_MESSAGES/django.po +826 -396
- modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_BR/LC_MESSAGES/django.po +830 -392
- modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_PT/LC_MESSAGES/django.po +788 -371
- modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ro_RO/LC_MESSAGES/django.po +763 -316
- modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ru/LC_MESSAGES/django.po +1336 -1046
- modoboa/locale/si/LC_MESSAGES/django.po +669 -309
- modoboa/locale/sk/LC_MESSAGES/django.po +671 -309
- modoboa/locale/sk_SK/LC_MESSAGES/django.po +671 -309
- modoboa/locale/sl_SI/LC_MESSAGES/django.po +695 -315
- modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/sv/LC_MESSAGES/django.po +819 -387
- modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr/LC_MESSAGES/django.po +737 -315
- modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/tr_TR/LC_MESSAGES/django.po +711 -310
- modoboa/locale/uk/LC_MESSAGES/django.po +671 -309
- modoboa/locale/zh/LC_MESSAGES/django.po +668 -309
- modoboa/locale/zh_CN/LC_MESSAGES/django.po +668 -309
- modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/zh_TW/LC_MESSAGES/django.po +747 -316
- modoboa/maillog/jobs.py +11 -0
- modoboa/maillog/tests/test_views.py +5 -4
- modoboa/parameters/api/v2/tests.py +1 -1
- modoboa/policyd/management/commands/policy_daemon.py +5 -1
- modoboa/policyd/tests.py +4 -2
- modoboa/rspamd/tests.py +20 -0
- modoboa/templates/registration/twofactor_code_verify.html +1 -1
- modoboa/webmail/app_settings.py +37 -0
- modoboa/webmail/constants.py +21 -1
- modoboa/webmail/factories.py +19 -0
- modoboa/webmail/jobs.py +27 -0
- modoboa/webmail/lib/__init__.py +0 -2
- modoboa/webmail/lib/imapemail.py +9 -11
- modoboa/webmail/lib/imapheader.py +25 -13
- modoboa/webmail/lib/imaputils.py +51 -13
- modoboa/webmail/lib/sendmail.py +88 -105
- modoboa/webmail/lib/utils.py +109 -0
- modoboa/webmail/migrations/0001_initial.py +90 -0
- modoboa/webmail/migrations/__init__.py +0 -0
- modoboa/webmail/mocks.py +12 -3
- modoboa/webmail/models.py +102 -0
- modoboa/webmail/serializers.py +84 -4
- modoboa/webmail/tests/data.py +21 -0
- modoboa/webmail/tests/test_lib_imaputils.py +33 -0
- modoboa/webmail/tests/test_viewsets.py +108 -0
- modoboa/webmail/urls.py +5 -0
- modoboa/webmail/viewsets.py +39 -9
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/RECORD +271 -254
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
- modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
- modoboa/core/management/commands/cleanlogs.py +0 -53
- modoboa/frontend_dist/assets/AccountLayout-B2HptJzY.js +0 -1
- modoboa/frontend_dist/assets/AccountPasswordSubForm-DpADntAL.js +0 -1
- modoboa/frontend_dist/assets/AccountView-CJBGh9Oe.js +0 -1
- modoboa/frontend_dist/assets/AddressBook-CrFqzlzZ.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-BbCt7YxX.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-CIlt_IKQ.js +0 -1
- modoboa/frontend_dist/assets/AliasRecipientForm-jjj5yJJw.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-sWnED3E9.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-DSCBIvef.js +0 -1
- modoboa/frontend_dist/assets/ChoiceField-RDT6XcnX.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-G3sXQAwI.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-Ce1CtFjD.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-Du7aqKbR.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-BHWaBAzH.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-CjtILq0_.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-DFNwusDZ.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-CYxLy-3Y.js +0 -1
- modoboa/frontend_dist/assets/EmailField-DmPc4pyP.js +0 -1
- modoboa/frontend_dist/assets/EmailView-BE3vYZtJ.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-DMwKNHfI.js +0 -1
- modoboa/frontend_dist/assets/FiltersView-Dps3_fAh.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-C0I00eXf.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-CoGBVhZx.js +0 -1
- modoboa/frontend_dist/assets/InformationView-eB2ayeLD.js +0 -1
- modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
- modoboa/frontend_dist/assets/MailboxView-DNokO2WZ.js +0 -5
- modoboa/frontend_dist/assets/MenuItems-dl38msRA.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-BZ7NUOwo.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-DcOVgmcH.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-B6abt-LH.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-v0YS6WU4.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-BaL9mKxJ.js +0 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-eoHMDO5v.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-Zu-G35u7.js +0 -1
- modoboa/frontend_dist/assets/QuarantineLayout-BHiiksnP.js +0 -1
- modoboa/frontend_dist/assets/QuarantineView-BOXSobRz.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-JmSiNWPy.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-D0YBapCG.js +0 -1
- modoboa/frontend_dist/assets/SelfServiceLayout-DUmQzUDk.js +0 -1
- modoboa/frontend_dist/assets/SettingsView-DIvKGRBY.css +0 -1
- modoboa/frontend_dist/assets/SettingsView-DMuaKagM.js +0 -6
- modoboa/frontend_dist/assets/StatisticsView-CyY_CNcI.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-BTDBH33K.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
- modoboa/frontend_dist/assets/UserLayout-DwxcQr4L.js +0 -1
- modoboa/frontend_dist/assets/VApp-B0vRc3-6.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-Huaz_-hf.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
- modoboa/frontend_dist/assets/VAvatar-JdJfoK0C.js +0 -1
- modoboa/frontend_dist/assets/VBadge-Cg5iu5LG.js +0 -1
- modoboa/frontend_dist/assets/VCheckbox-CCLOJFKF.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-452uc3tY.js +0 -1
- modoboa/frontend_dist/assets/VDataTable-BkLLfcQK.js +0 -1
- modoboa/frontend_dist/assets/VDataTableServer-B_6fWBA3.js +0 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-Ike7oqcC.js +0 -1
- modoboa/frontend_dist/assets/VDialog-DIUeAIpw.js +0 -1
- modoboa/frontend_dist/assets/VExpansionPanels-BeMgiS7A.js +0 -1
- modoboa/frontend_dist/assets/VFileInput-Dvj95FL5.js +0 -1
- modoboa/frontend_dist/assets/VForm-DkphQD3e.js +0 -1
- modoboa/frontend_dist/assets/VInput-CbqehdOu.js +0 -1
- modoboa/frontend_dist/assets/VMenu-B6SCtOwT.js +0 -1
- modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
- modoboa/frontend_dist/assets/VPicker-BUx70Wjg.js +0 -1
- modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
- modoboa/frontend_dist/assets/VProgressCircular-DTDGzl2O.js +0 -1
- modoboa/frontend_dist/assets/VRadioGroup-CS9ULZ1c.js +0 -1
- modoboa/frontend_dist/assets/VSelect-D5IXDPEX.js +0 -1
- modoboa/frontend_dist/assets/VSheet-HeHw6g5_.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-BUxSSJbH.js +0 -1
- modoboa/frontend_dist/assets/VSwitch-Dh_dserW.js +0 -1
- modoboa/frontend_dist/assets/VTabs-5XSICLQP.js +0 -1
- modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
- modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
- modoboa/frontend_dist/assets/VTextField-QXQFhKxm.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-Bdy4UKmV.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
- modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
- modoboa/frontend_dist/assets/VToolbar-CyrYSqJZ.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-kZpArwK1.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-CNUHODnw.js +0 -1
- modoboa/frontend_dist/assets/domains.store-D4ZqCQ-O.js +0 -1
- modoboa/frontend_dist/assets/filter-DHKXX97M.js +0 -1
- modoboa/frontend_dist/assets/global.store-DYMmGKpn.js +0 -1
- modoboa/frontend_dist/assets/importExport-C-adpHJX.js +0 -1
- modoboa/frontend_dist/assets/index-B1bntsLR.js +0 -995
- modoboa/frontend_dist/assets/languages-CxjoT69j.js +0 -1
- modoboa/frontend_dist/assets/transports-ChdHV5hX.js +0 -1
- modoboa/frontend_dist/assets/webmail-B7MNMkv_.js +0 -1
- modoboa/frontend_dist/assets/webmail.store-Cm-h6hhE.js +0 -1
- {modoboa-2.6.4.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
|
@@ -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
|
-
#: transport/backends.py:40
|
|
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
|
|
|
@@ -86,7 +85,7 @@ msgstr "Le domaine local {} n'existe pas"
|
|
|
86
85
|
msgid "A list of recipient"
|
|
87
86
|
msgstr "Une liste de destinataire"
|
|
88
87
|
|
|
89
|
-
#: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:
|
|
88
|
+
#: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
|
|
90
89
|
msgid "This alias already exists"
|
|
91
90
|
msgstr "Cet alias existe déjà"
|
|
92
91
|
|
|
@@ -119,47 +118,47 @@ 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
|
|
|
158
|
-
#: admin/api/v2/viewsets.py:
|
|
157
|
+
#: admin/api/v2/viewsets.py:95
|
|
159
158
|
msgid "You don't have access to this domain"
|
|
160
159
|
msgstr "Vous n'avez pas accès à ce domaine"
|
|
161
160
|
|
|
162
|
-
#: admin/api/v2/viewsets.py:
|
|
161
|
+
#: admin/api/v2/viewsets.py:98
|
|
163
162
|
msgid "You can't delete your own domain"
|
|
164
163
|
msgstr "Vous ne pouvez pas supprimer votre propre domaine"
|
|
165
164
|
|
|
@@ -243,114 +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
|
|
363
|
+
msgid "Aliases"
|
|
364
|
+
msgstr "Alias"
|
|
365
|
+
|
|
366
|
+
#: admin/app_settings.py:263
|
|
367
|
+
msgid "Alias can target any domain"
|
|
368
|
+
msgstr "Les alias peuvent cibler n'importe quel domaine"
|
|
369
|
+
|
|
370
|
+
#: admin/app_settings.py:265
|
|
371
|
+
msgid "Allow aliases to target any domain, not just the local domains."
|
|
372
|
+
msgstr "Autoriser les alias à cibler n'importe quel domaine, pas uniquement les domaines locaux."
|
|
373
|
+
|
|
374
|
+
#: admin/app_settings.py:272
|
|
375
|
+
msgid "Alias target block list"
|
|
376
|
+
msgstr "Cibles interdites pour les alias"
|
|
377
|
+
|
|
378
|
+
#: admin/app_settings.py:274
|
|
379
|
+
msgid "A list of domains that aliases cannot target (comma separated)."
|
|
380
|
+
msgstr "Une liste de domaines que les alias ne peuvent pas cibler (séparés par une virgule)."
|
|
381
|
+
|
|
382
|
+
#: admin/app_settings.py:282
|
|
383
|
+
msgid "Alias target allow list"
|
|
384
|
+
msgstr "Cibles autorisées pour les alias"
|
|
385
|
+
|
|
386
|
+
#: admin/app_settings.py:284
|
|
387
|
+
msgid "A list of domains that aliases can target (comma separated)."
|
|
388
|
+
msgstr "Une liste de domaines que les alias peuvent cibler (séparés par une virgule)."
|
|
389
|
+
|
|
390
|
+
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
|
|
354
391
|
msgid "Administration"
|
|
355
392
|
msgstr "Administration"
|
|
356
393
|
|
|
@@ -370,6 +407,35 @@ msgstr "Ouverte"
|
|
|
370
407
|
msgid "Closed"
|
|
371
408
|
msgstr "Fermée"
|
|
372
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
|
+
|
|
373
439
|
#: admin/handlers.py:179
|
|
374
440
|
msgid "domain alias"
|
|
375
441
|
msgstr "alias de domaine"
|
|
@@ -379,58 +445,54 @@ msgstr "alias de domaine"
|
|
|
379
445
|
msgid "Account import failed (%s): domain does not exist"
|
|
380
446
|
msgstr "L'import du compte a échoué (%s): le domaine n'existe pas"
|
|
381
447
|
|
|
382
|
-
#: admin/handlers.py:
|
|
383
|
-
msgid "Mailbox {} already exists"
|
|
384
|
-
msgstr "La boite {} existe déjà"
|
|
385
|
-
|
|
386
|
-
#: admin/handlers.py:251
|
|
448
|
+
#: admin/handlers.py:246
|
|
387
449
|
#, python-format
|
|
388
450
|
msgid "Account import failed (%s): wrong quota value"
|
|
389
451
|
msgstr "L'import du compte a échoué (%s): mauvais quota"
|
|
390
452
|
|
|
391
|
-
#: admin/lib.py:
|
|
453
|
+
#: admin/lib.py:126
|
|
392
454
|
msgid "You are not allowed to import domains"
|
|
393
455
|
msgstr "Vous n'êtes pas autorisé à importer des domaines"
|
|
394
456
|
|
|
395
|
-
#: admin/lib.py:
|
|
457
|
+
#: admin/lib.py:135
|
|
396
458
|
msgid "You are not allowed to import domain aliases."
|
|
397
459
|
msgstr "Vous n'êtes pas autorisé à importer des alias de domaine."
|
|
398
460
|
|
|
399
|
-
#: admin/lib.py:
|
|
400
|
-
#: 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
|
|
401
463
|
#, python-format
|
|
402
464
|
msgid "No DNS record found for %s"
|
|
403
465
|
msgstr "Aucun enregistrement DNS trouvé pour %s."
|
|
404
466
|
|
|
405
|
-
#: admin/lib.py:
|
|
467
|
+
#: admin/lib.py:230
|
|
406
468
|
#, python-format
|
|
407
469
|
msgid "No %(type)s record for %(name)s"
|
|
408
470
|
msgstr "Aucun enregistrement %(type)s trouvé pour %(name)s"
|
|
409
471
|
|
|
410
|
-
#: admin/lib.py:
|
|
472
|
+
#: admin/lib.py:234 admin/tests/test_mx.py:142
|
|
411
473
|
msgid "No working name servers found"
|
|
412
474
|
msgstr "Aucun serveur de noms fonctionnel trouvé"
|
|
413
475
|
|
|
414
|
-
#: admin/lib.py:
|
|
476
|
+
#: admin/lib.py:237 admin/tests/test_mx.py:146
|
|
415
477
|
#, python-format
|
|
416
478
|
msgid "DNS resolution timeout, unable to query %s at the moment"
|
|
417
479
|
msgstr "Timeout de résolution DNS, impossible de requêter %s pour l'instant"
|
|
418
480
|
|
|
419
|
-
#: admin/lib.py:
|
|
481
|
+
#: admin/lib.py:241
|
|
420
482
|
msgid "DNS name is too long: {}"
|
|
421
483
|
msgstr "Nom DNS trop long : {}"
|
|
422
484
|
|
|
423
|
-
#: admin/lib.py:
|
|
485
|
+
#: admin/lib.py:272
|
|
424
486
|
#, python-brace-format
|
|
425
487
|
msgid "Invalid IP address format for {domain}; {addr}"
|
|
426
488
|
msgstr "Format d'adresse IP incorrect pour {domain}; {addr}"
|
|
427
489
|
|
|
428
|
-
#: admin/lib.py:
|
|
490
|
+
#: admin/lib.py:365
|
|
429
491
|
#, python-format
|
|
430
492
|
msgid "Object already exists: %s"
|
|
431
493
|
msgstr "L'objet existe déjà : %s"
|
|
432
494
|
|
|
433
|
-
#: admin/lib.py:
|
|
495
|
+
#: admin/lib.py:369
|
|
434
496
|
#, python-format
|
|
435
497
|
msgid "%d objects imported successfully"
|
|
436
498
|
msgstr "%d objets importés avec succès"
|
|
@@ -463,77 +525,52 @@ msgstr "Echec lors de la génération de la clé privée DKIM"
|
|
|
463
525
|
msgid "Failed to generate DKIM public key"
|
|
464
526
|
msgstr "Echec lors de la génération de la clé publique DKIM"
|
|
465
527
|
|
|
466
|
-
#: admin/
|
|
467
|
-
msgid "MX {} listed by DNSBL provider {}"
|
|
468
|
-
msgstr "Le MX {} est listé par le fournisseur de DNSBL {}"
|
|
469
|
-
|
|
470
|
-
#: admin/management/commands/subcommands/_mx.py:174
|
|
471
|
-
msgid "Domain has no MX record"
|
|
472
|
-
msgstr "Le domaine n'a pas d'enregistrement MX"
|
|
473
|
-
|
|
474
|
-
#: admin/management/commands/subcommands/_mx.py:177
|
|
475
|
-
msgid "Domain {} has no MX record"
|
|
476
|
-
msgstr "Le domaine {} n'a pas d'enregistrement MX"
|
|
477
|
-
|
|
478
|
-
#: admin/management/commands/subcommands/_mx.py:195
|
|
479
|
-
msgid "Invalid MX record: {}"
|
|
480
|
-
msgstr "Enregistrement MX incorrect : {}"
|
|
481
|
-
|
|
482
|
-
#: admin/management/commands/subcommands/_mx.py:202
|
|
483
|
-
#, python-brace-format
|
|
484
|
-
msgid "MX record for domain {0} is invalid: {1}"
|
|
485
|
-
msgstr "Enregistrement MX invalide pour le domaine {0} : {1}"
|
|
486
|
-
|
|
487
|
-
#: admin/management/commands/subcommands/_mx.py:213
|
|
488
|
-
msgid "[modoboa] MX issue(s) for domain {}"
|
|
489
|
-
msgstr "[modoboa] problème(s) de MX pour le domaine {}"
|
|
490
|
-
|
|
491
|
-
#: admin/management/commands/subcommands/_mx.py:269
|
|
492
|
-
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
493
|
-
msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}"
|
|
494
|
-
|
|
495
|
-
#: admin/models/alias.py:42
|
|
528
|
+
#: admin/models/alias.py:43
|
|
496
529
|
msgid "Domain not found."
|
|
497
530
|
msgstr "Domaine introuvable."
|
|
498
531
|
|
|
499
|
-
#: admin/models/alias.py:
|
|
532
|
+
#: admin/models/alias.py:117 admin/models/mailbox.py:85
|
|
500
533
|
msgid "address"
|
|
501
534
|
msgstr "Adresse"
|
|
502
535
|
|
|
503
|
-
#: admin/models/alias.py:
|
|
536
|
+
#: admin/models/alias.py:119
|
|
504
537
|
msgid "The alias address."
|
|
505
538
|
msgstr "L'adresse de l'alias"
|
|
506
539
|
|
|
507
|
-
#: admin/models/alias.py:
|
|
540
|
+
#: admin/models/alias.py:123 admin/models/domain.py:45
|
|
508
541
|
#: admin/models/domain_alias.py:45 autoreply/models.py:25
|
|
509
542
|
msgid "enabled"
|
|
510
543
|
msgstr "Activé"
|
|
511
544
|
|
|
512
|
-
#: admin/models/alias.py:
|
|
545
|
+
#: admin/models/alias.py:124 admin/models/domain_alias.py:46
|
|
513
546
|
msgid "Check to activate this alias"
|
|
514
547
|
msgstr "Cocher pour activer cet alias"
|
|
515
548
|
|
|
516
|
-
#: admin/models/alias.py:
|
|
549
|
+
#: admin/models/alias.py:128
|
|
517
550
|
msgid "Description"
|
|
518
551
|
msgstr "Description"
|
|
519
552
|
|
|
520
|
-
#: admin/models/alias.py:
|
|
553
|
+
#: admin/models/alias.py:129
|
|
521
554
|
msgid "Expire at"
|
|
522
555
|
msgstr "Expire le"
|
|
523
556
|
|
|
524
|
-
#: admin/models/alias.py:
|
|
557
|
+
#: admin/models/alias.py:170
|
|
525
558
|
msgid "alias"
|
|
526
559
|
msgstr "alias"
|
|
527
560
|
|
|
528
|
-
#: admin/models/alias.py:
|
|
561
|
+
#: admin/models/alias.py:203
|
|
529
562
|
msgid "Invalid address"
|
|
530
563
|
msgstr "Adresse invalide"
|
|
531
564
|
|
|
532
|
-
#: admin/models/alias.py:
|
|
565
|
+
#: admin/models/alias.py:206
|
|
566
|
+
msgid "Target domain not allowed"
|
|
567
|
+
msgstr "Domaine cible non autorisé"
|
|
568
|
+
|
|
569
|
+
#: admin/models/alias.py:224
|
|
533
570
|
msgid "Local recipient {}@{} not found"
|
|
534
571
|
msgstr "Destinataire local {}@{} introuvable"
|
|
535
572
|
|
|
536
|
-
#: admin/models/alias.py:
|
|
573
|
+
#: admin/models/alias.py:273
|
|
537
574
|
msgid "Invalid line: {}"
|
|
538
575
|
msgstr "Ligne incorrecte : {}"
|
|
539
576
|
|
|
@@ -641,6 +678,10 @@ msgstr "{} : quota du domaine dépassé"
|
|
|
641
678
|
msgid "Domain does not exist"
|
|
642
679
|
msgstr "Domaine inexistant"
|
|
643
680
|
|
|
681
|
+
#: admin/models/mailbox.py:342
|
|
682
|
+
msgid "Mailbox {} already exists"
|
|
683
|
+
msgstr "La boite {} existe déjà"
|
|
684
|
+
|
|
644
685
|
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
|
|
645
686
|
#, python-format
|
|
646
687
|
msgid ""
|
|
@@ -660,21 +701,333 @@ msgstr "La réputation de ce domaine sera affectée et il est probable que les e
|
|
|
660
701
|
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
|
|
661
702
|
msgstr "Modoboa a détecté que le domain %(domain)s n'a aucun enregistrement MX valide :"
|
|
662
703
|
|
|
663
|
-
#: admin/tests/test_mx.py:
|
|
704
|
+
#: admin/tests/test_mx.py:141
|
|
664
705
|
#, python-format
|
|
665
706
|
msgid "No MX record for %s"
|
|
666
707
|
msgstr "Aucun enregistrement MX trouvé pour %s"
|
|
667
708
|
|
|
668
|
-
#: admin/tests/test_mx.py:
|
|
709
|
+
#: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
|
|
669
710
|
#, python-format
|
|
670
711
|
msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
671
712
|
msgstr "Format d'adresse IP incorrect pour %(domain)s; %(addr)s"
|
|
672
713
|
|
|
673
|
-
#: admin/tests/test_mx.py:
|
|
714
|
+
#: admin/tests/test_mx.py:185
|
|
674
715
|
#, python-format
|
|
675
716
|
msgid "No AAAA record for %s"
|
|
676
717
|
msgstr "Aucun enregistrement AAAA trouvé pour %s"
|
|
677
718
|
|
|
719
|
+
#: amavis/app_settings.py:11
|
|
720
|
+
msgid "Amavis settings"
|
|
721
|
+
msgstr "Paramètres Amavis"
|
|
722
|
+
|
|
723
|
+
#: amavis/app_settings.py:17
|
|
724
|
+
msgid "Localpart is case sensitive"
|
|
725
|
+
msgstr "La phrase est sensible à la casse"
|
|
726
|
+
|
|
727
|
+
#: amavis/app_settings.py:19
|
|
728
|
+
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
|
|
729
|
+
msgstr "La valeur doit correspondre à la variable $localpart_is_case_sensitive dans amavisd.conf"
|
|
730
|
+
|
|
731
|
+
#: amavis/app_settings.py:27
|
|
732
|
+
msgid "Recipient delimiter"
|
|
733
|
+
msgstr "Séparateur de destinataire"
|
|
734
|
+
|
|
735
|
+
#: amavis/app_settings.py:29
|
|
736
|
+
msgid "Value should match amavisd.conf variable $recipient_delimiter"
|
|
737
|
+
msgstr "La valeur doit correspondre à la variable $recipient_delimiter de amavisd.conf"
|
|
738
|
+
|
|
739
|
+
#: amavis/app_settings.py:41
|
|
740
|
+
msgid "Quarantine settings"
|
|
741
|
+
msgstr "Paramètres de quarantaine"
|
|
742
|
+
|
|
743
|
+
#: amavis/app_settings.py:47
|
|
744
|
+
msgid "Maximum message age"
|
|
745
|
+
msgstr "Age maximal des messages"
|
|
746
|
+
|
|
747
|
+
#: amavis/app_settings.py:49
|
|
748
|
+
msgid "Quarantine messages maximum age (in days) before deletion"
|
|
749
|
+
msgstr "Age maximum (en jours) des messages en quarantaine avant suppression"
|
|
750
|
+
|
|
751
|
+
#: amavis/app_settings.py:60
|
|
752
|
+
msgid "Message releasing"
|
|
753
|
+
msgstr "Libération de message"
|
|
754
|
+
|
|
755
|
+
#: amavis/app_settings.py:66
|
|
756
|
+
msgid "Remove released messages"
|
|
757
|
+
msgstr "Supprimer les messages libérés"
|
|
758
|
+
|
|
759
|
+
#: amavis/app_settings.py:68
|
|
760
|
+
msgid "Remove messages marked as released while cleaning up the database"
|
|
761
|
+
msgstr "Supprimer les messages marqués comme relâchés pendant le nettoyage de la base de données"
|
|
762
|
+
|
|
763
|
+
#: amavis/app_settings.py:76
|
|
764
|
+
msgid "Amavis connection mode"
|
|
765
|
+
msgstr "Mode de connexion à Amavis"
|
|
766
|
+
|
|
767
|
+
#: amavis/app_settings.py:78
|
|
768
|
+
msgid "Mode used to access the PDP server"
|
|
769
|
+
msgstr "Mode utilisé pour accéder au serveur PDP"
|
|
770
|
+
|
|
771
|
+
#: amavis/app_settings.py:85
|
|
772
|
+
msgid "PDP server address"
|
|
773
|
+
msgstr "Adresse du serveur PDP"
|
|
774
|
+
|
|
775
|
+
#: amavis/app_settings.py:87
|
|
776
|
+
msgid "PDP server address (if inet mode)"
|
|
777
|
+
msgstr "Adresse du serveur PDP (en mode inet)"
|
|
778
|
+
|
|
779
|
+
#: amavis/app_settings.py:95
|
|
780
|
+
msgid "PDP server port"
|
|
781
|
+
msgstr "Port du serveur PDP"
|
|
782
|
+
|
|
783
|
+
#: amavis/app_settings.py:97
|
|
784
|
+
msgid "PDP server port (if inet mode)"
|
|
785
|
+
msgstr "Port du serveur PDP (en mode inet)"
|
|
786
|
+
|
|
787
|
+
#: amavis/app_settings.py:105
|
|
788
|
+
msgid "PDP server socket"
|
|
789
|
+
msgstr "Socket du serveur PDP"
|
|
790
|
+
|
|
791
|
+
#: amavis/app_settings.py:107
|
|
792
|
+
msgid "Path to the PDP server socket (if unix mode)"
|
|
793
|
+
msgstr "Emplacement de la socket du serveur PDP (en mode unix)"
|
|
794
|
+
|
|
795
|
+
#: amavis/app_settings.py:115
|
|
796
|
+
msgid "Allow direct release"
|
|
797
|
+
msgstr "Autoriser la libération directe"
|
|
798
|
+
|
|
799
|
+
#: amavis/app_settings.py:117
|
|
800
|
+
msgid "Allow users to directly release their messages"
|
|
801
|
+
msgstr "Autoriser les utilisateurs à relâcher directement leurs messages"
|
|
802
|
+
|
|
803
|
+
#: amavis/app_settings.py:124
|
|
804
|
+
msgid "Enable self-service mode"
|
|
805
|
+
msgstr "Activer le mode 'libre service'"
|
|
806
|
+
|
|
807
|
+
#: amavis/app_settings.py:126
|
|
808
|
+
msgid "Activate the 'self-service' mode"
|
|
809
|
+
msgstr "Activer le mode 'libre service'"
|
|
810
|
+
|
|
811
|
+
#: amavis/app_settings.py:133
|
|
812
|
+
msgid "Notifications sender"
|
|
813
|
+
msgstr "Emetteur des notifications"
|
|
814
|
+
|
|
815
|
+
#: amavis/app_settings.py:135
|
|
816
|
+
msgid "The e-mail address used to send notitications"
|
|
817
|
+
msgstr "L'adresse e-mail utilisée pour envoyer les notifications"
|
|
818
|
+
|
|
819
|
+
#: amavis/app_settings.py:146
|
|
820
|
+
msgid "Manual learning"
|
|
821
|
+
msgstr "Apprentissage manuel"
|
|
822
|
+
|
|
823
|
+
#: amavis/app_settings.py:152
|
|
824
|
+
msgid "Enable manual learning"
|
|
825
|
+
msgstr "Activer l'apprentissage manuel"
|
|
826
|
+
|
|
827
|
+
#: amavis/app_settings.py:154
|
|
828
|
+
msgid "Allow super administrators to manually train Spamassassin"
|
|
829
|
+
msgstr "Autorise les super administrateurs à entrainer manuellement Spamassassin"
|
|
830
|
+
|
|
831
|
+
#: amavis/app_settings.py:161
|
|
832
|
+
msgid "Is Spamassassin local?"
|
|
833
|
+
msgstr "Spamassassin est il local?"
|
|
834
|
+
|
|
835
|
+
#: amavis/app_settings.py:163
|
|
836
|
+
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
|
837
|
+
msgstr "Indique si Spamassassin tourne sur le même serveur que Modoboa"
|
|
838
|
+
|
|
839
|
+
#: amavis/app_settings.py:171
|
|
840
|
+
msgid "Default user"
|
|
841
|
+
msgstr "Utilisateur par défaut"
|
|
842
|
+
|
|
843
|
+
#: amavis/app_settings.py:173
|
|
844
|
+
msgid "Name of the user owning the default bayesian database"
|
|
845
|
+
msgstr "Nom de l'utilisateur possédant la base bayesienne par défaut"
|
|
846
|
+
|
|
847
|
+
#: amavis/app_settings.py:181
|
|
848
|
+
msgid "Spamd address"
|
|
849
|
+
msgstr "Adresse de spamd"
|
|
850
|
+
|
|
851
|
+
#: amavis/app_settings.py:183
|
|
852
|
+
msgid "The IP address where spamd can be reached"
|
|
853
|
+
msgstr "L'adresse IP à laquelle spamd peut etre joint"
|
|
854
|
+
|
|
855
|
+
#: amavis/app_settings.py:191
|
|
856
|
+
msgid "Spamd port"
|
|
857
|
+
msgstr "Port de spamd"
|
|
858
|
+
|
|
859
|
+
#: amavis/app_settings.py:193
|
|
860
|
+
msgid "The TCP port spamd is listening on"
|
|
861
|
+
msgstr "Le port TCP sur lequel écoute spamd"
|
|
862
|
+
|
|
863
|
+
#: amavis/app_settings.py:202
|
|
864
|
+
msgid "Enable per-domain manual learning"
|
|
865
|
+
msgstr "Activer l'apprentissage manuel niveau domaine"
|
|
866
|
+
|
|
867
|
+
#: amavis/app_settings.py:205
|
|
868
|
+
msgid ""
|
|
869
|
+
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
|
870
|
+
"domain databases)"
|
|
871
|
+
msgstr "Autorise les administrateurs de domaine à entrainer Spamassassin (au sein de bases dédiées par domaine)"
|
|
872
|
+
|
|
873
|
+
#: amavis/app_settings.py:215
|
|
874
|
+
msgid "Enable per-user manual learning"
|
|
875
|
+
msgstr "Activer l'apprentissage manuel par utilisateur"
|
|
876
|
+
|
|
877
|
+
#: amavis/app_settings.py:218
|
|
878
|
+
msgid ""
|
|
879
|
+
"Allow simple users to personally train Spamassassin (within a dedicated "
|
|
880
|
+
"database)"
|
|
881
|
+
msgstr "Autorise les utilisateur à entrainer personnellement Spamassassin (au sein d'une base dédiée)"
|
|
882
|
+
|
|
883
|
+
#: amavis/app_settings.py:236 webmail/app_settings.py:155
|
|
884
|
+
msgid "Display"
|
|
885
|
+
msgstr "Affichage"
|
|
886
|
+
|
|
887
|
+
#: amavis/app_settings.py:243 webmail/app_settings.py:181
|
|
888
|
+
msgid "Number of displayed emails per page"
|
|
889
|
+
msgstr "Nombre de messages affichés par page"
|
|
890
|
+
|
|
891
|
+
#: amavis/app_settings.py:246
|
|
892
|
+
msgid "Set the maximum number of messages displayed in a page"
|
|
893
|
+
msgstr "Définir le nombre maximal de messages affichés dans une page"
|
|
894
|
+
|
|
895
|
+
#: amavis/app_settings.py:266 amavis/app_settings.py:273
|
|
896
|
+
msgid "Amavis"
|
|
897
|
+
msgstr "Amavis"
|
|
898
|
+
|
|
899
|
+
#: amavis/checks/settings_checks.py:8
|
|
900
|
+
msgid ""
|
|
901
|
+
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
|
|
902
|
+
"by the Amavis database."
|
|
903
|
+
msgstr "AMAVIS_DEFAULT_DATABASE_ENCODING ne correspond pas à l'encodage de caractère utilisé par la base de données Amavis."
|
|
904
|
+
|
|
905
|
+
#: amavis/checks/settings_checks.py:12
|
|
906
|
+
msgid ""
|
|
907
|
+
"Check your database character encoding and set/update "
|
|
908
|
+
"AMAVIS_DEFAULT_DATABASE_ENCODING."
|
|
909
|
+
msgstr "Vérifiez l'encodage de caractère utilisé par votre base de données et renseignez / mettez à jour AMAVIS_DEFAULT_DATABASE_ENCODING."
|
|
910
|
+
|
|
911
|
+
#: amavis/checks/settings_checks.py:19
|
|
912
|
+
msgid "Modoboa Amavis has not been tested using the selected database engine."
|
|
913
|
+
msgstr "Modoboa Amavis n'a pas été testé avec le moteur de base de données selectionné."
|
|
914
|
+
|
|
915
|
+
#: amavis/checks/settings_checks.py:20
|
|
916
|
+
msgid "Try using PostgreSQL, MySQL or MariaDB."
|
|
917
|
+
msgstr "Essayez avec PostgreSQL, MySQL ou MariaDB."
|
|
918
|
+
|
|
919
|
+
#: amavis/handlers.py:141
|
|
920
|
+
msgid "Pending requests"
|
|
921
|
+
msgstr "Requêtes en attente"
|
|
922
|
+
|
|
923
|
+
#: amavis/lib.py:59
|
|
924
|
+
#, python-format
|
|
925
|
+
msgid "Connection to amavis failed: %s"
|
|
926
|
+
msgstr "La connexion avec amavis a échoué : %s"
|
|
927
|
+
|
|
928
|
+
#: amavis/lib.py:133
|
|
929
|
+
msgid "Failed to find {} binary"
|
|
930
|
+
msgstr "Impossible de trouver le binaire {}"
|
|
931
|
+
|
|
932
|
+
#: amavis/lib.py:148
|
|
933
|
+
msgid "No recipient found"
|
|
934
|
+
msgstr "Aucun destinataire trouvé"
|
|
935
|
+
|
|
936
|
+
#: amavis/lib.py:159
|
|
937
|
+
msgid "Local domain not found"
|
|
938
|
+
msgstr "Domaine local non trouvé"
|
|
939
|
+
|
|
940
|
+
#: amavis/management/commands/amnotify.py:59
|
|
941
|
+
msgid "[modoboa] Pending release requests"
|
|
942
|
+
msgstr "[modoboa] requêtes de libération en attente"
|
|
943
|
+
|
|
944
|
+
#: amavis/models.py:101
|
|
945
|
+
msgid "Virus filter"
|
|
946
|
+
msgstr "Filtrage des virus"
|
|
947
|
+
|
|
948
|
+
#: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
|
|
949
|
+
msgid "yes"
|
|
950
|
+
msgstr "oui"
|
|
951
|
+
|
|
952
|
+
#: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
|
|
953
|
+
msgid "no"
|
|
954
|
+
msgstr "non"
|
|
955
|
+
|
|
956
|
+
#: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
|
|
957
|
+
msgid "default"
|
|
958
|
+
msgstr "défaut"
|
|
959
|
+
|
|
960
|
+
#: amavis/models.py:111
|
|
961
|
+
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
|
|
962
|
+
msgstr "Désactiver le filtrage des virus ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
|
|
963
|
+
|
|
964
|
+
#: amavis/models.py:115
|
|
965
|
+
msgid "Spam filter"
|
|
966
|
+
msgstr "Filtrage du spam"
|
|
967
|
+
|
|
968
|
+
#: amavis/models.py:125
|
|
969
|
+
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
|
|
970
|
+
msgstr "Désactiver le filtrage du spam ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
|
|
971
|
+
|
|
972
|
+
#: amavis/models.py:129
|
|
973
|
+
msgid "Banned filter"
|
|
974
|
+
msgstr "Filtrage des messages bannis"
|
|
975
|
+
|
|
976
|
+
#: amavis/models.py:139
|
|
977
|
+
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
|
|
978
|
+
msgstr "Désactiver le filtrage des messages bannis ou non. Choisir 'défaut' pour utiliser les paramètres globaux."
|
|
979
|
+
|
|
980
|
+
#: amavis/models.py:170
|
|
981
|
+
msgid "Spam marker"
|
|
982
|
+
msgstr "Marquage du spam"
|
|
983
|
+
|
|
984
|
+
#: amavis/models.py:176
|
|
985
|
+
msgid ""
|
|
986
|
+
"Modify spam subject using the specified text. Choose 'default' to use global"
|
|
987
|
+
" settings."
|
|
988
|
+
msgstr "Modifier le sujet du spam en utilisant le texte spécifié. Choisir 'défaut' pour utiliser les paramètres globaux."
|
|
989
|
+
|
|
990
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:3
|
|
991
|
+
#, python-format
|
|
992
|
+
msgid "%(counter)s release request is pending for action."
|
|
993
|
+
msgid_plural "%(counter)s release requests are pending for action."
|
|
994
|
+
msgstr[0] "%(counter)s demande de déblocage est en attente d'une action"
|
|
995
|
+
msgstr[1] "%(counter)s demandes de déblocage sont en attente d'une action"
|
|
996
|
+
msgstr[2] "%(counter)s demandes de déblocage sont en attente d'une action"
|
|
997
|
+
|
|
998
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:8
|
|
999
|
+
msgid "Sketch:"
|
|
1000
|
+
msgstr "Aperçu :"
|
|
1001
|
+
|
|
1002
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:10
|
|
1003
|
+
msgid "From:"
|
|
1004
|
+
msgstr "De :"
|
|
1005
|
+
|
|
1006
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:11
|
|
1007
|
+
msgid "To:"
|
|
1008
|
+
msgstr "A :"
|
|
1009
|
+
|
|
1010
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:12
|
|
1011
|
+
msgid "Date:"
|
|
1012
|
+
msgstr "Date :"
|
|
1013
|
+
|
|
1014
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:13
|
|
1015
|
+
msgid "Subject:"
|
|
1016
|
+
msgstr "Sujet :"
|
|
1017
|
+
|
|
1018
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:14
|
|
1019
|
+
msgid "Act on this message:"
|
|
1020
|
+
msgstr "Agir sur ce message :"
|
|
1021
|
+
|
|
1022
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:16
|
|
1023
|
+
#, python-format
|
|
1024
|
+
msgid "Please visit %(listingurl)s for a full listing."
|
|
1025
|
+
msgstr "Veuillez visiter %(listingurl)s pour une liste complète."
|
|
1026
|
+
|
|
1027
|
+
#: amavis/viewsets.py:122
|
|
1028
|
+
msgid "Invalid request"
|
|
1029
|
+
msgstr "Requête invalide"
|
|
1030
|
+
|
|
678
1031
|
#: autoreply/api/v2/serializers.py:27
|
|
679
1032
|
msgid "Value can't be less than 1 day"
|
|
680
1033
|
msgstr "La valeur ne peut pas être inférieure à 1 jour"
|
|
@@ -775,7 +1128,7 @@ msgstr "Autoriser l'administration des calendriers"
|
|
|
775
1128
|
msgid "Allow domain administrators to manage user calendars (read and write)"
|
|
776
1129
|
msgstr "Autoriser les administrateurs de domaine à gérer les calendriers des utilisateurs (lecture et écriture)"
|
|
777
1130
|
|
|
778
|
-
#: calendars/app_settings.py:60 core/app_settings.py:
|
|
1131
|
+
#: calendars/app_settings.py:60 core/app_settings.py:664
|
|
779
1132
|
#: rspamd/app_settings.py:45
|
|
780
1133
|
msgid "Miscellaneous"
|
|
781
1134
|
msgstr "Divers"
|
|
@@ -789,15 +1142,15 @@ msgid ""
|
|
|
789
1142
|
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
|
|
790
1143
|
msgstr "Taille maximale en octets des fichiers ICS importés (ou KB, MB, GB si précisé)"
|
|
791
1144
|
|
|
792
|
-
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:
|
|
1145
|
+
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
|
|
793
1146
|
msgid "Calendars"
|
|
794
1147
|
msgstr "Calendriers"
|
|
795
1148
|
|
|
796
|
-
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:
|
|
1149
|
+
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
|
|
797
1150
|
msgid "Server location is not set, please fix it."
|
|
798
1151
|
msgstr "L'emplacement du serveur n'est pas renseigné, veuillez corriger"
|
|
799
1152
|
|
|
800
|
-
#: calendars/viewsets.py:
|
|
1153
|
+
#: calendars/viewsets.py:199
|
|
801
1154
|
msgid "Uploaded file is too big (max: {} bytes)"
|
|
802
1155
|
msgstr "Le fichier téléchargé est trop gros (max : {} octets)"
|
|
803
1156
|
|
|
@@ -823,7 +1176,7 @@ msgstr "Fréquence de synchronisation"
|
|
|
823
1176
|
msgid "Interval in seconds between 2 synchronization requests"
|
|
824
1177
|
msgstr "Intervalle en secondes entre 2 requêtes de synchronisation"
|
|
825
1178
|
|
|
826
|
-
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:
|
|
1179
|
+
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
|
|
827
1180
|
msgid "Contacts"
|
|
828
1181
|
msgstr "Contacts"
|
|
829
1182
|
|
|
@@ -871,12 +1224,12 @@ msgstr "Code PIN non valide"
|
|
|
871
1224
|
msgid "2FA is already enabled"
|
|
872
1225
|
msgstr "2FA est déjà activf"
|
|
873
1226
|
|
|
874
|
-
#: core/api/v1/serializers.py:
|
|
1227
|
+
#: core/api/v1/serializers.py:87
|
|
875
1228
|
#, python-format
|
|
876
1229
|
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
877
1230
|
msgstr "Echec de modification des paramètres TFA depuis '%(addr)s' en tant qu'utilisateur '%(user)s'"
|
|
878
1231
|
|
|
879
|
-
#: core/api/v1/serializers.py:
|
|
1232
|
+
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
|
|
880
1233
|
msgid "Invalid password"
|
|
881
1234
|
msgstr "Mot de passe incorrect"
|
|
882
1235
|
|
|
@@ -888,25 +1241,21 @@ msgstr "Authentification 2 facteurs non activée"
|
|
|
888
1241
|
msgid "Local"
|
|
889
1242
|
msgstr "Locale"
|
|
890
1243
|
|
|
891
|
-
#: core/api/v2/serializers.py:
|
|
892
|
-
|
|
893
|
-
msgstr "Profil utilisateur"
|
|
894
|
-
|
|
895
|
-
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
896
|
-
#: 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
|
|
897
1246
|
msgid "Invalid syntax"
|
|
898
1247
|
msgstr "Syntaxe invalide"
|
|
899
1248
|
|
|
900
|
-
#: core/api/v2/serializers.py:
|
|
1249
|
+
#: core/api/v2/serializers.py:226
|
|
901
1250
|
msgid "Invalid rounds number"
|
|
902
1251
|
msgstr "Nombre invalide de tours"
|
|
903
1252
|
|
|
904
|
-
#: core/api/v2/serializers.py:
|
|
1253
|
+
#: core/api/v2/serializers.py:426 core/forms.py:81
|
|
905
1254
|
msgid "This code is invalid"
|
|
906
1255
|
msgstr "Ce code n'est pas valide"
|
|
907
1256
|
|
|
908
|
-
#: core/api/v2/serializers.py:
|
|
909
|
-
#: core/views/auth.py:
|
|
1257
|
+
#: core/api/v2/serializers.py:496 core/views/auth.py:213
|
|
1258
|
+
#: core/views/auth.py:266
|
|
910
1259
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
911
1260
|
msgstr "Veuillez utiliser le code suivant pour récupérer votre mot de passe Modoboa : {}"
|
|
912
1261
|
|
|
@@ -914,534 +1263,534 @@ msgstr "Veuillez utiliser le code suivant pour récupérer votre mot de passe Mo
|
|
|
914
1263
|
msgid "Administration console"
|
|
915
1264
|
msgstr "Interface d'administration"
|
|
916
1265
|
|
|
917
|
-
#: core/api/v2/viewsets.py:
|
|
1266
|
+
#: core/api/v2/viewsets.py:184 dmarc/models.py:11
|
|
1267
|
+
msgid "Quarantine"
|
|
1268
|
+
msgstr "Quarantaine"
|
|
1269
|
+
|
|
1270
|
+
#: core/api/v2/viewsets.py:186
|
|
1271
|
+
msgid "Amavis quarantine"
|
|
1272
|
+
msgstr "Quarantaine amavis"
|
|
1273
|
+
|
|
1274
|
+
#: core/api/v2/viewsets.py:197
|
|
918
1275
|
msgid "Address book"
|
|
919
1276
|
msgstr "Carnet d'adresse"
|
|
920
1277
|
|
|
921
|
-
#: core/api/v2/viewsets.py:
|
|
1278
|
+
#: core/api/v2/viewsets.py:207
|
|
922
1279
|
msgid "Calendar"
|
|
923
1280
|
msgstr "Calendrier"
|
|
924
1281
|
|
|
925
|
-
#: core/api/v2/viewsets.py:
|
|
926
|
-
#: webmail/app_settings.py:
|
|
1282
|
+
#: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
|
|
1283
|
+
#: webmail/app_settings.py:295 webmail/app_settings.py:302
|
|
927
1284
|
msgid "Webmail"
|
|
928
1285
|
msgstr "Webmail"
|
|
929
1286
|
|
|
930
|
-
#: core/app_settings.py:
|
|
1287
|
+
#: core/app_settings.py:25
|
|
931
1288
|
msgid "Authentication"
|
|
932
1289
|
msgstr "Authentification"
|
|
933
1290
|
|
|
934
|
-
#: core/app_settings.py:
|
|
1291
|
+
#: core/app_settings.py:31
|
|
935
1292
|
msgid "Authentication type"
|
|
936
1293
|
msgstr "Type d'authentification"
|
|
937
1294
|
|
|
938
|
-
#: core/app_settings.py:
|
|
1295
|
+
#: core/app_settings.py:33
|
|
939
1296
|
msgid "The backend used for authentication"
|
|
940
1297
|
msgstr "Le backend utilisé pour l'authentification"
|
|
941
1298
|
|
|
942
|
-
#: core/app_settings.py:
|
|
1299
|
+
#: core/app_settings.py:40
|
|
943
1300
|
msgid "Default password scheme"
|
|
944
1301
|
msgstr "Méthode de chiffrement par défaut"
|
|
945
1302
|
|
|
946
|
-
#: core/app_settings.py:
|
|
1303
|
+
#: core/app_settings.py:42
|
|
947
1304
|
msgid "Scheme used to crypt mailbox passwords"
|
|
948
1305
|
msgstr "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres"
|
|
949
1306
|
|
|
950
|
-
#: core/app_settings.py:
|
|
1307
|
+
#: core/app_settings.py:49
|
|
951
1308
|
msgid "Rounds"
|
|
952
1309
|
msgstr "Tours"
|
|
953
1310
|
|
|
954
|
-
#: core/app_settings.py:
|
|
1311
|
+
#: core/app_settings.py:51
|
|
955
1312
|
msgid ""
|
|
956
1313
|
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
|
|
957
1314
|
"between 1000 and 999999999, inclusive."
|
|
958
1315
|
msgstr "Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit être compris entre 1000 et 999999999 inclue."
|
|
959
1316
|
|
|
960
|
-
#: core/app_settings.py:
|
|
1317
|
+
#: core/app_settings.py:61
|
|
961
1318
|
msgid "Update password scheme at login"
|
|
962
1319
|
msgstr "Mettre à jour la méthode de chiffrement du mot de passe à la connexion"
|
|
963
1320
|
|
|
964
|
-
#: core/app_settings.py:
|
|
1321
|
+
#: core/app_settings.py:64
|
|
965
1322
|
msgid "Update user password at login to use the default password scheme"
|
|
966
1323
|
msgstr "Mise à jour du mot de passe utilisateur lors d'une connexion pour utiliser la méthode de chiffrement par défaut"
|
|
967
1324
|
|
|
968
|
-
#: core/app_settings.py:
|
|
1325
|
+
#: core/app_settings.py:72
|
|
969
1326
|
msgid "Default password"
|
|
970
1327
|
msgstr "Mot de passe par défaut"
|
|
971
1328
|
|
|
972
|
-
#: core/app_settings.py:
|
|
1329
|
+
#: core/app_settings.py:74
|
|
973
1330
|
msgid "Default password for automatically created accounts."
|
|
974
1331
|
msgstr "Mot de passe par défaut pour les comptes créés automatiquement."
|
|
975
1332
|
|
|
976
|
-
#: core/app_settings.py:
|
|
1333
|
+
#: core/app_settings.py:81
|
|
977
1334
|
msgid "Random password length"
|
|
978
1335
|
msgstr "Taille d'un mot de passe aléatoire"
|
|
979
1336
|
|
|
980
|
-
#: core/app_settings.py:
|
|
1337
|
+
#: core/app_settings.py:83
|
|
981
1338
|
msgid "Length of randomly generated passwords."
|
|
982
1339
|
msgstr "Taille des mots de passe générés aléatoirement."
|
|
983
1340
|
|
|
984
|
-
#: core/app_settings.py:
|
|
1341
|
+
#: core/app_settings.py:91
|
|
985
1342
|
msgid "Allow special characters for random password"
|
|
986
1343
|
msgstr "Autoriser les caractères spéciaux pour les mots de passe aléatoires"
|
|
987
1344
|
|
|
988
|
-
#: core/app_settings.py:
|
|
1345
|
+
#: core/app_settings.py:94
|
|
989
1346
|
msgid "Enable special characters in randomly generated passwords."
|
|
990
1347
|
msgstr "Activer les caractères spéciaux dans les mots de passe générés aléatoirement."
|
|
991
1348
|
|
|
992
|
-
#: core/app_settings.py:
|
|
1349
|
+
#: core/app_settings.py:102
|
|
993
1350
|
msgid "Update password service URL"
|
|
994
1351
|
msgstr "URL de service de mise à jour du mot de passe"
|
|
995
1352
|
|
|
996
|
-
#: core/app_settings.py:
|
|
1353
|
+
#: core/app_settings.py:104
|
|
997
1354
|
msgid ""
|
|
998
1355
|
"The URL of an external page where users will be able to update their "
|
|
999
1356
|
"password. It applies only to non local users, ie. those automatically "
|
|
1000
1357
|
"created after a successful external authentication (LDAP, SMTP)."
|
|
1001
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)."
|
|
1002
1359
|
|
|
1003
|
-
#: core/app_settings.py:
|
|
1360
|
+
#: core/app_settings.py:114
|
|
1004
1361
|
msgid "Password recovery announcement"
|
|
1005
1362
|
msgstr "Annonce pour la récupération de mot de passe"
|
|
1006
1363
|
|
|
1007
|
-
#: core/app_settings.py:
|
|
1364
|
+
#: core/app_settings.py:116
|
|
1008
1365
|
msgid "A temporary message that will be displayed on the reset password page."
|
|
1009
1366
|
msgstr "Un message temporaire qui sera affiché sur la page de récupération de mot de passe"
|
|
1010
1367
|
|
|
1011
|
-
#: core/app_settings.py:
|
|
1368
|
+
#: core/app_settings.py:125
|
|
1012
1369
|
msgid "Enable password recovery by SMS"
|
|
1013
1370
|
msgstr "Activer la récupération de mot de passe par SMS"
|
|
1014
1371
|
|
|
1015
|
-
#: core/app_settings.py:
|
|
1372
|
+
#: core/app_settings.py:128
|
|
1016
1373
|
msgid "Enable password recovery by SMS for users who filled a phone number."
|
|
1017
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"
|
|
1018
1375
|
|
|
1019
|
-
#: core/app_settings.py:
|
|
1376
|
+
#: core/app_settings.py:136
|
|
1020
1377
|
msgid "SMS provider"
|
|
1021
1378
|
msgstr "Fournisseur SMS"
|
|
1022
1379
|
|
|
1023
|
-
#: core/app_settings.py:
|
|
1380
|
+
#: core/app_settings.py:139
|
|
1024
1381
|
msgid "Choose a provider to send password recovery SMS"
|
|
1025
1382
|
msgstr "Choisir un fournisseur pour envoyer les SMS de récupération de mot de passe"
|
|
1026
1383
|
|
|
1027
|
-
#: core/app_settings.py:
|
|
1384
|
+
#: core/app_settings.py:151
|
|
1028
1385
|
msgid "LDAP"
|
|
1029
1386
|
msgstr "LDAP"
|
|
1030
1387
|
|
|
1031
|
-
#: core/app_settings.py:
|
|
1388
|
+
#: core/app_settings.py:157 sievefilters/app_settings.py:18
|
|
1032
1389
|
#: sievefilters/app_settings.py:51 webmail/app_settings.py:36
|
|
1033
|
-
#: webmail/app_settings.py:73
|
|
1390
|
+
#: webmail/app_settings.py:73 webmail/app_settings.py:119
|
|
1034
1391
|
msgid "Server address"
|
|
1035
1392
|
msgstr "Adresse du serveur"
|
|
1036
1393
|
|
|
1037
|
-
#: core/app_settings.py:
|
|
1394
|
+
#: core/app_settings.py:159
|
|
1038
1395
|
msgid "The IP address or the DNS name of the LDAP server"
|
|
1039
1396
|
msgstr "L'adresse IP ou le nom DNS du serveur LDAP"
|
|
1040
1397
|
|
|
1041
|
-
#: core/app_settings.py:
|
|
1398
|
+
#: core/app_settings.py:166 sievefilters/app_settings.py:25
|
|
1042
1399
|
#: sievefilters/app_settings.py:67 webmail/app_settings.py:54
|
|
1043
|
-
#: webmail/app_settings.py:91
|
|
1400
|
+
#: webmail/app_settings.py:91 webmail/app_settings.py:137
|
|
1044
1401
|
msgid "Server port"
|
|
1045
1402
|
msgstr "Port utilisé par le serveur"
|
|
1046
1403
|
|
|
1047
|
-
#: core/app_settings.py:
|
|
1404
|
+
#: core/app_settings.py:168
|
|
1048
1405
|
msgid "The TCP port number used by the LDAP server"
|
|
1049
1406
|
msgstr "Le port TCP utilisé par le serveur LDAP"
|
|
1050
1407
|
|
|
1051
|
-
#: core/app_settings.py:
|
|
1408
|
+
#: core/app_settings.py:176
|
|
1052
1409
|
msgid "Enable secondary server (fallback)"
|
|
1053
1410
|
msgstr "Activer le serveur secondaire (secours)"
|
|
1054
1411
|
|
|
1055
|
-
#: core/app_settings.py:
|
|
1412
|
+
#: core/app_settings.py:179
|
|
1056
1413
|
msgid ""
|
|
1057
1414
|
"Enable a secondary LDAP server which will be used if the primary one fails"
|
|
1058
1415
|
msgstr "Activer un serveur LDAP secondaire qui sera utilisé si le principal est en échec"
|
|
1059
1416
|
|
|
1060
|
-
#: core/app_settings.py:
|
|
1417
|
+
#: core/app_settings.py:187
|
|
1061
1418
|
msgid "Secondary server address"
|
|
1062
1419
|
msgstr "Adresse du serveur secondaire"
|
|
1063
1420
|
|
|
1064
|
-
#: core/app_settings.py:
|
|
1421
|
+
#: core/app_settings.py:190
|
|
1065
1422
|
msgid "The IP address or the DNS name of the seondary LDAP server"
|
|
1066
1423
|
msgstr "L'adresse IP ou le nom DNS du serveur LDAP secondaire"
|
|
1067
1424
|
|
|
1068
|
-
#: core/app_settings.py:
|
|
1425
|
+
#: core/app_settings.py:197
|
|
1069
1426
|
msgid "Secondary server port"
|
|
1070
1427
|
msgstr "Port du serveur secondaire"
|
|
1071
1428
|
|
|
1072
|
-
#: core/app_settings.py:
|
|
1429
|
+
#: core/app_settings.py:200
|
|
1073
1430
|
msgid "The TCP port number used by the LDAP secondary server"
|
|
1074
1431
|
msgstr "Le numéro du port TCP utilisé par le serveur LDAP secondaire"
|
|
1075
1432
|
|
|
1076
|
-
#: core/app_settings.py:
|
|
1433
|
+
#: core/app_settings.py:207 sievefilters/app_settings.py:58
|
|
1077
1434
|
#: webmail/app_settings.py:45
|
|
1078
1435
|
msgid "Use a secured connection"
|
|
1079
1436
|
msgstr "Utiliser une connexion sécurisée"
|
|
1080
1437
|
|
|
1081
|
-
#: core/app_settings.py:
|
|
1438
|
+
#: core/app_settings.py:209
|
|
1082
1439
|
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
1083
1440
|
msgstr "Utiliser une connexion SSL/STARTTLS pour accéder au serveur LDAP"
|
|
1084
1441
|
|
|
1085
|
-
#: core/app_settings.py:
|
|
1442
|
+
#: core/app_settings.py:216
|
|
1086
1443
|
msgid "Active Directory"
|
|
1087
1444
|
msgstr "Active Directory"
|
|
1088
1445
|
|
|
1089
|
-
#: core/app_settings.py:
|
|
1446
|
+
#: core/app_settings.py:218
|
|
1090
1447
|
msgid "Tell if the LDAP server is an Active Directory one"
|
|
1091
1448
|
msgstr "Indiquer si le serveur LDAP est un Active Directory ou pas"
|
|
1092
1449
|
|
|
1093
|
-
#: core/app_settings.py:
|
|
1450
|
+
#: core/app_settings.py:225
|
|
1094
1451
|
msgid "Administrator groups"
|
|
1095
1452
|
msgstr "Groupes administrateurs"
|
|
1096
1453
|
|
|
1097
|
-
#: core/app_settings.py:
|
|
1454
|
+
#: core/app_settings.py:227
|
|
1098
1455
|
msgid ""
|
|
1099
1456
|
"Members of those LDAP Posix groups will be created as domain administrators."
|
|
1100
1457
|
" Use ';' characters to separate groups."
|
|
1101
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."
|
|
1102
1459
|
|
|
1103
|
-
#: core/app_settings.py:
|
|
1460
|
+
#: core/app_settings.py:236
|
|
1104
1461
|
msgid "Group type"
|
|
1105
1462
|
msgstr "Type de groupe"
|
|
1106
1463
|
|
|
1107
|
-
#: core/app_settings.py:
|
|
1464
|
+
#: core/app_settings.py:238
|
|
1108
1465
|
msgid "The LDAP group type to use with your directory."
|
|
1109
1466
|
msgstr "Le type de groupe LDAP à utiliser avec votre annuaire."
|
|
1110
1467
|
|
|
1111
|
-
#: core/app_settings.py:
|
|
1468
|
+
#: core/app_settings.py:245
|
|
1112
1469
|
msgid "Groups search base"
|
|
1113
1470
|
msgstr "Base de recherche des groupes"
|
|
1114
1471
|
|
|
1115
|
-
#: core/app_settings.py:
|
|
1472
|
+
#: core/app_settings.py:247
|
|
1116
1473
|
msgid "The distinguished name of the search base used to find groups"
|
|
1117
1474
|
msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les groupes"
|
|
1118
1475
|
|
|
1119
|
-
#: core/app_settings.py:
|
|
1476
|
+
#: core/app_settings.py:255
|
|
1120
1477
|
msgid "Password attribute"
|
|
1121
1478
|
msgstr "Attribut 'mot de passe'"
|
|
1122
1479
|
|
|
1123
|
-
#: core/app_settings.py:
|
|
1480
|
+
#: core/app_settings.py:257
|
|
1124
1481
|
msgid "The attribute used to store user passwords"
|
|
1125
1482
|
msgstr "L'attribut utilisé pour stocker les mots de passe"
|
|
1126
1483
|
|
|
1127
|
-
#: core/app_settings.py:
|
|
1484
|
+
#: core/app_settings.py:264
|
|
1128
1485
|
msgid "LDAP authentication settings"
|
|
1129
1486
|
msgstr "Paramètres d'authentification LDAP"
|
|
1130
1487
|
|
|
1131
|
-
#: core/app_settings.py:
|
|
1488
|
+
#: core/app_settings.py:272
|
|
1132
1489
|
msgid "Authentication method"
|
|
1133
1490
|
msgstr "Méthode d'authentification"
|
|
1134
1491
|
|
|
1135
|
-
#: core/app_settings.py:
|
|
1492
|
+
#: core/app_settings.py:275
|
|
1136
1493
|
msgid "Choose the authentication method to use"
|
|
1137
1494
|
msgstr "Choisir la méthode d'authentification à utiliser"
|
|
1138
1495
|
|
|
1139
|
-
#: core/app_settings.py:
|
|
1496
|
+
#: core/app_settings.py:282 core/app_settings.py:345
|
|
1140
1497
|
msgid "Bind DN"
|
|
1141
1498
|
msgstr "ND de connexion"
|
|
1142
1499
|
|
|
1143
|
-
#: core/app_settings.py:
|
|
1500
|
+
#: core/app_settings.py:284 core/app_settings.py:347
|
|
1144
1501
|
msgid ""
|
|
1145
1502
|
"The distinguished name to use when binding to the LDAP server. Leave empty "
|
|
1146
1503
|
"for an anonymous bind"
|
|
1147
1504
|
msgstr "Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser vide pour une connexion anonyme"
|
|
1148
1505
|
|
|
1149
|
-
#: core/app_settings.py:
|
|
1506
|
+
#: core/app_settings.py:293 core/app_settings.py:355
|
|
1150
1507
|
msgid "Bind password"
|
|
1151
1508
|
msgstr "Mot de passe de connexion"
|
|
1152
1509
|
|
|
1153
|
-
#: core/app_settings.py:
|
|
1510
|
+
#: core/app_settings.py:295 core/app_settings.py:357
|
|
1154
1511
|
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
|
|
1155
1512
|
msgstr "Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de connexion')"
|
|
1156
1513
|
|
|
1157
|
-
#: core/app_settings.py:
|
|
1514
|
+
#: core/app_settings.py:305 core/app_settings.py:410
|
|
1158
1515
|
msgid "Users search base"
|
|
1159
1516
|
msgstr "Base de recherche des utilisateurs"
|
|
1160
1517
|
|
|
1161
|
-
#: core/app_settings.py:
|
|
1518
|
+
#: core/app_settings.py:307 core/app_settings.py:412
|
|
1162
1519
|
msgid "The distinguished name of the search base used to find users"
|
|
1163
1520
|
msgstr "Le nom distinctif de la base de recherche utilisée pour rechercher les utilisateurs"
|
|
1164
1521
|
|
|
1165
|
-
#: core/app_settings.py:
|
|
1522
|
+
#: core/app_settings.py:316 core/app_settings.py:421
|
|
1166
1523
|
msgid "Search filter"
|
|
1167
1524
|
msgstr "Filtre de recherche"
|
|
1168
1525
|
|
|
1169
|
-
#: core/app_settings.py:
|
|
1526
|
+
#: core/app_settings.py:318 core/app_settings.py:423
|
|
1170
1527
|
msgid ""
|
|
1171
1528
|
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
|
|
1172
1529
|
"valid, it must be enclosed in parentheses."
|
|
1173
1530
|
msgstr "Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être valide, il doit être entouré de parenthèses."
|
|
1174
1531
|
|
|
1175
|
-
#: core/app_settings.py:
|
|
1532
|
+
#: core/app_settings.py:327
|
|
1176
1533
|
msgid "User DN template"
|
|
1177
1534
|
msgstr "Modèle de nom distinctif utilisateur"
|
|
1178
1535
|
|
|
1179
|
-
#: core/app_settings.py:
|
|
1536
|
+
#: core/app_settings.py:329
|
|
1180
1537
|
#, python-format
|
|
1181
1538
|
msgid ""
|
|
1182
1539
|
"The template used to construct a user's DN. It should contain one "
|
|
1183
1540
|
"placeholder (ie. %(user)s)"
|
|
1184
1541
|
msgstr "Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il doit contenir un espace réservé (ex. %(user)s)"
|
|
1185
1542
|
|
|
1186
|
-
#: core/app_settings.py:
|
|
1543
|
+
#: core/app_settings.py:338
|
|
1187
1544
|
msgid "LDAP synchronization settings"
|
|
1188
1545
|
msgstr "Paramètres de synchronisation LDAP"
|
|
1189
1546
|
|
|
1190
|
-
#: core/app_settings.py:
|
|
1547
|
+
#: core/app_settings.py:366
|
|
1191
1548
|
msgid "Enable export to LDAP"
|
|
1192
1549
|
msgstr "Activer l'export LDAP"
|
|
1193
1550
|
|
|
1194
|
-
#: core/app_settings.py:
|
|
1551
|
+
#: core/app_settings.py:368
|
|
1195
1552
|
msgid ""
|
|
1196
1553
|
"Enable automatic synchronization between local database and LDAP directory"
|
|
1197
1554
|
msgstr "Activer la synchronisation automatique entre la base de données locale et l'annuaire LDAP"
|
|
1198
1555
|
|
|
1199
|
-
#: core/app_settings.py:
|
|
1556
|
+
#: core/app_settings.py:377
|
|
1200
1557
|
msgid "Delete remote LDAP account when local account is deleted"
|
|
1201
1558
|
msgstr "Supprimer un compte LDAP distant lorsqu'un compte local est supprimé"
|
|
1202
1559
|
|
|
1203
|
-
#: core/app_settings.py:
|
|
1560
|
+
#: core/app_settings.py:380
|
|
1204
1561
|
msgid ""
|
|
1205
1562
|
"Delete remote LDAP account when local account is deleted, otherwise it will "
|
|
1206
1563
|
"be disabled."
|
|
1207
1564
|
msgstr "Supprimer un compte LDAP distant lorsqu'un compte local supprimé, autrement il sera désactivé."
|
|
1208
1565
|
|
|
1209
|
-
#: core/app_settings.py:
|
|
1566
|
+
#: core/app_settings.py:389
|
|
1210
1567
|
msgid "Account DN template"
|
|
1211
1568
|
msgstr "Modèle des DN de compte"
|
|
1212
1569
|
|
|
1213
|
-
#: core/app_settings.py:
|
|
1570
|
+
#: core/app_settings.py:391
|
|
1214
1571
|
#, python-format
|
|
1215
1572
|
msgid ""
|
|
1216
1573
|
"The template used to construct an account's DN. It should contain one "
|
|
1217
1574
|
"placeholder (ie. %(user)s)"
|
|
1218
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)"
|
|
1219
1576
|
|
|
1220
|
-
#: core/app_settings.py:
|
|
1577
|
+
#: core/app_settings.py:400
|
|
1221
1578
|
msgid "Enable import from LDAP"
|
|
1222
1579
|
msgstr "Activer l'import LDAP"
|
|
1223
1580
|
|
|
1224
|
-
#: core/app_settings.py:
|
|
1581
|
+
#: core/app_settings.py:402
|
|
1225
1582
|
msgid "Enable account synchronization from LDAP directory to local database"
|
|
1226
1583
|
msgstr "Activer la synchronisation des comptes entre un annuaire LDAP et la base de données locale"
|
|
1227
1584
|
|
|
1228
|
-
#: core/app_settings.py:
|
|
1585
|
+
#: core/app_settings.py:432
|
|
1229
1586
|
msgid "Username attribute"
|
|
1230
1587
|
msgstr "Attribut nom d'utilisateur"
|
|
1231
1588
|
|
|
1232
|
-
#: core/app_settings.py:
|
|
1589
|
+
#: core/app_settings.py:434
|
|
1233
1590
|
msgid "The name of the LDAP attribute where the username can be found."
|
|
1234
1591
|
msgstr "Le nom de l'attribut LDAP dans lequel le nom d'utilisateur peut être trouvé."
|
|
1235
1592
|
|
|
1236
|
-
#: core/app_settings.py:
|
|
1593
|
+
#: core/app_settings.py:443
|
|
1237
1594
|
msgid "Enable Dovecot LDAP sync"
|
|
1238
1595
|
msgstr "Activer la synchronisation LDAP pour Dovecot"
|
|
1239
1596
|
|
|
1240
|
-
#: core/app_settings.py:
|
|
1597
|
+
#: core/app_settings.py:445
|
|
1241
1598
|
msgid "LDAP authentication settings will be applied to Dovecot configuration."
|
|
1242
1599
|
msgstr "Les paramètres d'authentification LDAP seront appliqués à la configuration de Dovecot."
|
|
1243
1600
|
|
|
1244
|
-
#: core/app_settings.py:
|
|
1601
|
+
#: core/app_settings.py:453
|
|
1245
1602
|
msgid "Dovecot LDAP config file"
|
|
1246
1603
|
msgstr "Fichier de configuration Dovecot pour LDAP"
|
|
1247
1604
|
|
|
1248
|
-
#: core/app_settings.py:
|
|
1605
|
+
#: core/app_settings.py:455
|
|
1249
1606
|
msgid ""
|
|
1250
1607
|
"Location of the configuration file which contains Dovecot LDAP settings."
|
|
1251
1608
|
msgstr "Emplacement du fichier de configuration qui contient les paramètres LDAP de Dovecot"
|
|
1252
1609
|
|
|
1253
|
-
#: core/app_settings.py:
|
|
1610
|
+
#: core/app_settings.py:468
|
|
1254
1611
|
msgid "Dashboard"
|
|
1255
1612
|
msgstr "Tableau de bord"
|
|
1256
1613
|
|
|
1257
|
-
#: core/app_settings.py:
|
|
1614
|
+
#: core/app_settings.py:474
|
|
1258
1615
|
msgid "Custom welcome message"
|
|
1259
1616
|
msgstr "Message d'accueil personnalisé"
|
|
1260
1617
|
|
|
1261
|
-
#: core/app_settings.py:
|
|
1618
|
+
#: core/app_settings.py:476
|
|
1262
1619
|
msgid "A welcome message that will be displayed instead the default one"
|
|
1263
1620
|
msgstr "Un message d'accueil qui sera affiché à la place de celui par défaut"
|
|
1264
1621
|
|
|
1265
|
-
#: core/app_settings.py:
|
|
1622
|
+
#: core/app_settings.py:483
|
|
1266
1623
|
msgid "Custom RSS feed"
|
|
1267
1624
|
msgstr "Flux RSS personnalisé"
|
|
1268
1625
|
|
|
1269
|
-
#: core/app_settings.py:
|
|
1626
|
+
#: core/app_settings.py:485
|
|
1270
1627
|
msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1271
1628
|
msgstr "Afficher un flux RSS personnalisé aux revendeurs et administrateurs de domaine"
|
|
1272
1629
|
|
|
1273
|
-
#: core/app_settings.py:
|
|
1630
|
+
#: core/app_settings.py:494
|
|
1274
1631
|
msgid "Display custom RSS feed to super admins"
|
|
1275
1632
|
msgstr "Afficher le flux RSS personnalisé aux super admins"
|
|
1276
1633
|
|
|
1277
|
-
#: core/app_settings.py:
|
|
1634
|
+
#: core/app_settings.py:497
|
|
1278
1635
|
msgid "Display custom RSS feed also to super administrators"
|
|
1279
1636
|
msgstr "Afficher le flux RSS personnalisé aussi aux super administrateurs"
|
|
1280
1637
|
|
|
1281
|
-
#: core/app_settings.py:
|
|
1638
|
+
#: core/app_settings.py:505
|
|
1282
1639
|
msgid "Hide features widget"
|
|
1283
1640
|
msgstr "Masquer le widget des fonctionnalités"
|
|
1284
1641
|
|
|
1285
|
-
#: core/app_settings.py:
|
|
1642
|
+
#: core/app_settings.py:507
|
|
1286
1643
|
msgid "Hide features widget for resellers and domain administrators"
|
|
1287
1644
|
msgstr "Masquer le widget des fonctionnalités pour les revendeurs et les administrateurs de domaine"
|
|
1288
1645
|
|
|
1289
|
-
#: core/app_settings.py:
|
|
1646
|
+
#: core/app_settings.py:519
|
|
1290
1647
|
msgid "Theme"
|
|
1291
1648
|
msgstr "Thème"
|
|
1292
1649
|
|
|
1293
|
-
#: core/app_settings.py:
|
|
1650
|
+
#: core/app_settings.py:525
|
|
1294
1651
|
msgid "Primary theme color"
|
|
1295
1652
|
msgstr "Couleur principale du thème"
|
|
1296
1653
|
|
|
1297
|
-
#: core/app_settings.py:
|
|
1654
|
+
#: core/app_settings.py:527
|
|
1298
1655
|
msgid ""
|
|
1299
1656
|
"Primary color of the theme (hexadecimal code), used as the background color "
|
|
1300
1657
|
"of the left menu for example"
|
|
1301
1658
|
msgstr "Couleur principale du thème (code hexadécimal), utilisée par exemple comme couleur de fond dans le menu de gauche"
|
|
1302
1659
|
|
|
1303
|
-
#: core/app_settings.py:
|
|
1660
|
+
#: core/app_settings.py:536
|
|
1304
1661
|
msgid "Primary theme color (lighter version)"
|
|
1305
1662
|
msgstr "Couleur principale du thème (version plus claire)"
|
|
1306
1663
|
|
|
1307
|
-
#: core/app_settings.py:
|
|
1664
|
+
#: core/app_settings.py:539 core/app_settings.py:551
|
|
1308
1665
|
msgid "Primary color of the theme (hexadecimal code)"
|
|
1309
1666
|
msgstr "Couleur principale du thème (code hexadécimal)"
|
|
1310
1667
|
|
|
1311
|
-
#: core/app_settings.py:
|
|
1668
|
+
#: core/app_settings.py:548
|
|
1312
1669
|
msgid "Primary theme color (darker version)"
|
|
1313
1670
|
msgstr "Couleur principale du thème (version plus sombre)"
|
|
1314
1671
|
|
|
1315
|
-
#: core/app_settings.py:
|
|
1672
|
+
#: core/app_settings.py:559
|
|
1316
1673
|
msgid "Secondary theme color"
|
|
1317
1674
|
msgstr "Couleur secondaire du thème"
|
|
1318
1675
|
|
|
1319
|
-
#: core/app_settings.py:
|
|
1676
|
+
#: core/app_settings.py:561
|
|
1320
1677
|
msgid ""
|
|
1321
1678
|
"Secondary color of the theme (hexadecimal code), used as the background "
|
|
1322
1679
|
"color of some buttons for example"
|
|
1323
1680
|
msgstr "Couleur secondaire du thème (code hexadécimal), utilisée par exemple comme couleur de fond de certains boutons"
|
|
1324
1681
|
|
|
1325
|
-
#: core/app_settings.py:
|
|
1682
|
+
#: core/app_settings.py:569
|
|
1326
1683
|
msgid "Labels theme color"
|
|
1327
1684
|
msgstr "Couleur des libellés du thème"
|
|
1328
1685
|
|
|
1329
|
-
#: core/app_settings.py:
|
|
1686
|
+
#: core/app_settings.py:571
|
|
1330
1687
|
msgid "Theme color for labels (hexadecimal code)"
|
|
1331
1688
|
msgstr "Couleur du thème pour les libellés (code hexadécimal)"
|
|
1332
1689
|
|
|
1333
|
-
#: core/app_settings.py:
|
|
1690
|
+
#: core/app_settings.py:583
|
|
1334
1691
|
msgid "Notifications"
|
|
1335
1692
|
msgstr "Notifications"
|
|
1336
1693
|
|
|
1337
|
-
#: core/app_settings.py:
|
|
1694
|
+
#: core/app_settings.py:589
|
|
1338
1695
|
msgid "Sender address"
|
|
1339
1696
|
msgstr "Adresse d'envoi"
|
|
1340
1697
|
|
|
1341
|
-
#: core/app_settings.py:
|
|
1698
|
+
#: core/app_settings.py:591
|
|
1342
1699
|
msgid "Email address used to send notifications."
|
|
1343
1700
|
msgstr "Adresse utilisée pour envoyer les notifications."
|
|
1344
1701
|
|
|
1345
|
-
#: core/app_settings.py:
|
|
1702
|
+
#: core/app_settings.py:602
|
|
1346
1703
|
msgid "Public API"
|
|
1347
1704
|
msgstr "API publique"
|
|
1348
1705
|
|
|
1349
|
-
#: core/app_settings.py:
|
|
1706
|
+
#: core/app_settings.py:608
|
|
1350
1707
|
msgid "Enable communication"
|
|
1351
1708
|
msgstr "Activer la communication"
|
|
1352
1709
|
|
|
1353
|
-
#: core/app_settings.py:
|
|
1710
|
+
#: core/app_settings.py:610 core/app_settings.py:620
|
|
1354
1711
|
msgid "Automatically checks if a newer version is available"
|
|
1355
1712
|
msgstr "Vérifie automatiquement si une nouvelle version est disponible"
|
|
1356
1713
|
|
|
1357
|
-
#: core/app_settings.py:
|
|
1714
|
+
#: core/app_settings.py:617
|
|
1358
1715
|
msgid "Check new versions"
|
|
1359
1716
|
msgstr "Vérifier les nouvelles versions"
|
|
1360
1717
|
|
|
1361
|
-
#: core/app_settings.py:
|
|
1718
|
+
#: core/app_settings.py:628
|
|
1362
1719
|
msgid "Send an email when new versions are found"
|
|
1363
1720
|
msgstr "Envoyer un email quand de nouvelles versions sont trouvées"
|
|
1364
1721
|
|
|
1365
|
-
#: core/app_settings.py:
|
|
1722
|
+
#: core/app_settings.py:632
|
|
1366
1723
|
msgid "Send an email to notify admins about new versions"
|
|
1367
1724
|
msgstr "Envoyer un email pour notifier les administrateurs à propos des nouvelles versions"
|
|
1368
1725
|
|
|
1369
|
-
#: core/app_settings.py:
|
|
1726
|
+
#: core/app_settings.py:639 sievefilters/constants.py:25
|
|
1370
1727
|
msgid "Recipient"
|
|
1371
1728
|
msgstr "Destinataire"
|
|
1372
1729
|
|
|
1373
|
-
#: core/app_settings.py:
|
|
1730
|
+
#: core/app_settings.py:642
|
|
1374
1731
|
msgid "Recipient of new versions notification emails."
|
|
1375
1732
|
msgstr "Destinataire des emails de notification pour les nouvelles versions"
|
|
1376
1733
|
|
|
1377
|
-
#: core/app_settings.py:
|
|
1734
|
+
#: core/app_settings.py:649
|
|
1378
1735
|
msgid "Send statistics"
|
|
1379
1736
|
msgstr "Envoyer des statistiques"
|
|
1380
1737
|
|
|
1381
|
-
#: core/app_settings.py:
|
|
1738
|
+
#: core/app_settings.py:652
|
|
1382
1739
|
msgid "Send statistics to Modoboa public API (counters and used extensions)"
|
|
1383
1740
|
msgstr "Envoyer des statistiques à l'API publique de Modoboa (compteurs et extensions utilisées)"
|
|
1384
1741
|
|
|
1385
|
-
#: core/app_settings.py:
|
|
1742
|
+
#: core/app_settings.py:671
|
|
1386
1743
|
msgid "Enable inactive account tracking"
|
|
1387
1744
|
msgstr "Activer le suivi des comptes inactifs"
|
|
1388
1745
|
|
|
1389
|
-
#: core/app_settings.py:
|
|
1746
|
+
#: core/app_settings.py:674
|
|
1390
1747
|
msgid ""
|
|
1391
1748
|
"Allow the administrator to set a threshold (in days) beyond which an account"
|
|
1392
1749
|
" is considered inactive if the user hasn't logged in"
|
|
1393
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é"
|
|
1394
1751
|
|
|
1395
|
-
#: core/app_settings.py:
|
|
1752
|
+
#: core/app_settings.py:683
|
|
1396
1753
|
msgid "Inactive account threshold"
|
|
1397
1754
|
msgstr "Seuil des comptes inactifs"
|
|
1398
1755
|
|
|
1399
|
-
#: core/app_settings.py:
|
|
1756
|
+
#: core/app_settings.py:686
|
|
1400
1757
|
msgid ""
|
|
1401
1758
|
"An account with a last login date greater than this threshold (in days) will"
|
|
1402
1759
|
" be considered as inactive"
|
|
1403
1760
|
msgstr "Un compte avec une date de dernière connexion antérieure à ce seuil sera considéré comme inactif"
|
|
1404
1761
|
|
|
1405
|
-
#: core/app_settings.py:
|
|
1762
|
+
#: core/app_settings.py:695
|
|
1406
1763
|
msgid "Top notifications check interval"
|
|
1407
1764
|
msgstr "Intervalle de vérification des notifications"
|
|
1408
1765
|
|
|
1409
|
-
#: core/app_settings.py:
|
|
1766
|
+
#: core/app_settings.py:698
|
|
1410
1767
|
msgid "Interval between two top notification checks (in seconds)"
|
|
1411
1768
|
msgstr "Intervalle entre deux vérifications de notification (en secondes)"
|
|
1412
1769
|
|
|
1413
|
-
#: core/app_settings.py:
|
|
1770
|
+
#: core/app_settings.py:705
|
|
1414
1771
|
msgid "Maximum log record age"
|
|
1415
1772
|
msgstr "Age maximal d'un enregistrement du journal"
|
|
1416
1773
|
|
|
1417
|
-
#: core/app_settings.py:
|
|
1774
|
+
#: core/app_settings.py:707
|
|
1418
1775
|
msgid "The maximum age in days of a log record"
|
|
1419
1776
|
msgstr "L'age maximal en jours d'un enregistrement du journal"
|
|
1420
1777
|
|
|
1421
|
-
#: core/app_settings.py:
|
|
1778
|
+
#: core/app_settings.py:715
|
|
1422
1779
|
msgid "Retention time in message history"
|
|
1423
1780
|
msgstr "Durée de rétention dans l'historique des messages"
|
|
1424
1781
|
|
|
1425
|
-
#: core/app_settings.py:
|
|
1782
|
+
#: core/app_settings.py:718
|
|
1426
1783
|
msgid "Retention time (in days) of a message in the message history section"
|
|
1427
1784
|
msgstr "Durée de rétention (en jours) d'un message dans l'historique des messages"
|
|
1428
1785
|
|
|
1429
|
-
#: core/app_settings.py:
|
|
1786
|
+
#: core/app_settings.py:725
|
|
1430
1787
|
msgid "Items per page"
|
|
1431
1788
|
msgstr "Eléments par page"
|
|
1432
1789
|
|
|
1433
|
-
#: core/app_settings.py:
|
|
1790
|
+
#: core/app_settings.py:727
|
|
1434
1791
|
msgid "Number of displayed items per page"
|
|
1435
1792
|
msgstr "Nombre d'éléments affichés par page"
|
|
1436
1793
|
|
|
1437
|
-
#: core/app_settings.py:746
|
|
1438
|
-
msgid "Default top redirection"
|
|
1439
|
-
msgstr "Redirection par défaut"
|
|
1440
|
-
|
|
1441
|
-
#: core/app_settings.py:748
|
|
1442
|
-
msgid "The default redirection used when no application is specified"
|
|
1443
|
-
msgstr "La redirection appliquée par défaut quand aucune application n'est spécifiée"
|
|
1444
|
-
|
|
1445
1794
|
#: core/checks.py:15
|
|
1446
1795
|
msgid ""
|
|
1447
1796
|
"You have USE_TZ set to False, this may result in issues during transitions "
|
|
@@ -1569,7 +1918,7 @@ msgstr "Vous ne pouvez pas supprimer votre propre compte"
|
|
|
1569
1918
|
msgid "One or more updates are available"
|
|
1570
1919
|
msgstr "Une ou plusieurs mises à jour sont disponibles!"
|
|
1571
1920
|
|
|
1572
|
-
#: core/handlers.py:
|
|
1921
|
+
#: core/handlers.py:140
|
|
1573
1922
|
#, python-format
|
|
1574
1923
|
msgid "You are still using a deprecated password scheme (%s)"
|
|
1575
1924
|
msgstr "Vous utilisez encore une méthode de chiffrement de mot de passe obsolète (%s)"
|
|
@@ -1729,22 +2078,22 @@ msgstr[2] "\nLes mises à jour suivantes sont disponibles :\n"
|
|
|
1729
2078
|
msgid "The core part of Modoboa"
|
|
1730
2079
|
msgstr "Le coeur de Modoboa"
|
|
1731
2080
|
|
|
1732
|
-
#: core/views/auth.py:
|
|
2081
|
+
#: core/views/auth.py:82
|
|
1733
2082
|
#, python-format
|
|
1734
2083
|
msgid "User '%s' successfully logged in"
|
|
1735
2084
|
msgstr "Utiliseur '%s' connecté avec succès"
|
|
1736
2085
|
|
|
1737
|
-
#: core/views/auth.py:
|
|
2086
|
+
#: core/views/auth.py:128
|
|
1738
2087
|
#, python-format
|
|
1739
2088
|
msgid "Password scheme mismatch. Updating %s password"
|
|
1740
2089
|
msgstr "La méthode de chiffrement du mot de passe diffère. Mise à jour du mot de passe de %s"
|
|
1741
2090
|
|
|
1742
|
-
#: core/views/auth.py:
|
|
2091
|
+
#: core/views/auth.py:135
|
|
1743
2092
|
#, python-format
|
|
1744
2093
|
msgid "Password hash parameter missmatch. Updating %s password"
|
|
1745
2094
|
msgstr "Le paramètre de hash du mot de passe ne correspond pas. Mise à jour %s du mot de passe"
|
|
1746
2095
|
|
|
1747
|
-
#: core/views/auth.py:
|
|
2096
|
+
#: core/views/auth.py:173
|
|
1748
2097
|
msgid "User '{}' successfully logged out"
|
|
1749
2098
|
msgstr "Utilisateur '{}' déconnecté avec succès"
|
|
1750
2099
|
|
|
@@ -1769,14 +2118,10 @@ msgid "Not resolved"
|
|
|
1769
2118
|
msgstr "Non résolu"
|
|
1770
2119
|
|
|
1771
2120
|
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
|
|
1772
|
-
#: webmail/constants.py:
|
|
2121
|
+
#: webmail/constants.py:38
|
|
1773
2122
|
msgid "None"
|
|
1774
2123
|
msgstr "Aucun"
|
|
1775
2124
|
|
|
1776
|
-
#: dmarc/models.py:11
|
|
1777
|
-
msgid "Quarantine"
|
|
1778
|
-
msgstr "Quarantaine"
|
|
1779
|
-
|
|
1780
2125
|
#: dmarc/models.py:12
|
|
1781
2126
|
msgid "Reject"
|
|
1782
2127
|
msgstr "Rejeter"
|
|
@@ -1901,7 +2246,11 @@ msgstr "Tag obligatoire p introuvable"
|
|
|
1901
2246
|
msgid "Public key mismatchs"
|
|
1902
2247
|
msgstr "La clé publique ne correspond pas"
|
|
1903
2248
|
|
|
1904
|
-
#: imap_migration/api/v2/serializers.py:
|
|
2249
|
+
#: imap_migration/api/v2/serializers.py:66
|
|
2250
|
+
msgid "Migrated domain with name {} already exists"
|
|
2251
|
+
msgstr "Un domaine migré avec le nom {} existe déjà"
|
|
2252
|
+
|
|
2253
|
+
#: imap_migration/api/v2/serializers.py:130
|
|
1905
2254
|
msgid "Access denied"
|
|
1906
2255
|
msgstr "Accès refusé"
|
|
1907
2256
|
|
|
@@ -2574,7 +2923,7 @@ msgstr "Emplacement du dashboard rspamd. Peut être soit une URL relative (ie. '
|
|
|
2574
2923
|
msgid "Rspamd"
|
|
2575
2924
|
msgstr "Rspamd"
|
|
2576
2925
|
|
|
2577
|
-
#: sievefilters/api/v2/viewsets.py:
|
|
2926
|
+
#: sievefilters/api/v2/viewsets.py:203
|
|
2578
2927
|
#, python-format
|
|
2579
2928
|
msgid "Filter %s already exists"
|
|
2580
2929
|
msgstr "Le filtre %s existe déjà"
|
|
@@ -2647,7 +2996,7 @@ msgstr "est"
|
|
|
2647
2996
|
msgid "is not"
|
|
2648
2997
|
msgstr "n'est pas"
|
|
2649
2998
|
|
|
2650
|
-
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:
|
|
2999
|
+
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
|
|
2651
3000
|
msgid "Subject"
|
|
2652
3001
|
msgstr "Sujet"
|
|
2653
3002
|
|
|
@@ -2873,19 +3222,19 @@ msgstr "Taille maximale d'une pièce jointe en octets (ou KB, MG, GB si précis
|
|
|
2873
3222
|
msgid "SMTP settings"
|
|
2874
3223
|
msgstr "Paramètres SMTP"
|
|
2875
3224
|
|
|
2876
|
-
#: webmail/app_settings.py:75
|
|
3225
|
+
#: webmail/app_settings.py:75 webmail/app_settings.py:121
|
|
2877
3226
|
msgid "Address of your SMTP server"
|
|
2878
3227
|
msgstr "Adresse de votre serveur SMTP"
|
|
2879
3228
|
|
|
2880
|
-
#: webmail/app_settings.py:82
|
|
3229
|
+
#: webmail/app_settings.py:82 webmail/app_settings.py:128
|
|
2881
3230
|
msgid "Secured connection mode"
|
|
2882
3231
|
msgstr "Mode de connexion sécurisé"
|
|
2883
3232
|
|
|
2884
|
-
#: webmail/app_settings.py:84
|
|
3233
|
+
#: webmail/app_settings.py:84 webmail/app_settings.py:130
|
|
2885
3234
|
msgid "Use a secured connection to access SMTP server"
|
|
2886
3235
|
msgstr "Utiliser une connexion sécurisée pour accéder au serveur SMTP"
|
|
2887
3236
|
|
|
2888
|
-
#: webmail/app_settings.py:93
|
|
3237
|
+
#: webmail/app_settings.py:93 webmail/app_settings.py:139
|
|
2889
3238
|
msgid "Listening port of your SMTP server"
|
|
2890
3239
|
msgstr "Port d'écoute de votre serveur SMTP"
|
|
2891
3240
|
|
|
@@ -2897,103 +3246,99 @@ msgstr "Authentification requise"
|
|
|
2897
3246
|
msgid "Server needs authentication"
|
|
2898
3247
|
msgstr "Le serveur nécessite une authentification"
|
|
2899
3248
|
|
|
2900
|
-
#: webmail/app_settings.py:
|
|
2901
|
-
msgid "
|
|
2902
|
-
msgstr "
|
|
3249
|
+
#: webmail/app_settings.py:113
|
|
3250
|
+
msgid "Scheduling settings"
|
|
3251
|
+
msgstr "Paramètres de planification"
|
|
2903
3252
|
|
|
2904
|
-
#: webmail/app_settings.py:
|
|
3253
|
+
#: webmail/app_settings.py:161
|
|
2905
3254
|
msgid "Default message display mode"
|
|
2906
3255
|
msgstr "Mode d'affichage par défaut"
|
|
2907
3256
|
|
|
2908
|
-
#: webmail/app_settings.py:
|
|
3257
|
+
#: webmail/app_settings.py:163
|
|
2909
3258
|
msgid "The default mode used when displaying a message"
|
|
2910
3259
|
msgstr "Le mode par défaut utilisé pour afficher un message"
|
|
2911
3260
|
|
|
2912
|
-
#: webmail/app_settings.py:
|
|
3261
|
+
#: webmail/app_settings.py:170
|
|
2913
3262
|
msgid "Enable HTML links display"
|
|
2914
3263
|
msgstr "Activer l'affichage des liens HTML"
|
|
2915
3264
|
|
|
2916
|
-
#: webmail/app_settings.py:
|
|
3265
|
+
#: webmail/app_settings.py:173
|
|
2917
3266
|
msgid "Enable/Disable HTML links display"
|
|
2918
3267
|
msgstr "Activer/Désactiver l'affichage des liens HTML"
|
|
2919
3268
|
|
|
2920
|
-
#: webmail/app_settings.py:
|
|
2921
|
-
msgid "Number of displayed emails per page"
|
|
2922
|
-
msgstr "Nombre de messages affichés par page"
|
|
2923
|
-
|
|
2924
|
-
#: webmail/app_settings.py:147
|
|
3269
|
+
#: webmail/app_settings.py:184
|
|
2925
3270
|
msgid "Sets the maximum number of messages displayed in a page"
|
|
2926
3271
|
msgstr "Définir le nombre maximal de messages affichés dans une page"
|
|
2927
3272
|
|
|
2928
|
-
#: webmail/app_settings.py:
|
|
3273
|
+
#: webmail/app_settings.py:191
|
|
2929
3274
|
msgid "Listing refresh rate"
|
|
2930
3275
|
msgstr "Taux de rafraichissement de la liste"
|
|
2931
3276
|
|
|
2932
|
-
#: webmail/app_settings.py:
|
|
3277
|
+
#: webmail/app_settings.py:193
|
|
2933
3278
|
msgid "Automatic listing refresh rate (in secconds)"
|
|
2934
3279
|
msgstr "Taux de rafraichissement automatique de la liste (en secondes)"
|
|
2935
3280
|
|
|
2936
|
-
#: webmail/app_settings.py:
|
|
3281
|
+
#: webmail/app_settings.py:200
|
|
2937
3282
|
msgid "Folder container's width"
|
|
2938
3283
|
msgstr "Largeur du conteneur des dossiers"
|
|
2939
3284
|
|
|
2940
|
-
#: webmail/app_settings.py:
|
|
3285
|
+
#: webmail/app_settings.py:202
|
|
2941
3286
|
msgid "The width of the folder list container"
|
|
2942
3287
|
msgstr "La largeur du conteneur de la liste des dossiers"
|
|
2943
3288
|
|
|
2944
|
-
#: webmail/app_settings.py:
|
|
3289
|
+
#: webmail/app_settings.py:213
|
|
2945
3290
|
msgid "Folders"
|
|
2946
3291
|
msgstr "Dossiers"
|
|
2947
3292
|
|
|
2948
|
-
#: webmail/app_settings.py:
|
|
3293
|
+
#: webmail/app_settings.py:219
|
|
2949
3294
|
msgid "Trash folder"
|
|
2950
3295
|
msgstr "Dossier poubelle"
|
|
2951
3296
|
|
|
2952
|
-
#: webmail/app_settings.py:
|
|
3297
|
+
#: webmail/app_settings.py:221
|
|
2953
3298
|
msgid "Folder where deleted messages go"
|
|
2954
3299
|
msgstr "Dossier dans lequel vont les messages supprimés"
|
|
2955
3300
|
|
|
2956
|
-
#: webmail/app_settings.py:
|
|
3301
|
+
#: webmail/app_settings.py:228
|
|
2957
3302
|
msgid "Sent folder"
|
|
2958
3303
|
msgstr "Dossier envoyé"
|
|
2959
3304
|
|
|
2960
|
-
#: webmail/app_settings.py:
|
|
3305
|
+
#: webmail/app_settings.py:230
|
|
2961
3306
|
msgid "Folder where copies of sent messages go"
|
|
2962
3307
|
msgstr "Dossier dans lequel vont les copies de messages envoyés"
|
|
2963
3308
|
|
|
2964
|
-
#: webmail/app_settings.py:
|
|
3309
|
+
#: webmail/app_settings.py:237
|
|
2965
3310
|
msgid "Drafts folder"
|
|
2966
3311
|
msgstr "Dossier brouillon"
|
|
2967
3312
|
|
|
2968
|
-
#: webmail/app_settings.py:
|
|
3313
|
+
#: webmail/app_settings.py:238
|
|
2969
3314
|
msgid "Folder where drafts go"
|
|
2970
3315
|
msgstr "Dossier dans lequel vont les brouillons"
|
|
2971
3316
|
|
|
2972
|
-
#: webmail/app_settings.py:
|
|
3317
|
+
#: webmail/app_settings.py:244
|
|
2973
3318
|
msgid "Junk folder"
|
|
2974
3319
|
msgstr "Dossier Junk"
|
|
2975
3320
|
|
|
2976
|
-
#: webmail/app_settings.py:
|
|
3321
|
+
#: webmail/app_settings.py:246
|
|
2977
3322
|
msgid "Folder where junk messages should go"
|
|
2978
3323
|
msgstr "Dossier dans lequel les messages indésirables doivent aller"
|
|
2979
3324
|
|
|
2980
|
-
#: webmail/app_settings.py:
|
|
3325
|
+
#: webmail/app_settings.py:257
|
|
2981
3326
|
msgid "Composing messages"
|
|
2982
3327
|
msgstr "Rédaction de messages"
|
|
2983
3328
|
|
|
2984
|
-
#: webmail/app_settings.py:
|
|
3329
|
+
#: webmail/app_settings.py:263
|
|
2985
3330
|
msgid "Default editor"
|
|
2986
3331
|
msgstr "Editeur par défaut"
|
|
2987
3332
|
|
|
2988
|
-
#: webmail/app_settings.py:
|
|
3333
|
+
#: webmail/app_settings.py:265
|
|
2989
3334
|
msgid "The default editor to use when composing a message"
|
|
2990
3335
|
msgstr "L'éditeur à utiliser par défaut pour rédiger un message"
|
|
2991
3336
|
|
|
2992
|
-
#: webmail/app_settings.py:
|
|
3337
|
+
#: webmail/app_settings.py:272
|
|
2993
3338
|
msgid "Signature text"
|
|
2994
3339
|
msgstr "Texte de signature"
|
|
2995
3340
|
|
|
2996
|
-
#: webmail/app_settings.py:
|
|
3341
|
+
#: webmail/app_settings.py:274
|
|
2997
3342
|
msgid "User defined email signature"
|
|
2998
3343
|
msgstr "Signature email personnalisée"
|
|
2999
3344
|
|
|
@@ -3005,43 +3350,59 @@ msgstr "Réponse du serveur"
|
|
|
3005
3350
|
msgid "Failed to remove attachment: "
|
|
3006
3351
|
msgstr "Impossible de supprimer la pièce jointe :"
|
|
3007
3352
|
|
|
3008
|
-
#: webmail/lib/imapemail.py:
|
|
3353
|
+
#: webmail/lib/imapemail.py:270
|
|
3009
3354
|
msgid "wrote:"
|
|
3010
3355
|
msgstr "a écrit :"
|
|
3011
3356
|
|
|
3012
|
-
#: webmail/lib/imapemail.py:
|
|
3357
|
+
#: webmail/lib/imapemail.py:304
|
|
3013
3358
|
msgid "Date"
|
|
3014
3359
|
msgstr "Date"
|
|
3015
3360
|
|
|
3016
|
-
#: webmail/lib/imapemail.py:
|
|
3361
|
+
#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
|
|
3017
3362
|
msgid "Original message"
|
|
3018
3363
|
msgstr "Message original"
|
|
3019
3364
|
|
|
3020
|
-
#: webmail/lib/imaputils.py:
|
|
3365
|
+
#: webmail/lib/imaputils.py:222
|
|
3021
3366
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3022
3367
|
msgstr "Echec lors de la récupération du séparateur de hierarchie"
|
|
3023
3368
|
|
|
3024
|
-
#: webmail/lib/imaputils.py:
|
|
3369
|
+
#: webmail/lib/imaputils.py:478
|
|
3025
3370
|
msgid "Inbox"
|
|
3026
3371
|
msgstr "Boite de réception"
|
|
3027
3372
|
|
|
3028
|
-
#: webmail/lib/imaputils.py:
|
|
3373
|
+
#: webmail/lib/imaputils.py:482
|
|
3029
3374
|
msgid "Drafts"
|
|
3030
3375
|
msgstr "Brouillons"
|
|
3031
3376
|
|
|
3032
|
-
#: webmail/lib/imaputils.py:
|
|
3377
|
+
#: webmail/lib/imaputils.py:487
|
|
3033
3378
|
msgid "Junk"
|
|
3034
3379
|
msgstr "Indésirables"
|
|
3035
3380
|
|
|
3036
|
-
#: webmail/lib/imaputils.py:
|
|
3381
|
+
#: webmail/lib/imaputils.py:492
|
|
3037
3382
|
msgid "Sent"
|
|
3038
3383
|
msgstr "Envoyés"
|
|
3039
3384
|
|
|
3040
|
-
#: webmail/lib/imaputils.py:
|
|
3385
|
+
#: webmail/lib/imaputils.py:500
|
|
3386
|
+
msgid "Scheduled"
|
|
3387
|
+
msgstr "Planifiés"
|
|
3388
|
+
|
|
3389
|
+
#: webmail/lib/imaputils.py:507
|
|
3041
3390
|
msgid "Trash"
|
|
3042
3391
|
msgstr "Corbeille"
|
|
3043
3392
|
|
|
3044
|
-
#: 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
|
|
3045
3406
|
#, python-format
|
|
3046
3407
|
msgid "Attachment is too big (limit: %s)"
|
|
3047
3408
|
msgstr "La pièce jointe est trop grosse (limite : %s)"
|