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
|
@@ -10,7 +10,7 @@ msgid ""
|
|
|
10
10
|
msgstr ""
|
|
11
11
|
"Project-Id-Version: Modoboa\n"
|
|
12
12
|
"Report-Msgid-Bugs-To: \n"
|
|
13
|
-
"POT-Creation-Date:
|
|
13
|
+
"POT-Creation-Date: 2026-02-04 09:30+0100\n"
|
|
14
14
|
"PO-Revision-Date: 2018-07-06 08:26+0000\n"
|
|
15
15
|
"Last-Translator: akong <akong@aspa.idv.tw>\n"
|
|
16
16
|
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/"
|
|
@@ -48,14 +48,14 @@ msgid "Cannot be greater than domain quota"
|
|
|
48
48
|
msgstr "不可以超過網域配額"
|
|
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 "權限不足"
|
|
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 "這個欄位是必填的"
|
|
61
61
|
|
|
@@ -64,7 +64,7 @@ msgid ""
|
|
|
64
64
|
"List of administered domains (resellers and domain administrators only)."
|
|
65
65
|
msgstr "管理員網域列表 (只有經銷商和網域管理員)。"
|
|
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 "不允許這個身份"
|
|
70
70
|
|
|
@@ -72,13 +72,12 @@ msgstr "不允許這個身份"
|
|
|
72
72
|
msgid "Must be equal to mailbox full_address"
|
|
73
73
|
msgstr "必須跟信箱完整位址一樣"
|
|
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 "這個欄位是必填的"
|
|
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 "本機網域 {} 不存在"
|
|
84
83
|
|
|
@@ -86,7 +85,7 @@ msgstr "本機網域 {} 不存在"
|
|
|
86
85
|
msgid "A list of recipient"
|
|
87
86
|
msgstr "收件人列表"
|
|
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
|
#, fuzzy
|
|
91
90
|
#| msgid "User '%s' already exists"
|
|
92
91
|
msgid "This alias already exists"
|
|
@@ -121,51 +120,51 @@ msgstr "您不可以定義無限制配額。"
|
|
|
121
120
|
msgid "User '%s' already exists"
|
|
122
121
|
msgstr "使用者 '%s' 已存在"
|
|
123
122
|
|
|
124
|
-
#: admin/api/v2/serializers.py:
|
|
123
|
+
#: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
|
|
125
124
|
msgid "Must be a positive integer"
|
|
126
125
|
msgstr "必須是正整數"
|
|
127
126
|
|
|
128
|
-
#: admin/api/v2/serializers.py:
|
|
127
|
+
#: admin/api/v2/serializers.py:271
|
|
129
128
|
msgid "openssl not found, please make sure it is installed."
|
|
130
129
|
msgstr "openssl 找不到,請確認已安裝。"
|
|
131
130
|
|
|
132
|
-
#: admin/api/v2/serializers.py:
|
|
131
|
+
#: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
|
|
133
132
|
msgid "Directory not found."
|
|
134
133
|
msgstr "目錄不存在"
|
|
135
134
|
|
|
136
|
-
#: admin/api/v2/serializers.py:
|
|
135
|
+
#: admin/api/v2/serializers.py:285
|
|
137
136
|
msgid "This field only allows valid IP addresses (or networks)"
|
|
138
137
|
msgstr ""
|
|
139
138
|
|
|
140
|
-
#: admin/api/v2/serializers.py:
|
|
139
|
+
#: admin/api/v2/serializers.py:298
|
|
141
140
|
msgid "Please disable imap migration before disabling this option."
|
|
142
141
|
msgstr ""
|
|
143
142
|
|
|
144
|
-
#: admin/api/v2/serializers.py:
|
|
143
|
+
#: admin/api/v2/serializers.py:311
|
|
145
144
|
msgid "Define at least one authorized network / address"
|
|
146
145
|
msgstr "定義至少一個已驗證網路/位址"
|
|
147
146
|
|
|
148
|
-
#: admin/api/v2/serializers.py:
|
|
147
|
+
#: admin/api/v2/serializers.py:588
|
|
149
148
|
msgid "The left part of an email address can't be more than 64 characters."
|
|
150
149
|
msgstr ""
|
|
151
150
|
|
|
152
|
-
#: admin/api/v2/serializers.py:
|
|
151
|
+
#: admin/api/v2/serializers.py:610
|
|
153
152
|
#, fuzzy
|
|
154
153
|
#| msgid "A mailbox is required"
|
|
155
154
|
msgid "A mailbox is required to create aliases."
|
|
156
155
|
msgstr "信箱是必要的"
|
|
157
156
|
|
|
158
|
-
#: admin/api/v2/serializers.py:
|
|
157
|
+
#: admin/api/v2/serializers.py:783
|
|
159
158
|
#, fuzzy
|
|
160
159
|
#| msgid "Unknown"
|
|
161
160
|
msgid "Unknown status"
|
|
162
161
|
msgstr "未知"
|
|
163
162
|
|
|
164
|
-
#: admin/api/v2/viewsets.py:
|
|
163
|
+
#: admin/api/v2/viewsets.py:95
|
|
165
164
|
msgid "You don't have access to this domain"
|
|
166
165
|
msgstr "您無權訪問此網域"
|
|
167
166
|
|
|
168
|
-
#: admin/api/v2/viewsets.py:
|
|
167
|
+
#: admin/api/v2/viewsets.py:98
|
|
169
168
|
msgid "You can't delete your own domain"
|
|
170
169
|
msgstr "您不可以刪除您擁有的網域"
|
|
171
170
|
|
|
@@ -268,19 +267,29 @@ msgstr "啟用 DNSBL 檢查"
|
|
|
268
267
|
msgid "Check every domain against major DNSBL providers"
|
|
269
268
|
msgstr "針對每個 DNSBL 供應商來檢查每個網域"
|
|
270
269
|
|
|
271
|
-
#: admin/app_settings.py:
|
|
270
|
+
#: admin/app_settings.py:117
|
|
271
|
+
msgid "Notify domain admins about DNS issues"
|
|
272
|
+
msgstr ""
|
|
273
|
+
|
|
274
|
+
#: admin/app_settings.py:120
|
|
275
|
+
msgid ""
|
|
276
|
+
"Send a notification by email to domain administrators when DNS issues are "
|
|
277
|
+
"encountered"
|
|
278
|
+
msgstr ""
|
|
279
|
+
|
|
280
|
+
#: admin/app_settings.py:128
|
|
272
281
|
msgid "Custom DNS server"
|
|
273
282
|
msgstr ""
|
|
274
283
|
|
|
275
|
-
#: admin/app_settings.py:
|
|
284
|
+
#: admin/app_settings.py:130
|
|
276
285
|
msgid "Use a custom DNS server instead of local server configuration"
|
|
277
286
|
msgstr ""
|
|
278
287
|
|
|
279
|
-
#: admin/app_settings.py:
|
|
288
|
+
#: admin/app_settings.py:138
|
|
280
289
|
msgid "DKIM keys storage directory"
|
|
281
290
|
msgstr "DKIM 金鑰儲存目錄"
|
|
282
291
|
|
|
283
|
-
#: admin/app_settings.py:
|
|
292
|
+
#: admin/app_settings.py:140
|
|
284
293
|
msgid ""
|
|
285
294
|
"Absolute path of the directory where DKIM private keys will be stored. Make "
|
|
286
295
|
"sure this directory belongs to root user and is not readable by the outside "
|
|
@@ -289,56 +298,56 @@ msgstr ""
|
|
|
289
298
|
"絕對路徑的目錄將會給 DKIM 私鑰儲存。確認這個目錄屬於 root 使用者並且外面的世"
|
|
290
299
|
"界無法讀取。"
|
|
291
300
|
|
|
292
|
-
#: admin/app_settings.py:
|
|
301
|
+
#: admin/app_settings.py:149
|
|
293
302
|
msgid "Default DKIM key length"
|
|
294
303
|
msgstr "預設 DKIM 金鑰長度"
|
|
295
304
|
|
|
296
|
-
#: admin/app_settings.py:
|
|
305
|
+
#: admin/app_settings.py:151
|
|
297
306
|
msgid "Default length in bits for newly generated DKIM keys."
|
|
298
307
|
msgstr "預設長度是給新產生的 DKIM 金鑰用。"
|
|
299
308
|
|
|
300
|
-
#: admin/app_settings.py:
|
|
309
|
+
#: admin/app_settings.py:158
|
|
301
310
|
msgid "Default domain quota"
|
|
302
311
|
msgstr "預設網域配額"
|
|
303
312
|
|
|
304
|
-
#: admin/app_settings.py:
|
|
313
|
+
#: admin/app_settings.py:160
|
|
305
314
|
msgid ""
|
|
306
315
|
"Default quota (in MB) applied to freshly created domains with no value "
|
|
307
316
|
"specified. A value of 0 means no quota."
|
|
308
317
|
msgstr "預設配額(以MB為單位)應用於未指定值的創立網域。值為0表示沒有配額。"
|
|
309
318
|
|
|
310
|
-
#: admin/app_settings.py:
|
|
319
|
+
#: admin/app_settings.py:168
|
|
311
320
|
#, fuzzy
|
|
312
321
|
#| msgid "Default domain quota"
|
|
313
322
|
msgid "Default domain sending limit"
|
|
314
323
|
msgstr "預設網域配額"
|
|
315
324
|
|
|
316
|
-
#: admin/app_settings.py:
|
|
325
|
+
#: admin/app_settings.py:170
|
|
317
326
|
msgid ""
|
|
318
327
|
"Number of messages freshly created domains will be allowed to send per day. "
|
|
319
328
|
"Leave empty for no limit."
|
|
320
329
|
msgstr ""
|
|
321
330
|
|
|
322
|
-
#: admin/app_settings.py:
|
|
331
|
+
#: admin/app_settings.py:182 limits/app_settings.py:61
|
|
323
332
|
#: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
|
|
324
333
|
msgid "Mailboxes"
|
|
325
334
|
msgstr "信箱"
|
|
326
335
|
|
|
327
|
-
#: admin/app_settings.py:
|
|
336
|
+
#: admin/app_settings.py:188
|
|
328
337
|
msgid "Handle mailboxes on filesystem"
|
|
329
338
|
msgstr "在檔案系統上處理信箱"
|
|
330
339
|
|
|
331
|
-
#: admin/app_settings.py:
|
|
340
|
+
#: admin/app_settings.py:190
|
|
332
341
|
msgid ""
|
|
333
342
|
"Rename or remove mailboxes on the filesystem when they get renamed or "
|
|
334
343
|
"removed within Modoboa"
|
|
335
344
|
msgstr "當他要在 Modoboa 上取得更名或移除就會在檔案系統上更名或移除信箱"
|
|
336
345
|
|
|
337
|
-
#: admin/app_settings.py:
|
|
346
|
+
#: admin/app_settings.py:198 admin/models/domain.py:36
|
|
338
347
|
msgid "Default mailbox quota"
|
|
339
348
|
msgstr "預設信箱配額"
|
|
340
349
|
|
|
341
|
-
#: admin/app_settings.py:
|
|
350
|
+
#: admin/app_settings.py:200
|
|
342
351
|
#, fuzzy
|
|
343
352
|
#| msgid ""
|
|
344
353
|
#| "Default mailbox quota (in MB) applied to freshly created domains with no "
|
|
@@ -349,43 +358,73 @@ msgid ""
|
|
|
349
358
|
msgstr ""
|
|
350
359
|
"預設信箱配額(以MB為單位)應用於未指定值的建立網域。值為0表示沒有配額。"
|
|
351
360
|
|
|
352
|
-
#: admin/app_settings.py:
|
|
361
|
+
#: admin/app_settings.py:209
|
|
353
362
|
#, fuzzy
|
|
354
363
|
#| msgid "Default mailbox quota"
|
|
355
364
|
msgid "Default mailbox sending limit"
|
|
356
365
|
msgstr "預設信箱配額"
|
|
357
366
|
|
|
358
|
-
#: admin/app_settings.py:
|
|
367
|
+
#: admin/app_settings.py:211
|
|
359
368
|
msgid ""
|
|
360
369
|
"Number of messages freshly created mailboxes will be allowed to send per "
|
|
361
370
|
"day. Leave empty for no limit."
|
|
362
371
|
msgstr ""
|
|
363
372
|
|
|
364
|
-
#: admin/app_settings.py:
|
|
373
|
+
#: admin/app_settings.py:219
|
|
365
374
|
msgid "Automatic account removal"
|
|
366
375
|
msgstr "自動刪除帳號"
|
|
367
376
|
|
|
368
|
-
#: admin/app_settings.py:
|
|
377
|
+
#: admin/app_settings.py:221
|
|
369
378
|
msgid "When a mailbox is removed, also remove the associated account"
|
|
370
379
|
msgstr "當信箱移除時,也會移除關聯的帳號"
|
|
371
380
|
|
|
372
|
-
#: admin/app_settings.py:
|
|
381
|
+
#: admin/app_settings.py:230
|
|
373
382
|
msgid "Automatic domain/mailbox creation"
|
|
374
383
|
msgstr "自動建立網域/信箱"
|
|
375
384
|
|
|
376
|
-
#: admin/app_settings.py:
|
|
385
|
+
#: admin/app_settings.py:233
|
|
377
386
|
msgid "Create a domain and a mailbox when an account is automatically created."
|
|
378
387
|
msgstr "當帳號自動建立後會建立網域和一個信箱。"
|
|
379
388
|
|
|
380
|
-
#: admin/app_settings.py:
|
|
389
|
+
#: admin/app_settings.py:242
|
|
381
390
|
msgid "Create an alias when a mailbox is renamed"
|
|
382
391
|
msgstr "當信箱更名時會建立別名"
|
|
383
392
|
|
|
384
|
-
#: admin/app_settings.py:
|
|
393
|
+
#: admin/app_settings.py:245
|
|
385
394
|
msgid "Create an alias using the old address when a mailbox is renamed."
|
|
386
395
|
msgstr "當信箱更名時建立別名並使用在舊的位址。"
|
|
387
396
|
|
|
388
|
-
#: admin/app_settings.py:
|
|
397
|
+
#: admin/app_settings.py:257
|
|
398
|
+
#, fuzzy
|
|
399
|
+
#| msgid "alias"
|
|
400
|
+
msgid "Aliases"
|
|
401
|
+
msgstr "別名"
|
|
402
|
+
|
|
403
|
+
#: admin/app_settings.py:263
|
|
404
|
+
msgid "Alias can target any domain"
|
|
405
|
+
msgstr ""
|
|
406
|
+
|
|
407
|
+
#: admin/app_settings.py:265
|
|
408
|
+
msgid "Allow aliases to target any domain, not just the local domains."
|
|
409
|
+
msgstr ""
|
|
410
|
+
|
|
411
|
+
#: admin/app_settings.py:272
|
|
412
|
+
msgid "Alias target block list"
|
|
413
|
+
msgstr ""
|
|
414
|
+
|
|
415
|
+
#: admin/app_settings.py:274
|
|
416
|
+
msgid "A list of domains that aliases cannot target (comma separated)."
|
|
417
|
+
msgstr ""
|
|
418
|
+
|
|
419
|
+
#: admin/app_settings.py:282
|
|
420
|
+
msgid "Alias target allow list"
|
|
421
|
+
msgstr ""
|
|
422
|
+
|
|
423
|
+
#: admin/app_settings.py:284
|
|
424
|
+
msgid "A list of domains that aliases can target (comma separated)."
|
|
425
|
+
msgstr ""
|
|
426
|
+
|
|
427
|
+
#: admin/app_settings.py:338 core/api/v2/viewsets.py:174
|
|
389
428
|
msgid "Administration"
|
|
390
429
|
msgstr "管理員"
|
|
391
430
|
|
|
@@ -407,6 +446,39 @@ msgstr ""
|
|
|
407
446
|
msgid "Closed"
|
|
408
447
|
msgstr "關閉"
|
|
409
448
|
|
|
449
|
+
#: admin/dns_checker.py:96
|
|
450
|
+
msgid "MX {} listed by DNSBL provider {}"
|
|
451
|
+
msgstr ""
|
|
452
|
+
|
|
453
|
+
#: admin/dns_checker.py:138
|
|
454
|
+
#, fuzzy
|
|
455
|
+
#| msgid "Domain {} has no MX record"
|
|
456
|
+
msgid "Domain has no MX record"
|
|
457
|
+
msgstr "網域 {} 沒有 MX 紀錄"
|
|
458
|
+
|
|
459
|
+
#: admin/dns_checker.py:141
|
|
460
|
+
msgid "Domain {} has no MX record"
|
|
461
|
+
msgstr "網域 {} 沒有 MX 紀錄"
|
|
462
|
+
|
|
463
|
+
#: admin/dns_checker.py:159
|
|
464
|
+
#, fuzzy
|
|
465
|
+
#| msgid "MX records of {}"
|
|
466
|
+
msgid "Invalid MX record: {}"
|
|
467
|
+
msgstr "MX 紀錄 {}"
|
|
468
|
+
|
|
469
|
+
#: admin/dns_checker.py:166
|
|
470
|
+
#, python-brace-format
|
|
471
|
+
msgid "MX record for domain {0} is invalid: {1}"
|
|
472
|
+
msgstr "此網域的 MX 紀錄 {0} 是無效的: {1}"
|
|
473
|
+
|
|
474
|
+
#: admin/dns_checker.py:177
|
|
475
|
+
msgid "[modoboa] MX issue(s) for domain {}"
|
|
476
|
+
msgstr "[modoboa] 此網域的 MX 問題(s) {}"
|
|
477
|
+
|
|
478
|
+
#: admin/dns_checker.py:224
|
|
479
|
+
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
480
|
+
msgstr "[modoboa] 此網域的 DNSBL 問題(s) {}"
|
|
481
|
+
|
|
410
482
|
#: admin/handlers.py:179
|
|
411
483
|
msgid "domain alias"
|
|
412
484
|
msgstr "網域別名"
|
|
@@ -416,61 +488,57 @@ msgstr "網域別名"
|
|
|
416
488
|
msgid "Account import failed (%s): domain does not exist"
|
|
417
489
|
msgstr "帳號匯入失敗 (%s): 網域不存在"
|
|
418
490
|
|
|
419
|
-
#: admin/handlers.py:
|
|
420
|
-
msgid "Mailbox {} already exists"
|
|
421
|
-
msgstr "信箱 {} 已存在"
|
|
422
|
-
|
|
423
|
-
#: admin/handlers.py:251
|
|
491
|
+
#: admin/handlers.py:246
|
|
424
492
|
#, python-format
|
|
425
493
|
msgid "Account import failed (%s): wrong quota value"
|
|
426
494
|
msgstr "帳號匯入失敗 (%s): 錯誤配額"
|
|
427
495
|
|
|
428
|
-
#: admin/lib.py:
|
|
496
|
+
#: admin/lib.py:126
|
|
429
497
|
msgid "You are not allowed to import domains"
|
|
430
498
|
msgstr "您未允許匯入網域"
|
|
431
499
|
|
|
432
|
-
#: admin/lib.py:
|
|
500
|
+
#: admin/lib.py:135
|
|
433
501
|
msgid "You are not allowed to import domain aliases."
|
|
434
502
|
msgstr "您未允許匯入網域別名。"
|
|
435
503
|
|
|
436
|
-
#: admin/lib.py:
|
|
437
|
-
#: admin/tests/test_mx.py:
|
|
504
|
+
#: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
|
|
505
|
+
#: admin/tests/test_mx.py:157
|
|
438
506
|
#, fuzzy, python-format
|
|
439
507
|
#| msgid "No DNS records found for %s"
|
|
440
508
|
msgid "No DNS record found for %s"
|
|
441
509
|
msgstr "沒有找到 %s 的 DNS 紀錄"
|
|
442
510
|
|
|
443
|
-
#: admin/lib.py:
|
|
511
|
+
#: admin/lib.py:230
|
|
444
512
|
#, fuzzy, python-format
|
|
445
513
|
#| msgid "No MX record for %s"
|
|
446
514
|
msgid "No %(type)s record for %(name)s"
|
|
447
515
|
msgstr "沒有 %s 的 MX 紀錄"
|
|
448
516
|
|
|
449
|
-
#: admin/lib.py:
|
|
517
|
+
#: admin/lib.py:234 admin/tests/test_mx.py:142
|
|
450
518
|
msgid "No working name servers found"
|
|
451
519
|
msgstr "沒有找到執行中的名稱伺服器"
|
|
452
520
|
|
|
453
|
-
#: admin/lib.py:
|
|
521
|
+
#: admin/lib.py:237 admin/tests/test_mx.py:146
|
|
454
522
|
#, python-format
|
|
455
523
|
msgid "DNS resolution timeout, unable to query %s at the moment"
|
|
456
524
|
msgstr "DNS 解析逾時,無法查詢 %s 在這個時間點"
|
|
457
525
|
|
|
458
|
-
#: admin/lib.py:
|
|
526
|
+
#: admin/lib.py:241
|
|
459
527
|
msgid "DNS name is too long: {}"
|
|
460
528
|
msgstr ""
|
|
461
529
|
|
|
462
|
-
#: admin/lib.py:
|
|
530
|
+
#: admin/lib.py:272
|
|
463
531
|
#, fuzzy, python-brace-format
|
|
464
532
|
#| msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
465
533
|
msgid "Invalid IP address format for {domain}; {addr}"
|
|
466
534
|
msgstr "無效的 IP 位址格式 %(domain)s; %(addr)s"
|
|
467
535
|
|
|
468
|
-
#: admin/lib.py:
|
|
536
|
+
#: admin/lib.py:365
|
|
469
537
|
#, python-format
|
|
470
538
|
msgid "Object already exists: %s"
|
|
471
539
|
msgstr "元件已存在: %s"
|
|
472
540
|
|
|
473
|
-
#: admin/lib.py:
|
|
541
|
+
#: admin/lib.py:369
|
|
474
542
|
#, python-format
|
|
475
543
|
msgid "%d objects imported successfully"
|
|
476
544
|
msgstr "%d 元件已匯入成功"
|
|
@@ -505,81 +573,54 @@ msgstr ""
|
|
|
505
573
|
msgid "Failed to generate DKIM public key"
|
|
506
574
|
msgstr "開啟 Modoboa 公用 API 的通訊"
|
|
507
575
|
|
|
508
|
-
#: admin/
|
|
509
|
-
msgid "MX {} listed by DNSBL provider {}"
|
|
510
|
-
msgstr ""
|
|
511
|
-
|
|
512
|
-
#: admin/management/commands/subcommands/_mx.py:174
|
|
513
|
-
#, fuzzy
|
|
514
|
-
#| msgid "Domain {} has no MX record"
|
|
515
|
-
msgid "Domain has no MX record"
|
|
516
|
-
msgstr "網域 {} 沒有 MX 紀錄"
|
|
517
|
-
|
|
518
|
-
#: admin/management/commands/subcommands/_mx.py:177
|
|
519
|
-
msgid "Domain {} has no MX record"
|
|
520
|
-
msgstr "網域 {} 沒有 MX 紀錄"
|
|
521
|
-
|
|
522
|
-
#: admin/management/commands/subcommands/_mx.py:195
|
|
523
|
-
#, fuzzy
|
|
524
|
-
#| msgid "MX records of {}"
|
|
525
|
-
msgid "Invalid MX record: {}"
|
|
526
|
-
msgstr "MX 紀錄 {}"
|
|
527
|
-
|
|
528
|
-
#: admin/management/commands/subcommands/_mx.py:202
|
|
529
|
-
#, python-brace-format
|
|
530
|
-
msgid "MX record for domain {0} is invalid: {1}"
|
|
531
|
-
msgstr "此網域的 MX 紀錄 {0} 是無效的: {1}"
|
|
532
|
-
|
|
533
|
-
#: admin/management/commands/subcommands/_mx.py:213
|
|
534
|
-
msgid "[modoboa] MX issue(s) for domain {}"
|
|
535
|
-
msgstr "[modoboa] 此網域的 MX 問題(s) {}"
|
|
536
|
-
|
|
537
|
-
#: admin/management/commands/subcommands/_mx.py:269
|
|
538
|
-
msgid "[modoboa] DNSBL issue(s) for domain {}"
|
|
539
|
-
msgstr "[modoboa] 此網域的 DNSBL 問題(s) {}"
|
|
540
|
-
|
|
541
|
-
#: admin/models/alias.py:42
|
|
576
|
+
#: admin/models/alias.py:43
|
|
542
577
|
msgid "Domain not found."
|
|
543
578
|
msgstr "網域不存在。"
|
|
544
579
|
|
|
545
|
-
#: admin/models/alias.py:
|
|
580
|
+
#: admin/models/alias.py:117 admin/models/mailbox.py:85
|
|
546
581
|
msgid "address"
|
|
547
582
|
msgstr "地址"
|
|
548
583
|
|
|
549
|
-
#: admin/models/alias.py:
|
|
584
|
+
#: admin/models/alias.py:119
|
|
550
585
|
msgid "The alias address."
|
|
551
586
|
msgstr "別名位址。"
|
|
552
587
|
|
|
553
|
-
#: admin/models/alias.py:
|
|
588
|
+
#: admin/models/alias.py:123 admin/models/domain.py:45
|
|
554
589
|
#: admin/models/domain_alias.py:45 autoreply/models.py:25
|
|
555
590
|
msgid "enabled"
|
|
556
591
|
msgstr "已啟用"
|
|
557
592
|
|
|
558
|
-
#: admin/models/alias.py:
|
|
593
|
+
#: admin/models/alias.py:124 admin/models/domain_alias.py:46
|
|
559
594
|
msgid "Check to activate this alias"
|
|
560
595
|
msgstr "點擊啟用這個別名"
|
|
561
596
|
|
|
562
|
-
#: admin/models/alias.py:
|
|
597
|
+
#: admin/models/alias.py:128
|
|
563
598
|
msgid "Description"
|
|
564
599
|
msgstr "描述"
|
|
565
600
|
|
|
566
|
-
#: admin/models/alias.py:
|
|
601
|
+
#: admin/models/alias.py:129
|
|
567
602
|
msgid "Expire at"
|
|
568
603
|
msgstr "過期在"
|
|
569
604
|
|
|
570
|
-
#: admin/models/alias.py:
|
|
605
|
+
#: admin/models/alias.py:170
|
|
571
606
|
msgid "alias"
|
|
572
607
|
msgstr "別名"
|
|
573
608
|
|
|
574
|
-
#: admin/models/alias.py:
|
|
609
|
+
#: admin/models/alias.py:203
|
|
575
610
|
msgid "Invalid address"
|
|
576
611
|
msgstr "無效位址"
|
|
577
612
|
|
|
578
|
-
#: admin/models/alias.py:
|
|
613
|
+
#: admin/models/alias.py:206
|
|
614
|
+
#, fuzzy
|
|
615
|
+
#| msgid "The domain name"
|
|
616
|
+
msgid "Target domain not allowed"
|
|
617
|
+
msgstr "網域名稱"
|
|
618
|
+
|
|
619
|
+
#: admin/models/alias.py:224
|
|
579
620
|
msgid "Local recipient {}@{} not found"
|
|
580
621
|
msgstr "本機收件人 {}@{} 未找到"
|
|
581
622
|
|
|
582
|
-
#: admin/models/alias.py:
|
|
623
|
+
#: admin/models/alias.py:273
|
|
583
624
|
#, fuzzy
|
|
584
625
|
#| msgid "Invalid line: %s"
|
|
585
626
|
msgid "Invalid line: {}"
|
|
@@ -699,6 +740,10 @@ msgstr "網域配額已超過"
|
|
|
699
740
|
msgid "Domain does not exist"
|
|
700
741
|
msgstr "網域不存在"
|
|
701
742
|
|
|
743
|
+
#: admin/models/mailbox.py:342
|
|
744
|
+
msgid "Mailbox {} already exists"
|
|
745
|
+
msgstr "信箱 {} 已存在"
|
|
746
|
+
|
|
702
747
|
#: admin/templates/admin/notifications/domain_in_dnsbl.html:3
|
|
703
748
|
#, python-format
|
|
704
749
|
msgid ""
|
|
@@ -720,22 +765,392 @@ msgstr ""
|
|
|
720
765
|
msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
|
|
721
766
|
msgstr "Modoboa 已偵測到網域 %(domain)s 沒有正確的 MX 紀錄:"
|
|
722
767
|
|
|
723
|
-
#: admin/tests/test_mx.py:
|
|
768
|
+
#: admin/tests/test_mx.py:141
|
|
724
769
|
#, python-format
|
|
725
770
|
msgid "No MX record for %s"
|
|
726
771
|
msgstr "沒有 %s 的 MX 紀錄"
|
|
727
772
|
|
|
728
|
-
#: admin/tests/test_mx.py:
|
|
773
|
+
#: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
|
|
729
774
|
#, python-format
|
|
730
775
|
msgid "Invalid IP address format for %(domain)s; %(addr)s"
|
|
731
776
|
msgstr "無效的 IP 位址格式 %(domain)s; %(addr)s"
|
|
732
777
|
|
|
733
|
-
#: admin/tests/test_mx.py:
|
|
778
|
+
#: admin/tests/test_mx.py:185
|
|
734
779
|
#, fuzzy, python-format
|
|
735
780
|
#| msgid "No MX record for %s"
|
|
736
781
|
msgid "No AAAA record for %s"
|
|
737
782
|
msgstr "沒有 %s 的 MX 紀錄"
|
|
738
783
|
|
|
784
|
+
#: amavis/app_settings.py:11
|
|
785
|
+
#, fuzzy
|
|
786
|
+
#| msgid "LDAP settings"
|
|
787
|
+
msgid "Amavis settings"
|
|
788
|
+
msgstr "IMAP 設定"
|
|
789
|
+
|
|
790
|
+
#: amavis/app_settings.py:17
|
|
791
|
+
msgid "Localpart is case sensitive"
|
|
792
|
+
msgstr ""
|
|
793
|
+
|
|
794
|
+
#: amavis/app_settings.py:19
|
|
795
|
+
msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
|
|
796
|
+
msgstr ""
|
|
797
|
+
|
|
798
|
+
#: amavis/app_settings.py:27
|
|
799
|
+
msgid "Recipient delimiter"
|
|
800
|
+
msgstr ""
|
|
801
|
+
|
|
802
|
+
#: amavis/app_settings.py:29
|
|
803
|
+
msgid "Value should match amavisd.conf variable $recipient_delimiter"
|
|
804
|
+
msgstr ""
|
|
805
|
+
|
|
806
|
+
#: amavis/app_settings.py:41
|
|
807
|
+
#, fuzzy
|
|
808
|
+
#| msgid "Quantity"
|
|
809
|
+
msgid "Quarantine settings"
|
|
810
|
+
msgstr "數量"
|
|
811
|
+
|
|
812
|
+
#: amavis/app_settings.py:47
|
|
813
|
+
#, fuzzy
|
|
814
|
+
#| msgid "Maximum log record age"
|
|
815
|
+
msgid "Maximum message age"
|
|
816
|
+
msgstr "最大日誌紀錄時間"
|
|
817
|
+
|
|
818
|
+
#: amavis/app_settings.py:49
|
|
819
|
+
msgid "Quarantine messages maximum age (in days) before deletion"
|
|
820
|
+
msgstr ""
|
|
821
|
+
|
|
822
|
+
#: amavis/app_settings.py:60
|
|
823
|
+
msgid "Message releasing"
|
|
824
|
+
msgstr ""
|
|
825
|
+
|
|
826
|
+
#: amavis/app_settings.py:66
|
|
827
|
+
#, fuzzy
|
|
828
|
+
#| msgid "Show greylisted messages"
|
|
829
|
+
msgid "Remove released messages"
|
|
830
|
+
msgstr "顯示灰名單郵件"
|
|
831
|
+
|
|
832
|
+
#: amavis/app_settings.py:68
|
|
833
|
+
msgid "Remove messages marked as released while cleaning up the database"
|
|
834
|
+
msgstr ""
|
|
835
|
+
|
|
836
|
+
#: amavis/app_settings.py:76
|
|
837
|
+
#, fuzzy
|
|
838
|
+
#| msgid "Use a secured connection"
|
|
839
|
+
msgid "Amavis connection mode"
|
|
840
|
+
msgstr "安全連線模式"
|
|
841
|
+
|
|
842
|
+
#: amavis/app_settings.py:78
|
|
843
|
+
#, fuzzy
|
|
844
|
+
#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
845
|
+
msgid "Mode used to access the PDP server"
|
|
846
|
+
msgstr "使用 SSL/STARTTLS 連線到 LDAP 伺服器"
|
|
847
|
+
|
|
848
|
+
#: amavis/app_settings.py:85
|
|
849
|
+
#, fuzzy
|
|
850
|
+
#| msgid "Server address"
|
|
851
|
+
msgid "PDP server address"
|
|
852
|
+
msgstr "伺服器地址"
|
|
853
|
+
|
|
854
|
+
#: amavis/app_settings.py:87
|
|
855
|
+
#, fuzzy
|
|
856
|
+
#| msgid "Server address"
|
|
857
|
+
msgid "PDP server address (if inet mode)"
|
|
858
|
+
msgstr "伺服器地址"
|
|
859
|
+
|
|
860
|
+
#: amavis/app_settings.py:95
|
|
861
|
+
#, fuzzy
|
|
862
|
+
#| msgid "Server port"
|
|
863
|
+
msgid "PDP server port"
|
|
864
|
+
msgstr "伺服器連接埠"
|
|
865
|
+
|
|
866
|
+
#: amavis/app_settings.py:97
|
|
867
|
+
msgid "PDP server port (if inet mode)"
|
|
868
|
+
msgstr ""
|
|
869
|
+
|
|
870
|
+
#: amavis/app_settings.py:105
|
|
871
|
+
#, fuzzy
|
|
872
|
+
#| msgid "Server port"
|
|
873
|
+
msgid "PDP server socket"
|
|
874
|
+
msgstr "伺服器連接埠"
|
|
875
|
+
|
|
876
|
+
#: amavis/app_settings.py:107
|
|
877
|
+
msgid "Path to the PDP server socket (if unix mode)"
|
|
878
|
+
msgstr ""
|
|
879
|
+
|
|
880
|
+
#: amavis/app_settings.py:115
|
|
881
|
+
msgid "Allow direct release"
|
|
882
|
+
msgstr ""
|
|
883
|
+
|
|
884
|
+
#: amavis/app_settings.py:117
|
|
885
|
+
msgid "Allow users to directly release their messages"
|
|
886
|
+
msgstr ""
|
|
887
|
+
|
|
888
|
+
#: amavis/app_settings.py:124
|
|
889
|
+
msgid "Enable self-service mode"
|
|
890
|
+
msgstr ""
|
|
891
|
+
|
|
892
|
+
#: amavis/app_settings.py:126
|
|
893
|
+
msgid "Activate the 'self-service' mode"
|
|
894
|
+
msgstr ""
|
|
895
|
+
|
|
896
|
+
#: amavis/app_settings.py:133
|
|
897
|
+
#, fuzzy
|
|
898
|
+
#| msgid "Notifications"
|
|
899
|
+
msgid "Notifications sender"
|
|
900
|
+
msgstr "通知"
|
|
901
|
+
|
|
902
|
+
#: amavis/app_settings.py:135
|
|
903
|
+
#, fuzzy
|
|
904
|
+
#| msgid "Email address used to send notifications."
|
|
905
|
+
msgid "The e-mail address used to send notitications"
|
|
906
|
+
msgstr "郵件地址用於寄送通知。"
|
|
907
|
+
|
|
908
|
+
#: amavis/app_settings.py:146
|
|
909
|
+
msgid "Manual learning"
|
|
910
|
+
msgstr ""
|
|
911
|
+
|
|
912
|
+
#: amavis/app_settings.py:152
|
|
913
|
+
msgid "Enable manual learning"
|
|
914
|
+
msgstr ""
|
|
915
|
+
|
|
916
|
+
#: amavis/app_settings.py:154
|
|
917
|
+
#, fuzzy
|
|
918
|
+
#| msgid "Allow this administrator to access user mailboxes"
|
|
919
|
+
msgid "Allow super administrators to manually train Spamassassin"
|
|
920
|
+
msgstr "允許這個管理者來存取使用者信箱"
|
|
921
|
+
|
|
922
|
+
#: amavis/app_settings.py:161
|
|
923
|
+
msgid "Is Spamassassin local?"
|
|
924
|
+
msgstr ""
|
|
925
|
+
|
|
926
|
+
#: amavis/app_settings.py:163
|
|
927
|
+
msgid "Tell if Spamassassin is running on the same server than modoboa"
|
|
928
|
+
msgstr ""
|
|
929
|
+
|
|
930
|
+
#: amavis/app_settings.py:171
|
|
931
|
+
#, fuzzy
|
|
932
|
+
#| msgid "Default subject"
|
|
933
|
+
msgid "Default user"
|
|
934
|
+
msgstr "預設編輯器"
|
|
935
|
+
|
|
936
|
+
#: amavis/app_settings.py:173
|
|
937
|
+
msgid "Name of the user owning the default bayesian database"
|
|
938
|
+
msgstr ""
|
|
939
|
+
|
|
940
|
+
#: amavis/app_settings.py:181
|
|
941
|
+
#, fuzzy
|
|
942
|
+
#| msgid "Sender address"
|
|
943
|
+
msgid "Spamd address"
|
|
944
|
+
msgstr "伺服器位址"
|
|
945
|
+
|
|
946
|
+
#: amavis/app_settings.py:183
|
|
947
|
+
msgid "The IP address where spamd can be reached"
|
|
948
|
+
msgstr ""
|
|
949
|
+
|
|
950
|
+
#: amavis/app_settings.py:191
|
|
951
|
+
msgid "Spamd port"
|
|
952
|
+
msgstr ""
|
|
953
|
+
|
|
954
|
+
#: amavis/app_settings.py:193
|
|
955
|
+
msgid "The TCP port spamd is listening on"
|
|
956
|
+
msgstr ""
|
|
957
|
+
|
|
958
|
+
#: amavis/app_settings.py:202
|
|
959
|
+
#, fuzzy
|
|
960
|
+
#| msgid "Enable per-domain limits"
|
|
961
|
+
msgid "Enable per-domain manual learning"
|
|
962
|
+
msgstr "啟用每個網域限制"
|
|
963
|
+
|
|
964
|
+
#: amavis/app_settings.py:205
|
|
965
|
+
#, fuzzy
|
|
966
|
+
#| msgid "Allow this administrator to access user mailboxes"
|
|
967
|
+
msgid ""
|
|
968
|
+
"Allow domain administrators to train Spamassassin (within dedicated per-"
|
|
969
|
+
"domain databases)"
|
|
970
|
+
msgstr "允許這個管理者來存取使用者信箱"
|
|
971
|
+
|
|
972
|
+
#: amavis/app_settings.py:215
|
|
973
|
+
#, fuzzy
|
|
974
|
+
#| msgid "Enable per-domain limits"
|
|
975
|
+
msgid "Enable per-user manual learning"
|
|
976
|
+
msgstr "啟用每個網域限制"
|
|
977
|
+
|
|
978
|
+
#: amavis/app_settings.py:218
|
|
979
|
+
msgid ""
|
|
980
|
+
"Allow simple users to personally train Spamassassin (within a dedicated "
|
|
981
|
+
"database)"
|
|
982
|
+
msgstr ""
|
|
983
|
+
|
|
984
|
+
#: amavis/app_settings.py:236 webmail/app_settings.py:155
|
|
985
|
+
msgid "Display"
|
|
986
|
+
msgstr "顯示"
|
|
987
|
+
|
|
988
|
+
#: amavis/app_settings.py:243 webmail/app_settings.py:181
|
|
989
|
+
msgid "Number of displayed emails per page"
|
|
990
|
+
msgstr "每一頁顯示郵件數量"
|
|
991
|
+
|
|
992
|
+
#: amavis/app_settings.py:246
|
|
993
|
+
#, fuzzy
|
|
994
|
+
#| msgid "Sets the maximum number of messages displayed in a page"
|
|
995
|
+
msgid "Set the maximum number of messages displayed in a page"
|
|
996
|
+
msgstr "設定最大每一頁顯示郵件數量"
|
|
997
|
+
|
|
998
|
+
#: amavis/app_settings.py:266 amavis/app_settings.py:273
|
|
999
|
+
msgid "Amavis"
|
|
1000
|
+
msgstr ""
|
|
1001
|
+
|
|
1002
|
+
#: amavis/checks/settings_checks.py:8
|
|
1003
|
+
msgid ""
|
|
1004
|
+
"AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
|
|
1005
|
+
"by the Amavis database."
|
|
1006
|
+
msgstr ""
|
|
1007
|
+
|
|
1008
|
+
#: amavis/checks/settings_checks.py:12
|
|
1009
|
+
msgid ""
|
|
1010
|
+
"Check your database character encoding and set/update "
|
|
1011
|
+
"AMAVIS_DEFAULT_DATABASE_ENCODING."
|
|
1012
|
+
msgstr ""
|
|
1013
|
+
|
|
1014
|
+
#: amavis/checks/settings_checks.py:19
|
|
1015
|
+
msgid "Modoboa Amavis has not been tested using the selected database engine."
|
|
1016
|
+
msgstr ""
|
|
1017
|
+
|
|
1018
|
+
#: amavis/checks/settings_checks.py:20
|
|
1019
|
+
msgid "Try using PostgreSQL, MySQL or MariaDB."
|
|
1020
|
+
msgstr ""
|
|
1021
|
+
|
|
1022
|
+
#: amavis/handlers.py:141
|
|
1023
|
+
msgid "Pending requests"
|
|
1024
|
+
msgstr ""
|
|
1025
|
+
|
|
1026
|
+
#: amavis/lib.py:59
|
|
1027
|
+
#, python-format
|
|
1028
|
+
msgid "Connection to amavis failed: %s"
|
|
1029
|
+
msgstr ""
|
|
1030
|
+
|
|
1031
|
+
#: amavis/lib.py:133
|
|
1032
|
+
#, fuzzy
|
|
1033
|
+
#| msgid "Failed to locate rrdtool binary."
|
|
1034
|
+
msgid "Failed to find {} binary"
|
|
1035
|
+
msgstr "指定 rrdtools 位置失敗。"
|
|
1036
|
+
|
|
1037
|
+
#: amavis/lib.py:148
|
|
1038
|
+
#, fuzzy
|
|
1039
|
+
#| msgid "Local recipient {}@{} not found"
|
|
1040
|
+
msgid "No recipient found"
|
|
1041
|
+
msgstr "本機收件人 {}@{} 未找到"
|
|
1042
|
+
|
|
1043
|
+
#: amavis/lib.py:159
|
|
1044
|
+
#, fuzzy
|
|
1045
|
+
#| msgid "Domain not found."
|
|
1046
|
+
msgid "Local domain not found"
|
|
1047
|
+
msgstr "網域不存在。"
|
|
1048
|
+
|
|
1049
|
+
#: amavis/management/commands/amnotify.py:59
|
|
1050
|
+
#, fuzzy
|
|
1051
|
+
#| msgid "%s: limit reached"
|
|
1052
|
+
msgid "[modoboa] Pending release requests"
|
|
1053
|
+
msgstr "%s: 已達到上限"
|
|
1054
|
+
|
|
1055
|
+
#: amavis/models.py:101
|
|
1056
|
+
#, fuzzy
|
|
1057
|
+
#| msgid "Search filter"
|
|
1058
|
+
msgid "Virus filter"
|
|
1059
|
+
msgstr "搜尋過濾器"
|
|
1060
|
+
|
|
1061
|
+
#: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
|
|
1062
|
+
msgid "yes"
|
|
1063
|
+
msgstr ""
|
|
1064
|
+
|
|
1065
|
+
#: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
|
|
1066
|
+
msgid "no"
|
|
1067
|
+
msgstr ""
|
|
1068
|
+
|
|
1069
|
+
#: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
|
|
1070
|
+
msgid "default"
|
|
1071
|
+
msgstr ""
|
|
1072
|
+
|
|
1073
|
+
#: amavis/models.py:111
|
|
1074
|
+
msgid "Bypass virus checks or not. Choose 'default' to use global settings."
|
|
1075
|
+
msgstr ""
|
|
1076
|
+
|
|
1077
|
+
#: amavis/models.py:115
|
|
1078
|
+
#, fuzzy
|
|
1079
|
+
#| msgid "Search filter"
|
|
1080
|
+
msgid "Spam filter"
|
|
1081
|
+
msgstr "搜尋過濾器"
|
|
1082
|
+
|
|
1083
|
+
#: amavis/models.py:125
|
|
1084
|
+
msgid "Bypass spam checks or not. Choose 'default' to use global settings."
|
|
1085
|
+
msgstr ""
|
|
1086
|
+
|
|
1087
|
+
#: amavis/models.py:129
|
|
1088
|
+
#, fuzzy
|
|
1089
|
+
#| msgid "Search filter"
|
|
1090
|
+
msgid "Banned filter"
|
|
1091
|
+
msgstr "搜尋過濾器"
|
|
1092
|
+
|
|
1093
|
+
#: amavis/models.py:139
|
|
1094
|
+
msgid "Bypass banned checks or not. Choose 'default' to use global settings."
|
|
1095
|
+
msgstr ""
|
|
1096
|
+
|
|
1097
|
+
#: amavis/models.py:170
|
|
1098
|
+
msgid "Spam marker"
|
|
1099
|
+
msgstr ""
|
|
1100
|
+
|
|
1101
|
+
#: amavis/models.py:176
|
|
1102
|
+
msgid ""
|
|
1103
|
+
"Modify spam subject using the specified text. Choose 'default' to use global "
|
|
1104
|
+
"settings."
|
|
1105
|
+
msgstr ""
|
|
1106
|
+
|
|
1107
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:3
|
|
1108
|
+
#, python-format
|
|
1109
|
+
msgid "%(counter)s release request is pending for action."
|
|
1110
|
+
msgid_plural "%(counter)s release requests are pending for action."
|
|
1111
|
+
msgstr[0] ""
|
|
1112
|
+
|
|
1113
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:8
|
|
1114
|
+
msgid "Sketch:"
|
|
1115
|
+
msgstr ""
|
|
1116
|
+
|
|
1117
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:10
|
|
1118
|
+
msgid "From:"
|
|
1119
|
+
msgstr ""
|
|
1120
|
+
|
|
1121
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:11
|
|
1122
|
+
msgid "To:"
|
|
1123
|
+
msgstr ""
|
|
1124
|
+
|
|
1125
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:12
|
|
1126
|
+
#, fuzzy
|
|
1127
|
+
#| msgid "Date"
|
|
1128
|
+
msgid "Date:"
|
|
1129
|
+
msgstr "日期"
|
|
1130
|
+
|
|
1131
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:13
|
|
1132
|
+
#, fuzzy
|
|
1133
|
+
#| msgid "Subject"
|
|
1134
|
+
msgid "Subject:"
|
|
1135
|
+
msgstr "主旨"
|
|
1136
|
+
|
|
1137
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:14
|
|
1138
|
+
#, fuzzy
|
|
1139
|
+
#| msgid "sent messages"
|
|
1140
|
+
msgid "Act on this message:"
|
|
1141
|
+
msgstr "已發訊息"
|
|
1142
|
+
|
|
1143
|
+
#: amavis/templates/amavis/notifications/pending_requests.html:16
|
|
1144
|
+
#, python-format
|
|
1145
|
+
msgid "Please visit %(listingurl)s for a full listing."
|
|
1146
|
+
msgstr ""
|
|
1147
|
+
|
|
1148
|
+
#: amavis/viewsets.py:122
|
|
1149
|
+
#, fuzzy
|
|
1150
|
+
#| msgid "Invalid address"
|
|
1151
|
+
msgid "Invalid request"
|
|
1152
|
+
msgstr "無效位址"
|
|
1153
|
+
|
|
739
1154
|
#: autoreply/api/v2/serializers.py:27
|
|
740
1155
|
msgid "Value can't be less than 1 day"
|
|
741
1156
|
msgstr ""
|
|
@@ -857,7 +1272,7 @@ msgstr "網域管理員"
|
|
|
857
1272
|
msgid "Allow domain administrators to manage user calendars (read and write)"
|
|
858
1273
|
msgstr "允許這個管理者來存取使用者信箱"
|
|
859
1274
|
|
|
860
|
-
#: calendars/app_settings.py:60 core/app_settings.py:
|
|
1275
|
+
#: calendars/app_settings.py:60 core/app_settings.py:664
|
|
861
1276
|
#: rspamd/app_settings.py:45
|
|
862
1277
|
msgid "Miscellaneous"
|
|
863
1278
|
msgstr "雜項"
|
|
@@ -871,15 +1286,15 @@ msgid ""
|
|
|
871
1286
|
"Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
|
|
872
1287
|
msgstr ""
|
|
873
1288
|
|
|
874
|
-
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:
|
|
1289
|
+
#: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
|
|
875
1290
|
msgid "Calendars"
|
|
876
1291
|
msgstr ""
|
|
877
1292
|
|
|
878
|
-
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:
|
|
1293
|
+
#: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
|
|
879
1294
|
msgid "Server location is not set, please fix it."
|
|
880
1295
|
msgstr ""
|
|
881
1296
|
|
|
882
|
-
#: calendars/viewsets.py:
|
|
1297
|
+
#: calendars/viewsets.py:199
|
|
883
1298
|
msgid "Uploaded file is too big (max: {} bytes)"
|
|
884
1299
|
msgstr ""
|
|
885
1300
|
|
|
@@ -909,7 +1324,7 @@ msgstr "LDAP 設定"
|
|
|
909
1324
|
msgid "Interval in seconds between 2 synchronization requests"
|
|
910
1325
|
msgstr ""
|
|
911
1326
|
|
|
912
|
-
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:
|
|
1327
|
+
#: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
|
|
913
1328
|
#, fuzzy
|
|
914
1329
|
#| msgid "Domains"
|
|
915
1330
|
msgid "Contacts"
|
|
@@ -961,12 +1376,12 @@ msgstr "無效的線"
|
|
|
961
1376
|
msgid "2FA is already enabled"
|
|
962
1377
|
msgstr ""
|
|
963
1378
|
|
|
964
|
-
#: core/api/v1/serializers.py:
|
|
1379
|
+
#: core/api/v1/serializers.py:87
|
|
965
1380
|
#, python-format
|
|
966
1381
|
msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
|
|
967
1382
|
msgstr ""
|
|
968
1383
|
|
|
969
|
-
#: core/api/v1/serializers.py:
|
|
1384
|
+
#: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
|
|
970
1385
|
#, fuzzy
|
|
971
1386
|
#| msgid "Old password"
|
|
972
1387
|
msgid "Invalid password"
|
|
@@ -980,24 +1395,20 @@ msgstr ""
|
|
|
980
1395
|
msgid "Local"
|
|
981
1396
|
msgstr "本機"
|
|
982
1397
|
|
|
983
|
-
#: core/api/v2/serializers.py:
|
|
984
|
-
|
|
985
|
-
msgstr "使用者檔案"
|
|
986
|
-
|
|
987
|
-
#: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
|
|
988
|
-
#: core/api/v2/serializers.py:228
|
|
1398
|
+
#: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
|
|
1399
|
+
#: core/api/v2/serializers.py:221
|
|
989
1400
|
msgid "Invalid syntax"
|
|
990
1401
|
msgstr "無效語法"
|
|
991
1402
|
|
|
992
|
-
#: core/api/v2/serializers.py:
|
|
1403
|
+
#: core/api/v2/serializers.py:226
|
|
993
1404
|
msgid "Invalid rounds number"
|
|
994
1405
|
msgstr ""
|
|
995
1406
|
|
|
996
|
-
#: core/api/v2/serializers.py:
|
|
1407
|
+
#: core/api/v2/serializers.py:426 core/forms.py:81
|
|
997
1408
|
msgid "This code is invalid"
|
|
998
1409
|
msgstr ""
|
|
999
1410
|
|
|
1000
|
-
#: core/api/v2/serializers.py:
|
|
1411
|
+
#: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
|
|
1001
1412
|
msgid "Please use the following code to recover your Modoboa password: {}"
|
|
1002
1413
|
msgstr ""
|
|
1003
1414
|
|
|
@@ -1007,48 +1418,60 @@ msgstr ""
|
|
|
1007
1418
|
msgid "Administration console"
|
|
1008
1419
|
msgstr "管理員"
|
|
1009
1420
|
|
|
1010
|
-
#: core/api/v2/viewsets.py:
|
|
1421
|
+
#: core/api/v2/viewsets.py:184 dmarc/models.py:11
|
|
1422
|
+
#, fuzzy
|
|
1423
|
+
#| msgid "Quantity"
|
|
1424
|
+
msgid "Quarantine"
|
|
1425
|
+
msgstr "數量"
|
|
1426
|
+
|
|
1427
|
+
#: core/api/v2/viewsets.py:186
|
|
1428
|
+
#, fuzzy
|
|
1429
|
+
#| msgid "Quantity"
|
|
1430
|
+
msgid "Amavis quarantine"
|
|
1431
|
+
msgstr "數量"
|
|
1432
|
+
|
|
1433
|
+
#: core/api/v2/viewsets.py:197
|
|
1011
1434
|
#, fuzzy
|
|
1012
1435
|
#| msgid "Address"
|
|
1013
1436
|
msgid "Address book"
|
|
1014
1437
|
msgstr "地址"
|
|
1015
1438
|
|
|
1016
|
-
#: core/api/v2/viewsets.py:
|
|
1439
|
+
#: core/api/v2/viewsets.py:207
|
|
1017
1440
|
msgid "Calendar"
|
|
1018
1441
|
msgstr ""
|
|
1019
1442
|
|
|
1020
|
-
#: core/api/v2/viewsets.py:
|
|
1021
|
-
#: webmail/app_settings.py:
|
|
1443
|
+
#: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
|
|
1444
|
+
#: webmail/app_settings.py:295 webmail/app_settings.py:302
|
|
1022
1445
|
#, fuzzy
|
|
1023
1446
|
#| msgid "E-mail"
|
|
1024
1447
|
msgid "Webmail"
|
|
1025
1448
|
msgstr "網頁郵件"
|
|
1026
1449
|
|
|
1027
|
-
#: core/app_settings.py:
|
|
1450
|
+
#: core/app_settings.py:25
|
|
1028
1451
|
msgid "Authentication"
|
|
1029
1452
|
msgstr "驗證"
|
|
1030
1453
|
|
|
1031
|
-
#: core/app_settings.py:
|
|
1454
|
+
#: core/app_settings.py:31
|
|
1032
1455
|
msgid "Authentication type"
|
|
1033
1456
|
msgstr "驗證類型"
|
|
1034
1457
|
|
|
1035
|
-
#: core/app_settings.py:
|
|
1458
|
+
#: core/app_settings.py:33
|
|
1036
1459
|
msgid "The backend used for authentication"
|
|
1037
1460
|
msgstr "此背景程式已用於驗證"
|
|
1038
1461
|
|
|
1039
|
-
#: core/app_settings.py:
|
|
1462
|
+
#: core/app_settings.py:40
|
|
1040
1463
|
msgid "Default password scheme"
|
|
1041
1464
|
msgstr "預設密碼方案"
|
|
1042
1465
|
|
|
1043
|
-
#: core/app_settings.py:
|
|
1466
|
+
#: core/app_settings.py:42
|
|
1044
1467
|
msgid "Scheme used to crypt mailbox passwords"
|
|
1045
1468
|
msgstr "方案已使用於加密信箱密碼"
|
|
1046
1469
|
|
|
1047
|
-
#: core/app_settings.py:
|
|
1470
|
+
#: core/app_settings.py:49
|
|
1048
1471
|
msgid "Rounds"
|
|
1049
1472
|
msgstr "輪"
|
|
1050
1473
|
|
|
1051
|
-
#: core/app_settings.py:
|
|
1474
|
+
#: core/app_settings.py:51
|
|
1052
1475
|
msgid ""
|
|
1053
1476
|
"Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
|
|
1054
1477
|
"between 1000 and 999999999, inclusive."
|
|
@@ -1056,281 +1479,281 @@ msgstr ""
|
|
|
1056
1479
|
"重複幾輪產生 (只能用於 sha256crypt 和 sha512crypt). 必須介於 1000 到 "
|
|
1057
1480
|
"999999999, 包括."
|
|
1058
1481
|
|
|
1059
|
-
#: core/app_settings.py:
|
|
1482
|
+
#: core/app_settings.py:61
|
|
1060
1483
|
#, fuzzy
|
|
1061
1484
|
#| msgid "Default password scheme"
|
|
1062
1485
|
msgid "Update password scheme at login"
|
|
1063
1486
|
msgstr "預設密碼方案"
|
|
1064
1487
|
|
|
1065
|
-
#: core/app_settings.py:
|
|
1488
|
+
#: core/app_settings.py:64
|
|
1066
1489
|
msgid "Update user password at login to use the default password scheme"
|
|
1067
1490
|
msgstr ""
|
|
1068
1491
|
|
|
1069
|
-
#: core/app_settings.py:
|
|
1492
|
+
#: core/app_settings.py:72
|
|
1070
1493
|
msgid "Default password"
|
|
1071
1494
|
msgstr "預設密碼"
|
|
1072
1495
|
|
|
1073
|
-
#: core/app_settings.py:
|
|
1496
|
+
#: core/app_settings.py:74
|
|
1074
1497
|
msgid "Default password for automatically created accounts."
|
|
1075
1498
|
msgstr "預設密碼是給自動產生帳號用。"
|
|
1076
1499
|
|
|
1077
|
-
#: core/app_settings.py:
|
|
1500
|
+
#: core/app_settings.py:81
|
|
1078
1501
|
msgid "Random password length"
|
|
1079
1502
|
msgstr "隨機密碼長度"
|
|
1080
1503
|
|
|
1081
|
-
#: core/app_settings.py:
|
|
1504
|
+
#: core/app_settings.py:83
|
|
1082
1505
|
msgid "Length of randomly generated passwords."
|
|
1083
1506
|
msgstr "隨機產生密碼的長度。"
|
|
1084
1507
|
|
|
1085
|
-
#: core/app_settings.py:
|
|
1508
|
+
#: core/app_settings.py:91
|
|
1086
1509
|
msgid "Allow special characters for random password"
|
|
1087
1510
|
msgstr ""
|
|
1088
1511
|
|
|
1089
|
-
#: core/app_settings.py:
|
|
1512
|
+
#: core/app_settings.py:94
|
|
1090
1513
|
#, fuzzy
|
|
1091
1514
|
#| msgid "Length of randomly generated passwords."
|
|
1092
1515
|
msgid "Enable special characters in randomly generated passwords."
|
|
1093
1516
|
msgstr "隨機產生密碼的長度。"
|
|
1094
1517
|
|
|
1095
|
-
#: core/app_settings.py:
|
|
1518
|
+
#: core/app_settings.py:102
|
|
1096
1519
|
#, fuzzy
|
|
1097
1520
|
#| msgid "Default password scheme"
|
|
1098
1521
|
msgid "Update password service URL"
|
|
1099
1522
|
msgstr "預設密碼方案"
|
|
1100
1523
|
|
|
1101
|
-
#: core/app_settings.py:
|
|
1524
|
+
#: core/app_settings.py:104
|
|
1102
1525
|
msgid ""
|
|
1103
1526
|
"The URL of an external page where users will be able to update their "
|
|
1104
1527
|
"password. It applies only to non local users, ie. those automatically "
|
|
1105
1528
|
"created after a successful external authentication (LDAP, SMTP)."
|
|
1106
1529
|
msgstr ""
|
|
1107
1530
|
|
|
1108
|
-
#: core/app_settings.py:
|
|
1531
|
+
#: core/app_settings.py:114
|
|
1109
1532
|
msgid "Password recovery announcement"
|
|
1110
1533
|
msgstr ""
|
|
1111
1534
|
|
|
1112
|
-
#: core/app_settings.py:
|
|
1535
|
+
#: core/app_settings.py:116
|
|
1113
1536
|
msgid "A temporary message that will be displayed on the reset password page."
|
|
1114
1537
|
msgstr ""
|
|
1115
1538
|
|
|
1116
|
-
#: core/app_settings.py:
|
|
1539
|
+
#: core/app_settings.py:125
|
|
1117
1540
|
msgid "Enable password recovery by SMS"
|
|
1118
1541
|
msgstr ""
|
|
1119
1542
|
|
|
1120
|
-
#: core/app_settings.py:
|
|
1543
|
+
#: core/app_settings.py:128
|
|
1121
1544
|
msgid "Enable password recovery by SMS for users who filled a phone number."
|
|
1122
1545
|
msgstr ""
|
|
1123
1546
|
|
|
1124
|
-
#: core/app_settings.py:
|
|
1547
|
+
#: core/app_settings.py:136
|
|
1125
1548
|
msgid "SMS provider"
|
|
1126
1549
|
msgstr ""
|
|
1127
1550
|
|
|
1128
|
-
#: core/app_settings.py:
|
|
1551
|
+
#: core/app_settings.py:139
|
|
1129
1552
|
msgid "Choose a provider to send password recovery SMS"
|
|
1130
1553
|
msgstr ""
|
|
1131
1554
|
|
|
1132
|
-
#: core/app_settings.py:
|
|
1555
|
+
#: core/app_settings.py:151
|
|
1133
1556
|
msgid "LDAP"
|
|
1134
1557
|
msgstr ""
|
|
1135
1558
|
|
|
1136
|
-
#: core/app_settings.py:
|
|
1559
|
+
#: core/app_settings.py:157 sievefilters/app_settings.py:18
|
|
1137
1560
|
#: sievefilters/app_settings.py:51 webmail/app_settings.py:36
|
|
1138
|
-
#: webmail/app_settings.py:73
|
|
1561
|
+
#: webmail/app_settings.py:73 webmail/app_settings.py:119
|
|
1139
1562
|
msgid "Server address"
|
|
1140
1563
|
msgstr "伺服器位址"
|
|
1141
1564
|
|
|
1142
|
-
#: core/app_settings.py:
|
|
1565
|
+
#: core/app_settings.py:159
|
|
1143
1566
|
msgid "The IP address or the DNS name of the LDAP server"
|
|
1144
1567
|
msgstr "LDAP 伺服器的 IP 或 DNS 名稱"
|
|
1145
1568
|
|
|
1146
|
-
#: core/app_settings.py:
|
|
1569
|
+
#: core/app_settings.py:166 sievefilters/app_settings.py:25
|
|
1147
1570
|
#: sievefilters/app_settings.py:67 webmail/app_settings.py:54
|
|
1148
|
-
#: webmail/app_settings.py:91
|
|
1571
|
+
#: webmail/app_settings.py:91 webmail/app_settings.py:137
|
|
1149
1572
|
msgid "Server port"
|
|
1150
1573
|
msgstr "伺服器連接埠"
|
|
1151
1574
|
|
|
1152
|
-
#: core/app_settings.py:
|
|
1575
|
+
#: core/app_settings.py:168
|
|
1153
1576
|
msgid "The TCP port number used by the LDAP server"
|
|
1154
1577
|
msgstr "LDAP 伺服器所使用的 TCP 連接埠"
|
|
1155
1578
|
|
|
1156
|
-
#: core/app_settings.py:
|
|
1579
|
+
#: core/app_settings.py:176
|
|
1157
1580
|
msgid "Enable secondary server (fallback)"
|
|
1158
1581
|
msgstr ""
|
|
1159
1582
|
|
|
1160
|
-
#: core/app_settings.py:
|
|
1583
|
+
#: core/app_settings.py:179
|
|
1161
1584
|
msgid ""
|
|
1162
1585
|
"Enable a secondary LDAP server which will be used if the primary one fails"
|
|
1163
1586
|
msgstr ""
|
|
1164
1587
|
|
|
1165
|
-
#: core/app_settings.py:
|
|
1588
|
+
#: core/app_settings.py:187
|
|
1166
1589
|
#, fuzzy
|
|
1167
1590
|
#| msgid "Server address"
|
|
1168
1591
|
msgid "Secondary server address"
|
|
1169
1592
|
msgstr "伺服器地址"
|
|
1170
1593
|
|
|
1171
|
-
#: core/app_settings.py:
|
|
1594
|
+
#: core/app_settings.py:190
|
|
1172
1595
|
#, fuzzy
|
|
1173
1596
|
#| msgid "The IP address or the DNS name of the LDAP server"
|
|
1174
1597
|
msgid "The IP address or the DNS name of the seondary LDAP server"
|
|
1175
1598
|
msgstr "LDAP 伺服器的 IP 或 DNS 名稱"
|
|
1176
1599
|
|
|
1177
|
-
#: core/app_settings.py:
|
|
1600
|
+
#: core/app_settings.py:197
|
|
1178
1601
|
#, fuzzy
|
|
1179
1602
|
#| msgid "Server port"
|
|
1180
1603
|
msgid "Secondary server port"
|
|
1181
1604
|
msgstr "伺服器連接埠"
|
|
1182
1605
|
|
|
1183
|
-
#: core/app_settings.py:
|
|
1606
|
+
#: core/app_settings.py:200
|
|
1184
1607
|
#, fuzzy
|
|
1185
1608
|
#| msgid "The TCP port number used by the LDAP server"
|
|
1186
1609
|
msgid "The TCP port number used by the LDAP secondary server"
|
|
1187
1610
|
msgstr "LDAP 伺服器所使用的 TCP 連接埠"
|
|
1188
1611
|
|
|
1189
|
-
#: core/app_settings.py:
|
|
1612
|
+
#: core/app_settings.py:207 sievefilters/app_settings.py:58
|
|
1190
1613
|
#: webmail/app_settings.py:45
|
|
1191
1614
|
msgid "Use a secured connection"
|
|
1192
1615
|
msgstr "使用安全的連線"
|
|
1193
1616
|
|
|
1194
|
-
#: core/app_settings.py:
|
|
1617
|
+
#: core/app_settings.py:209
|
|
1195
1618
|
msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
1196
1619
|
msgstr "使用 SSL/STARTTLS 連線到 LDAP 伺服器"
|
|
1197
1620
|
|
|
1198
|
-
#: core/app_settings.py:
|
|
1621
|
+
#: core/app_settings.py:216
|
|
1199
1622
|
msgid "Active Directory"
|
|
1200
1623
|
msgstr "Active Directory"
|
|
1201
1624
|
|
|
1202
|
-
#: core/app_settings.py:
|
|
1625
|
+
#: core/app_settings.py:218
|
|
1203
1626
|
msgid "Tell if the LDAP server is an Active Directory one"
|
|
1204
1627
|
msgstr "判斷 LDAP 伺服器是否是 Active Directory 伺服器"
|
|
1205
1628
|
|
|
1206
|
-
#: core/app_settings.py:
|
|
1629
|
+
#: core/app_settings.py:225
|
|
1207
1630
|
msgid "Administrator groups"
|
|
1208
1631
|
msgstr "管理者群組"
|
|
1209
1632
|
|
|
1210
|
-
#: core/app_settings.py:
|
|
1633
|
+
#: core/app_settings.py:227
|
|
1211
1634
|
msgid ""
|
|
1212
1635
|
"Members of those LDAP Posix groups will be created as domain administrators. "
|
|
1213
1636
|
"Use ';' characters to separate groups."
|
|
1214
1637
|
msgstr "這些 LDAP 群組的成員將會建立為網域管理者。使用 ';' 字元來分開群組"
|
|
1215
1638
|
|
|
1216
|
-
#: core/app_settings.py:
|
|
1639
|
+
#: core/app_settings.py:236
|
|
1217
1640
|
msgid "Group type"
|
|
1218
1641
|
msgstr "群組類型"
|
|
1219
1642
|
|
|
1220
|
-
#: core/app_settings.py:
|
|
1643
|
+
#: core/app_settings.py:238
|
|
1221
1644
|
msgid "The LDAP group type to use with your directory."
|
|
1222
1645
|
msgstr "此 LDAP 群組類型會使用您的目錄"
|
|
1223
1646
|
|
|
1224
|
-
#: core/app_settings.py:
|
|
1647
|
+
#: core/app_settings.py:245
|
|
1225
1648
|
msgid "Groups search base"
|
|
1226
1649
|
msgstr "群組搜尋基準"
|
|
1227
1650
|
|
|
1228
|
-
#: core/app_settings.py:
|
|
1651
|
+
#: core/app_settings.py:247
|
|
1229
1652
|
msgid "The distinguished name of the search base used to find groups"
|
|
1230
1653
|
msgstr "搜尋基準使用醒目的名稱來找到群組"
|
|
1231
1654
|
|
|
1232
|
-
#: core/app_settings.py:
|
|
1655
|
+
#: core/app_settings.py:255
|
|
1233
1656
|
msgid "Password attribute"
|
|
1234
1657
|
msgstr "密碼屬性"
|
|
1235
1658
|
|
|
1236
|
-
#: core/app_settings.py:
|
|
1659
|
+
#: core/app_settings.py:257
|
|
1237
1660
|
msgid "The attribute used to store user passwords"
|
|
1238
1661
|
msgstr "此屬性使用在儲存使用者密碼"
|
|
1239
1662
|
|
|
1240
|
-
#: core/app_settings.py:
|
|
1663
|
+
#: core/app_settings.py:264
|
|
1241
1664
|
#, fuzzy
|
|
1242
1665
|
#| msgid "Authentication method"
|
|
1243
1666
|
msgid "LDAP authentication settings"
|
|
1244
1667
|
msgstr "身份驗證方法"
|
|
1245
1668
|
|
|
1246
|
-
#: core/app_settings.py:
|
|
1669
|
+
#: core/app_settings.py:272
|
|
1247
1670
|
msgid "Authentication method"
|
|
1248
1671
|
msgstr "身份驗證方法"
|
|
1249
1672
|
|
|
1250
|
-
#: core/app_settings.py:
|
|
1673
|
+
#: core/app_settings.py:275
|
|
1251
1674
|
msgid "Choose the authentication method to use"
|
|
1252
1675
|
msgstr "選擇驗證模組來使用"
|
|
1253
1676
|
|
|
1254
|
-
#: core/app_settings.py:
|
|
1677
|
+
#: core/app_settings.py:282 core/app_settings.py:345
|
|
1255
1678
|
msgid "Bind DN"
|
|
1256
1679
|
msgstr "Bind DN"
|
|
1257
1680
|
|
|
1258
|
-
#: core/app_settings.py:
|
|
1681
|
+
#: core/app_settings.py:284 core/app_settings.py:347
|
|
1259
1682
|
msgid ""
|
|
1260
1683
|
"The distinguished name to use when binding to the LDAP server. Leave empty "
|
|
1261
1684
|
"for an anonymous bind"
|
|
1262
1685
|
msgstr "當對應到 LDAP 伺服器請使用醒目的名稱。保留空白為匿名 bind"
|
|
1263
1686
|
|
|
1264
|
-
#: core/app_settings.py:
|
|
1687
|
+
#: core/app_settings.py:293 core/app_settings.py:355
|
|
1265
1688
|
msgid "Bind password"
|
|
1266
1689
|
msgstr "Bind 密碼"
|
|
1267
1690
|
|
|
1268
|
-
#: core/app_settings.py:
|
|
1691
|
+
#: core/app_settings.py:295 core/app_settings.py:357
|
|
1269
1692
|
msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
|
|
1270
1693
|
msgstr "此密碼使用於當綁定到 LDAP 伺服器 (有 'Bind DN')"
|
|
1271
1694
|
|
|
1272
|
-
#: core/app_settings.py:
|
|
1695
|
+
#: core/app_settings.py:305 core/app_settings.py:410
|
|
1273
1696
|
msgid "Users search base"
|
|
1274
1697
|
msgstr "使用者搜尋基準"
|
|
1275
1698
|
|
|
1276
|
-
#: core/app_settings.py:
|
|
1699
|
+
#: core/app_settings.py:307 core/app_settings.py:412
|
|
1277
1700
|
msgid "The distinguished name of the search base used to find users"
|
|
1278
1701
|
msgstr "搜尋基準使用醒目的名稱來找到使用者"
|
|
1279
1702
|
|
|
1280
|
-
#: core/app_settings.py:
|
|
1703
|
+
#: core/app_settings.py:316 core/app_settings.py:421
|
|
1281
1704
|
msgid "Search filter"
|
|
1282
1705
|
msgstr "搜尋過濾器"
|
|
1283
1706
|
|
|
1284
|
-
#: core/app_settings.py:
|
|
1707
|
+
#: core/app_settings.py:318 core/app_settings.py:423
|
|
1285
1708
|
msgid ""
|
|
1286
1709
|
"An optional filter string (e.g. '(objectClass=person)'). In order to be "
|
|
1287
1710
|
"valid, it must be enclosed in parentheses."
|
|
1288
1711
|
msgstr ""
|
|
1289
1712
|
"過濾字串的選 (例如 '(objectClass=person)'). 要能正常使用,這必須括在括號內。"
|
|
1290
1713
|
|
|
1291
|
-
#: core/app_settings.py:
|
|
1714
|
+
#: core/app_settings.py:327
|
|
1292
1715
|
msgid "User DN template"
|
|
1293
1716
|
msgstr "使用者 DN 範本"
|
|
1294
1717
|
|
|
1295
|
-
#: core/app_settings.py:
|
|
1718
|
+
#: core/app_settings.py:329
|
|
1296
1719
|
#, python-format
|
|
1297
1720
|
msgid ""
|
|
1298
1721
|
"The template used to construct a user's DN. It should contain one "
|
|
1299
1722
|
"placeholder (ie. %(user)s)"
|
|
1300
1723
|
msgstr "此範本已使用結構化使用者的 DN. 他應該包含一個佔位符 (例如 %(user)s)"
|
|
1301
1724
|
|
|
1302
|
-
#: core/app_settings.py:
|
|
1725
|
+
#: core/app_settings.py:338
|
|
1303
1726
|
#, fuzzy
|
|
1304
1727
|
#| msgid "LDAP settings"
|
|
1305
1728
|
msgid "LDAP synchronization settings"
|
|
1306
1729
|
msgstr "LDAP 設定"
|
|
1307
1730
|
|
|
1308
|
-
#: core/app_settings.py:
|
|
1731
|
+
#: core/app_settings.py:366
|
|
1309
1732
|
msgid "Enable export to LDAP"
|
|
1310
1733
|
msgstr ""
|
|
1311
1734
|
|
|
1312
|
-
#: core/app_settings.py:
|
|
1735
|
+
#: core/app_settings.py:368
|
|
1313
1736
|
msgid ""
|
|
1314
1737
|
"Enable automatic synchronization between local database and LDAP directory"
|
|
1315
1738
|
msgstr ""
|
|
1316
1739
|
|
|
1317
|
-
#: core/app_settings.py:
|
|
1740
|
+
#: core/app_settings.py:377
|
|
1318
1741
|
msgid "Delete remote LDAP account when local account is deleted"
|
|
1319
1742
|
msgstr ""
|
|
1320
1743
|
|
|
1321
|
-
#: core/app_settings.py:
|
|
1744
|
+
#: core/app_settings.py:380
|
|
1322
1745
|
msgid ""
|
|
1323
1746
|
"Delete remote LDAP account when local account is deleted, otherwise it will "
|
|
1324
1747
|
"be disabled."
|
|
1325
1748
|
msgstr ""
|
|
1326
1749
|
|
|
1327
|
-
#: core/app_settings.py:
|
|
1750
|
+
#: core/app_settings.py:389
|
|
1328
1751
|
#, fuzzy
|
|
1329
1752
|
#| msgid "User DN template"
|
|
1330
1753
|
msgid "Account DN template"
|
|
1331
1754
|
msgstr "使用者 DN 範本"
|
|
1332
1755
|
|
|
1333
|
-
#: core/app_settings.py:
|
|
1756
|
+
#: core/app_settings.py:391
|
|
1334
1757
|
#, fuzzy, python-format
|
|
1335
1758
|
#| msgid ""
|
|
1336
1759
|
#| "The template used to construct a user's DN. It should contain one "
|
|
@@ -1340,245 +1763,237 @@ msgid ""
|
|
|
1340
1763
|
"placeholder (ie. %(user)s)"
|
|
1341
1764
|
msgstr "此範本已使用結構化使用者的 DN. 他應該包含一個佔位符 (例如 %(user)s)"
|
|
1342
1765
|
|
|
1343
|
-
#: core/app_settings.py:
|
|
1766
|
+
#: core/app_settings.py:400
|
|
1344
1767
|
msgid "Enable import from LDAP"
|
|
1345
1768
|
msgstr ""
|
|
1346
1769
|
|
|
1347
|
-
#: core/app_settings.py:
|
|
1770
|
+
#: core/app_settings.py:402
|
|
1348
1771
|
msgid "Enable account synchronization from LDAP directory to local database"
|
|
1349
1772
|
msgstr ""
|
|
1350
1773
|
|
|
1351
|
-
#: core/app_settings.py:
|
|
1774
|
+
#: core/app_settings.py:432
|
|
1352
1775
|
#, fuzzy
|
|
1353
1776
|
#| msgid "Password attribute"
|
|
1354
1777
|
msgid "Username attribute"
|
|
1355
1778
|
msgstr "密碼屬性"
|
|
1356
1779
|
|
|
1357
|
-
#: core/app_settings.py:
|
|
1780
|
+
#: core/app_settings.py:434
|
|
1358
1781
|
msgid "The name of the LDAP attribute where the username can be found."
|
|
1359
1782
|
msgstr ""
|
|
1360
1783
|
|
|
1361
|
-
#: core/app_settings.py:
|
|
1784
|
+
#: core/app_settings.py:443
|
|
1362
1785
|
#, fuzzy
|
|
1363
1786
|
#| msgid "Enable communication"
|
|
1364
1787
|
msgid "Enable Dovecot LDAP sync"
|
|
1365
1788
|
msgstr "啟用通訊"
|
|
1366
1789
|
|
|
1367
|
-
#: core/app_settings.py:
|
|
1790
|
+
#: core/app_settings.py:445
|
|
1368
1791
|
msgid "LDAP authentication settings will be applied to Dovecot configuration."
|
|
1369
1792
|
msgstr ""
|
|
1370
1793
|
|
|
1371
|
-
#: core/app_settings.py:
|
|
1794
|
+
#: core/app_settings.py:453
|
|
1372
1795
|
msgid "Dovecot LDAP config file"
|
|
1373
1796
|
msgstr ""
|
|
1374
1797
|
|
|
1375
|
-
#: core/app_settings.py:
|
|
1798
|
+
#: core/app_settings.py:455
|
|
1376
1799
|
msgid ""
|
|
1377
1800
|
"Location of the configuration file which contains Dovecot LDAP settings."
|
|
1378
1801
|
msgstr ""
|
|
1379
1802
|
|
|
1380
|
-
#: core/app_settings.py:
|
|
1803
|
+
#: core/app_settings.py:468
|
|
1381
1804
|
msgid "Dashboard"
|
|
1382
1805
|
msgstr "儀表板"
|
|
1383
1806
|
|
|
1384
|
-
#: core/app_settings.py:
|
|
1807
|
+
#: core/app_settings.py:474
|
|
1385
1808
|
#, fuzzy
|
|
1386
1809
|
#| msgid "spam messages"
|
|
1387
1810
|
msgid "Custom welcome message"
|
|
1388
1811
|
msgstr "垃圾郵件"
|
|
1389
1812
|
|
|
1390
|
-
#: core/app_settings.py:
|
|
1813
|
+
#: core/app_settings.py:476
|
|
1391
1814
|
msgid "A welcome message that will be displayed instead the default one"
|
|
1392
1815
|
msgstr ""
|
|
1393
1816
|
|
|
1394
|
-
#: core/app_settings.py:
|
|
1817
|
+
#: core/app_settings.py:483
|
|
1395
1818
|
msgid "Custom RSS feed"
|
|
1396
1819
|
msgstr "自訂 RSS 來源"
|
|
1397
1820
|
|
|
1398
|
-
#: core/app_settings.py:
|
|
1821
|
+
#: core/app_settings.py:485
|
|
1399
1822
|
msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1400
1823
|
msgstr "顯示自訂的 RSS 來源給經銷商和網域管理者"
|
|
1401
1824
|
|
|
1402
|
-
#: core/app_settings.py:
|
|
1825
|
+
#: core/app_settings.py:494
|
|
1403
1826
|
#, fuzzy
|
|
1404
1827
|
#| msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1405
1828
|
msgid "Display custom RSS feed to super admins"
|
|
1406
1829
|
msgstr "顯示自訂的 RSS 來源給經銷商和網域管理者"
|
|
1407
1830
|
|
|
1408
|
-
#: core/app_settings.py:
|
|
1831
|
+
#: core/app_settings.py:497
|
|
1409
1832
|
#, fuzzy
|
|
1410
1833
|
#| msgid "Display custom RSS feed to resellers and domain administrators"
|
|
1411
1834
|
msgid "Display custom RSS feed also to super administrators"
|
|
1412
1835
|
msgstr "顯示自訂的 RSS 來源給經銷商和網域管理者"
|
|
1413
1836
|
|
|
1414
|
-
#: core/app_settings.py:
|
|
1837
|
+
#: core/app_settings.py:505
|
|
1415
1838
|
msgid "Hide features widget"
|
|
1416
1839
|
msgstr "隱藏功能物件"
|
|
1417
1840
|
|
|
1418
|
-
#: core/app_settings.py:
|
|
1841
|
+
#: core/app_settings.py:507
|
|
1419
1842
|
msgid "Hide features widget for resellers and domain administrators"
|
|
1420
1843
|
msgstr "隱藏功能物件給經銷商和網域管理者"
|
|
1421
1844
|
|
|
1422
|
-
#: core/app_settings.py:
|
|
1845
|
+
#: core/app_settings.py:519
|
|
1423
1846
|
msgid "Theme"
|
|
1424
1847
|
msgstr ""
|
|
1425
1848
|
|
|
1426
|
-
#: core/app_settings.py:
|
|
1849
|
+
#: core/app_settings.py:525
|
|
1427
1850
|
msgid "Primary theme color"
|
|
1428
1851
|
msgstr ""
|
|
1429
1852
|
|
|
1430
|
-
#: core/app_settings.py:
|
|
1853
|
+
#: core/app_settings.py:527
|
|
1431
1854
|
msgid ""
|
|
1432
1855
|
"Primary color of the theme (hexadecimal code), used as the background color "
|
|
1433
1856
|
"of the left menu for example"
|
|
1434
1857
|
msgstr ""
|
|
1435
1858
|
|
|
1436
|
-
#: core/app_settings.py:
|
|
1859
|
+
#: core/app_settings.py:536
|
|
1437
1860
|
msgid "Primary theme color (lighter version)"
|
|
1438
1861
|
msgstr ""
|
|
1439
1862
|
|
|
1440
|
-
#: core/app_settings.py:
|
|
1863
|
+
#: core/app_settings.py:539 core/app_settings.py:551
|
|
1441
1864
|
msgid "Primary color of the theme (hexadecimal code)"
|
|
1442
1865
|
msgstr ""
|
|
1443
1866
|
|
|
1444
|
-
#: core/app_settings.py:
|
|
1867
|
+
#: core/app_settings.py:548
|
|
1445
1868
|
msgid "Primary theme color (darker version)"
|
|
1446
1869
|
msgstr ""
|
|
1447
1870
|
|
|
1448
|
-
#: core/app_settings.py:
|
|
1871
|
+
#: core/app_settings.py:559
|
|
1449
1872
|
#, fuzzy
|
|
1450
1873
|
#| msgid "Secondary email"
|
|
1451
1874
|
msgid "Secondary theme color"
|
|
1452
1875
|
msgstr "次要電子郵件"
|
|
1453
1876
|
|
|
1454
|
-
#: core/app_settings.py:
|
|
1877
|
+
#: core/app_settings.py:561
|
|
1455
1878
|
msgid ""
|
|
1456
1879
|
"Secondary color of the theme (hexadecimal code), used as the background "
|
|
1457
1880
|
"color of some buttons for example"
|
|
1458
1881
|
msgstr ""
|
|
1459
1882
|
|
|
1460
|
-
#: core/app_settings.py:
|
|
1883
|
+
#: core/app_settings.py:569
|
|
1461
1884
|
msgid "Labels theme color"
|
|
1462
1885
|
msgstr ""
|
|
1463
1886
|
|
|
1464
|
-
#: core/app_settings.py:
|
|
1887
|
+
#: core/app_settings.py:571
|
|
1465
1888
|
msgid "Theme color for labels (hexadecimal code)"
|
|
1466
1889
|
msgstr ""
|
|
1467
1890
|
|
|
1468
|
-
#: core/app_settings.py:
|
|
1891
|
+
#: core/app_settings.py:583
|
|
1469
1892
|
msgid "Notifications"
|
|
1470
1893
|
msgstr "通知"
|
|
1471
1894
|
|
|
1472
|
-
#: core/app_settings.py:
|
|
1895
|
+
#: core/app_settings.py:589
|
|
1473
1896
|
msgid "Sender address"
|
|
1474
1897
|
msgstr "伺服器位址"
|
|
1475
1898
|
|
|
1476
|
-
#: core/app_settings.py:
|
|
1899
|
+
#: core/app_settings.py:591
|
|
1477
1900
|
msgid "Email address used to send notifications."
|
|
1478
1901
|
msgstr "郵件地址用於寄送通知。"
|
|
1479
1902
|
|
|
1480
|
-
#: core/app_settings.py:
|
|
1903
|
+
#: core/app_settings.py:602
|
|
1481
1904
|
msgid "Public API"
|
|
1482
1905
|
msgstr "公用 API"
|
|
1483
1906
|
|
|
1484
|
-
#: core/app_settings.py:
|
|
1907
|
+
#: core/app_settings.py:608
|
|
1485
1908
|
msgid "Enable communication"
|
|
1486
1909
|
msgstr "啟用通訊"
|
|
1487
1910
|
|
|
1488
|
-
#: core/app_settings.py:
|
|
1911
|
+
#: core/app_settings.py:610 core/app_settings.py:620
|
|
1489
1912
|
msgid "Automatically checks if a newer version is available"
|
|
1490
1913
|
msgstr "假如有新的版本就自動檢查"
|
|
1491
1914
|
|
|
1492
|
-
#: core/app_settings.py:
|
|
1915
|
+
#: core/app_settings.py:617
|
|
1493
1916
|
msgid "Check new versions"
|
|
1494
1917
|
msgstr "檢查新的版本"
|
|
1495
1918
|
|
|
1496
|
-
#: core/app_settings.py:
|
|
1919
|
+
#: core/app_settings.py:628
|
|
1497
1920
|
msgid "Send an email when new versions are found"
|
|
1498
1921
|
msgstr ""
|
|
1499
1922
|
|
|
1500
|
-
#: core/app_settings.py:
|
|
1923
|
+
#: core/app_settings.py:632
|
|
1501
1924
|
msgid "Send an email to notify admins about new versions"
|
|
1502
1925
|
msgstr ""
|
|
1503
1926
|
|
|
1504
|
-
#: core/app_settings.py:
|
|
1927
|
+
#: core/app_settings.py:639 sievefilters/constants.py:25
|
|
1505
1928
|
msgid "Recipient"
|
|
1506
1929
|
msgstr ""
|
|
1507
1930
|
|
|
1508
|
-
#: core/app_settings.py:
|
|
1931
|
+
#: core/app_settings.py:642
|
|
1509
1932
|
msgid "Recipient of new versions notification emails."
|
|
1510
1933
|
msgstr ""
|
|
1511
1934
|
|
|
1512
|
-
#: core/app_settings.py:
|
|
1935
|
+
#: core/app_settings.py:649
|
|
1513
1936
|
msgid "Send statistics"
|
|
1514
1937
|
msgstr "寄送狀態"
|
|
1515
1938
|
|
|
1516
|
-
#: core/app_settings.py:
|
|
1939
|
+
#: core/app_settings.py:652
|
|
1517
1940
|
msgid "Send statistics to Modoboa public API (counters and used extensions)"
|
|
1518
1941
|
msgstr "寄送狀態到 Modoboa 公用 API (計數器及已使用的外掛)"
|
|
1519
1942
|
|
|
1520
|
-
#: core/app_settings.py:
|
|
1943
|
+
#: core/app_settings.py:671
|
|
1521
1944
|
#, fuzzy
|
|
1522
1945
|
#| msgid "Inactive account threshold"
|
|
1523
1946
|
msgid "Enable inactive account tracking"
|
|
1524
1947
|
msgstr "未啟用帳號上限"
|
|
1525
1948
|
|
|
1526
|
-
#: core/app_settings.py:
|
|
1949
|
+
#: core/app_settings.py:674
|
|
1527
1950
|
msgid ""
|
|
1528
1951
|
"Allow the administrator to set a threshold (in days) beyond which an account "
|
|
1529
1952
|
"is considered inactive if the user hasn't logged in"
|
|
1530
1953
|
msgstr ""
|
|
1531
1954
|
|
|
1532
|
-
#: core/app_settings.py:
|
|
1955
|
+
#: core/app_settings.py:683
|
|
1533
1956
|
msgid "Inactive account threshold"
|
|
1534
1957
|
msgstr "未啟用帳號上限"
|
|
1535
1958
|
|
|
1536
|
-
#: core/app_settings.py:
|
|
1959
|
+
#: core/app_settings.py:686
|
|
1537
1960
|
msgid ""
|
|
1538
1961
|
"An account with a last login date greater than this threshold (in days) will "
|
|
1539
1962
|
"be considered as inactive"
|
|
1540
1963
|
msgstr "這個帳號最後一次登錄日期超過這個上限 (在幾天) 將考慮停用"
|
|
1541
1964
|
|
|
1542
|
-
#: core/app_settings.py:
|
|
1965
|
+
#: core/app_settings.py:695
|
|
1543
1966
|
msgid "Top notifications check interval"
|
|
1544
1967
|
msgstr "檢查提醒間隔"
|
|
1545
1968
|
|
|
1546
|
-
#: core/app_settings.py:
|
|
1969
|
+
#: core/app_settings.py:698
|
|
1547
1970
|
msgid "Interval between two top notification checks (in seconds)"
|
|
1548
1971
|
msgstr "兩次檢查提醒間隔 (在幾秒)"
|
|
1549
1972
|
|
|
1550
|
-
#: core/app_settings.py:
|
|
1973
|
+
#: core/app_settings.py:705
|
|
1551
1974
|
msgid "Maximum log record age"
|
|
1552
1975
|
msgstr "最大日誌紀錄時間"
|
|
1553
1976
|
|
|
1554
|
-
#: core/app_settings.py:
|
|
1977
|
+
#: core/app_settings.py:707
|
|
1555
1978
|
msgid "The maximum age in days of a log record"
|
|
1556
1979
|
msgstr ""
|
|
1557
1980
|
|
|
1558
|
-
#: core/app_settings.py:
|
|
1981
|
+
#: core/app_settings.py:715
|
|
1559
1982
|
msgid "Retention time in message history"
|
|
1560
1983
|
msgstr ""
|
|
1561
1984
|
|
|
1562
|
-
#: core/app_settings.py:
|
|
1985
|
+
#: core/app_settings.py:718
|
|
1563
1986
|
msgid "Retention time (in days) of a message in the message history section"
|
|
1564
1987
|
msgstr ""
|
|
1565
1988
|
|
|
1566
|
-
#: core/app_settings.py:
|
|
1989
|
+
#: core/app_settings.py:725
|
|
1567
1990
|
msgid "Items per page"
|
|
1568
1991
|
msgstr "每頁的條目數量"
|
|
1569
1992
|
|
|
1570
|
-
#: core/app_settings.py:
|
|
1993
|
+
#: core/app_settings.py:727
|
|
1571
1994
|
msgid "Number of displayed items per page"
|
|
1572
1995
|
msgstr ""
|
|
1573
1996
|
|
|
1574
|
-
#: core/app_settings.py:746
|
|
1575
|
-
msgid "Default top redirection"
|
|
1576
|
-
msgstr ""
|
|
1577
|
-
|
|
1578
|
-
#: core/app_settings.py:748
|
|
1579
|
-
msgid "The default redirection used when no application is specified"
|
|
1580
|
-
msgstr ""
|
|
1581
|
-
|
|
1582
1997
|
#: core/checks.py:15
|
|
1583
1998
|
msgid ""
|
|
1584
1999
|
"You have USE_TZ set to False, this may result in issues during transitions "
|
|
@@ -1710,7 +2125,7 @@ msgstr "您不可以刪除您擁有的帳號"
|
|
|
1710
2125
|
msgid "One or more updates are available"
|
|
1711
2126
|
msgstr "一個或多個可用的更新"
|
|
1712
2127
|
|
|
1713
|
-
#: core/handlers.py:
|
|
2128
|
+
#: core/handlers.py:140
|
|
1714
2129
|
#, python-format
|
|
1715
2130
|
msgid "You are still using a deprecated password scheme (%s)"
|
|
1716
2131
|
msgstr ""
|
|
@@ -1866,22 +2281,22 @@ msgstr[0] "一個或多個可用的更新"
|
|
|
1866
2281
|
msgid "The core part of Modoboa"
|
|
1867
2282
|
msgstr "Modoboa 的核心部分"
|
|
1868
2283
|
|
|
1869
|
-
#: core/views/auth.py:
|
|
2284
|
+
#: core/views/auth.py:82
|
|
1870
2285
|
#, python-format
|
|
1871
2286
|
msgid "User '%s' successfully logged in"
|
|
1872
2287
|
msgstr ""
|
|
1873
2288
|
|
|
1874
|
-
#: core/views/auth.py:
|
|
2289
|
+
#: core/views/auth.py:128
|
|
1875
2290
|
#, python-format
|
|
1876
2291
|
msgid "Password scheme mismatch. Updating %s password"
|
|
1877
2292
|
msgstr ""
|
|
1878
2293
|
|
|
1879
|
-
#: core/views/auth.py:
|
|
2294
|
+
#: core/views/auth.py:135
|
|
1880
2295
|
#, python-format
|
|
1881
2296
|
msgid "Password hash parameter missmatch. Updating %s password"
|
|
1882
2297
|
msgstr ""
|
|
1883
2298
|
|
|
1884
|
-
#: core/views/auth.py:
|
|
2299
|
+
#: core/views/auth.py:173
|
|
1885
2300
|
msgid "User '{}' successfully logged out"
|
|
1886
2301
|
msgstr ""
|
|
1887
2302
|
|
|
@@ -1910,16 +2325,10 @@ msgid "Not resolved"
|
|
|
1910
2325
|
msgstr "未定義"
|
|
1911
2326
|
|
|
1912
2327
|
#: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
|
|
1913
|
-
#: webmail/constants.py:
|
|
2328
|
+
#: webmail/constants.py:38
|
|
1914
2329
|
msgid "None"
|
|
1915
2330
|
msgstr "沒有"
|
|
1916
2331
|
|
|
1917
|
-
#: dmarc/models.py:11
|
|
1918
|
-
#, fuzzy
|
|
1919
|
-
#| msgid "Quantity"
|
|
1920
|
-
msgid "Quarantine"
|
|
1921
|
-
msgstr "數量"
|
|
1922
|
-
|
|
1923
2332
|
#: dmarc/models.py:12
|
|
1924
2333
|
#, fuzzy
|
|
1925
2334
|
#| msgid "Subject"
|
|
@@ -2050,7 +2459,12 @@ msgstr ""
|
|
|
2050
2459
|
msgid "Public key mismatchs"
|
|
2051
2460
|
msgstr ""
|
|
2052
2461
|
|
|
2053
|
-
#: imap_migration/api/v2/serializers.py:
|
|
2462
|
+
#: imap_migration/api/v2/serializers.py:66
|
|
2463
|
+
#, fuzzy
|
|
2464
|
+
msgid "Migrated domain with name {} already exists"
|
|
2465
|
+
msgstr "這個名稱的別名已存在"
|
|
2466
|
+
|
|
2467
|
+
#: imap_migration/api/v2/serializers.py:130
|
|
2054
2468
|
#, fuzzy
|
|
2055
2469
|
#| msgid "Access updated"
|
|
2056
2470
|
msgid "Access denied"
|
|
@@ -2768,7 +3182,7 @@ msgstr ""
|
|
|
2768
3182
|
msgid "Rspamd"
|
|
2769
3183
|
msgstr ""
|
|
2770
3184
|
|
|
2771
|
-
#: sievefilters/api/v2/viewsets.py:
|
|
3185
|
+
#: sievefilters/api/v2/viewsets.py:203
|
|
2772
3186
|
#, fuzzy, python-format
|
|
2773
3187
|
#| msgid "User '%s' already exists"
|
|
2774
3188
|
msgid "Filter %s already exists"
|
|
@@ -2854,7 +3268,7 @@ msgstr ""
|
|
|
2854
3268
|
msgid "is not"
|
|
2855
3269
|
msgstr ""
|
|
2856
3270
|
|
|
2857
|
-
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:
|
|
3271
|
+
#: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
|
|
2858
3272
|
msgid "Subject"
|
|
2859
3273
|
msgstr "主旨"
|
|
2860
3274
|
|
|
@@ -3104,23 +3518,23 @@ msgstr "最大附件大小的位元組 (假如有指定可以是 KB, MB, GB)"
|
|
|
3104
3518
|
msgid "SMTP settings"
|
|
3105
3519
|
msgstr "SMTP 設定"
|
|
3106
3520
|
|
|
3107
|
-
#: webmail/app_settings.py:75
|
|
3521
|
+
#: webmail/app_settings.py:75 webmail/app_settings.py:121
|
|
3108
3522
|
msgid "Address of your SMTP server"
|
|
3109
3523
|
msgstr "您的 SMTP 伺服器位址"
|
|
3110
3524
|
|
|
3111
|
-
#: webmail/app_settings.py:82
|
|
3525
|
+
#: webmail/app_settings.py:82 webmail/app_settings.py:128
|
|
3112
3526
|
#, fuzzy
|
|
3113
3527
|
#| msgid "Use a secured connection"
|
|
3114
3528
|
msgid "Secured connection mode"
|
|
3115
3529
|
msgstr "安全連線模式"
|
|
3116
3530
|
|
|
3117
|
-
#: webmail/app_settings.py:84
|
|
3531
|
+
#: webmail/app_settings.py:84 webmail/app_settings.py:130
|
|
3118
3532
|
#, fuzzy
|
|
3119
3533
|
#| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
|
|
3120
3534
|
msgid "Use a secured connection to access SMTP server"
|
|
3121
3535
|
msgstr "使用安全的連線來存取 SMTP 伺服器"
|
|
3122
3536
|
|
|
3123
|
-
#: webmail/app_settings.py:93
|
|
3537
|
+
#: webmail/app_settings.py:93 webmail/app_settings.py:139
|
|
3124
3538
|
msgid "Listening port of your SMTP server"
|
|
3125
3539
|
msgstr "您的 SMTP 伺服器的連接埠"
|
|
3126
3540
|
|
|
@@ -3135,121 +3549,119 @@ msgstr "必須驗證"
|
|
|
3135
3549
|
msgid "Server needs authentication"
|
|
3136
3550
|
msgstr "伺服器需要驗證"
|
|
3137
3551
|
|
|
3138
|
-
#: webmail/app_settings.py:
|
|
3139
|
-
|
|
3140
|
-
|
|
3552
|
+
#: webmail/app_settings.py:113
|
|
3553
|
+
#, fuzzy
|
|
3554
|
+
#| msgid "LDAP settings"
|
|
3555
|
+
msgid "Scheduling settings"
|
|
3556
|
+
msgstr "LDAP 設定"
|
|
3141
3557
|
|
|
3142
|
-
#: webmail/app_settings.py:
|
|
3558
|
+
#: webmail/app_settings.py:161
|
|
3143
3559
|
msgid "Default message display mode"
|
|
3144
3560
|
msgstr "預設訊息顯示模式"
|
|
3145
3561
|
|
|
3146
|
-
#: webmail/app_settings.py:
|
|
3562
|
+
#: webmail/app_settings.py:163
|
|
3147
3563
|
msgid "The default mode used when displaying a message"
|
|
3148
3564
|
msgstr "當正在顯示訊息時會使用預設模式"
|
|
3149
3565
|
|
|
3150
|
-
#: webmail/app_settings.py:
|
|
3566
|
+
#: webmail/app_settings.py:170
|
|
3151
3567
|
msgid "Enable HTML links display"
|
|
3152
3568
|
msgstr "啟用 HTMK 顯示連結"
|
|
3153
3569
|
|
|
3154
|
-
#: webmail/app_settings.py:
|
|
3570
|
+
#: webmail/app_settings.py:173
|
|
3155
3571
|
msgid "Enable/Disable HTML links display"
|
|
3156
3572
|
msgstr "啟用/停用 HTMK 顯示連結"
|
|
3157
3573
|
|
|
3158
|
-
#: webmail/app_settings.py:
|
|
3159
|
-
msgid "Number of displayed emails per page"
|
|
3160
|
-
msgstr "每一頁顯示郵件數量"
|
|
3161
|
-
|
|
3162
|
-
#: webmail/app_settings.py:147
|
|
3574
|
+
#: webmail/app_settings.py:184
|
|
3163
3575
|
msgid "Sets the maximum number of messages displayed in a page"
|
|
3164
3576
|
msgstr "設定最大每一頁顯示郵件數量"
|
|
3165
3577
|
|
|
3166
|
-
#: webmail/app_settings.py:
|
|
3578
|
+
#: webmail/app_settings.py:191
|
|
3167
3579
|
msgid "Listing refresh rate"
|
|
3168
3580
|
msgstr "列出重整頻率"
|
|
3169
3581
|
|
|
3170
|
-
#: webmail/app_settings.py:
|
|
3582
|
+
#: webmail/app_settings.py:193
|
|
3171
3583
|
msgid "Automatic listing refresh rate (in secconds)"
|
|
3172
3584
|
msgstr ""
|
|
3173
3585
|
|
|
3174
|
-
#: webmail/app_settings.py:
|
|
3586
|
+
#: webmail/app_settings.py:200
|
|
3175
3587
|
msgid "Folder container's width"
|
|
3176
3588
|
msgstr "資料夾寬度"
|
|
3177
3589
|
|
|
3178
|
-
#: webmail/app_settings.py:
|
|
3590
|
+
#: webmail/app_settings.py:202
|
|
3179
3591
|
msgid "The width of the folder list container"
|
|
3180
3592
|
msgstr "資料夾列表寬度"
|
|
3181
3593
|
|
|
3182
|
-
#: webmail/app_settings.py:
|
|
3594
|
+
#: webmail/app_settings.py:213
|
|
3183
3595
|
#, fuzzy
|
|
3184
3596
|
#| msgid "Create aliases"
|
|
3185
3597
|
msgid "Folders"
|
|
3186
3598
|
msgstr "資料夾"
|
|
3187
3599
|
|
|
3188
|
-
#: webmail/app_settings.py:
|
|
3600
|
+
#: webmail/app_settings.py:219
|
|
3189
3601
|
#, fuzzy
|
|
3190
3602
|
#| msgid "Create aliases"
|
|
3191
3603
|
msgid "Trash folder"
|
|
3192
3604
|
msgstr "垃圾筒"
|
|
3193
3605
|
|
|
3194
|
-
#: webmail/app_settings.py:
|
|
3606
|
+
#: webmail/app_settings.py:221
|
|
3195
3607
|
#, fuzzy
|
|
3196
3608
|
#| msgid "rejected messages"
|
|
3197
3609
|
msgid "Folder where deleted messages go"
|
|
3198
3610
|
msgstr "已刪除郵件的資料夾"
|
|
3199
3611
|
|
|
3200
|
-
#: webmail/app_settings.py:
|
|
3612
|
+
#: webmail/app_settings.py:228
|
|
3201
3613
|
#, fuzzy
|
|
3202
3614
|
#| msgid "Create aliases"
|
|
3203
3615
|
msgid "Sent folder"
|
|
3204
3616
|
msgstr "寄件夾"
|
|
3205
3617
|
|
|
3206
|
-
#: webmail/app_settings.py:
|
|
3618
|
+
#: webmail/app_settings.py:230
|
|
3207
3619
|
msgid "Folder where copies of sent messages go"
|
|
3208
3620
|
msgstr "已寄出郵件的資料夾"
|
|
3209
3621
|
|
|
3210
|
-
#: webmail/app_settings.py:
|
|
3622
|
+
#: webmail/app_settings.py:237
|
|
3211
3623
|
#, fuzzy
|
|
3212
3624
|
#| msgid "Create aliases"
|
|
3213
3625
|
msgid "Drafts folder"
|
|
3214
3626
|
msgstr "草稿"
|
|
3215
3627
|
|
|
3216
|
-
#: webmail/app_settings.py:
|
|
3628
|
+
#: webmail/app_settings.py:238
|
|
3217
3629
|
msgid "Folder where drafts go"
|
|
3218
3630
|
msgstr "草稿郵件的資料夾"
|
|
3219
3631
|
|
|
3220
|
-
#: webmail/app_settings.py:
|
|
3632
|
+
#: webmail/app_settings.py:244
|
|
3221
3633
|
#, fuzzy
|
|
3222
3634
|
#| msgid "Create aliases"
|
|
3223
3635
|
msgid "Junk folder"
|
|
3224
3636
|
msgstr "垃圾信資料夾"
|
|
3225
3637
|
|
|
3226
|
-
#: webmail/app_settings.py:
|
|
3638
|
+
#: webmail/app_settings.py:246
|
|
3227
3639
|
#, fuzzy
|
|
3228
3640
|
#| msgid "rejected messages"
|
|
3229
3641
|
msgid "Folder where junk messages should go"
|
|
3230
3642
|
msgstr "垃圾郵件的資料夾"
|
|
3231
3643
|
|
|
3232
|
-
#: webmail/app_settings.py:
|
|
3644
|
+
#: webmail/app_settings.py:257
|
|
3233
3645
|
#, fuzzy
|
|
3234
3646
|
#| msgid "sent messages"
|
|
3235
3647
|
msgid "Composing messages"
|
|
3236
3648
|
msgstr "編寫郵件"
|
|
3237
3649
|
|
|
3238
|
-
#: webmail/app_settings.py:
|
|
3650
|
+
#: webmail/app_settings.py:263
|
|
3239
3651
|
#, fuzzy
|
|
3240
3652
|
#| msgid "Default subject"
|
|
3241
3653
|
msgid "Default editor"
|
|
3242
3654
|
msgstr "預設編輯器"
|
|
3243
3655
|
|
|
3244
|
-
#: webmail/app_settings.py:
|
|
3656
|
+
#: webmail/app_settings.py:265
|
|
3245
3657
|
msgid "The default editor to use when composing a message"
|
|
3246
3658
|
msgstr "當編寫郵件時會使用預設編輯器"
|
|
3247
3659
|
|
|
3248
|
-
#: webmail/app_settings.py:
|
|
3660
|
+
#: webmail/app_settings.py:272
|
|
3249
3661
|
msgid "Signature text"
|
|
3250
3662
|
msgstr "簽名文字"
|
|
3251
3663
|
|
|
3252
|
-
#: webmail/app_settings.py:
|
|
3664
|
+
#: webmail/app_settings.py:274
|
|
3253
3665
|
msgid "User defined email signature"
|
|
3254
3666
|
msgstr "使用者定義郵件簽名"
|
|
3255
3667
|
|
|
@@ -3264,47 +3676,66 @@ msgstr "伺服器位址"
|
|
|
3264
3676
|
msgid "Failed to remove attachment: "
|
|
3265
3677
|
msgstr "移除附件失敗:"
|
|
3266
3678
|
|
|
3267
|
-
#: webmail/lib/imapemail.py:
|
|
3679
|
+
#: webmail/lib/imapemail.py:270
|
|
3268
3680
|
msgid "wrote:"
|
|
3269
3681
|
msgstr ""
|
|
3270
3682
|
|
|
3271
|
-
#: webmail/lib/imapemail.py:
|
|
3683
|
+
#: webmail/lib/imapemail.py:304
|
|
3272
3684
|
msgid "Date"
|
|
3273
3685
|
msgstr "日期"
|
|
3274
3686
|
|
|
3275
|
-
#: webmail/lib/imapemail.py:
|
|
3687
|
+
#: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
|
|
3276
3688
|
#, fuzzy
|
|
3277
3689
|
#| msgid "sent messages"
|
|
3278
3690
|
msgid "Original message"
|
|
3279
3691
|
msgstr "已發訊息"
|
|
3280
3692
|
|
|
3281
|
-
#: webmail/lib/imaputils.py:
|
|
3693
|
+
#: webmail/lib/imaputils.py:222
|
|
3282
3694
|
msgid "Failed to retrieve hierarchy delimiter"
|
|
3283
3695
|
msgstr "無法檢查層次分隔"
|
|
3284
3696
|
|
|
3285
|
-
#: webmail/lib/imaputils.py:
|
|
3697
|
+
#: webmail/lib/imaputils.py:478
|
|
3286
3698
|
msgid "Inbox"
|
|
3287
3699
|
msgstr "收件夾"
|
|
3288
3700
|
|
|
3289
|
-
#: webmail/lib/imaputils.py:
|
|
3701
|
+
#: webmail/lib/imaputils.py:482
|
|
3290
3702
|
#, fuzzy
|
|
3291
3703
|
#| msgid "Create aliases"
|
|
3292
3704
|
msgid "Drafts"
|
|
3293
3705
|
msgstr "草稿"
|
|
3294
3706
|
|
|
3295
|
-
#: webmail/lib/imaputils.py:
|
|
3707
|
+
#: webmail/lib/imaputils.py:487
|
|
3296
3708
|
msgid "Junk"
|
|
3297
3709
|
msgstr "垃圾信"
|
|
3298
3710
|
|
|
3299
|
-
#: webmail/lib/imaputils.py:
|
|
3711
|
+
#: webmail/lib/imaputils.py:492
|
|
3300
3712
|
msgid "Sent"
|
|
3301
3713
|
msgstr "寄件夾"
|
|
3302
3714
|
|
|
3303
|
-
#: webmail/lib/imaputils.py:
|
|
3715
|
+
#: webmail/lib/imaputils.py:500
|
|
3716
|
+
msgid "Scheduled"
|
|
3717
|
+
msgstr ""
|
|
3718
|
+
|
|
3719
|
+
#: webmail/lib/imaputils.py:507
|
|
3304
3720
|
msgid "Trash"
|
|
3305
3721
|
msgstr "垃圾筒"
|
|
3306
3722
|
|
|
3307
|
-
#: webmail/
|
|
3723
|
+
#: webmail/serializers.py:220
|
|
3724
|
+
msgid "Moving scheduled messages is forbidden"
|
|
3725
|
+
msgstr ""
|
|
3726
|
+
|
|
3727
|
+
#: webmail/serializers.py:253
|
|
3728
|
+
msgid "Only datetime in the future is allowed"
|
|
3729
|
+
msgstr ""
|
|
3730
|
+
|
|
3731
|
+
#: webmail/serializers.py:258
|
|
3732
|
+
msgid "Provived datetime must be one minute in the future at least"
|
|
3733
|
+
msgstr ""
|
|
3734
|
+
|
|
3735
|
+
#: webmail/viewsets.py:359
|
|
3308
3736
|
#, python-format
|
|
3309
3737
|
msgid "Attachment is too big (limit: %s)"
|
|
3310
3738
|
msgstr "附件太大 (限制: %s)"
|
|
3739
|
+
|
|
3740
|
+
#~ msgid "User profile"
|
|
3741
|
+
#~ msgstr "使用者檔案"
|