modoboa 2.4.10__py3-none-any.whl → 2.5.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/v1/serializers.py +1 -0
- modoboa/admin/api/v2/serializers.py +15 -1
- modoboa/admin/api/v2/tests.py +11 -1
- modoboa/admin/lib.py +1 -1
- modoboa/admin/models/mailbox.py +15 -13
- modoboa/admin/models/mxrecord.py +4 -0
- modoboa/admin/tests/test_import_.py +11 -11
- modoboa/amavis/__init__.py +3 -0
- modoboa/amavis/app_settings.py +276 -0
- modoboa/amavis/apps.py +18 -0
- modoboa/amavis/checks/__init__.py +2 -0
- modoboa/amavis/checks/settings_checks.py +59 -0
- modoboa/amavis/dbrouter.py +35 -0
- modoboa/amavis/factories.py +164 -0
- modoboa/amavis/handlers.py +146 -0
- modoboa/amavis/lib.py +381 -0
- modoboa/amavis/management/__init__.py +0 -0
- modoboa/amavis/management/commands/__init__.py +0 -0
- modoboa/amavis/management/commands/amnotify.py +99 -0
- modoboa/amavis/management/commands/qcleanup.py +84 -0
- modoboa/amavis/migrations/0001_initial.py +340 -0
- modoboa/amavis/migrations/__init__.py +0 -0
- modoboa/amavis/models.py +226 -0
- modoboa/amavis/serializers.py +139 -0
- modoboa/amavis/sql_connector.py +240 -0
- modoboa/amavis/sql_email.py +66 -0
- modoboa/amavis/tasks.py +33 -0
- modoboa/amavis/templates/amavis/notifications/pending_requests.html +16 -0
- modoboa/amavis/tests/__init__.py +0 -0
- modoboa/amavis/tests/sa-learn +3 -0
- modoboa/amavis/tests/sample_messages/quarantined-input.txt +80 -0
- modoboa/amavis/tests/sample_messages/quarantined-output-plain_nolinks.txt +17 -0
- modoboa/amavis/tests/spamc +3 -0
- modoboa/amavis/tests/test_checks.py +25 -0
- modoboa/amavis/tests/test_handlers.py +214 -0
- modoboa/amavis/tests/test_lib.py +90 -0
- modoboa/amavis/tests/test_management_commands.py +45 -0
- modoboa/amavis/tests/test_sql_email.py +67 -0
- modoboa/amavis/tests/test_utils.py +19 -0
- modoboa/amavis/tests/test_viewsets.py +319 -0
- modoboa/amavis/urls.py +11 -0
- modoboa/amavis/utils.py +105 -0
- modoboa/amavis/viewsets.py +265 -0
- modoboa/core/api/v1/serializers.py +7 -5
- modoboa/core/api/v2/serializers.py +13 -2
- modoboa/core/api/v2/tests.py +34 -4
- modoboa/core/api/v2/urls.py +10 -5
- modoboa/core/api/v2/views.py +23 -2
- modoboa/core/api/v2/viewsets.py +24 -3
- modoboa/core/app_settings.py +11 -0
- modoboa/core/fido2_auth.py +1 -2
- modoboa/core/handlers.py +6 -2
- modoboa/core/management/commands/add_allowed_hosts.py +33 -0
- modoboa/core/management/commands/cleanlogs.py +9 -0
- modoboa/core/management/commands/load_initial_data.py +10 -0
- modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +23 -5
- modoboa/core/tests/test_core.py +29 -0
- modoboa/core/utils.py +6 -0
- modoboa/dnstools/api/v2/serializers.py +9 -11
- modoboa/frontend_dist/assets/AccountAliasForm-BuSy_1n9.js +1 -0
- modoboa/frontend_dist/assets/AccountEditView-qdJmLM_e.js +1 -0
- modoboa/frontend_dist/assets/AccountLayout-DrN7vHsX.js +1 -0
- modoboa/frontend_dist/assets/AccountPasswordSubForm-DZGt_Xgq.js +1 -0
- modoboa/frontend_dist/assets/AccountView-CO65y0vZ.js +1 -0
- modoboa/frontend_dist/assets/AddressBook-BZNUlhek.js +1 -0
- modoboa/frontend_dist/assets/AdminLayout-CTNhuwTw.js +1 -0
- modoboa/frontend_dist/assets/AlarmsView-9yKGbmkC.css +1 -0
- modoboa/frontend_dist/assets/AlarmsView-DN_JIw9g.js +1 -0
- modoboa/frontend_dist/assets/AliasEditView-DjpPUTp9.js +1 -0
- modoboa/frontend_dist/assets/{AliasRecipientForm-DVZXWaUX.js → AliasRecipientForm-B1Y8wFdP.js} +1 -1
- modoboa/frontend_dist/assets/AliasView-GOJ5lyQH.js +1 -0
- modoboa/frontend_dist/assets/AuditTrailView-fbXmq70e.js +1 -0
- modoboa/frontend_dist/assets/CalendarView-LlQQNEPL.js +1 -0
- modoboa/frontend_dist/assets/{ChoiceField-7eU7c_rI.js → ChoiceField-B3ReQHVe.js} +1 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-Bs1fZXAL.js +1 -0
- modoboa/frontend_dist/assets/ComposeEmailView-s3LMl3pO.js +1 -0
- modoboa/frontend_dist/assets/ConfirmDialog-DY_kUHLG.js +1 -0
- modoboa/frontend_dist/assets/{ConnectedLayout-BaJZ3BeR.css → ConnectedLayout-Bxh21hcH.css} +1 -1
- modoboa/frontend_dist/assets/ConnectedLayout-UWjiYBNw.js +1 -0
- modoboa/frontend_dist/assets/CreationForm-ORg3fazt.js +1 -0
- modoboa/frontend_dist/assets/DashboardView-Dplk9itS.js +1 -0
- modoboa/frontend_dist/assets/{DashboardView-BLlMi6Qb.css → DashboardView-gwwVAPvt.css} +1 -1
- modoboa/frontend_dist/assets/DomainAdminList-DVn9x0rB.js +1 -0
- modoboa/frontend_dist/assets/DomainEditView-nAoL64D_.js +1 -0
- modoboa/frontend_dist/assets/{DomainTransportForm-DPnPGBOp.js → DomainTransportForm-CA-DNUxX.js} +1 -1
- modoboa/frontend_dist/assets/{DomainView-BDKoBFYr.css → DomainView-CCLYXPHx.css} +1 -1
- modoboa/frontend_dist/assets/DomainView-CdXPpwJG.js +5 -0
- modoboa/frontend_dist/assets/DomainsView-B_59gowf.js +1 -0
- modoboa/frontend_dist/assets/DomainsView-DZ-ss9bI.css +1 -0
- modoboa/frontend_dist/assets/EmailField-CwcwI5xW.js +1 -0
- modoboa/frontend_dist/assets/EmailView-BshxcfAK.js +1 -0
- modoboa/frontend_dist/assets/EmptyLayout-DFfhnhLi.js +1 -0
- modoboa/frontend_dist/assets/FiltersView-Cf20MSTK.js +1 -0
- modoboa/frontend_dist/assets/ForwardEmailView-CZG062os.js +1 -0
- modoboa/frontend_dist/assets/{HtmlEditor-uM4AtIGi.js → HtmlEditor-Bh4c689R.js} +1 -1
- modoboa/frontend_dist/assets/IdentitiesView-BXAuU1YX.js +1 -0
- modoboa/frontend_dist/assets/{IdentitiesView-jmuItyMZ.css → IdentitiesView-DPrrRMS5.css} +1 -1
- modoboa/frontend_dist/assets/InformationView-C9vvvQhJ.css +1 -0
- modoboa/frontend_dist/assets/InformationView-Cn5FZW7H.js +1 -0
- modoboa/frontend_dist/assets/{LoadingData-CVD2Aen8.js → LoadingData-CdVvm4FI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginCallbackView-sWzBke1g.js → LoginCallbackView-B9hAH4MI.js} +1 -1
- modoboa/frontend_dist/assets/{LoginView-wmN73W0f.js → LoginView-tHIR4Adc.js} +1 -1
- modoboa/frontend_dist/assets/MailboxView-Bugu2vhg.js +1 -0
- modoboa/frontend_dist/assets/MenuItems-PXjiG-fs.js +1 -0
- modoboa/frontend_dist/assets/MessageView-Cy4STShm.js +1 -0
- modoboa/frontend_dist/assets/MessagesView-DdkuEgfX.js +1 -0
- modoboa/frontend_dist/assets/MigrationsView-CidSEjCF.js +1 -0
- modoboa/frontend_dist/assets/{ParametersForm-BCeQljir.js → ParametersForm-CAv4SH-E.js} +1 -1
- modoboa/frontend_dist/assets/ParametersView-CX7Ffemw.js +1 -0
- modoboa/frontend_dist/assets/ParametersView-CrbNcmV3.js +1 -0
- modoboa/frontend_dist/assets/ProviderEditView-CrltAQXl.js +1 -0
- modoboa/frontend_dist/assets/ProviderGeneralForm-BYAzVnXM.js +1 -0
- modoboa/frontend_dist/assets/ProvidersView-osjIY4Ex.js +1 -0
- modoboa/frontend_dist/assets/QuarantineLayout-B8EcU9vS.js +1 -0
- modoboa/frontend_dist/assets/QuarantineView-D4gOE4EQ.css +1 -0
- modoboa/frontend_dist/assets/QuarantineView-D8Qg0MXA.js +1 -0
- modoboa/frontend_dist/assets/ReplyEmailView-BABPqWhd.js +1 -0
- modoboa/frontend_dist/assets/ResourcesForm-OaqdRYVs.js +1 -0
- modoboa/frontend_dist/assets/SelfServiceLayout-d277YTGR.js +1 -0
- modoboa/frontend_dist/assets/SettingsView-9iNcDhkI.js +6 -0
- modoboa/frontend_dist/assets/StatisticsView-cHsPyGkL.js +1 -0
- modoboa/frontend_dist/assets/TimeSerieChart--V83dcJ9.js +1 -0
- modoboa/frontend_dist/assets/UserLayout-B3sBiTcZ.js +1 -0
- modoboa/frontend_dist/assets/VAlert-BuaaYN2h.js +1 -0
- modoboa/frontend_dist/assets/VApp-CKP-6zGP.js +1 -0
- modoboa/frontend_dist/assets/VAutocomplete-Dwv6_Rzq.js +1 -0
- modoboa/frontend_dist/assets/VAvatar-Cmga0vj6.js +1 -0
- modoboa/frontend_dist/assets/VBadge-BQrRJ9S0.css +1 -0
- modoboa/frontend_dist/assets/VBadge-CixeK87a.js +1 -0
- modoboa/frontend_dist/assets/VCard-CxH9DWoK.js +1 -0
- modoboa/frontend_dist/assets/VCheckbox-62GOpvvP.js +1 -0
- modoboa/frontend_dist/assets/{VCheckboxBtn-j7di4leN.js → VCheckboxBtn-DMoNtKT8.js} +1 -1
- modoboa/frontend_dist/assets/VChip-D_styETR.js +1 -0
- modoboa/frontend_dist/assets/VColorPicker-BHscBGQV.js +1 -0
- modoboa/frontend_dist/assets/VContainer-B46caNs1.js +1 -0
- modoboa/frontend_dist/assets/VDataTable-Bh8NbVSx.js +1 -0
- modoboa/frontend_dist/assets/VDataTableServer-BDR5hOmo.js +1 -0
- modoboa/frontend_dist/assets/VDataTableVirtual-BOQlNtIG.js +1 -0
- modoboa/frontend_dist/assets/{VDialog-CZqM2Ofu.js → VDialog-BcTg7w6P.js} +1 -1
- modoboa/frontend_dist/assets/VExpansionPanels-BmH5Jl2Z.js +1 -0
- modoboa/frontend_dist/assets/VFileInput-BC4yAygd.js +1 -0
- modoboa/frontend_dist/assets/VForm-D5iPGkde.js +1 -0
- modoboa/frontend_dist/assets/VInput-CcxkaOXT.css +1 -0
- modoboa/frontend_dist/assets/VInput-CoDJzvaW.js +1 -0
- modoboa/frontend_dist/assets/VMenu-gUG70-zD.js +1 -0
- modoboa/frontend_dist/assets/VPicker-BXuKT3zB.js +1 -0
- modoboa/frontend_dist/assets/VProgressCircular-BtOPiGCg.js +1 -0
- modoboa/frontend_dist/assets/VRadioGroup-DIFZKSn-.js +1 -0
- modoboa/frontend_dist/assets/{VRow-C_Ydf6yr.js → VRow-ozg66L7j.js} +1 -1
- modoboa/frontend_dist/assets/VSelect-C3RjAa45.js +1 -0
- modoboa/frontend_dist/assets/VSelectionControl-zyz-fJvC.js +1 -0
- modoboa/frontend_dist/assets/VSheet-BNx2X4Mk.js +1 -0
- modoboa/frontend_dist/assets/VSpacer-DinPiXs9.js +1 -0
- modoboa/frontend_dist/assets/VSwitch-DwxdeAEq.js +1 -0
- modoboa/frontend_dist/assets/VTable-DaLxa4FO.js +1 -0
- modoboa/frontend_dist/assets/VTabs-BP0Hgsgm.js +1 -0
- modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +1 -0
- modoboa/frontend_dist/assets/VTextField-XoGTj1KG.js +1 -0
- modoboa/frontend_dist/assets/VTextarea-wBlRMIv_.js +1 -0
- modoboa/frontend_dist/assets/VToolbar-CFZfqeOr.js +1 -0
- modoboa/frontend_dist/assets/VWindowItem-BB7ETW3b.js +1 -0
- modoboa/frontend_dist/assets/WebmailLayout-_Hk1XhVq.js +1 -0
- modoboa/frontend_dist/assets/accounts-DUzbx6k8.js +1 -0
- modoboa/frontend_dist/assets/admin-DewTk2H8.js +1 -0
- modoboa/frontend_dist/assets/{aliases-c3n-dCV_.js → aliases-4sXmjwXp.js} +1 -1
- modoboa/frontend_dist/assets/amavis-CC0li7_T.js +1 -0
- modoboa/frontend_dist/assets/amavis-DK8SHE6o.js +1 -0
- modoboa/frontend_dist/assets/{contacts-Bqckz8sr.js → contacts-BjghrPqZ.js} +1 -1
- modoboa/frontend_dist/assets/{domains-nBMR-fRf.js → domains-BSawReeu.js} +1 -1
- modoboa/frontend_dist/assets/{domains.store-ChZgLcqP.js → domains.store-D-vWCEIK.js} +1 -1
- modoboa/frontend_dist/assets/{filter-D7NrAf6a.js → filter-C82FUCw_.js} +1 -1
- modoboa/frontend_dist/assets/forwardRefs-cvcnlhoK.js +1 -0
- modoboa/frontend_dist/assets/global.store-DbkcI5o2.js +1 -0
- modoboa/frontend_dist/assets/{importExport-Dn9vYw7T.js → importExport-DzoL4Mvc.js} +1 -1
- modoboa/frontend_dist/assets/index-BImkz5Jx.js +984 -0
- modoboa/frontend_dist/assets/index-DuzUMVLM.js +1 -0
- modoboa/frontend_dist/assets/layout-C5FyYCHK.js +1 -0
- modoboa/frontend_dist/assets/{layout.store-BxBoBlgf.js → layout.store-NXWtFIwL.js} +1 -1
- modoboa/frontend_dist/assets/logos-BswdveCV.js +1 -0
- modoboa/frontend_dist/assets/{logs-DrTzylW7.js → logs-6CbtfaZS.js} +1 -1
- modoboa/frontend_dist/assets/{parameters-Lgiqp7aw.js → parameters-aSQiR7kN.js} +1 -1
- modoboa/frontend_dist/assets/{parameters.store-C9k9DuTj.js → parameters.store-CzQqVatx.js} +1 -1
- modoboa/frontend_dist/assets/permissions-DNoefz-n.js +1 -0
- modoboa/frontend_dist/assets/{ssrBoot-BsxW6uW4.js → ssrBoot-CKUX4kcb.js} +1 -1
- modoboa/frontend_dist/assets/{tag-CFK9dzMJ.js → tag-B_yWNNJD.js} +1 -1
- modoboa/frontend_dist/assets/transports-BDNB9wR5.js +1 -0
- modoboa/frontend_dist/assets/{webmail-KrD8ZhNM.js → webmail-CdU6CD9b.js} +1 -1
- modoboa/frontend_dist/index.html +1 -1
- modoboa/lib/email_utils.py +2 -2
- modoboa/lib/permissions.py +7 -0
- modoboa/lib/redis.py +1 -5
- modoboa/lib/test_runners.py +29 -0
- modoboa/lib/tests/__init__.py +5 -1
- modoboa/locale/br/LC_MESSAGES/django.po +87 -75
- modoboa/locale/cs/LC_MESSAGES/django.po +82 -74
- modoboa/locale/cs_CZ/LC_MESSAGES/django.po +145 -121
- modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/de/LC_MESSAGES/django.po +339 -651
- modoboa/locale/de_DE/LC_MESSAGES/django.po +87 -75
- modoboa/locale/el_GR/LC_MESSAGES/django.po +160 -135
- modoboa/locale/en/LC_MESSAGES/django.po +82 -74
- modoboa/locale/es/LC_MESSAGES/django.po +158 -131
- modoboa/locale/es_MX/LC_MESSAGES/django.po +82 -74
- modoboa/locale/fi/LC_MESSAGES/django.po +87 -75
- modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/fr/LC_MESSAGES/django.po +469 -201
- modoboa/locale/hu/LC_MESSAGES/django.po +82 -74
- modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/it/LC_MESSAGES/django.po +148 -122
- modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/ja_JP/LC_MESSAGES/django.po +201 -334
- modoboa/locale/ka/LC_MESSAGES/django.po +82 -74
- modoboa/locale/nl_NL/LC_MESSAGES/django.po +160 -132
- modoboa/locale/no/LC_MESSAGES/django.po +82 -74
- modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pl_PL/LC_MESSAGES/django.po +172 -149
- modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/pt_BR/LC_MESSAGES/django.po +172 -144
- modoboa/locale/pt_PT/LC_MESSAGES/django.po +135 -112
- modoboa/locale/ro_RO/LC_MESSAGES/django.po +87 -75
- modoboa/locale/ru/LC_MESSAGES/django.po +142 -118
- modoboa/locale/si/LC_MESSAGES/django.po +82 -74
- modoboa/locale/sk/LC_MESSAGES/django.po +82 -74
- modoboa/locale/sk_SK/LC_MESSAGES/django.po +84 -76
- modoboa/locale/sl_SI/LC_MESSAGES/django.po +90 -76
- modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
- modoboa/locale/sv/LC_MESSAGES/django.po +172 -139
- modoboa/locale/tr/LC_MESSAGES/django.po +87 -75
- modoboa/locale/tr_TR/LC_MESSAGES/django.po +84 -74
- modoboa/locale/uk/LC_MESSAGES/django.po +82 -74
- modoboa/locale/zh/LC_MESSAGES/django.po +82 -74
- modoboa/locale/zh_CN/LC_MESSAGES/django.po +82 -74
- modoboa/locale/zh_TW/LC_MESSAGES/django.po +87 -75
- modoboa/parameters/api/v2/tests.py +2 -2
- modoboa/parameters/api/v2/viewsets.py +2 -0
- modoboa/policyd/tests.py +2 -0
- modoboa/urls_api_v2.py +6 -0
- {modoboa-2.4.10.dist-info → modoboa-2.5.0.dist-info}/METADATA +6 -4
- {modoboa-2.4.10.dist-info → modoboa-2.5.0.dist-info}/RECORD +244 -193
- modoboa/frontend_dist/assets/AccountAliasForm-DVXatAhB.js +0 -1
- modoboa/frontend_dist/assets/AccountEditView-DmvQjxpx.js +0 -1
- modoboa/frontend_dist/assets/AccountLayout-OGtZvlHR.js +0 -1
- modoboa/frontend_dist/assets/AccountPasswordSubForm-g3IEGrgM.js +0 -1
- modoboa/frontend_dist/assets/AccountView-DsxYqr3k.js +0 -1
- modoboa/frontend_dist/assets/AddressBook-3RoKiKon.js +0 -1
- modoboa/frontend_dist/assets/AdminLayout-CWfn8zaQ.js +0 -1
- modoboa/frontend_dist/assets/AlarmsView-Bheey-gp.css +0 -1
- modoboa/frontend_dist/assets/AlarmsView-D3Mh8ntf.js +0 -1
- modoboa/frontend_dist/assets/AliasEditView-C15eUZ11.js +0 -1
- modoboa/frontend_dist/assets/AliasView-Cyvc5vMb.js +0 -1
- modoboa/frontend_dist/assets/AuditTrailView-LI2XuLLn.js +0 -1
- modoboa/frontend_dist/assets/CalendarView-BpOlPh3f.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailForm-CNfI7ept.js +0 -1
- modoboa/frontend_dist/assets/ComposeEmailView-B866Xsrc.js +0 -1
- modoboa/frontend_dist/assets/ConfirmDialog-BvqxQsD1.js +0 -1
- modoboa/frontend_dist/assets/ConnectedLayout-BQ3ug6Jh.js +0 -1
- modoboa/frontend_dist/assets/CreationForm-C9Kh05ax.js +0 -1
- modoboa/frontend_dist/assets/DashboardView-Cw-gIcuB.js +0 -1
- modoboa/frontend_dist/assets/DomainAdminList-CsWUNKVk.js +0 -1
- modoboa/frontend_dist/assets/DomainEditView-DocxeOeW.js +0 -1
- modoboa/frontend_dist/assets/DomainView-Djc_0PsF.js +0 -5
- modoboa/frontend_dist/assets/DomainsView-B-Lxru7P.js +0 -1
- modoboa/frontend_dist/assets/DomainsView-DasJ0NdZ.css +0 -1
- modoboa/frontend_dist/assets/EmailField-BEKxuYni.js +0 -1
- modoboa/frontend_dist/assets/EmailView-BsR1Wes5.js +0 -1
- modoboa/frontend_dist/assets/EmptyLayout-BzPFOeLU.js +0 -1
- modoboa/frontend_dist/assets/FiltersView-5rmpC5cC.js +0 -1
- modoboa/frontend_dist/assets/ForwardEmailView-D7MbetcT.js +0 -1
- modoboa/frontend_dist/assets/IdentitiesView-BqjD9Lue.js +0 -1
- modoboa/frontend_dist/assets/InformationView-CghcvPn2.js +0 -1
- modoboa/frontend_dist/assets/InformationView-U5Ww-Sx1.css +0 -1
- modoboa/frontend_dist/assets/MailboxView-T_p-_ZtJ.js +0 -1
- modoboa/frontend_dist/assets/MenuItems-kHCMzR5E.js +0 -1
- modoboa/frontend_dist/assets/MessagesView-Cerv3xsy.js +0 -1
- modoboa/frontend_dist/assets/MigrationsView-7kjqPyYU.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-DspBxVMV.js +0 -1
- modoboa/frontend_dist/assets/ParametersView-Dy0H5ep1.js +0 -1
- modoboa/frontend_dist/assets/ProviderEditView-DDLMOylC.js +0 -1
- modoboa/frontend_dist/assets/ProviderGeneralForm-BwOSKNHK.js +0 -1
- modoboa/frontend_dist/assets/ProvidersView-C99UD0WB.js +0 -1
- modoboa/frontend_dist/assets/ReplyEmailView-DAPBHldd.js +0 -1
- modoboa/frontend_dist/assets/ResourcesForm-D87PHeH0.js +0 -1
- modoboa/frontend_dist/assets/SettingsView-OxDo9wNd.js +0 -6
- modoboa/frontend_dist/assets/StatisticsView-CM__Eqku.js +0 -1
- modoboa/frontend_dist/assets/TimeSerieChart-C6j0uYR_.js +0 -1
- modoboa/frontend_dist/assets/UserLayout-CckCGnPS.js +0 -1
- modoboa/frontend_dist/assets/VAlert-B7mzOJIO.js +0 -1
- modoboa/frontend_dist/assets/VApp-BKxnjOoi.js +0 -1
- modoboa/frontend_dist/assets/VAutocomplete-Cc4_tcl1.js +0 -1
- modoboa/frontend_dist/assets/VAvatar-BAgTUIvX.js +0 -1
- modoboa/frontend_dist/assets/VCard-DFWiFORP.js +0 -1
- modoboa/frontend_dist/assets/VCheckbox-CKsH_vq3.js +0 -1
- modoboa/frontend_dist/assets/VChip-nZ0uhY7t.js +0 -1
- modoboa/frontend_dist/assets/VColorPicker-Os2aeP6J.js +0 -1
- modoboa/frontend_dist/assets/VContainer-Btam4lk2.js +0 -1
- modoboa/frontend_dist/assets/VDataTable-D_0_xJTl.js +0 -1
- modoboa/frontend_dist/assets/VDataTableServer-BWTt4Mzi.js +0 -1
- modoboa/frontend_dist/assets/VDataTableVirtual-BwVmkt4u.js +0 -1
- modoboa/frontend_dist/assets/VExpansionPanels-B5D6GOa3.js +0 -1
- modoboa/frontend_dist/assets/VFileInput-Cv9DIPki.js +0 -1
- modoboa/frontend_dist/assets/VForm-CpoZf60D.js +0 -1
- modoboa/frontend_dist/assets/VMenu-B_dVqOmo.js +0 -1
- modoboa/frontend_dist/assets/VPicker-CXkIGEze.js +0 -1
- modoboa/frontend_dist/assets/VProgressCircular-CrEXxs7k.js +0 -1
- modoboa/frontend_dist/assets/VRadioGroup-D8ypjYOO.js +0 -1
- modoboa/frontend_dist/assets/VSelect-CS51PDEt.js +0 -1
- modoboa/frontend_dist/assets/VSelectionControl-DiOqtY38.js +0 -1
- modoboa/frontend_dist/assets/VSheet-5VVWtHvs.js +0 -1
- modoboa/frontend_dist/assets/VSpacer-C6PZ3X24.js +0 -1
- modoboa/frontend_dist/assets/VSwitch-Chg5o-Cp.js +0 -1
- modoboa/frontend_dist/assets/VTable-KsiZ3cBz.js +0 -1
- modoboa/frontend_dist/assets/VTabs-tNrJIYO0.js +0 -1
- modoboa/frontend_dist/assets/VTextField-C-J20yj_.css +0 -1
- modoboa/frontend_dist/assets/VTextField-CLwRV0Cb.js +0 -1
- modoboa/frontend_dist/assets/VTextarea-Di8jbl8m.js +0 -1
- modoboa/frontend_dist/assets/VToolbar-CGwhgdmI.js +0 -1
- modoboa/frontend_dist/assets/VWindowItem-wWSFAGI-.js +0 -1
- modoboa/frontend_dist/assets/WebmailLayout-DsYThBrz.js +0 -1
- modoboa/frontend_dist/assets/admin-CJVLMHh9.js +0 -1
- modoboa/frontend_dist/assets/forwardRefs-Cpc3YYl6.js +0 -1
- modoboa/frontend_dist/assets/global.store-DUP26-A5.js +0 -1
- modoboa/frontend_dist/assets/index-DV9Li2cg.js +0 -852
- modoboa/frontend_dist/assets/index-DzL89N4E.js +0 -1
- modoboa/frontend_dist/assets/layout-CHO37cA6.js +0 -1
- modoboa/frontend_dist/assets/permissions-mL5hLHcW.js +0 -1
- modoboa/frontend_dist/assets/transports-TO08iTXJ.js +0 -1
- {modoboa-2.4.10.data → modoboa-2.5.0.data}/scripts/modoboa-admin.py +0 -0
- {modoboa-2.4.10.dist-info → modoboa-2.5.0.dist-info}/WHEEL +0 -0
- {modoboa-2.4.10.dist-info → modoboa-2.5.0.dist-info}/entry_points.txt +0 -0
- {modoboa-2.4.10.dist-info → modoboa-2.5.0.dist-info}/licenses/LICENSE +0 -0
- {modoboa-2.4.10.dist-info → modoboa-2.5.0.dist-info}/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: \n"
|
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
|
10
|
-
"POT-Creation-Date: 2025-
|
|
10
|
+
"POT-Creation-Date: 2025-08-28 09:41+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2023-02-17 22:03+0200\n"
|
|
12
12
|
"Last-Translator: Ossi Mäntylahti <ossiman@gmail.com>\n"
|
|
13
13
|
"Language-Team: \n"
|
|
@@ -33,70 +33,71 @@ msgstr ""
|
|
|
33
33
|
"Postilaatikoihin sovellettava oletuskiintiö megatavuina. Arvo 0 tarkoittaa, "
|
|
34
34
|
"ettei kiintiötä ole."
|
|
35
35
|
|
|
36
|
-
#: admin/api/v1/serializers.py:
|
|
36
|
+
#: admin/api/v1/serializers.py:94
|
|
37
37
|
#, fuzzy
|
|
38
38
|
msgid "domain alias with this name already exists"
|
|
39
39
|
msgstr "Alias tällä nimellä on jo olemassa"
|
|
40
40
|
|
|
41
|
-
#: admin/api/v1/serializers.py:
|
|
41
|
+
#: admin/api/v1/serializers.py:104
|
|
42
42
|
msgid "No authorized MX record found for this domain"
|
|
43
43
|
msgstr "Tälle verkkotunnukselle ei löytynyt valtuutettua MX-tietuetta"
|
|
44
44
|
|
|
45
|
-
#: admin/api/v1/serializers.py:
|
|
45
|
+
#: admin/api/v1/serializers.py:122
|
|
46
46
|
msgid "Cannot be greater than domain quota"
|
|
47
47
|
msgstr "Ei voi olla suurempi kuin verkkotunnuksen kiintiö"
|
|
48
48
|
|
|
49
|
-
#: admin/api/v1/serializers.py:
|
|
50
|
-
#: admin/api/v2/serializers.py:
|
|
49
|
+
#: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
|
|
50
|
+
#: admin/api/v2/serializers.py:564 admin/models/alias.py:44
|
|
51
51
|
msgid "Permission denied."
|
|
52
52
|
msgstr "Lupa evätty."
|
|
53
53
|
|
|
54
|
-
#: admin/api/v1/serializers.py:
|
|
55
|
-
#: admin/api/v2/serializers.py:
|
|
56
|
-
#: core/api/v2/serializers.py:
|
|
54
|
+
#: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
|
|
55
|
+
#: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
|
|
56
|
+
#: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
|
|
57
57
|
#: transport/backends.py:40
|
|
58
58
|
msgid "This field is required"
|
|
59
59
|
msgstr "Tämä kenttä on pakollinen"
|
|
60
60
|
|
|
61
|
-
#: admin/api/v1/serializers.py:
|
|
61
|
+
#: admin/api/v1/serializers.py:243
|
|
62
62
|
msgid ""
|
|
63
63
|
"List of administered domains (resellers and domain administrators only)."
|
|
64
64
|
msgstr ""
|
|
65
65
|
"Luettelo hallinnoiduista verkkotunnuksista (vain jälleenmyyjät ja "
|
|
66
66
|
"verkkotunnusten ylläpitäjät)."
|
|
67
67
|
|
|
68
|
-
#: admin/api/v1/serializers.py:
|
|
68
|
+
#: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
|
|
69
69
|
msgid "Not allowed for this role."
|
|
70
70
|
msgstr "Ei sallittu tässä roolissa."
|
|
71
71
|
|
|
72
|
-
#: admin/api/v1/serializers.py:
|
|
72
|
+
#: admin/api/v1/serializers.py:355
|
|
73
73
|
msgid "Must be equal to mailbox full_address"
|
|
74
74
|
msgstr "Täytyy olla yhtä suuri kuin postilaatikon koko osoite"
|
|
75
75
|
|
|
76
|
-
#: admin/api/v1/serializers.py:
|
|
76
|
+
#: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
|
|
77
77
|
#: calendars/serializers.py:175 calendars/serializers.py:177
|
|
78
|
+
#: pdfcredentials/api/v2/serializers.py:91
|
|
78
79
|
msgid "This field is required."
|
|
79
80
|
msgstr "Tämä kenttä on pakollinen."
|
|
80
81
|
|
|
81
|
-
#: admin/api/v1/serializers.py:
|
|
82
|
+
#: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
|
|
82
83
|
msgid "Local domain {} does not exist"
|
|
83
84
|
msgstr "Paikallista verkkotunnusta {} ei ole olemassa"
|
|
84
85
|
|
|
85
|
-
#: admin/api/v1/serializers.py:
|
|
86
|
+
#: admin/api/v1/serializers.py:499
|
|
86
87
|
msgid "A list of recipient"
|
|
87
88
|
msgstr "Luettelo vastaanottajista"
|
|
88
89
|
|
|
89
|
-
#: admin/api/v1/serializers.py:
|
|
90
|
+
#: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
|
|
90
91
|
#, fuzzy
|
|
91
92
|
#| msgid "User '%s' already exists"
|
|
92
93
|
msgid "This alias already exists"
|
|
93
94
|
msgstr "Käyttäjä '%s' on jo olemassa"
|
|
94
95
|
|
|
95
|
-
#: admin/api/v1/serializers.py:
|
|
96
|
+
#: admin/api/v1/serializers.py:551
|
|
96
97
|
msgid "You don't have access to this domain."
|
|
97
98
|
msgstr "Sinulla ei ole pääsyä tähän verkkotunnukseen."
|
|
98
99
|
|
|
99
|
-
#: admin/api/v1/serializers.py:
|
|
100
|
+
#: admin/api/v1/serializers.py:560
|
|
100
101
|
msgid "You don't have access to this mailbox."
|
|
101
102
|
msgstr "Sinulla ei ole pääsyä tähän postilaatikkoon."
|
|
102
103
|
|
|
@@ -104,58 +105,58 @@ msgstr "Sinulla ei ole pääsyä tähän postilaatikkoon."
|
|
|
104
105
|
msgid "Here is your new Modoboa password: {}"
|
|
105
106
|
msgstr "Tässä on uusi Modoboa-salasanasi: {}"
|
|
106
107
|
|
|
107
|
-
#: admin/api/v2/serializers.py:
|
|
108
|
+
#: admin/api/v2/serializers.py:82
|
|
108
109
|
msgid "DKIM keys storage directory not configured"
|
|
109
110
|
msgstr "DKIM-avainten tallennushakemistoa ei ole määritetty"
|
|
110
111
|
|
|
111
|
-
#: admin/api/v2/serializers.py:
|
|
112
|
+
#: admin/api/v2/serializers.py:94
|
|
112
113
|
msgid "This field is valid when type is relaydomain"
|
|
113
114
|
msgstr ""
|
|
114
115
|
|
|
115
|
-
#: admin/api/v2/serializers.py:
|
|
116
|
+
#: admin/api/v2/serializers.py:101
|
|
116
117
|
msgid "You can't define an unlimited quota."
|
|
117
118
|
msgstr "Et voi määritellä rajoittamatonta kiintiötä."
|
|
118
119
|
|
|
119
|
-
#: admin/api/v2/serializers.py:
|
|
120
|
+
#: admin/api/v2/serializers.py:135
|
|
120
121
|
#, python-format
|
|
121
122
|
msgid "User '%s' already exists"
|
|
122
123
|
msgstr "Käyttäjä '%s' on jo olemassa"
|
|
123
124
|
|
|
124
|
-
#: admin/api/v2/serializers.py:
|
|
125
|
+
#: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
|
|
125
126
|
msgid "Must be a positive integer"
|
|
126
127
|
msgstr "Täytyy olla positiivinen kokonaisluku"
|
|
127
128
|
|
|
128
|
-
#: admin/api/v2/serializers.py:
|
|
129
|
+
#: admin/api/v2/serializers.py:265
|
|
129
130
|
msgid "openssl not found, please make sure it is installed."
|
|
130
131
|
msgstr "openssl ei löydy, varmista, että se on asennettu."
|
|
131
132
|
|
|
132
|
-
#: admin/api/v2/serializers.py:
|
|
133
|
+
#: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
|
|
133
134
|
msgid "Directory not found."
|
|
134
135
|
msgstr "Hakemistoa ei löydy."
|
|
135
136
|
|
|
136
|
-
#: admin/api/v2/serializers.py:
|
|
137
|
+
#: admin/api/v2/serializers.py:279
|
|
137
138
|
msgid "This field only allows valid IP addresses (or networks)"
|
|
138
139
|
msgstr ""
|
|
139
140
|
|
|
140
|
-
#: admin/api/v2/serializers.py:
|
|
141
|
+
#: admin/api/v2/serializers.py:292
|
|
141
142
|
msgid "Please disable imap migration before disabling this option."
|
|
142
143
|
msgstr ""
|
|
143
144
|
|
|
144
|
-
#: admin/api/v2/serializers.py:
|
|
145
|
+
#: admin/api/v2/serializers.py:305
|
|
145
146
|
msgid "Define at least one authorized network / address"
|
|
146
147
|
msgstr "Määritä vähintään yksi valtuutettu verkko/osoite"
|
|
147
148
|
|
|
148
|
-
#: admin/api/v2/serializers.py:
|
|
149
|
+
#: admin/api/v2/serializers.py:581
|
|
149
150
|
msgid "The left part of an email address can't be more than 64 characters."
|
|
150
151
|
msgstr ""
|
|
151
152
|
|
|
152
|
-
#: admin/api/v2/serializers.py:
|
|
153
|
+
#: admin/api/v2/serializers.py:603
|
|
153
154
|
#, fuzzy
|
|
154
155
|
#| msgid "A mailbox is required"
|
|
155
156
|
msgid "A mailbox is required to create aliases."
|
|
156
157
|
msgstr "Tarvitaan postilaatikko"
|
|
157
158
|
|
|
158
|
-
#: admin/api/v2/serializers.py:
|
|
159
|
+
#: admin/api/v2/serializers.py:772
|
|
159
160
|
#, fuzzy
|
|
160
161
|
#| msgid "Unknown tag {}"
|
|
161
162
|
msgid "Unknown status"
|
|
@@ -169,14 +170,6 @@ msgstr "Sinulla ei ole pääsyä tähän verkkotunnukseen"
|
|
|
169
170
|
msgid "You can't delete your own domain"
|
|
170
171
|
msgstr "Et voi poistaa omaa verkkotunnustasi"
|
|
171
172
|
|
|
172
|
-
#: admin/api/v2/viewsets.py:407
|
|
173
|
-
msgid "No alarm ID provided"
|
|
174
|
-
msgstr ""
|
|
175
|
-
|
|
176
|
-
#: admin/api/v2/viewsets.py:411
|
|
177
|
-
msgid "Received invalid alarm id(s)"
|
|
178
|
-
msgstr ""
|
|
179
|
-
|
|
180
173
|
#: admin/app_settings.py:19 limits/app_settings.py:38 limits/constants.py:13
|
|
181
174
|
msgid "Domains"
|
|
182
175
|
msgstr "Verkkotunnukset"
|
|
@@ -397,7 +390,7 @@ msgstr ""
|
|
|
397
390
|
"Luo alias, joka käyttää vanhaa osoitetta, kun postilaatikko nimetään "
|
|
398
391
|
"uudelleen."
|
|
399
392
|
|
|
400
|
-
#: admin/app_settings.py:287 core/api/v2/viewsets.py:
|
|
393
|
+
#: admin/app_settings.py:287 core/api/v2/viewsets.py:174
|
|
401
394
|
msgid "Administration"
|
|
402
395
|
msgstr "Hallinnointinäkymä"
|
|
403
396
|
|
|
@@ -426,7 +419,7 @@ msgstr "verkkotunnuksen alias"
|
|
|
426
419
|
msgid "Account import failed (%s): domain does not exist"
|
|
427
420
|
msgstr "Tilin tuonti epäonnistui (%s): verkkotunnusta ei ole olemassa"
|
|
428
421
|
|
|
429
|
-
#: admin/handlers.py:242 admin/models/mailbox.py:
|
|
422
|
+
#: admin/handlers.py:242 admin/models/mailbox.py:342
|
|
430
423
|
msgid "Mailbox {} already exists"
|
|
431
424
|
msgstr "Postilaatikko {} on jo olemassa"
|
|
432
425
|
|
|
@@ -700,7 +693,7 @@ msgstr "Kiintiö on määritettävä"
|
|
|
700
693
|
msgid "{}: domain quota exceeded"
|
|
701
694
|
msgstr "Verkkotunnuksen kiintiö ylitetty"
|
|
702
695
|
|
|
703
|
-
#: admin/models/mailbox.py:
|
|
696
|
+
#: admin/models/mailbox.py:310
|
|
704
697
|
msgid "Domain does not exist"
|
|
705
698
|
msgstr "Verkkotunnusta ei ole olemassa"
|
|
706
699
|
|
|
@@ -876,7 +869,7 @@ msgid ""
|
|
|
876
869
|
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
|
|
877
870
|
msgstr ""
|
|
878
871
|
|
|
879
|
-
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:
|
|
872
|
+
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
|
|
880
873
|
msgid "Calendars"
|
|
881
874
|
msgstr ""
|
|
882
875
|
|
|
@@ -914,7 +907,7 @@ msgstr "LDAP-synkronointiasetukset"
|
|
|
914
907
|
msgid "Interval in seconds between 2 synchronization requests"
|
|
915
908
|
msgstr ""
|
|
916
909
|
|
|
917
|
-
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:
|
|
910
|
+
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
|
|
918
911
|
#, fuzzy
|
|
919
912
|
#| msgid "Domains"
|
|
920
913
|
msgid "Contacts"
|
|
@@ -966,12 +959,12 @@ msgstr "Virheellinen PIN-koodi"
|
|
|
966
959
|
msgid "2FA is already enabled"
|
|
967
960
|
msgstr "Kaksivaiheinen tunnistus (2FA) on jo käytössä"
|
|
968
961
|
|
|
969
|
-
#: core/api/v1/serializers.py:
|
|
962
|
+
#: core/api/v1/serializers.py:86
|
|
970
963
|
#, python-format
|
|
971
|
-
msgid "Failed TFA settings editing attempt from '%s' as user '%s'"
|
|
964
|
+
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
972
965
|
msgstr ""
|
|
973
966
|
|
|
974
|
-
#: core/api/v1/serializers.py:91 core/api/v2/serializers.py:
|
|
967
|
+
#: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
|
|
975
968
|
#, fuzzy
|
|
976
969
|
#| msgid "Old password"
|
|
977
970
|
msgid "Invalid password"
|
|
@@ -985,44 +978,44 @@ msgstr "Kaksivaiheinen tunnistautuminen (2FA) ei ole käytössä"
|
|
|
985
978
|
msgid "Local"
|
|
986
979
|
msgstr "Paikallinen"
|
|
987
980
|
|
|
988
|
-
#: core/api/v2/serializers.py:
|
|
981
|
+
#: core/api/v2/serializers.py:194 core/app_settings.py:17
|
|
989
982
|
msgid "User profile"
|
|
990
983
|
msgstr "Käyttäjäprofiili"
|
|
991
984
|
|
|
992
|
-
#: core/api/v2/serializers.py:
|
|
993
|
-
#: core/api/v2/serializers.py:
|
|
985
|
+
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
986
|
+
#: core/api/v2/serializers.py:228
|
|
994
987
|
msgid "Invalid syntax"
|
|
995
988
|
msgstr "Virheellinen syntaksi"
|
|
996
989
|
|
|
997
|
-
#: core/api/v2/serializers.py:
|
|
990
|
+
#: core/api/v2/serializers.py:233
|
|
998
991
|
msgid "Invalid rounds number"
|
|
999
992
|
msgstr "Virheellinen kierrosluku"
|
|
1000
993
|
|
|
1001
|
-
#: core/api/v2/serializers.py:
|
|
994
|
+
#: core/api/v2/serializers.py:433 core/forms.py:81
|
|
1002
995
|
msgid "This code is invalid"
|
|
1003
996
|
msgstr "Tämä koodi on virheellinen"
|
|
1004
997
|
|
|
1005
|
-
#: core/api/v2/serializers.py:
|
|
998
|
+
#: core/api/v2/serializers.py:503 core/views/auth.py:194 core/views/auth.py:247
|
|
1006
999
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
1007
1000
|
msgstr "Käytä seuraavaa koodia saadaksesi takaisin Modoboa-salasanasi: {}"
|
|
1008
1001
|
|
|
1009
|
-
#: core/api/v2/viewsets.py:
|
|
1002
|
+
#: core/api/v2/viewsets.py:176
|
|
1010
1003
|
#, fuzzy
|
|
1011
1004
|
#| msgid "Administration"
|
|
1012
1005
|
msgid "Administration console"
|
|
1013
1006
|
msgstr "Hallinnointinäkymä"
|
|
1014
1007
|
|
|
1015
|
-
#: core/api/v2/viewsets.py:
|
|
1016
|
-
msgid "Calendar"
|
|
1017
|
-
msgstr ""
|
|
1018
|
-
|
|
1019
|
-
#: core/api/v2/viewsets.py:181
|
|
1008
|
+
#: core/api/v2/viewsets.py:187
|
|
1020
1009
|
#, fuzzy
|
|
1021
1010
|
#| msgid "Address"
|
|
1022
1011
|
msgid "Address book"
|
|
1023
1012
|
msgstr "Osoite"
|
|
1024
1013
|
|
|
1025
|
-
#: core/api/v2/viewsets.py:
|
|
1014
|
+
#: core/api/v2/viewsets.py:197
|
|
1015
|
+
msgid "Calendar"
|
|
1016
|
+
msgstr ""
|
|
1017
|
+
|
|
1018
|
+
#: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
|
|
1026
1019
|
#: webmail/app_settings.py:258 webmail/app_settings.py:265
|
|
1027
1020
|
#, fuzzy
|
|
1028
1021
|
#| msgid "E-mail"
|
|
@@ -1573,19 +1566,27 @@ msgstr "Lokitiedoston enimmäisikä"
|
|
|
1573
1566
|
msgid "The maximum age in days of a log record"
|
|
1574
1567
|
msgstr "Lokitietueen enimmäisikä päivinä"
|
|
1575
1568
|
|
|
1576
|
-
#: core/app_settings.py:
|
|
1569
|
+
#: core/app_settings.py:727
|
|
1570
|
+
msgid "Retention time in message history"
|
|
1571
|
+
msgstr ""
|
|
1572
|
+
|
|
1573
|
+
#: core/app_settings.py:730
|
|
1574
|
+
msgid "Retention time (in days) of a message in the message history section"
|
|
1575
|
+
msgstr ""
|
|
1576
|
+
|
|
1577
|
+
#: core/app_settings.py:737
|
|
1577
1578
|
msgid "Items per page"
|
|
1578
1579
|
msgstr "Kohteita per sivu"
|
|
1579
1580
|
|
|
1580
|
-
#: core/app_settings.py:
|
|
1581
|
+
#: core/app_settings.py:739
|
|
1581
1582
|
msgid "Number of displayed items per page"
|
|
1582
1583
|
msgstr "Näytettävien kohteiden määrä sivua kohti"
|
|
1583
1584
|
|
|
1584
|
-
#: core/app_settings.py:
|
|
1585
|
+
#: core/app_settings.py:746
|
|
1585
1586
|
msgid "Default top redirection"
|
|
1586
1587
|
msgstr "Oletusarvoinen ylhäältä uudelleenohjaus"
|
|
1587
1588
|
|
|
1588
|
-
#: core/app_settings.py:
|
|
1589
|
+
#: core/app_settings.py:748
|
|
1589
1590
|
msgid "The default redirection used when no application is specified"
|
|
1590
1591
|
msgstr ""
|
|
1591
1592
|
"Oletusarvoinen uudelleenohjaus, jota käytetään, kun sovellusta ei ole "
|
|
@@ -1623,8 +1624,8 @@ msgstr ""
|
|
|
1623
1624
|
|
|
1624
1625
|
#: core/checks.py:34
|
|
1625
1626
|
msgid ""
|
|
1626
|
-
"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/
|
|
1627
|
-
"html#dovecot-oauth2"
|
|
1627
|
+
"Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
|
|
1628
|
+
"dovecot.html#dovecot-oauth2"
|
|
1628
1629
|
msgstr ""
|
|
1629
1630
|
|
|
1630
1631
|
#: core/checks.py:41
|
|
@@ -2133,8 +2134,8 @@ msgstr ""
|
|
|
2133
2134
|
#: imap_migration/app_settings.py:76
|
|
2134
2135
|
msgid ""
|
|
2135
2136
|
"A comma seperated list of folders to explicitly include in sync even if "
|
|
2136
|
-
"filtered by the Folder Filter Exclusions. Example: debian.user,
|
|
2137
|
-
"personal "
|
|
2137
|
+
"filtered by the Folder Filter Exclusions. Example: debian.user, "
|
|
2138
|
+
"debian.personal "
|
|
2138
2139
|
msgstr ""
|
|
2139
2140
|
|
|
2140
2141
|
#: imap_migration/apps.py:20
|
|
@@ -2143,11 +2144,6 @@ msgstr ""
|
|
|
2143
2144
|
msgid "IMAP Migration"
|
|
2144
2145
|
msgstr "Automaattinen asetusten määrittäminen"
|
|
2145
2146
|
|
|
2146
|
-
#: imap_migration/auth_backends.py:49 webmail/lib/imaputils.py:240
|
|
2147
|
-
#, python-brace-format
|
|
2148
|
-
msgid "Connection to IMAP server failed: {error}"
|
|
2149
|
-
msgstr ""
|
|
2150
|
-
|
|
2151
2147
|
#: imap_migration/checks.py:12
|
|
2152
2148
|
msgid ""
|
|
2153
2149
|
"Automatic domain/mailbox creation is disabled which means IMAP "
|
|
@@ -2497,13 +2493,13 @@ msgstr "Tilit"
|
|
|
2497
2493
|
msgid "Personal account information"
|
|
2498
2494
|
msgstr "Päivitä henkilökohtaiset tietosi"
|
|
2499
2495
|
|
|
2500
|
-
#: pdfcredentials/api/v2/serializers.py:
|
|
2496
|
+
#: pdfcredentials/api/v2/serializers.py:86
|
|
2501
2497
|
#, fuzzy
|
|
2502
2498
|
#| msgid "Directory not found."
|
|
2503
2499
|
msgid "Directory is not writable"
|
|
2504
2500
|
msgstr "Hakemistoa ei löydy."
|
|
2505
2501
|
|
|
2506
|
-
#: pdfcredentials/api/v2/serializers.py:
|
|
2502
|
+
#: pdfcredentials/api/v2/serializers.py:114
|
|
2507
2503
|
#, fuzzy
|
|
2508
2504
|
#| msgid "No information available for this domain."
|
|
2509
2505
|
msgid "No document available for this user"
|
|
@@ -3333,16 +3329,32 @@ msgstr ""
|
|
|
3333
3329
|
msgid "User defined email signature"
|
|
3334
3330
|
msgstr ""
|
|
3335
3331
|
|
|
3332
|
+
#: webmail/exceptions.py:18
|
|
3333
|
+
#, fuzzy
|
|
3334
|
+
#| msgid "Server address"
|
|
3335
|
+
msgid "Server response"
|
|
3336
|
+
msgstr "Palvelimen osoite"
|
|
3337
|
+
|
|
3336
3338
|
#: webmail/lib/attachments.py:112
|
|
3337
3339
|
#, fuzzy
|
|
3338
3340
|
#| msgid "Failed to create LDAP account: {}"
|
|
3339
3341
|
msgid "Failed to remove attachment: "
|
|
3340
3342
|
msgstr "LDAP-tilin luominen epäonnistui: {}"
|
|
3341
3343
|
|
|
3344
|
+
#: webmail/lib/imapemail.py:272
|
|
3345
|
+
msgid "wrote:"
|
|
3346
|
+
msgstr ""
|
|
3347
|
+
|
|
3342
3348
|
#: webmail/lib/imapemail.py:306
|
|
3343
3349
|
msgid "Date"
|
|
3344
3350
|
msgstr "Päivämäärä"
|
|
3345
3351
|
|
|
3352
|
+
#: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
|
|
3353
|
+
#, fuzzy
|
|
3354
|
+
#| msgid "sent messages"
|
|
3355
|
+
msgid "Original message"
|
|
3356
|
+
msgstr "lähetetyt viestit"
|
|
3357
|
+
|
|
3346
3358
|
#: webmail/lib/imaputils.py:221
|
|
3347
3359
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3348
3360
|
msgstr ""
|
|
Binary file
|