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.
Files changed (364) hide show
  1. modoboa/admin/api/v2/serializers.py +1 -0
  2. modoboa/admin/app_settings.py +12 -0
  3. modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
  4. modoboa/admin/jobs.py +86 -0
  5. modoboa/admin/management/commands/modo.py +0 -2
  6. modoboa/admin/tests/test_mailbox_operations.py +4 -4
  7. modoboa/admin/tests/test_mx.py +68 -56
  8. modoboa/amavis/jobs.py +11 -0
  9. modoboa/amavis/tests/test_jobs.py +18 -0
  10. modoboa/amavis/tests/test_viewsets.py +2 -3
  11. modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
  12. modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
  13. modoboa/autoconfig/tests.py +2 -1
  14. modoboa/autoconfig/views.py +11 -3
  15. modoboa/autoreply/models.py +4 -4
  16. modoboa/calendars/backends/caldav_.py +17 -13
  17. modoboa/calendars/jobs.py +7 -0
  18. modoboa/calendars/mocks.py +4 -1
  19. modoboa/calendars/serializers.py +14 -9
  20. modoboa/calendars/tests.py +10 -9
  21. modoboa/calendars/viewsets.py +3 -1
  22. modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
  23. modoboa/contacts/models.py +1 -0
  24. modoboa/contacts/serializers.py +5 -2
  25. modoboa/contacts/tasks.py +9 -3
  26. modoboa/contacts/tests.py +32 -6
  27. modoboa/contacts/viewsets.py +7 -1
  28. modoboa/core/api/v2/serializers.py +0 -7
  29. modoboa/core/api/v2/tests.py +0 -10
  30. modoboa/core/app_settings.py +0 -22
  31. modoboa/core/commands/deploy.py +13 -0
  32. modoboa/core/commands/templates/cron_config.py.tpl +33 -0
  33. modoboa/core/commands/templates/settings.py.tpl +21 -0
  34. modoboa/core/jobs.py +34 -0
  35. modoboa/core/management/commands/load_initial_data.py +1 -1
  36. modoboa/core/password_hashers/base.py +4 -1
  37. modoboa/core/tests/test_core.py +0 -14
  38. modoboa/core/tests/test_jobs.py +40 -0
  39. modoboa/frontend_dist/assets/{AccountAliasForm-tLHotdIR.js → AccountAliasForm-DO6DwfjE.js} +1 -1
  40. modoboa/frontend_dist/assets/{AccountEditView-DnQIIg47.js → AccountEditView-CCuN9mGB.js} +1 -1
  41. modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
  42. modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
  43. modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
  44. modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
  45. modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
  46. modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
  47. modoboa/frontend_dist/assets/{AliasEditView-n75NEN_s.js → AliasEditView-CTjrXYPf.js} +1 -1
  48. modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
  49. modoboa/frontend_dist/assets/{AliasView-DFIvPeIm.js → AliasView-BN13MNN_.js} +1 -1
  50. modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
  51. modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
  52. modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
  53. modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
  54. modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
  55. modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
  56. modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
  57. modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
  58. modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
  59. modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
  60. modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
  61. modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
  62. modoboa/frontend_dist/assets/{DomainAdminList-BjtfbhRj.js → DomainAdminList-DD7p3i6F.js} +1 -1
  63. modoboa/frontend_dist/assets/{DomainEditView-Cq5Ea4RW.js → DomainEditView-DoIoNYC4.js} +1 -1
  64. modoboa/frontend_dist/assets/{DomainTransportForm-DAXJGNLA.js → DomainTransportForm-CbiJF9z5.js} +1 -1
  65. modoboa/frontend_dist/assets/{DomainView-BfpK7U14.js → DomainView-BXvznFYz.js} +3 -3
  66. modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
  67. modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
  68. modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
  69. modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
  70. modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
  71. modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
  72. modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
  73. modoboa/frontend_dist/assets/{HtmlEditor-D753fIAJ.js → HtmlEditor-CyBl5wj2.js} +15 -15
  74. modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
  75. modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
  76. modoboa/frontend_dist/assets/{LoadingData-Tm56XNwj.js → LoadingData-C2txD49L.js} +1 -1
  77. modoboa/frontend_dist/assets/{LoginCallbackView-DjCHUgz5.js → LoginCallbackView-DAvty3CI.js} +1 -1
  78. modoboa/frontend_dist/assets/{LoginView-D0r4XBEl.js → LoginView-DHYITkn4.js} +1 -1
  79. modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
  80. modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
  81. modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
  82. modoboa/frontend_dist/assets/{MessageView-BWh9BqzS.js → MessageView-CrrEJpNI.js} +1 -1
  83. modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
  84. modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
  85. modoboa/frontend_dist/assets/{ParametersForm-y02-GM0r.js → ParametersForm-DFKYkPAs.js} +1 -1
  86. modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
  87. modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
  88. modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
  89. modoboa/frontend_dist/assets/ProviderGeneralForm-DO-IpJMQ.js +1 -0
  90. modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
  91. modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
  92. modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
  93. modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
  94. modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
  95. modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
  96. modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
  97. modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
  98. modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
  99. modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
  100. modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
  101. modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
  102. modoboa/frontend_dist/assets/{VAlert-CNys_LUS.js → VAlert-MDbeolOo.js} +1 -1
  103. modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
  104. modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
  105. modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
  106. modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
  107. modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
  108. modoboa/frontend_dist/assets/{VCard-BoH6kjPa.js → VCard-CBtX8JF-.js} +1 -1
  109. modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
  110. modoboa/frontend_dist/assets/{VCheckboxBtn-Ccl786Rg.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
  111. modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
  112. modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
  113. modoboa/frontend_dist/assets/{VContainer-DKMcKasC.js → VContainer-Cn-vKB3s.js} +1 -1
  114. modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
  115. modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
  116. modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
  117. modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
  118. modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
  119. modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
  120. modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
  121. modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
  122. modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
  123. modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
  124. modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
  125. modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
  126. modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
  127. modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
  128. modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
  129. modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
  130. modoboa/frontend_dist/assets/{VRow-CuVZGqBj.js → VRow-83Qnr5iB.js} +1 -1
  131. modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
  132. modoboa/frontend_dist/assets/{VSelectionControl-uKY9Zull.js → VSelectionControl-Cqi1xt-q.js} +1 -1
  133. modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
  134. modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
  135. modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
  136. modoboa/frontend_dist/assets/{VTable-gDsAUSLX.js → VTable-f7wcr2AZ.js} +1 -1
  137. modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
  138. modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
  139. modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
  140. modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
  141. modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
  142. modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
  143. modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
  144. modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
  145. modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
  146. modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
  147. modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
  148. modoboa/frontend_dist/assets/{accounts-DqbBlaLK.js → accounts-KUsk6LHW.js} +1 -1
  149. modoboa/frontend_dist/assets/{admin-D36m_nXq.js → admin-BW9cZW0P.js} +1 -1
  150. modoboa/frontend_dist/assets/{aliases-BtyF8GC8.js → aliases-Ge0hjIsH.js} +1 -1
  151. modoboa/frontend_dist/assets/{amavis-DySmsCJQ.js → amavis-BbFeFfsk.js} +1 -1
  152. modoboa/frontend_dist/assets/{amavis-B4QhM5Fa.js → amavis-DtuzP_CS.js} +1 -1
  153. modoboa/frontend_dist/assets/{contacts-Df8ptuMn.js → contacts-DMJlQTe0.js} +1 -1
  154. modoboa/frontend_dist/assets/{domains-CSxtTvUh.js → domains-Du64lcXT.js} +1 -1
  155. modoboa/frontend_dist/assets/domains.store-1U61jeCV.js +1 -0
  156. modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
  157. modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
  158. modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
  159. modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
  160. modoboa/frontend_dist/assets/{index-Bp9Fb67E.js → index-Dv00bmw9.js} +1 -1
  161. modoboa/frontend_dist/assets/index-jui3edpn.js +1001 -0
  162. modoboa/frontend_dist/assets/{language.store-_-zrrEiS.js → language.store-OcfdXL_-.js} +1 -1
  163. modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
  164. modoboa/frontend_dist/assets/{layout-CjSP_k58.js → layout-DOO7TRTJ.js} +1 -1
  165. modoboa/frontend_dist/assets/{layout.store-CF5WRevH.js → layout.store-C0g-piJn.js} +1 -1
  166. modoboa/frontend_dist/assets/{logos-95XYS6uH.js → logos-Dz2Gzei-.js} +1 -1
  167. modoboa/frontend_dist/assets/{logs-CyU_PIDh.js → logs-CLm32Weu.js} +1 -1
  168. modoboa/frontend_dist/assets/{parameters-BxAXBXU1.js → parameters-DMIAQ7cd.js} +1 -1
  169. modoboa/frontend_dist/assets/{parameters.store-CATOSoQZ.js → parameters.store-DLnFzCwV.js} +1 -1
  170. modoboa/frontend_dist/assets/{permissions-cSkGqV3M.js → permissions-CrpE0b4w.js} +1 -1
  171. modoboa/frontend_dist/assets/{ssrBoot-05WtbG6H.js → ssrBoot-B7cr7q9U.js} +1 -1
  172. modoboa/frontend_dist/assets/{tag-BmV84V2s.js → tag-WF93n81Q.js} +1 -1
  173. modoboa/frontend_dist/assets/{theme-myV4ekXo.js → theme-_0oOYChG.js} +1 -1
  174. modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
  175. modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
  176. modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
  177. modoboa/frontend_dist/index.html +2 -2
  178. modoboa/imap_migration/api/v2/serializers.py +13 -0
  179. modoboa/imap_migration/models.py +3 -3
  180. modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
  181. modoboa/imap_migration/tests.py +28 -0
  182. modoboa/lib/cryptutils.py +2 -2
  183. modoboa/lib/sysutils.py +1 -1
  184. modoboa/lib/tests/__init__.py +0 -1
  185. modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
  186. modoboa/locale/br/LC_MESSAGES/django.po +753 -317
  187. modoboa/locale/cs/LC_MESSAGES/django.po +671 -309
  188. modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  189. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +801 -378
  190. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  191. modoboa/locale/de/LC_MESSAGES/django.po +1116 -455
  192. modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
  193. modoboa/locale/de_DE/LC_MESSAGES/django.po +745 -318
  194. modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
  195. modoboa/locale/el_GR/LC_MESSAGES/django.po +825 -393
  196. modoboa/locale/en/LC_MESSAGES/django.po +669 -309
  197. modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
  198. modoboa/locale/es/LC_MESSAGES/django.po +810 -390
  199. modoboa/locale/es_MX/LC_MESSAGES/django.po +669 -309
  200. modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/fi/LC_MESSAGES/django.po +756 -316
  202. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  203. modoboa/locale/fr/LC_MESSAGES/django.po +674 -313
  204. modoboa/locale/hu/LC_MESSAGES/django.po +669 -309
  205. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/it/LC_MESSAGES/django.po +807 -380
  207. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  208. modoboa/locale/ja_JP/LC_MESSAGES/django.po +951 -419
  209. modoboa/locale/ka/LC_MESSAGES/django.po +669 -309
  210. modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  211. modoboa/locale/nl_NL/LC_MESSAGES/django.po +807 -387
  212. modoboa/locale/no/LC_MESSAGES/django.po +669 -309
  213. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  214. modoboa/locale/pl_PL/LC_MESSAGES/django.po +826 -396
  215. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  216. modoboa/locale/pt_BR/LC_MESSAGES/django.po +830 -392
  217. modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  218. modoboa/locale/pt_PT/LC_MESSAGES/django.po +788 -371
  219. modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
  220. modoboa/locale/ro_RO/LC_MESSAGES/django.po +763 -316
  221. modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
  222. modoboa/locale/ru/LC_MESSAGES/django.po +1336 -1046
  223. modoboa/locale/si/LC_MESSAGES/django.po +669 -309
  224. modoboa/locale/sk/LC_MESSAGES/django.po +671 -309
  225. modoboa/locale/sk_SK/LC_MESSAGES/django.po +671 -309
  226. modoboa/locale/sl_SI/LC_MESSAGES/django.po +695 -315
  227. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  228. modoboa/locale/sv/LC_MESSAGES/django.po +819 -387
  229. modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
  230. modoboa/locale/tr/LC_MESSAGES/django.po +737 -315
  231. modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  232. modoboa/locale/tr_TR/LC_MESSAGES/django.po +711 -310
  233. modoboa/locale/uk/LC_MESSAGES/django.po +671 -309
  234. modoboa/locale/zh/LC_MESSAGES/django.po +668 -309
  235. modoboa/locale/zh_CN/LC_MESSAGES/django.po +668 -309
  236. modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  237. modoboa/locale/zh_TW/LC_MESSAGES/django.po +747 -316
  238. modoboa/maillog/jobs.py +11 -0
  239. modoboa/maillog/tests/test_views.py +5 -4
  240. modoboa/parameters/api/v2/tests.py +1 -1
  241. modoboa/policyd/management/commands/policy_daemon.py +5 -1
  242. modoboa/policyd/tests.py +4 -2
  243. modoboa/rspamd/tests.py +20 -0
  244. modoboa/templates/registration/twofactor_code_verify.html +1 -1
  245. modoboa/webmail/app_settings.py +37 -0
  246. modoboa/webmail/constants.py +21 -1
  247. modoboa/webmail/factories.py +19 -0
  248. modoboa/webmail/jobs.py +27 -0
  249. modoboa/webmail/lib/__init__.py +0 -2
  250. modoboa/webmail/lib/imapemail.py +9 -11
  251. modoboa/webmail/lib/imapheader.py +25 -13
  252. modoboa/webmail/lib/imaputils.py +51 -13
  253. modoboa/webmail/lib/sendmail.py +88 -105
  254. modoboa/webmail/lib/utils.py +109 -0
  255. modoboa/webmail/migrations/0001_initial.py +90 -0
  256. modoboa/webmail/migrations/__init__.py +0 -0
  257. modoboa/webmail/mocks.py +12 -3
  258. modoboa/webmail/models.py +102 -0
  259. modoboa/webmail/serializers.py +84 -4
  260. modoboa/webmail/tests/data.py +21 -0
  261. modoboa/webmail/tests/test_lib_imaputils.py +33 -0
  262. modoboa/webmail/tests/test_viewsets.py +108 -0
  263. modoboa/webmail/urls.py +5 -0
  264. modoboa/webmail/viewsets.py +39 -9
  265. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
  266. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/RECORD +271 -254
  267. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
  268. modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
  269. modoboa/core/management/commands/cleanlogs.py +0 -53
  270. modoboa/frontend_dist/assets/AccountLayout-B2HptJzY.js +0 -1
  271. modoboa/frontend_dist/assets/AccountPasswordSubForm-DpADntAL.js +0 -1
  272. modoboa/frontend_dist/assets/AccountView-CJBGh9Oe.js +0 -1
  273. modoboa/frontend_dist/assets/AddressBook-CrFqzlzZ.js +0 -1
  274. modoboa/frontend_dist/assets/AdminLayout-BbCt7YxX.js +0 -1
  275. modoboa/frontend_dist/assets/AlarmsView-CIlt_IKQ.js +0 -1
  276. modoboa/frontend_dist/assets/AliasRecipientForm-jjj5yJJw.js +0 -1
  277. modoboa/frontend_dist/assets/AuditTrailView-sWnED3E9.js +0 -1
  278. modoboa/frontend_dist/assets/CalendarView-DSCBIvef.js +0 -1
  279. modoboa/frontend_dist/assets/ChoiceField-RDT6XcnX.js +0 -1
  280. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
  281. modoboa/frontend_dist/assets/ComposeEmailForm-G3sXQAwI.js +0 -1
  282. modoboa/frontend_dist/assets/ComposeEmailView-Ce1CtFjD.js +0 -1
  283. modoboa/frontend_dist/assets/ConfirmDialog-Du7aqKbR.js +0 -1
  284. modoboa/frontend_dist/assets/ConnectedLayout-BHWaBAzH.js +0 -1
  285. modoboa/frontend_dist/assets/CreationForm-CjtILq0_.js +0 -1
  286. modoboa/frontend_dist/assets/DashboardView-DFNwusDZ.js +0 -1
  287. modoboa/frontend_dist/assets/DomainsView-CYxLy-3Y.js +0 -1
  288. modoboa/frontend_dist/assets/EmailField-DmPc4pyP.js +0 -1
  289. modoboa/frontend_dist/assets/EmailView-BE3vYZtJ.js +0 -1
  290. modoboa/frontend_dist/assets/EmptyLayout-DMwKNHfI.js +0 -1
  291. modoboa/frontend_dist/assets/FiltersView-Dps3_fAh.js +0 -1
  292. modoboa/frontend_dist/assets/ForwardEmailView-C0I00eXf.js +0 -1
  293. modoboa/frontend_dist/assets/IdentitiesView-CoGBVhZx.js +0 -1
  294. modoboa/frontend_dist/assets/InformationView-eB2ayeLD.js +0 -1
  295. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
  296. modoboa/frontend_dist/assets/MailboxView-DNokO2WZ.js +0 -5
  297. modoboa/frontend_dist/assets/MenuItems-dl38msRA.js +0 -1
  298. modoboa/frontend_dist/assets/MessagesView-BZ7NUOwo.js +0 -1
  299. modoboa/frontend_dist/assets/MigrationsView-DcOVgmcH.js +0 -1
  300. modoboa/frontend_dist/assets/ParametersView-B6abt-LH.js +0 -1
  301. modoboa/frontend_dist/assets/ParametersView-v0YS6WU4.js +0 -1
  302. modoboa/frontend_dist/assets/ProviderEditView-BaL9mKxJ.js +0 -1
  303. modoboa/frontend_dist/assets/ProviderGeneralForm-eoHMDO5v.js +0 -1
  304. modoboa/frontend_dist/assets/ProvidersView-Zu-G35u7.js +0 -1
  305. modoboa/frontend_dist/assets/QuarantineLayout-BHiiksnP.js +0 -1
  306. modoboa/frontend_dist/assets/QuarantineView-BOXSobRz.js +0 -1
  307. modoboa/frontend_dist/assets/ReplyEmailView-JmSiNWPy.js +0 -1
  308. modoboa/frontend_dist/assets/ResourcesForm-D0YBapCG.js +0 -1
  309. modoboa/frontend_dist/assets/SelfServiceLayout-DUmQzUDk.js +0 -1
  310. modoboa/frontend_dist/assets/SettingsView-DIvKGRBY.css +0 -1
  311. modoboa/frontend_dist/assets/SettingsView-DMuaKagM.js +0 -6
  312. modoboa/frontend_dist/assets/StatisticsView-CyY_CNcI.js +0 -1
  313. modoboa/frontend_dist/assets/TimeSerieChart-BTDBH33K.js +0 -1
  314. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
  315. modoboa/frontend_dist/assets/UserLayout-DwxcQr4L.js +0 -1
  316. modoboa/frontend_dist/assets/VApp-B0vRc3-6.js +0 -1
  317. modoboa/frontend_dist/assets/VAutocomplete-Huaz_-hf.js +0 -1
  318. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
  319. modoboa/frontend_dist/assets/VAvatar-JdJfoK0C.js +0 -1
  320. modoboa/frontend_dist/assets/VBadge-Cg5iu5LG.js +0 -1
  321. modoboa/frontend_dist/assets/VCheckbox-CCLOJFKF.js +0 -1
  322. modoboa/frontend_dist/assets/VColorPicker-452uc3tY.js +0 -1
  323. modoboa/frontend_dist/assets/VDataTable-BkLLfcQK.js +0 -1
  324. modoboa/frontend_dist/assets/VDataTableServer-B_6fWBA3.js +0 -1
  325. modoboa/frontend_dist/assets/VDataTableVirtual-Ike7oqcC.js +0 -1
  326. modoboa/frontend_dist/assets/VDialog-DIUeAIpw.js +0 -1
  327. modoboa/frontend_dist/assets/VExpansionPanels-BeMgiS7A.js +0 -1
  328. modoboa/frontend_dist/assets/VFileInput-Dvj95FL5.js +0 -1
  329. modoboa/frontend_dist/assets/VForm-DkphQD3e.js +0 -1
  330. modoboa/frontend_dist/assets/VInput-CbqehdOu.js +0 -1
  331. modoboa/frontend_dist/assets/VMenu-B6SCtOwT.js +0 -1
  332. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
  333. modoboa/frontend_dist/assets/VPicker-BUx70Wjg.js +0 -1
  334. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
  335. modoboa/frontend_dist/assets/VProgressCircular-DTDGzl2O.js +0 -1
  336. modoboa/frontend_dist/assets/VRadioGroup-CS9ULZ1c.js +0 -1
  337. modoboa/frontend_dist/assets/VSelect-D5IXDPEX.js +0 -1
  338. modoboa/frontend_dist/assets/VSheet-HeHw6g5_.js +0 -1
  339. modoboa/frontend_dist/assets/VSpacer-BUxSSJbH.js +0 -1
  340. modoboa/frontend_dist/assets/VSwitch-Dh_dserW.js +0 -1
  341. modoboa/frontend_dist/assets/VTabs-5XSICLQP.js +0 -1
  342. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
  343. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
  344. modoboa/frontend_dist/assets/VTextField-QXQFhKxm.js +0 -1
  345. modoboa/frontend_dist/assets/VTextarea-Bdy4UKmV.js +0 -1
  346. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
  347. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
  348. modoboa/frontend_dist/assets/VToolbar-CyrYSqJZ.js +0 -1
  349. modoboa/frontend_dist/assets/VWindowItem-kZpArwK1.js +0 -1
  350. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
  351. modoboa/frontend_dist/assets/WebmailLayout-CNUHODnw.js +0 -1
  352. modoboa/frontend_dist/assets/domains.store-D4ZqCQ-O.js +0 -1
  353. modoboa/frontend_dist/assets/filter-DHKXX97M.js +0 -1
  354. modoboa/frontend_dist/assets/global.store-DYMmGKpn.js +0 -1
  355. modoboa/frontend_dist/assets/importExport-C-adpHJX.js +0 -1
  356. modoboa/frontend_dist/assets/index-B1bntsLR.js +0 -995
  357. modoboa/frontend_dist/assets/languages-CxjoT69j.js +0 -1
  358. modoboa/frontend_dist/assets/transports-ChdHV5hX.js +0 -1
  359. modoboa/frontend_dist/assets/webmail-B7MNMkv_.js +0 -1
  360. modoboa/frontend_dist/assets/webmail.store-Cm-h6hhE.js +0 -1
  361. {modoboa-2.6.4.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
  362. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
  363. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
  364. {modoboa-2.6.4.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
@@ -3,61 +3,78 @@
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  #
5
5
  # Translators:
6
+ # Aleksandr Mokrushin, 2021
7
+ # Aleksandr Mokrushin, 2023
8
+ # Anton F., 2023
6
9
  # Avenir Fetisov <avenir.fetisov@gmail.com>, 2018
7
10
  # Dmitriy Pervin <d@pervin.ru>, 2019
11
+ # guard43ru <guard43ru@gmail.com>, 2023
12
+ # Ilya Chaycowskiy, 2023
13
+ # Maksim Petuhov, 2024
14
+ # Mikhail Fadin, 2025
8
15
  # Oleksandr Tsaran <o.tsaran@net-city.net>, 2018
9
16
  # Ravil Kadyrbayev, 2015
17
+ # Ravil Kadyrbayev, 2015
10
18
  # Александр Клюшенок <aleksandr@maxus.pro>, 2017
19
+ # Aleksandr Kliushenok <alex.1501@icloud.com>, 2017
20
+ # Борис Лапенко, 2013
11
21
  # Борис Лапенко, 2013
22
+ # Виталий Беляк, 2024
12
23
  # Евгений Белов <trahelman@gmail.com>, 2019
24
+ # Кирилл Казючиц, 2023
25
+ # Николай Грищенков, 2025
13
26
  msgid ""
14
27
  msgstr ""
15
28
  "Project-Id-Version: Modoboa\n"
16
29
  "Report-Msgid-Bugs-To: \n"
17
- "POT-Creation-Date: 2025-08-28 09:41+0200\n"
18
- "PO-Revision-Date: 2020-05-06 11:16+0000\n"
19
- "Last-Translator: Antoine Nguyen <tonio@ngyn.org>\n"
20
- "Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/ru/)\n"
30
+ "POT-Creation-Date: 2026-02-04 09:30+0100\n"
31
+ "PO-Revision-Date: 2011-07-01 08:15+0000\n"
32
+ "Last-Translator: Николай Грищенков, 2025\n"
33
+ "Language-Team: Russian (http://app.transifex.com/tonio/modoboa/language/"
34
+ "ru/)\n"
21
35
  "Language: ru\n"
22
36
  "MIME-Version: 1.0\n"
23
37
  "Content-Type: text/plain; charset=UTF-8\n"
24
38
  "Content-Transfer-Encoding: 8bit\n"
25
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
39
+ "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
40
+ "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
41
+ "(n%100>=11 && n%100<=14)? 2 : 3);\n"
26
42
 
27
43
  #: admin/api/v1/serializers.py:39
28
44
  msgid ""
29
45
  "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. "
30
46
  "A value of 0 means no quota."
31
47
  msgstr ""
48
+ "Квота распределяемая между почтовыми ящиками. Может быть выражена в КБ, МБ "
49
+ "(по умолчанию) или ГБ. Значение 0 означает отсутствие квоты."
32
50
 
33
51
  #: admin/api/v1/serializers.py:46
34
52
  msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota."
35
53
  msgstr ""
54
+ "К почтовым ящикам применяется квота по умолчанию в МБ. Значение 0 означает "
55
+ "отсутствие квоты."
36
56
 
37
57
  #: admin/api/v1/serializers.py:94
38
- #, fuzzy
39
58
  msgid "domain alias with this name already exists"
40
- msgstr "Синоним с таким именем уже есть"
59
+ msgstr "алиас домена с таким именем уже существует"
41
60
 
42
61
  #: admin/api/v1/serializers.py:104
43
62
  msgid "No authorized MX record found for this domain"
44
- msgstr ""
63
+ msgstr "Для этого домена не найдена разрешённая MX-запись"
45
64
 
46
65
  #: admin/api/v1/serializers.py:122
47
66
  msgid "Cannot be greater than domain quota"
48
- msgstr ""
67
+ msgstr "Не может быть больше чем квота домена"
49
68
 
50
69
  #: admin/api/v1/serializers.py:168 admin/api/v1/serializers.py:364
51
- #: admin/api/v2/serializers.py:564 admin/models/alias.py:44
52
- #, fuzzy
53
- #| msgid "Permissions"
70
+ #: admin/api/v2/serializers.py:571 admin/models/alias.py:45
54
71
  msgid "Permission denied."
55
- msgstr "Права"
72
+ msgstr "В доступе отказано"
56
73
 
57
74
  #: admin/api/v1/serializers.py:231 admin/api/v2/serializers.py:90
58
- #: admin/api/v2/serializers.py:486 core/api/v2/serializers.py:255
59
- #: core/api/v2/serializers.py:257 core/api/v2/serializers.py:266
60
- #: transport/backends.py:40
75
+ #: admin/api/v2/serializers.py:492 amavis/serializers.py:39
76
+ #: core/api/v2/serializers.py:248 core/api/v2/serializers.py:250
77
+ #: core/api/v2/serializers.py:259 transport/backends.py:40
61
78
  msgid "This field is required"
62
79
  msgstr "Это поле обязательно для заполнеия"
63
80
 
@@ -65,117 +82,104 @@ msgstr "Это поле обязательно для заполнеия"
65
82
  msgid ""
66
83
  "List of administered domains (resellers and domain administrators only)."
67
84
  msgstr ""
85
+ "Список администрируемых доменов (только для реселлеров и администраторов "
86
+ "доменов)."
68
87
 
69
- #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:546
88
+ #: admin/api/v1/serializers.py:337 admin/api/v2/serializers.py:553
70
89
  msgid "Not allowed for this role."
71
- msgstr ""
90
+ msgstr "Не доступно для данной роли."
72
91
 
73
92
  #: admin/api/v1/serializers.py:355
74
93
  msgid "Must be equal to mailbox full_address"
75
- msgstr ""
94
+ msgstr "Должен совпадать с полным адресом почтового ящика."
76
95
 
77
- #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:598
78
- #: calendars/serializers.py:175 calendars/serializers.py:177
79
- #: pdfcredentials/api/v2/serializers.py:91
80
- #, fuzzy
81
- #| msgid "A quota is required"
96
+ #: admin/api/v1/serializers.py:397 admin/api/v2/serializers.py:605
97
+ #: calendars/serializers.py:182 pdfcredentials/api/v2/serializers.py:91
82
98
  msgid "This field is required."
83
- msgstr "Требуется квота"
99
+ msgstr "Это поле обязательно для заполнения"
84
100
 
85
- #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:615
86
- #, fuzzy
87
- #| msgid "Domain does not exist"
101
+ #: admin/api/v1/serializers.py:409 admin/api/v2/serializers.py:622
88
102
  msgid "Local domain {} does not exist"
89
- msgstr "Домен не существует"
103
+ msgstr "Локальный домен {} не существует"
90
104
 
91
105
  #: admin/api/v1/serializers.py:499
92
106
  msgid "A list of recipient"
93
- msgstr ""
107
+ msgstr "Список получателей"
94
108
 
95
- #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:286
96
- #, fuzzy
97
- #| msgid "User '%s' already exists"
109
+ #: admin/api/v1/serializers.py:515 admin/api/v2/viewsets.py:313
98
110
  msgid "This alias already exists"
99
- msgstr "Пользователь '%s' уже существует"
111
+ msgstr "Этот алиас уже существует"
100
112
 
101
113
  #: admin/api/v1/serializers.py:551
102
- #, fuzzy
103
- #| msgid "You don't have access to this domain"
104
114
  msgid "You don't have access to this domain."
105
115
  msgstr "Вы не имеете права доступа к этому домену"
106
116
 
107
117
  #: admin/api/v1/serializers.py:560
108
- #, fuzzy
109
- #| msgid "You don't have access to this domain"
110
118
  msgid "You don't have access to this mailbox."
111
- msgstr "Вы не имеете права доступа к этому домену"
119
+ msgstr "Вы не имеете права доступа к этому почтовому ящику"
112
120
 
113
121
  #: admin/api/v1/viewsets.py:184
114
122
  msgid "Here is your new Modoboa password: {}"
115
- msgstr ""
123
+ msgstr "Вот ваш новый пароль Modoboa: {}"
116
124
 
117
125
  #: admin/api/v2/serializers.py:82
118
126
  msgid "DKIM keys storage directory not configured"
119
- msgstr ""
127
+ msgstr "Хранилище DKIM ключей не настроено"
120
128
 
121
129
  #: admin/api/v2/serializers.py:94
122
130
  msgid "This field is valid when type is relaydomain"
123
- msgstr ""
131
+ msgstr "Это поле действительно, когда тип — домен‑ретранслятор"
124
132
 
125
133
  #: admin/api/v2/serializers.py:101
126
134
  msgid "You can't define an unlimited quota."
127
- msgstr ""
135
+ msgstr "Вы не можете установить неограниченную квоту."
128
136
 
129
137
  #: admin/api/v2/serializers.py:135
130
138
  #, python-format
131
139
  msgid "User '%s' already exists"
132
140
  msgstr "Пользователь '%s' уже существует"
133
141
 
134
- #: admin/api/v2/serializers.py:250 admin/api/v2/serializers.py:256
142
+ #: admin/api/v2/serializers.py:256 admin/api/v2/serializers.py:262
135
143
  msgid "Must be a positive integer"
136
- msgstr ""
144
+ msgstr "Значение может быть положительным целым числом"
137
145
 
138
- #: admin/api/v2/serializers.py:265
146
+ #: admin/api/v2/serializers.py:271
139
147
  msgid "openssl not found, please make sure it is installed."
140
- msgstr ""
148
+ msgstr "openssl не найден, убедитесь, что он установлен."
141
149
 
142
- #: admin/api/v2/serializers.py:268 pdfcredentials/api/v2/serializers.py:84
143
- #, fuzzy
144
- #| msgid "Domain modified"
150
+ #: admin/api/v2/serializers.py:274 pdfcredentials/api/v2/serializers.py:84
145
151
  msgid "Directory not found."
146
- msgstr "Домен изменен"
152
+ msgstr "Каталог не найден."
147
153
 
148
- #: admin/api/v2/serializers.py:279
154
+ #: admin/api/v2/serializers.py:285
149
155
  msgid "This field only allows valid IP addresses (or networks)"
150
- msgstr ""
156
+ msgstr "В этом поле разрешены только действительные IP-адреса (или сети)."
151
157
 
152
- #: admin/api/v2/serializers.py:292
158
+ #: admin/api/v2/serializers.py:298
153
159
  msgid "Please disable imap migration before disabling this option."
154
- msgstr ""
160
+ msgstr "Пожалуйста, отключите миграцию imap, прежде чем отключать эту опцию."
155
161
 
156
- #: admin/api/v2/serializers.py:305
162
+ #: admin/api/v2/serializers.py:311
157
163
  msgid "Define at least one authorized network / address"
158
- msgstr ""
164
+ msgstr "Определите хотя бы одну авторизованную сеть/адрес"
159
165
 
160
- #: admin/api/v2/serializers.py:581
166
+ #: admin/api/v2/serializers.py:588
161
167
  msgid "The left part of an email address can't be more than 64 characters."
162
- msgstr ""
168
+ msgstr "Левая часть E-Mail адреса не может быть длиннее 64 символов."
163
169
 
164
- #: admin/api/v2/serializers.py:603
170
+ #: admin/api/v2/serializers.py:610
165
171
  msgid "A mailbox is required to create aliases."
166
- msgstr ""
172
+ msgstr "Для создания алиасов нужен хотя бы один почтовый ящик."
167
173
 
168
- #: admin/api/v2/serializers.py:772
169
- #, fuzzy
170
- #| msgid "Unknown"
174
+ #: admin/api/v2/serializers.py:783
171
175
  msgid "Unknown status"
172
- msgstr "Неизвестное"
176
+ msgstr "Неизвестный статус"
173
177
 
174
- #: admin/api/v2/viewsets.py:84
178
+ #: admin/api/v2/viewsets.py:95
175
179
  msgid "You don't have access to this domain"
176
180
  msgstr "Вы не имеете права доступа к этому домену"
177
181
 
178
- #: admin/api/v2/viewsets.py:87
182
+ #: admin/api/v2/viewsets.py:98
179
183
  msgid "You can't delete your own domain"
180
184
  msgstr "Вы не можете удалить собственный домен"
181
185
 
@@ -185,138 +189,158 @@ msgstr "Домены"
185
189
 
186
190
  #: admin/app_settings.py:25
187
191
  msgid "Enable MX checks"
188
- msgstr ""
192
+ msgstr "Включить проверку MX-записей"
189
193
 
190
194
  #: admin/app_settings.py:27
191
195
  msgid "Check that every domain has a valid MX record"
192
- msgstr ""
196
+ msgstr "Проверять наличие корректной MX-записи у каждого домена"
193
197
 
194
198
  #: admin/app_settings.py:34
195
199
  msgid "Valid MXs"
196
- msgstr ""
200
+ msgstr "Разрешённые MX-записи"
197
201
 
198
202
  #: admin/app_settings.py:37
199
203
  msgid ""
200
- "A list of IP or network address every MX record should match. A warning will"
201
- " be sent if a record does not respect it."
204
+ "A list of IP or network address every MX record should match. A warning will "
205
+ "be sent if a record does not respect it."
202
206
  msgstr ""
207
+ "Список IP или сетевых адресов которым должна соответствовать каждая MX "
208
+ "запись. Предупреждение будет отправлено если запись не соответствует этому."
203
209
 
204
210
  #: admin/app_settings.py:47
205
211
  msgid "New domains must use authorized MX(s)"
206
- msgstr ""
212
+ msgstr "Новые домены обязаны использовать разрешённые MX-записи"
207
213
 
208
214
  #: admin/app_settings.py:51
209
215
  msgid ""
210
216
  "Prevent the creation of a new domain if its MX record does not use one of "
211
217
  "the defined addresses."
212
218
  msgstr ""
219
+ "Запрещать создание домена, если его MX-запись не входит в разрешённый список."
213
220
 
214
221
  #: admin/app_settings.py:59
215
222
  msgid "Enable IPV6 checks"
216
- msgstr ""
223
+ msgstr "Включить проверки IPV6"
217
224
 
218
225
  #: admin/app_settings.py:62
219
226
  msgid "Check if MX setup for ipv6 is valid"
220
- msgstr ""
227
+ msgstr "Проверить верна ли настройка MX-записи для IPV6"
221
228
 
222
229
  #: admin/app_settings.py:69
223
230
  msgid "Enable SPF checks"
224
- msgstr ""
231
+ msgstr "Включить проверку SPF"
225
232
 
226
233
  #: admin/app_settings.py:71
227
234
  msgid "Check if every domain has a valid SPF record"
228
- msgstr ""
235
+ msgstr "Проверить наличие корректной SPF-записи у каждого домена"
229
236
 
230
237
  #: admin/app_settings.py:78
231
238
  msgid "Enable DKIM checks"
232
- msgstr ""
239
+ msgstr "Включить проверку DKIM"
233
240
 
234
241
  #: admin/app_settings.py:80
235
242
  msgid "Check if every domain with DKIM signin enabled has a valid DNS record"
236
- msgstr ""
243
+ msgstr "Проверить имеет ли каждый домен с DKIM-записью верный DNS"
237
244
 
238
245
  #: admin/app_settings.py:88
239
246
  msgid "Enable DMARC checks"
240
- msgstr ""
247
+ msgstr "Включить проверку DMARC"
241
248
 
242
249
  #: admin/app_settings.py:90
243
250
  msgid "Check if every domain has a valid DMARC record"
244
- msgstr ""
251
+ msgstr "Проверить наличие корректной DMARC-записи у каждого домена"
245
252
 
246
253
  #: admin/app_settings.py:97
247
254
  msgid "Enable autoconfig checks"
248
- msgstr ""
255
+ msgstr "Включить проверки автонастройки"
249
256
 
250
257
  #: admin/app_settings.py:99
251
258
  msgid "Check if every domain has a valid records for autoconfiguration"
252
- msgstr ""
259
+ msgstr "Проверить имеет ли каждый домен верные записи для автонастройки"
253
260
 
254
261
  #: admin/app_settings.py:107
255
262
  msgid "Enable DNSBL checks"
256
- msgstr ""
263
+ msgstr "Включить проверки DNSBL"
257
264
 
258
265
  #: admin/app_settings.py:109
259
266
  msgid "Check every domain against major DNSBL providers"
267
+ msgstr "Проверьте каждый домен по основным провайдерам DNSBL"
268
+
269
+ #: admin/app_settings.py:117
270
+ msgid "Notify domain admins about DNS issues"
260
271
  msgstr ""
261
272
 
262
- #: admin/app_settings.py:116
263
- msgid "Custom DNS server"
273
+ #: admin/app_settings.py:120
274
+ msgid ""
275
+ "Send a notification by email to domain administrators when DNS issues are "
276
+ "encountered"
264
277
  msgstr ""
265
278
 
266
- #: admin/app_settings.py:118
279
+ #: admin/app_settings.py:128
280
+ msgid "Custom DNS server"
281
+ msgstr "Пользовательский DNS-сервер"
282
+
283
+ #: admin/app_settings.py:130
267
284
  msgid "Use a custom DNS server instead of local server configuration"
268
285
  msgstr ""
286
+ "Используйте пользовательский DNS-сервер вместо конфигурации локального "
287
+ "сервера"
269
288
 
270
- #: admin/app_settings.py:126
289
+ #: admin/app_settings.py:138
271
290
  msgid "DKIM keys storage directory"
272
- msgstr ""
291
+ msgstr "Каталог хранения ключей DKIM"
273
292
 
274
- #: admin/app_settings.py:128
293
+ #: admin/app_settings.py:140
275
294
  msgid ""
276
295
  "Absolute path of the directory where DKIM private keys will be stored. Make "
277
296
  "sure this directory belongs to root user and is not readable by the outside "
278
297
  "world."
279
298
  msgstr ""
299
+ "Полный путь к каталогу для закрытых ключей DKIM. Должен принадлежать root и "
300
+ "быть недоступен извне."
280
301
 
281
- #: admin/app_settings.py:137
302
+ #: admin/app_settings.py:149
282
303
  msgid "Default DKIM key length"
283
- msgstr ""
304
+ msgstr "Длина ключа DKIM по умолчанию"
284
305
 
285
- #: admin/app_settings.py:139
306
+ #: admin/app_settings.py:151
286
307
  msgid "Default length in bits for newly generated DKIM keys."
287
- msgstr ""
308
+ msgstr "Длина в битах для новых ключей DKIM по умолчанию."
288
309
 
289
- #: admin/app_settings.py:146
310
+ #: admin/app_settings.py:158
290
311
  msgid "Default domain quota"
291
- msgstr ""
312
+ msgstr "Квота домена по умолчанию"
292
313
 
293
- #: admin/app_settings.py:148
314
+ #: admin/app_settings.py:160
294
315
  msgid ""
295
316
  "Default quota (in MB) applied to freshly created domains with no value "
296
317
  "specified. A value of 0 means no quota."
297
318
  msgstr ""
319
+ "Квота по умолчанию (в МБ), применяемая к только что созданным доменам, "
320
+ "значение которых не задано. Значение 0 означает отсутствие квоты."
298
321
 
299
- #: admin/app_settings.py:156
322
+ #: admin/app_settings.py:168
300
323
  msgid "Default domain sending limit"
301
- msgstr ""
324
+ msgstr "Лимит отправки по умолчанию для домена"
302
325
 
303
- #: admin/app_settings.py:158
326
+ #: admin/app_settings.py:170
304
327
  msgid ""
305
328
  "Number of messages freshly created domains will be allowed to send per day. "
306
329
  "Leave empty for no limit."
307
330
  msgstr ""
331
+ "Количество сообщений, которые разрешено отправлять свежесозданным доменам в "
332
+ "день. Оставьте пустым, чтобы не ограничивать."
308
333
 
309
- #: admin/app_settings.py:170 limits/app_settings.py:61
334
+ #: admin/app_settings.py:182 limits/app_settings.py:61
310
335
  #: limits/app_settings.py:135 limits/constants.py:31 limits/constants.py:84
311
336
  msgid "Mailboxes"
312
337
  msgstr "Почтовые ящики"
313
338
 
314
- #: admin/app_settings.py:176
339
+ #: admin/app_settings.py:188
315
340
  msgid "Handle mailboxes on filesystem"
316
341
  msgstr "Обрабатывать почтовые ящики на диске"
317
342
 
318
- #: admin/app_settings.py:178
319
- #, fuzzy
343
+ #: admin/app_settings.py:190
320
344
  msgid ""
321
345
  "Rename or remove mailboxes on the filesystem when they get renamed or "
322
346
  "removed within Modoboa"
@@ -324,258 +348,271 @@ msgstr ""
324
348
  "Удалять или переименовывать почтовые ящики на диске, если они удалены или "
325
349
  "переименованы в Modoboa"
326
350
 
327
- #: admin/app_settings.py:186 admin/models/domain.py:36
351
+ #: admin/app_settings.py:198 admin/models/domain.py:36
328
352
  msgid "Default mailbox quota"
329
- msgstr ""
353
+ msgstr "Квота почтового ящика по умолчанию"
330
354
 
331
- #: admin/app_settings.py:188
355
+ #: admin/app_settings.py:200
332
356
  msgid ""
333
357
  "Default mailbox quota (in MB) applied to freshly created domains with no "
334
358
  "value specified. A value of 0 means no quota."
335
359
  msgstr ""
360
+ "Квота почтового ящика по умолчанию (в МБ), применяемая к вновь созданным "
361
+ "доменам без указанного значения. Значение 0 означает отсутствие квоты."
336
362
 
337
- #: admin/app_settings.py:197
363
+ #: admin/app_settings.py:209
338
364
  msgid "Default mailbox sending limit"
339
- msgstr ""
365
+ msgstr "Ограничение отправки почтовых сообщений по умолчанию"
340
366
 
341
- #: admin/app_settings.py:199
367
+ #: admin/app_settings.py:211
342
368
  msgid ""
343
369
  "Number of messages freshly created mailboxes will be allowed to send per "
344
370
  "day. Leave empty for no limit."
345
371
  msgstr ""
372
+ "Количество сообщений, которые новые почтовые ящики могут отправлять в день. "
373
+ "Оставьте пустым, чтобы не ограничивать."
346
374
 
347
- #: admin/app_settings.py:207
375
+ #: admin/app_settings.py:219
348
376
  msgid "Automatic account removal"
349
- msgstr "Автоматическое удаление аккаунта"
377
+ msgstr "Автоматическое удаление учётной записи"
350
378
 
351
- #: admin/app_settings.py:209
379
+ #: admin/app_settings.py:221
352
380
  msgid "When a mailbox is removed, also remove the associated account"
353
- msgstr "При удалении почтового ящика, так же удалять и аккаунт владельца"
381
+ msgstr ""
382
+ "При удалении почтового ящика, так же удалять и учётной записи владельца"
354
383
 
355
- #: admin/app_settings.py:218
356
- #, fuzzy
384
+ #: admin/app_settings.py:230
357
385
  msgid "Automatic domain/mailbox creation"
358
- msgstr "Домен создан"
386
+ msgstr "Автоматическое создание домена/почтового ящика"
359
387
 
360
- #: admin/app_settings.py:221
361
- msgid ""
362
- "Create a domain and a mailbox when an account is automatically created."
388
+ #: admin/app_settings.py:233
389
+ msgid "Create a domain and a mailbox when an account is automatically created."
363
390
  msgstr ""
391
+ "При автоматическом создании учётной записи также создавать домен и ящик."
364
392
 
365
- #: admin/app_settings.py:230
393
+ #: admin/app_settings.py:242
366
394
  msgid "Create an alias when a mailbox is renamed"
367
- msgstr ""
395
+ msgstr "Создать алиас при переименовании почтового ящика"
368
396
 
369
- #: admin/app_settings.py:233
397
+ #: admin/app_settings.py:245
370
398
  msgid "Create an alias using the old address when a mailbox is renamed."
371
- msgstr ""
399
+ msgstr "При переименовании ящика создавать алиас со старым адресом."
400
+
401
+ #: admin/app_settings.py:257
402
+ msgid "Aliases"
403
+ msgstr "Алиасы"
404
+
405
+ #: admin/app_settings.py:263
406
+ msgid "Alias can target any domain"
407
+ msgstr "Алиасы могут указывать на любой домен"
408
+
409
+ #: admin/app_settings.py:265
410
+ msgid "Allow aliases to target any domain, not just the local domains."
411
+ msgstr "Разрешить алиасам указывать любой домен, а не только локальные домены."
412
+
413
+ #: admin/app_settings.py:272
414
+ msgid "Alias target block list"
415
+ msgstr "Список целевых блокировок алиасов"
372
416
 
373
- #: admin/app_settings.py:287 core/api/v2/viewsets.py:174
417
+ #: admin/app_settings.py:274
418
+ msgid "A list of domains that aliases cannot target (comma separated)."
419
+ msgstr "Домены, на которые запрещено ставить алиасы (через запятую)"
420
+
421
+ #: admin/app_settings.py:282
422
+ msgid "Alias target allow list"
423
+ msgstr "Список разрешенных целевых алиасов"
424
+
425
+ #: admin/app_settings.py:284
426
+ msgid "A list of domains that aliases can target (comma separated)."
427
+ msgstr "Список доменов, на которые могут быть нацелены алиасы (через запятую)."
428
+
429
+ #: admin/app_settings.py:338 core/api/v2/viewsets.py:174
374
430
  msgid "Administration"
375
- msgstr ""
431
+ msgstr "Администрирование"
376
432
 
377
433
  #: admin/constants.py:21
378
434
  msgid "Domain"
379
- msgstr ""
435
+ msgstr "Домен"
380
436
 
381
437
  #: admin/constants.py:22
382
- #, fuzzy
383
- #| msgid "New domain"
384
438
  msgid "Relay domain"
385
- msgstr "Новый домен"
439
+ msgstr "Домен‑ретранслятор"
386
440
 
387
441
  #: admin/constants.py:38
388
442
  msgid "Opened"
389
- msgstr ""
443
+ msgstr "Открыто"
390
444
 
391
445
  #: admin/constants.py:39
392
446
  msgid "Closed"
393
- msgstr ""
447
+ msgstr "Закрыто"
448
+
449
+ #: admin/dns_checker.py:96
450
+ msgid "MX {} listed by DNSBL provider {}"
451
+ msgstr "MX {} внесён в список DNSBL‑провайдера {}."
452
+
453
+ #: admin/dns_checker.py:138
454
+ msgid "Domain has no MX record"
455
+ msgstr "У домена отсутствует MX-запись"
456
+
457
+ #: admin/dns_checker.py:141
458
+ msgid "Domain {} has no MX record"
459
+ msgstr "У домена {} отсутсвует MX-запись"
460
+
461
+ #: admin/dns_checker.py:159
462
+ msgid "Invalid MX record: {}"
463
+ msgstr "Невалидная MX-запись: {}"
464
+
465
+ #: admin/dns_checker.py:166
466
+ #, python-brace-format
467
+ msgid "MX record for domain {0} is invalid: {1}"
468
+ msgstr "MX-запись для домена {0} не валидная: {1}"
469
+
470
+ #: admin/dns_checker.py:177
471
+ msgid "[modoboa] MX issue(s) for domain {}"
472
+ msgstr "[modoboa] MX проблема(ы) для домена {}"
473
+
474
+ #: admin/dns_checker.py:224
475
+ msgid "[modoboa] DNSBL issue(s) for domain {}"
476
+ msgstr "[modoboa] DNSBL проблема(ы) для домена {}"
394
477
 
395
478
  #: admin/handlers.py:179
396
479
  msgid "domain alias"
397
- msgstr ""
480
+ msgstr "алиас домена"
398
481
 
399
482
  #: admin/handlers.py:227
400
483
  #, python-format
401
484
  msgid "Account import failed (%s): domain does not exist"
402
- msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
485
+ msgstr "Ошибка импорта учётной записи (%s): домен не существует "
403
486
 
404
- #: admin/handlers.py:242 admin/models/mailbox.py:342
405
- #, fuzzy
406
- #| msgid "Mailbox %s already exists"
407
- msgid "Mailbox {} already exists"
408
- msgstr "Почтовый ящик %s существует"
409
-
410
- #: admin/handlers.py:251
411
- #, fuzzy, python-format
487
+ #: admin/handlers.py:246
488
+ #, python-format
412
489
  msgid "Account import failed (%s): wrong quota value"
413
- msgstr "Ошибка импорта аккаунта (%s): домен должен существовать "
490
+ msgstr "Ошибка импорта учётной записи (%s): неверное значение квоты"
414
491
 
415
- #: admin/lib.py:121
416
- #, fuzzy
417
- #| msgid "You can't delete your own domain"
492
+ #: admin/lib.py:126
418
493
  msgid "You are not allowed to import domains"
419
- msgstr "Вы не можете удалить собственный домен"
494
+ msgstr "У вас нет прав на импорт доменов"
420
495
 
421
- #: admin/lib.py:130
496
+ #: admin/lib.py:135
422
497
  msgid "You are not allowed to import domain aliases."
423
- msgstr ""
498
+ msgstr "У вас нет прав на импорт алиасов доменов."
424
499
 
425
- #: admin/lib.py:222 admin/tests/test_mx.py:153 admin/tests/test_mx.py:166
426
- #: admin/tests/test_mx.py:171
500
+ #: admin/lib.py:227 admin/tests/test_mx.py:139 admin/tests/test_mx.py:152
501
+ #: admin/tests/test_mx.py:157
427
502
  #, python-format
428
503
  msgid "No DNS record found for %s"
429
- msgstr ""
504
+ msgstr "Не найдена DNS-запись для %s"
430
505
 
431
- #: admin/lib.py:225
506
+ #: admin/lib.py:230
432
507
  #, python-format
433
508
  msgid "No %(type)s record for %(name)s"
434
- msgstr ""
509
+ msgstr "Нет %(type)s записи для %(name)s"
435
510
 
436
- #: admin/lib.py:229 admin/tests/test_mx.py:156
511
+ #: admin/lib.py:234 admin/tests/test_mx.py:142
437
512
  msgid "No working name servers found"
438
- msgstr ""
513
+ msgstr "Не найдены доступные серверы имен"
439
514
 
440
- #: admin/lib.py:232 admin/tests/test_mx.py:160
515
+ #: admin/lib.py:237 admin/tests/test_mx.py:146
441
516
  #, python-format
442
517
  msgid "DNS resolution timeout, unable to query %s at the moment"
443
- msgstr ""
518
+ msgstr "Тайм-аут DNS, сейчас невозможно проверить %s"
444
519
 
445
- #: admin/lib.py:236
520
+ #: admin/lib.py:241
446
521
  msgid "DNS name is too long: {}"
447
- msgstr ""
522
+ msgstr "Слишком длинное DNS-имя: {}"
448
523
 
449
- #: admin/lib.py:267
524
+ #: admin/lib.py:272
450
525
  #, python-brace-format
451
526
  msgid "Invalid IP address format for {domain}; {addr}"
452
- msgstr ""
527
+ msgstr "Неверный формат IP адреса для {domain}; {addr}"
453
528
 
454
- #: admin/lib.py:360
529
+ #: admin/lib.py:365
455
530
  #, python-format
456
531
  msgid "Object already exists: %s"
457
532
  msgstr "Объект уже существует: %s"
458
533
 
459
- #: admin/lib.py:364
534
+ #: admin/lib.py:369
460
535
  #, python-format
461
536
  msgid "%d objects imported successfully"
462
537
  msgstr "%d объектов импортировано"
463
538
 
464
539
  #: admin/management/commands/subcommands/_import.py:97
465
540
  msgid "CSV file is not encoded in UTF-8, attempting to guess encoding"
466
- msgstr ""
541
+ msgstr "CSV-файл не в кодировке UTF-8, пытаемся определить кодировку"
467
542
 
468
543
  #: admin/management/commands/subcommands/_import.py:112
469
544
  #, python-format
470
545
  msgid "Reading CSV file using %(encoding)s encoding"
471
- msgstr ""
546
+ msgstr "Читаем CSV-файл в кодировке %(encoding)s"
472
547
 
473
548
  #: admin/management/commands/subcommands/_import.py:123
474
549
  #, python-format
475
550
  msgid "Unable to decode CSV file using %(encoding)s encoding"
476
- msgstr ""
551
+ msgstr "Не удалось прочитать CSV-файл в кодировке %(encoding)s"
477
552
 
478
553
  #: admin/management/commands/subcommands/_manage_dkim_keys.py:29
479
554
  msgid ""
480
555
  "DKIM path non-writable (either a permission issue or the directory does not "
481
556
  "exist)"
482
557
  msgstr ""
558
+ "Каталог DKIM недоступен для записи (нет прав или каталога не существует)"
483
559
 
484
560
  #: admin/management/commands/subcommands/_manage_dkim_keys.py:52
485
561
  msgid "Failed to generate DKIM private key"
486
- msgstr ""
562
+ msgstr "Не удалось сгенерировать приватный ключ DKIM"
487
563
 
488
564
  #: admin/management/commands/subcommands/_manage_dkim_keys.py:62
489
- #, fuzzy
490
- #| msgid "Enable communication with Modoboa public API"
491
565
  msgid "Failed to generate DKIM public key"
492
- msgstr "Разрешить передачу с публичным API Modoboa"
493
-
494
- #: admin/management/commands/subcommands/_mx.py:133
495
- msgid "MX {} listed by DNSBL provider {}"
496
- msgstr ""
497
-
498
- #: admin/management/commands/subcommands/_mx.py:174
499
- #, fuzzy
500
- #| msgid "Domain modified"
501
- msgid "Domain has no MX record"
502
- msgstr "Домен изменен"
503
-
504
- #: admin/management/commands/subcommands/_mx.py:177
505
- msgid "Domain {} has no MX record"
506
- msgstr ""
566
+ msgstr "Не удалось сгенерировать публичный ключ DKIM"
507
567
 
508
- #: admin/management/commands/subcommands/_mx.py:195
509
- msgid "Invalid MX record: {}"
510
- msgstr ""
511
-
512
- #: admin/management/commands/subcommands/_mx.py:202
513
- #, python-brace-format
514
- msgid "MX record for domain {0} is invalid: {1}"
515
- msgstr ""
516
-
517
- #: admin/management/commands/subcommands/_mx.py:213
518
- msgid "[modoboa] MX issue(s) for domain {}"
519
- msgstr ""
520
-
521
- #: admin/management/commands/subcommands/_mx.py:269
522
- msgid "[modoboa] DNSBL issue(s) for domain {}"
523
- msgstr ""
524
-
525
- #: admin/models/alias.py:42
526
- #, fuzzy
527
- #| msgid "Domain modified"
568
+ #: admin/models/alias.py:43
528
569
  msgid "Domain not found."
529
- msgstr "Домен изменен"
570
+ msgstr "Домен не найден."
530
571
 
531
- #: admin/models/alias.py:97 admin/models/mailbox.py:85
572
+ #: admin/models/alias.py:117 admin/models/mailbox.py:85
532
573
  msgid "address"
533
574
  msgstr "адрес"
534
575
 
535
- #: admin/models/alias.py:99
536
- #, fuzzy
537
- #| msgid "The alias name"
576
+ #: admin/models/alias.py:119
538
577
  msgid "The alias address."
539
- msgstr "Имя синонима"
578
+ msgstr "Адрес алиаса"
540
579
 
541
- #: admin/models/alias.py:103 admin/models/domain.py:45
580
+ #: admin/models/alias.py:123 admin/models/domain.py:45
542
581
  #: admin/models/domain_alias.py:45 autoreply/models.py:25
543
582
  msgid "enabled"
544
- msgstr "Разрешен"
583
+ msgstr "включён"
545
584
 
546
- #: admin/models/alias.py:104 admin/models/domain_alias.py:46
585
+ #: admin/models/alias.py:124 admin/models/domain_alias.py:46
547
586
  msgid "Check to activate this alias"
548
- msgstr "Отметить для активации синонима"
587
+ msgstr "Отметить для активации алиаса"
549
588
 
550
- #: admin/models/alias.py:108
589
+ #: admin/models/alias.py:128
551
590
  msgid "Description"
552
591
  msgstr "Описание"
553
592
 
554
- #: admin/models/alias.py:109
593
+ #: admin/models/alias.py:129
555
594
  msgid "Expire at"
556
- msgstr ""
595
+ msgstr "Истекает в"
557
596
 
558
- #: admin/models/alias.py:150
597
+ #: admin/models/alias.py:170
559
598
  msgid "alias"
560
- msgstr "Синоним"
599
+ msgstr "алиас"
561
600
 
562
- #: admin/models/alias.py:183
563
- #, fuzzy
564
- #| msgid "Invalid request"
601
+ #: admin/models/alias.py:203
565
602
  msgid "Invalid address"
566
- msgstr "Ошибочный запрос"
603
+ msgstr "Неверный адрес"
567
604
 
568
- #: admin/models/alias.py:202
569
- #, fuzzy
570
- #| msgid "Local recipient %s not found"
605
+ #: admin/models/alias.py:206
606
+ msgid "Target domain not allowed"
607
+ msgstr "Целевой домен запрещён"
608
+
609
+ #: admin/models/alias.py:224
571
610
  msgid "Local recipient {}@{} not found"
572
- msgstr "Локальный получатель %s не найден"
611
+ msgstr "Локальный получатель {}@{} не найден"
573
612
 
574
- #: admin/models/alias.py:251
575
- #, fuzzy
576
- #| msgid "Invalid line: %s"
613
+ #: admin/models/alias.py:273
577
614
  msgid "Invalid line: {}"
578
- msgstr "Неверная строка %s"
615
+ msgstr "Недопустимая строка: {}"
579
616
 
580
617
  #: admin/models/domain.py:27 admin/models/domain_alias.py:33
581
618
  msgid "name"
@@ -587,11 +624,11 @@ msgstr "Имя домена"
587
624
 
588
625
  #: admin/models/domain.py:39 admin/models/mailbox.py:92
589
626
  msgid "Message sending limit"
590
- msgstr ""
627
+ msgstr "Лимит отправки писем"
591
628
 
592
629
  #: admin/models/domain.py:42
593
630
  msgid "Number of messages this domain can send per day"
594
- msgstr ""
631
+ msgstr "Количество писем, которое этот домен может отправить в сутки"
595
632
 
596
633
  #: admin/models/domain.py:46
597
634
  msgid "Check to activate this domain"
@@ -599,51 +636,52 @@ msgstr "Отметить для активации этого домена"
599
636
 
600
637
  #: admin/models/domain.py:51
601
638
  msgid "Enable DNS checks"
602
- msgstr ""
639
+ msgstr "Включить проверки DNS"
603
640
 
604
641
  #: admin/models/domain.py:53
605
- #, fuzzy
606
- #| msgid "Check to activate this domain"
607
642
  msgid "Check to enable DNS checks for this domain"
608
- msgstr "Отметить для активации этого домена"
643
+ msgstr "Отметьте, чтобы включить проверки DNS для этого домена"
609
644
 
610
645
  #: admin/models/domain.py:61
611
646
  msgid "Enable DKIM signing"
612
- msgstr ""
647
+ msgstr "Включить DKIM‑подпись"
613
648
 
614
649
  #: admin/models/domain.py:63
615
650
  msgid ""
616
651
  "If you activate this feature, a DKIM key will be generated for this domain."
617
652
  msgstr ""
653
+ "Если вы включите эту функцию, для этого домена будет сгенерирован DKIM‑ключ."
618
654
 
619
655
  #: admin/models/domain.py:70
620
656
  msgid "Key length"
621
- msgstr ""
657
+ msgstr "Длина ключа"
622
658
 
623
659
  #: admin/models/domain.py:321 admin/models/domain_alias.py:70
624
660
  #: core/models.py:352 relaydomains/lib.py:13
625
661
  msgid "Invalid line"
626
- msgstr "Ошибочная строка"
662
+ msgstr "Некорректная строка"
627
663
 
628
664
  #: admin/models/domain.py:331
629
665
  msgid "{}: no authorized MX record found for domain"
630
- msgstr ""
666
+ msgstr "{}: не найден ни одной разрешённой MX‑записи для домена"
631
667
 
632
668
  #: admin/models/domain.py:337
633
669
  msgid "{}: invalid quota value for domain"
634
- msgstr ""
670
+ msgstr " {}: недопустимое значение квоты для домена"
635
671
 
636
672
  #: admin/models/domain.py:343
637
673
  msgid "{}: invalid default mailbox quota value for domain"
638
674
  msgstr ""
675
+ " {}: недопустимое значение квоты почтового ящика по умолчанию для домена"
639
676
 
640
677
  #: admin/models/domain.py:350
641
678
  msgid "{}: default mailbox quota cannot be greater than domain quota"
642
679
  msgstr ""
680
+ "{}: квота почтового ящика по умолчанию не может быть больше квоты домена"
643
681
 
644
682
  #: admin/models/domain_alias.py:36
645
683
  msgid "The alias name"
646
- msgstr "Имя синонима"
684
+ msgstr "Имя алиаса"
647
685
 
648
686
  #: admin/models/domain_alias.py:40
649
687
  msgid "target"
@@ -651,7 +689,7 @@ msgstr "адресат"
651
689
 
652
690
  #: admin/models/domain_alias.py:41
653
691
  msgid "The domain this alias points to"
654
- msgstr "Домен этого синонима указывает на"
692
+ msgstr "Домен, на который указывает этот алиас"
655
693
 
656
694
  #: admin/models/domain_alias.py:79
657
695
  #, python-format
@@ -665,6 +703,7 @@ msgstr "Адрес почтового ящика (без @domain.tld)"
665
703
  #: admin/models/mailbox.py:95
666
704
  msgid "Number of messages this mailbox can send per day"
667
705
  msgstr ""
706
+ "Количество писем, которые можно отправить из этого почтового ящика за день"
668
707
 
669
708
  #: admin/models/mailbox.py:153
670
709
  #, python-format
@@ -673,24 +712,28 @@ msgstr "Ошибка получения места находжения почт
673
712
 
674
713
  #: admin/models/mailbox.py:249
675
714
  msgid "A quota is required"
676
- msgstr "Требуется квота"
715
+ msgstr "Укажите квоту"
677
716
 
678
717
  #: admin/models/mailbox.py:256
679
- #, fuzzy
680
- #| msgid "Domain created"
681
718
  msgid "{}: domain quota exceeded"
682
- msgstr "Домен создан"
719
+ msgstr "{}: квота домена превышена"
683
720
 
684
721
  #: admin/models/mailbox.py:310
685
722
  msgid "Domain does not exist"
686
723
  msgstr "Домен не существует"
687
724
 
725
+ #: admin/models/mailbox.py:342
726
+ msgid "Mailbox {} already exists"
727
+ msgstr "Почтовый ящик {} уже существует"
728
+
688
729
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:3
689
730
  #, python-format
690
731
  msgid ""
691
732
  "Modoboa detected that domain %(domain)s is listed by the following DNSBL "
692
733
  "providers:"
693
734
  msgstr ""
735
+ "Modoboa обнаружил, что домен %(domain)s включён в списки следующих "
736
+ "DNSBL‑провайдеров:"
694
737
 
695
738
  #: admin/templates/admin/notifications/domain_in_dnsbl.html:11
696
739
  msgid ""
@@ -698,35 +741,367 @@ msgid ""
698
741
  "coming from it are considered as spam. You should contact those providers "
699
742
  "and ask them to unlist detected IP address(es)."
700
743
  msgstr ""
744
+ "Репутация домена ухудшится, и есть риск, что письма с него будут считаться "
745
+ "спамом. Вам следует связаться с этими провайдерами и попросить удалить "
746
+ "обнаруженные IP‑адреса из списков."
701
747
 
702
748
  #: admin/templates/admin/notifications/domain_invalid_mx.html:3
703
749
  #, python-format
704
750
  msgid "Modoboa detected that domain %(domain)s has no valid MX record:"
705
- msgstr ""
751
+ msgstr "Modoboa обнаружил, что у домена %(domain)s нет корректной MX‑записи:"
706
752
 
707
- #: admin/tests/test_mx.py:155
753
+ #: admin/tests/test_mx.py:141
708
754
  #, python-format
709
755
  msgid "No MX record for %s"
710
- msgstr ""
756
+ msgstr "Нет MX‑записи для %s"
711
757
 
712
- #: admin/tests/test_mx.py:176 admin/tests/test_mx.py:182
758
+ #: admin/tests/test_mx.py:162 admin/tests/test_mx.py:168
713
759
  #, python-format
714
760
  msgid "Invalid IP address format for %(domain)s; %(addr)s"
715
- msgstr ""
761
+ msgstr "Неверный формат IP адреса для %(domain)s; %(addr)s"
716
762
 
717
- #: admin/tests/test_mx.py:199
718
- #, fuzzy, python-format
719
- #| msgid "Domain modified"
763
+ #: admin/tests/test_mx.py:185
764
+ #, python-format
720
765
  msgid "No AAAA record for %s"
721
- msgstr "Домен изменен"
766
+ msgstr "Нет AAAA‑записи для %s"
767
+
768
+ #: amavis/app_settings.py:11
769
+ msgid "Amavis settings"
770
+ msgstr "Настройки Amavis"
771
+
772
+ #: amavis/app_settings.py:17
773
+ msgid "Localpart is case sensitive"
774
+ msgstr "Локальная часть адреса чувствительна к регистру"
775
+
776
+ #: amavis/app_settings.py:19
777
+ msgid "Value should match amavisd.conf variable $localpart_is_case_sensitive"
778
+ msgstr ""
779
+ "Значение должно совпадать с $localpart_is_case_sensitive в amavisd.conf"
780
+
781
+ #: amavis/app_settings.py:27
782
+ msgid "Recipient delimiter"
783
+ msgstr "Разделитель получателей"
784
+
785
+ #: amavis/app_settings.py:29
786
+ msgid "Value should match amavisd.conf variable $recipient_delimiter"
787
+ msgstr "Значение должно совпадать с $recipient_delimiter в amavisd.conf"
788
+
789
+ #: amavis/app_settings.py:41
790
+ msgid "Quarantine settings"
791
+ msgstr "Настройки карантина"
792
+
793
+ #: amavis/app_settings.py:47
794
+ msgid "Maximum message age"
795
+ msgstr "Максимальный срок хранения писем"
796
+
797
+ #: amavis/app_settings.py:49
798
+ msgid "Quarantine messages maximum age (in days) before deletion"
799
+ msgstr "Максимальный срок хранения писем в карантине (дней)"
800
+
801
+ #: amavis/app_settings.py:60
802
+ msgid "Message releasing"
803
+ msgstr "Выпуск писем"
804
+
805
+ #: amavis/app_settings.py:66
806
+ msgid "Remove released messages"
807
+ msgstr "Удалить деблокированные сообщения"
808
+
809
+ #: amavis/app_settings.py:68
810
+ msgid "Remove messages marked as released while cleaning up the database"
811
+ msgstr "Удалить сообщения отмеченные как деблокированные при очистке базы"
812
+
813
+ #: amavis/app_settings.py:76
814
+ msgid "Amavis connection mode"
815
+ msgstr "Режим подключения Amavis"
816
+
817
+ #: amavis/app_settings.py:78
818
+ msgid "Mode used to access the PDP server"
819
+ msgstr "Способ подключения к PDP-серверу"
820
+
821
+ #: amavis/app_settings.py:85
822
+ msgid "PDP server address"
823
+ msgstr "Адрес PDP-сервера"
824
+
825
+ #: amavis/app_settings.py:87
826
+ msgid "PDP server address (if inet mode)"
827
+ msgstr "Адрес PDP-сервера (режим inet)"
828
+
829
+ #: amavis/app_settings.py:95
830
+ msgid "PDP server port"
831
+ msgstr "Порт PDP-сервера"
832
+
833
+ #: amavis/app_settings.py:97
834
+ msgid "PDP server port (if inet mode)"
835
+ msgstr "Порт PDP-сервера (режим inet)"
836
+
837
+ #: amavis/app_settings.py:105
838
+ msgid "PDP server socket"
839
+ msgstr "Сокет PDP-сервера"
840
+
841
+ #: amavis/app_settings.py:107
842
+ msgid "Path to the PDP server socket (if unix mode)"
843
+ msgstr "Путь к PDP сокету сервера (для UNIX режима)"
844
+
845
+ #: amavis/app_settings.py:115
846
+ msgid "Allow direct release"
847
+ msgstr "Разрешить прямое деблокирование"
848
+
849
+ #: amavis/app_settings.py:117
850
+ msgid "Allow users to directly release their messages"
851
+ msgstr ""
852
+ "Позволить пользователю самостоятельно деблокировать сообщения для доставки"
853
+
854
+ #: amavis/app_settings.py:124
855
+ msgid "Enable self-service mode"
856
+ msgstr "Включить режим самообслуживания"
857
+
858
+ #: amavis/app_settings.py:126
859
+ msgid "Activate the 'self-service' mode"
860
+ msgstr "Включить режим самообслуживания"
861
+
862
+ #: amavis/app_settings.py:133
863
+ msgid "Notifications sender"
864
+ msgstr "Отправитель уведомлений"
865
+
866
+ #: amavis/app_settings.py:135
867
+ msgid "The e-mail address used to send notitications"
868
+ msgstr "Адрес для отправки уведомлений"
869
+
870
+ #: amavis/app_settings.py:146
871
+ msgid "Manual learning"
872
+ msgstr "Ручное обучение"
873
+
874
+ #: amavis/app_settings.py:152
875
+ msgid "Enable manual learning"
876
+ msgstr "Включить ручное обучение"
877
+
878
+ #: amavis/app_settings.py:154
879
+ msgid "Allow super administrators to manually train Spamassassin"
880
+ msgstr "Разрешить суперадминистраторам вручную обучать Spamassassin"
881
+
882
+ #: amavis/app_settings.py:161
883
+ msgid "Is Spamassassin local?"
884
+ msgstr "Является ли Spamassassin локальным?"
885
+
886
+ #: amavis/app_settings.py:163
887
+ msgid "Tell if Spamassassin is running on the same server than modoboa"
888
+ msgstr ""
889
+ "Укажите, запущен ли SpamAssassin на том же сервере, где установлен Modoboa"
890
+
891
+ #: amavis/app_settings.py:171
892
+ msgid "Default user"
893
+ msgstr "Пользователь по умолчанию"
894
+
895
+ #: amavis/app_settings.py:173
896
+ msgid "Name of the user owning the default bayesian database"
897
+ msgstr "Имя пользователя, владеющего байесовской базой данных по умолчанию."
898
+
899
+ #: amavis/app_settings.py:181
900
+ msgid "Spamd address"
901
+ msgstr "Адрес spamd"
902
+
903
+ #: amavis/app_settings.py:183
904
+ msgid "The IP address where spamd can be reached"
905
+ msgstr "IP-адрес spamd "
906
+
907
+ #: amavis/app_settings.py:191
908
+ msgid "Spamd port"
909
+ msgstr "Порт spamd"
910
+
911
+ #: amavis/app_settings.py:193
912
+ msgid "The TCP port spamd is listening on"
913
+ msgstr "TCP-порт spamd"
914
+
915
+ #: amavis/app_settings.py:202
916
+ msgid "Enable per-domain manual learning"
917
+ msgstr "Включить подоменное ручное обучение"
918
+
919
+ #: amavis/app_settings.py:205
920
+ msgid ""
921
+ "Allow domain administrators to train Spamassassin (within dedicated per-"
922
+ "domain databases)"
923
+ msgstr ""
924
+ "Разрешить администраторам домена обучать Spamassassin (в рамках выделенных "
925
+ "баз данных для каждого домена)"
926
+
927
+ #: amavis/app_settings.py:215
928
+ msgid "Enable per-user manual learning"
929
+ msgstr "Включить ручное обучение для каждого пользователя"
930
+
931
+ #: amavis/app_settings.py:218
932
+ msgid ""
933
+ "Allow simple users to personally train Spamassassin (within a dedicated "
934
+ "database)"
935
+ msgstr ""
936
+ "Разрешить простым пользователям обучать Spamassassin (в рамках выделенной "
937
+ "базы данных)."
938
+
939
+ #: amavis/app_settings.py:236 webmail/app_settings.py:155
940
+ msgid "Display"
941
+ msgstr "Отображение"
942
+
943
+ #: amavis/app_settings.py:243 webmail/app_settings.py:181
944
+ msgid "Number of displayed emails per page"
945
+ msgstr "Количество отображаемых писем на странице"
946
+
947
+ #: amavis/app_settings.py:246
948
+ msgid "Set the maximum number of messages displayed in a page"
949
+ msgstr "Установить максимальное количество писем показываемых на странице"
950
+
951
+ #: amavis/app_settings.py:266 amavis/app_settings.py:273
952
+ msgid "Amavis"
953
+ msgstr "Amavis"
954
+
955
+ #: amavis/checks/settings_checks.py:8
956
+ msgid ""
957
+ "AMAVIS_DEFAULT_DATABASE_ENCODING does not match the character encoding used "
958
+ "by the Amavis database."
959
+ msgstr ""
960
+ "Кодировка AMAVIS_DEFAULT_DATABASE_ENCODING не совпадает с кодировкой базы "
961
+ "Amavis"
962
+
963
+ #: amavis/checks/settings_checks.py:12
964
+ msgid ""
965
+ "Check your database character encoding and set/update "
966
+ "AMAVIS_DEFAULT_DATABASE_ENCODING."
967
+ msgstr ""
968
+ "Проверьте кодировку базы данных и установите правильное значение "
969
+ "AMAVIS_DEFAULT_DATABASE_ENCODING"
970
+
971
+ #: amavis/checks/settings_checks.py:19
972
+ msgid "Modoboa Amavis has not been tested using the selected database engine."
973
+ msgstr "Модуль Amavis в Modoboa не тестировался с выбранным типом базы данных"
974
+
975
+ #: amavis/checks/settings_checks.py:20
976
+ msgid "Try using PostgreSQL, MySQL or MariaDB."
977
+ msgstr "Попробуйте использовать PostgreSQL, MySQL или MariaDB."
978
+
979
+ #: amavis/handlers.py:141
980
+ msgid "Pending requests"
981
+ msgstr "Ожидающие запросы"
982
+
983
+ #: amavis/lib.py:59
984
+ #, python-format
985
+ msgid "Connection to amavis failed: %s"
986
+ msgstr "Не удалось подключиться к Amavis: %s"
987
+
988
+ #: amavis/lib.py:133
989
+ msgid "Failed to find {} binary"
990
+ msgstr "Не найден исполняемый файл {}"
991
+
992
+ #: amavis/lib.py:148
993
+ msgid "No recipient found"
994
+ msgstr "Получатель не найден"
995
+
996
+ #: amavis/lib.py:159
997
+ msgid "Local domain not found"
998
+ msgstr "Локальный домен не найден"
999
+
1000
+ #: amavis/management/commands/amnotify.py:59
1001
+ msgid "[modoboa] Pending release requests"
1002
+ msgstr "[modoboa] Заявки для включения в следующий релиз"
1003
+
1004
+ #: amavis/models.py:101
1005
+ msgid "Virus filter"
1006
+ msgstr "Фильтр вирусов"
1007
+
1008
+ #: amavis/models.py:105 amavis/models.py:119 amavis/models.py:133
1009
+ msgid "yes"
1010
+ msgstr "Да"
1011
+
1012
+ #: amavis/models.py:106 amavis/models.py:120 amavis/models.py:134
1013
+ msgid "no"
1014
+ msgstr "Нет"
1015
+
1016
+ #: amavis/models.py:107 amavis/models.py:121 amavis/models.py:135
1017
+ msgid "default"
1018
+ msgstr "По умолчанию"
1019
+
1020
+ #: amavis/models.py:111
1021
+ msgid "Bypass virus checks or not. Choose 'default' to use global settings."
1022
+ msgstr ""
1023
+ "Обход проверки на вирусы. Выберите 'По умолчанию' для использования "
1024
+ "глобальных настроек."
1025
+
1026
+ #: amavis/models.py:115
1027
+ msgid "Spam filter"
1028
+ msgstr "Спам фильтр"
1029
+
1030
+ #: amavis/models.py:125
1031
+ msgid "Bypass spam checks or not. Choose 'default' to use global settings."
1032
+ msgstr ""
1033
+ "Обход проверки на спам. Выберите 'По умолчанию' для использования глобальных "
1034
+ "настроек"
1035
+
1036
+ #: amavis/models.py:129
1037
+ msgid "Banned filter"
1038
+ msgstr "Фильтр блокировки"
1039
+
1040
+ #: amavis/models.py:139
1041
+ msgid "Bypass banned checks or not. Choose 'default' to use global settings."
1042
+ msgstr ""
1043
+ "Обход проверки на блокирование. Выберите 'По умолчанию' для использования "
1044
+ "глобальных настроек"
1045
+
1046
+ #: amavis/models.py:170
1047
+ msgid "Spam marker"
1048
+ msgstr "Спам-метка"
1049
+
1050
+ #: amavis/models.py:176
1051
+ msgid ""
1052
+ "Modify spam subject using the specified text. Choose 'default' to use global "
1053
+ "settings."
1054
+ msgstr ""
1055
+ "Изменить тему спам сообщения используя специальный текст. Выберите 'по "
1056
+ "умолчанию' для использования глобальных настроек"
1057
+
1058
+ #: amavis/templates/amavis/notifications/pending_requests.html:3
1059
+ #, python-format
1060
+ msgid "%(counter)s release request is pending for action."
1061
+ msgid_plural "%(counter)s release requests are pending for action."
1062
+ msgstr[0] "%(counter)s запрос на деблокирование в процессе выполнения "
1063
+ msgstr[1] "%(counter)s запросов на деблокирование в процессе выполнения "
1064
+ msgstr[2] "%(counter)s запросов на деблокирование в процессе выполнения "
1065
+ msgstr[3] "Ожидает обработки: %(counter)s запросов на деблокирование."
1066
+
1067
+ #: amavis/templates/amavis/notifications/pending_requests.html:8
1068
+ msgid "Sketch:"
1069
+ msgstr "Кратко:"
1070
+
1071
+ #: amavis/templates/amavis/notifications/pending_requests.html:10
1072
+ msgid "From:"
1073
+ msgstr "От:"
1074
+
1075
+ #: amavis/templates/amavis/notifications/pending_requests.html:11
1076
+ msgid "To:"
1077
+ msgstr "Кому:"
1078
+
1079
+ #: amavis/templates/amavis/notifications/pending_requests.html:12
1080
+ msgid "Date:"
1081
+ msgstr "Дата:"
1082
+
1083
+ #: amavis/templates/amavis/notifications/pending_requests.html:13
1084
+ msgid "Subject:"
1085
+ msgstr "Тема:"
1086
+
1087
+ #: amavis/templates/amavis/notifications/pending_requests.html:14
1088
+ msgid "Act on this message:"
1089
+ msgstr "Действия с этим письмом:"
1090
+
1091
+ #: amavis/templates/amavis/notifications/pending_requests.html:16
1092
+ #, python-format
1093
+ msgid "Please visit %(listingurl)s for a full listing."
1094
+ msgstr "Для просмотра листинга посетите %(listingurl)s"
1095
+
1096
+ #: amavis/viewsets.py:122
1097
+ msgid "Invalid request"
1098
+ msgstr "Неверный запрос"
722
1099
 
723
1100
  #: autoreply/api/v2/serializers.py:27
724
1101
  msgid "Value can't be less than 1 day"
725
- msgstr ""
1102
+ msgstr "Значение не может быть меньше 1 дня"
726
1103
 
727
1104
  #: autoreply/api/v2/serializers.py:47
728
- #, fuzzy
729
- #| msgid "This field is required"
730
1105
  msgid "This date is over"
731
1106
  msgstr "Эта дата закончилась"
732
1107
 
@@ -741,19 +1116,14 @@ msgid "General"
741
1116
  msgstr "Основные"
742
1117
 
743
1118
  #: autoreply/app_settings.py:18
744
- #, fuzzy
745
- #| msgid ""
746
- #| "Timeout in seconds between two auto-replies to the same recipient"
747
1119
  msgid "Period between two auto-replies"
748
- msgstr "Промежуток между автоматическими ответами"
1120
+ msgstr "Период между двумя автоответами"
749
1121
 
750
1122
  #: autoreply/app_settings.py:20
751
- #, fuzzy
752
- #| msgid ""
753
- #| "Timeout in seconds between two auto-replies to the same recipient"
754
1123
  msgid ""
755
1124
  "Number of days to wait before sending a new auto-reply to the same recipient"
756
- msgstr "Промежуток между автоматическими ответами"
1125
+ msgstr ""
1126
+ "Количество дней ожидания перед отправкой нового автоответа тому же получателю"
757
1127
 
758
1128
  #: autoreply/app_settings.py:27 autoreply/app_settings.py:36
759
1129
  msgid "Default subject"
@@ -762,7 +1132,7 @@ msgstr "Тема по умолчанию"
762
1132
  #: autoreply/app_settings.py:29
763
1133
  msgid ""
764
1134
  "Default subject used when an auto-reply message is created automatically"
765
- msgstr ""
1135
+ msgstr "Тема по умолчанию для автоматически создаваемых автоответов"
766
1136
 
767
1137
  #: autoreply/app_settings.py:38
768
1138
  #, python-format
@@ -770,22 +1140,20 @@ msgid ""
770
1140
  "Default content used when an auto-reply message is created automatically. "
771
1141
  "The '%(name)s' macro will be replaced by the user's full name."
772
1142
  msgstr ""
1143
+ "Содержание по умолчанию используется при автоматическом создании автоответа. "
1144
+ "Переменная '%(name)s' будет заменена на полное имя."
773
1145
 
774
1146
  #: autoreply/apps.py:15
775
- #, fuzzy
776
- #| msgid "Automatic account removal"
777
1147
  msgid "Automatic replies"
778
- msgstr "Автоматические ответы"
1148
+ msgstr "Автоответы"
779
1149
 
780
1150
  #: autoreply/models.py:17
781
- #, fuzzy
782
- #| msgid "Subject"
783
1151
  msgid "subject"
784
1152
  msgstr "Тема"
785
1153
 
786
1154
  #: autoreply/models.py:19
787
1155
  msgid "The subject that will appear in sent emails"
788
- msgstr "Тема отправляемых сообщений"
1156
+ msgstr "Тема отправляемых писем"
789
1157
 
790
1158
  #: autoreply/models.py:22
791
1159
  msgid "content"
@@ -793,441 +1161,439 @@ msgstr "Содержание"
793
1161
 
794
1162
  #: autoreply/models.py:22
795
1163
  msgid "The content that will appear in sent emails"
796
- msgstr "Содержание отправляемых сообщений"
1164
+ msgstr "Содержание отправляемых писем"
797
1165
 
798
1166
  #: autoreply/models.py:25
799
1167
  msgid "Activate/Deactivate your auto reply"
800
- msgstr "Активировать/Деактивировать автоответчик"
1168
+ msgstr "Включить/Отключить автоответ"
801
1169
 
802
1170
  #: calendars/app_settings.py:11
803
- #, fuzzy
804
- #| msgid "LDAP settings"
805
1171
  msgid "Server settings"
806
- msgstr "Настройки фильтров содержания"
1172
+ msgstr "Настройки сервера"
807
1173
 
808
1174
  #: calendars/app_settings.py:17
809
- #, fuzzy
810
- #| msgid "Server port"
811
1175
  msgid "Server URL"
812
- msgstr "Порт сервера"
1176
+ msgstr "URL сервера"
813
1177
 
814
1178
  #: calendars/app_settings.py:19
815
1179
  msgid ""
816
1180
  "The URL of your Radicale server. It will be used to construct calendar URLs."
817
1181
  msgstr ""
1182
+ "URL-адрес вашего сервера Radicale. Он будет использоваться для создания URL-"
1183
+ "адресов календаря."
818
1184
 
819
1185
  #: calendars/app_settings.py:31
820
1186
  msgid "Rights management"
821
- msgstr ""
1187
+ msgstr "Управление правами"
822
1188
 
823
1189
  #: calendars/app_settings.py:37
824
1190
  msgid "Rights file's path"
825
- msgstr ""
1191
+ msgstr "Путь к файлу прав"
826
1192
 
827
1193
  #: calendars/app_settings.py:39
828
1194
  msgid "Path to the file that contains rights definition"
829
- msgstr ""
1195
+ msgstr "Путь к файлу с описанием прав доступа"
830
1196
 
831
1197
  #: calendars/app_settings.py:46
832
- #, fuzzy
833
- #| msgid "Domain administrator"
834
1198
  msgid "Allow calendars administration"
835
- msgstr "Администратор домена"
1199
+ msgstr "Разрешить администрирование календарей"
836
1200
 
837
1201
  #: calendars/app_settings.py:48
838
- #, fuzzy
839
- #| msgid "Allow this administrator to access user mailboxes"
840
1202
  msgid "Allow domain administrators to manage user calendars (read and write)"
841
- msgstr "Разрешить этому администратору доступ к пользовательским ящикам."
1203
+ msgstr ""
1204
+ "Разрешить администратору домена управлять календарями пользователей (чтение "
1205
+ "и запись)"
842
1206
 
843
- #: calendars/app_settings.py:60 core/app_settings.py:676
1207
+ #: calendars/app_settings.py:60 core/app_settings.py:664
844
1208
  #: rspamd/app_settings.py:45
845
1209
  msgid "Miscellaneous"
846
1210
  msgstr "Прочее"
847
1211
 
848
1212
  #: calendars/app_settings.py:66
849
1213
  msgid "Maximum size of ICS files"
850
- msgstr ""
1214
+ msgstr "Максимальный размер файлов ICS"
851
1215
 
852
1216
  #: calendars/app_settings.py:68
853
1217
  msgid ""
854
1218
  "Maximum size in bytes of imported ICS files (or KB, MB, GB if specified)"
855
1219
  msgstr ""
1220
+ "Максимальный размер импортированных файлов ICS в байтах (или КБ, МБ, ГБ, "
1221
+ "если указано)"
856
1222
 
857
- #: calendars/app_settings.py:89 core/api/v2/viewsets.py:195
1223
+ #: calendars/app_settings.py:89 core/api/v2/viewsets.py:205
858
1224
  msgid "Calendars"
859
- msgstr ""
1225
+ msgstr "Календари"
860
1226
 
861
- #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:38
1227
+ #: calendars/models.py:48 calendars/models.py:65 contacts/models.py:39
862
1228
  msgid "Server location is not set, please fix it."
863
- msgstr ""
1229
+ msgstr "Местоположение сервера не установлено, исправьте это."
864
1230
 
865
- #: calendars/viewsets.py:197
1231
+ #: calendars/viewsets.py:199
866
1232
  msgid "Uploaded file is too big (max: {} bytes)"
867
- msgstr ""
1233
+ msgstr "Загруженный файл слишком велик (максимум: {} байт)"
868
1234
 
869
1235
  #: contacts/app_settings.py:11
870
1236
  msgid "Synchronization"
871
- msgstr ""
1237
+ msgstr "Синхронизация"
872
1238
 
873
1239
  #: contacts/app_settings.py:18
874
1240
  msgid "Synchonize address book using CardDAV"
875
- msgstr ""
1241
+ msgstr "Синхронизировать адресную книгу через CardDAV"
876
1242
 
877
1243
  #: contacts/app_settings.py:21
878
1244
  msgid ""
879
1245
  "Choose to synchronize or not your address book using CardDAV. You will be "
880
1246
  "able to access your contacts from the outside."
881
1247
  msgstr ""
1248
+ "Выберите, синхронизировать ли адресную книгу через CardDAV. Это позволит "
1249
+ "получать доступ к контактам извне."
882
1250
 
883
1251
  #: contacts/app_settings.py:29
884
1252
  msgid "Synchronization frequency"
885
- msgstr ""
1253
+ msgstr "Частота синхронизации"
886
1254
 
887
1255
  #: contacts/app_settings.py:31
888
1256
  msgid "Interval in seconds between 2 synchronization requests"
889
- msgstr ""
1257
+ msgstr "Интервал в секундах между 2 запросами синхронизации"
890
1258
 
891
- #: contacts/app_settings.py:51 core/api/v2/viewsets.py:185
892
- #, fuzzy
893
- #| msgid "Domains"
1259
+ #: contacts/app_settings.py:51 core/api/v2/viewsets.py:195
894
1260
  msgid "Contacts"
895
- msgstr "содержит"
1261
+ msgstr "Контакты"
896
1262
 
897
1263
  #: contacts/constants.py:6 contacts/constants.py:12
898
1264
  msgid "Home"
899
- msgstr ""
1265
+ msgstr "Дом"
900
1266
 
901
1267
  #: contacts/constants.py:7 contacts/constants.py:13
902
1268
  msgid "Work"
903
- msgstr ""
1269
+ msgstr "Работа"
904
1270
 
905
1271
  #: contacts/constants.py:8 contacts/constants.py:14
906
1272
  msgid "Other"
907
- msgstr ""
1273
+ msgstr "Другое"
908
1274
 
909
1275
  #: contacts/constants.py:15
910
1276
  msgid "Main"
911
- msgstr ""
1277
+ msgstr "Основной"
912
1278
 
913
1279
  #: contacts/constants.py:16
914
1280
  msgid "Cellular"
915
- msgstr ""
1281
+ msgstr "Мобильный"
916
1282
 
917
1283
  #: contacts/constants.py:17
918
1284
  msgid "Fax"
919
- msgstr ""
1285
+ msgstr "Факс"
920
1286
 
921
1287
  #: contacts/constants.py:18
922
1288
  msgid "Pager"
923
- msgstr ""
1289
+ msgstr "Пейджер"
924
1290
 
925
1291
  #: contacts/serializers.py:101
926
- #, fuzzy
927
- #| msgid "Number of displayed items per page"
928
1292
  msgid "Name or display name required"
929
- msgstr "Количество элементов на странице"
1293
+ msgstr "Требуется имя или отображаемое имя"
930
1294
 
931
1295
  #: contacts/serializers.py:233
932
1296
  msgid "Minimum allowed value is 60s"
933
- msgstr ""
1297
+ msgstr "Минимально допустимое значение — 60 секунд"
934
1298
 
935
1299
  #: core/api/v1/serializers.py:68
936
- #, fuzzy
937
- #| msgid "Invalid request"
938
1300
  msgid "Invalid PIN code"
939
- msgstr "Ошибочный запрос"
1301
+ msgstr "Неверный PIN-код"
940
1302
 
941
1303
  #: core/api/v1/serializers.py:74
942
1304
  msgid "2FA is already enabled"
943
- msgstr ""
1305
+ msgstr "Двухфакторная аутентификация 2FA уже включена"
944
1306
 
945
- #: core/api/v1/serializers.py:86
1307
+ #: core/api/v1/serializers.py:87
946
1308
  #, python-format
947
1309
  msgid "Failed TFA settings editing attempt from '%(addr)s' as user '%(user)s'"
948
1310
  msgstr ""
1311
+ "Неудачная попытка изменения настроек двухфакторной аутентификации от "
1312
+ "%(addr)s от имени пользователя %(user)s"
949
1313
 
950
- #: core/api/v1/serializers.py:91 core/api/v2/serializers.py:445
951
- #, fuzzy
952
- #| msgid "Old password"
1314
+ #: core/api/v1/serializers.py:93 core/api/v2/serializers.py:438
953
1315
  msgid "Invalid password"
954
- msgstr "Старый пароль"
1316
+ msgstr "Неверный пароль"
955
1317
 
956
1318
  #: core/api/v1/viewsets.py:45 core/api/v1/viewsets.py:64
957
1319
  msgid "2FA is not enabled"
958
- msgstr ""
1320
+ msgstr "Двухфакторная аутентификация 2FA не включена"
959
1321
 
960
1322
  #: core/api/v2/serializers.py:69
961
1323
  msgid "Local"
962
1324
  msgstr "Локальный"
963
1325
 
964
- #: core/api/v2/serializers.py:194 core/app_settings.py:17
965
- msgid "User profile"
966
- msgstr "Профиль пользователя"
967
-
968
- #: core/api/v2/serializers.py:213 core/api/v2/serializers.py:221
969
- #: core/api/v2/serializers.py:228
1326
+ #: core/api/v2/serializers.py:206 core/api/v2/serializers.py:214
1327
+ #: core/api/v2/serializers.py:221
970
1328
  msgid "Invalid syntax"
971
- msgstr "Ошибка в написании"
1329
+ msgstr "Неверный синтаксис"
972
1330
 
973
- #: core/api/v2/serializers.py:233
1331
+ #: core/api/v2/serializers.py:226
974
1332
  msgid "Invalid rounds number"
975
1333
  msgstr "Неправильное количество циклов"
976
1334
 
977
- #: core/api/v2/serializers.py:433 core/forms.py:81
1335
+ #: core/api/v2/serializers.py:426 core/forms.py:81
978
1336
  msgid "This code is invalid"
979
- msgstr ""
1337
+ msgstr "Этот код недействителен"
980
1338
 
981
- #: core/api/v2/serializers.py:503 core/views/auth.py:194
982
- #: core/views/auth.py:247
1339
+ #: core/api/v2/serializers.py:496 core/views/auth.py:213 core/views/auth.py:266
983
1340
  msgid "Please use the following code to recover your Modoboa password: {}"
984
- msgstr ""
1341
+ msgstr "Используйте следующий код для восстановления пароля Modoboa : {}"
985
1342
 
986
1343
  #: core/api/v2/viewsets.py:176
987
- #, fuzzy
988
- #| msgid "Administrators"
989
1344
  msgid "Administration console"
990
- msgstr "Администраторы"
1345
+ msgstr "Консоль администратора"
991
1346
 
992
- #: core/api/v2/viewsets.py:187
993
- #, fuzzy
994
- #| msgid "Address"
995
- msgid "Address book"
996
- msgstr "Адрес"
1347
+ #: core/api/v2/viewsets.py:184 dmarc/models.py:11
1348
+ msgid "Quarantine"
1349
+ msgstr "Карантин"
1350
+
1351
+ #: core/api/v2/viewsets.py:186
1352
+ msgid "Amavis quarantine"
1353
+ msgstr "Карантин Amavis"
997
1354
 
998
1355
  #: core/api/v2/viewsets.py:197
1356
+ msgid "Address book"
1357
+ msgstr "Адресная книга"
1358
+
1359
+ #: core/api/v2/viewsets.py:207
999
1360
  msgid "Calendar"
1000
- msgstr ""
1361
+ msgstr "Календарь"
1001
1362
 
1002
- #: core/api/v2/viewsets.py:205 core/api/v2/viewsets.py:207
1003
- #: webmail/app_settings.py:258 webmail/app_settings.py:265
1004
- #, fuzzy
1005
- #| msgid "E-mail"
1363
+ #: core/api/v2/viewsets.py:215 core/api/v2/viewsets.py:217
1364
+ #: webmail/app_settings.py:295 webmail/app_settings.py:302
1006
1365
  msgid "Webmail"
1007
1366
  msgstr "Веб-почта"
1008
1367
 
1009
- #: core/app_settings.py:37
1368
+ #: core/app_settings.py:25
1010
1369
  msgid "Authentication"
1011
1370
  msgstr "Аутентификация"
1012
1371
 
1013
- #: core/app_settings.py:43
1372
+ #: core/app_settings.py:31
1014
1373
  msgid "Authentication type"
1015
1374
  msgstr "Тип аутентификации"
1016
1375
 
1017
- #: core/app_settings.py:45
1376
+ #: core/app_settings.py:33
1018
1377
  msgid "The backend used for authentication"
1019
1378
  msgstr "Базовая программа для проверки подлинности"
1020
1379
 
1021
- #: core/app_settings.py:52
1380
+ #: core/app_settings.py:40
1022
1381
  msgid "Default password scheme"
1023
1382
  msgstr "Схема пароля по умолчанию"
1024
1383
 
1025
- #: core/app_settings.py:54
1384
+ #: core/app_settings.py:42
1026
1385
  msgid "Scheme used to crypt mailbox passwords"
1027
1386
  msgstr "Схема используемая для шифровании пароля почтового ящика."
1028
1387
 
1029
- #: core/app_settings.py:61
1388
+ #: core/app_settings.py:49
1030
1389
  msgid "Rounds"
1031
1390
  msgstr "Циклы"
1032
1391
 
1033
- #: core/app_settings.py:63
1392
+ #: core/app_settings.py:51
1034
1393
  msgid ""
1035
1394
  "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be "
1036
1395
  "between 1000 and 999999999, inclusive."
1037
1396
  msgstr ""
1038
- "Количество циклов (используется только для sha256crypt и sha512crypt), Может"
1039
- " быть от 1000 до 999999999, включительно."
1397
+ "Количество циклов (используется только для sha256crypt и sha512crypt), Может "
1398
+ "быть от 1000 до 999999999, включительно."
1040
1399
 
1041
- #: core/app_settings.py:73
1400
+ #: core/app_settings.py:61
1042
1401
  msgid "Update password scheme at login"
1043
- msgstr ""
1402
+ msgstr "Обновить схему пароля при входе"
1044
1403
 
1045
- #: core/app_settings.py:76
1404
+ #: core/app_settings.py:64
1046
1405
  msgid "Update user password at login to use the default password scheme"
1047
1406
  msgstr ""
1048
1407
  "Обновите пароль пользователя при входе в систему, чтобы использовать схему "
1049
1408
  "пароля по умолчанию"
1050
1409
 
1051
- #: core/app_settings.py:84
1410
+ #: core/app_settings.py:72
1052
1411
  msgid "Default password"
1053
1412
  msgstr "Пароль по умолчанию"
1054
1413
 
1055
- #: core/app_settings.py:86
1414
+ #: core/app_settings.py:74
1056
1415
  msgid "Default password for automatically created accounts."
1057
1416
  msgstr "Пароль по умолчанию для автоматически создаваемых учетных записей."
1058
1417
 
1059
- #: core/app_settings.py:93
1418
+ #: core/app_settings.py:81
1060
1419
  msgid "Random password length"
1061
1420
  msgstr "Длина случайного пароля"
1062
1421
 
1063
- #: core/app_settings.py:95
1422
+ #: core/app_settings.py:83
1064
1423
  msgid "Length of randomly generated passwords."
1065
1424
  msgstr "Длина случайно сгенерированного пароля."
1066
1425
 
1067
- #: core/app_settings.py:103
1426
+ #: core/app_settings.py:91
1068
1427
  msgid "Allow special characters for random password"
1069
- msgstr ""
1428
+ msgstr "Разрешить специальные символы для случайного пароля"
1070
1429
 
1071
- #: core/app_settings.py:106
1072
- #, fuzzy
1073
- #| msgid "Length of randomly generated passwords."
1430
+ #: core/app_settings.py:94
1074
1431
  msgid "Enable special characters in randomly generated passwords."
1075
- msgstr "Длина случайно сгенерированного пароля."
1432
+ msgstr ""
1433
+ "Включить использование специальных символов в случайно генерируемых паролях"
1076
1434
 
1077
- #: core/app_settings.py:114
1435
+ #: core/app_settings.py:102
1078
1436
  msgid "Update password service URL"
1079
- msgstr ""
1437
+ msgstr "Обновить URL-адрес службы паролей"
1080
1438
 
1081
- #: core/app_settings.py:116
1439
+ #: core/app_settings.py:104
1082
1440
  msgid ""
1083
1441
  "The URL of an external page where users will be able to update their "
1084
1442
  "password. It applies only to non local users, ie. those automatically "
1085
1443
  "created after a successful external authentication (LDAP, SMTP)."
1086
1444
  msgstr ""
1445
+ "URL-адрес внешней страницы, на которой пользователи смогут обновить свой "
1446
+ "пароль. Это относится только к нелокальным пользователям, т.е. автоматически "
1447
+ "созданные после успешной внешней аутентификации (LDAP, SMTP)."
1087
1448
 
1088
- #: core/app_settings.py:126
1449
+ #: core/app_settings.py:114
1089
1450
  msgid "Password recovery announcement"
1090
- msgstr ""
1451
+ msgstr "Объявление о восстановлении пароля"
1091
1452
 
1092
- #: core/app_settings.py:128
1453
+ #: core/app_settings.py:116
1093
1454
  msgid "A temporary message that will be displayed on the reset password page."
1094
1455
  msgstr ""
1456
+ "Временное сообщение, которое будет отображаться на странице сброса пароля"
1095
1457
 
1096
- #: core/app_settings.py:137
1458
+ #: core/app_settings.py:125
1097
1459
  msgid "Enable password recovery by SMS"
1098
- msgstr ""
1460
+ msgstr "Включить восстановление пароля по SMS"
1099
1461
 
1100
- #: core/app_settings.py:140
1462
+ #: core/app_settings.py:128
1101
1463
  msgid "Enable password recovery by SMS for users who filled a phone number."
1102
1464
  msgstr ""
1465
+ "Включить восстановление пароля по SMS для пользователей, указавших номер "
1466
+ "телефона."
1103
1467
 
1104
- #: core/app_settings.py:148
1468
+ #: core/app_settings.py:136
1105
1469
  msgid "SMS provider"
1106
- msgstr ""
1470
+ msgstr "Поставщик SMS"
1107
1471
 
1108
- #: core/app_settings.py:151
1472
+ #: core/app_settings.py:139
1109
1473
  msgid "Choose a provider to send password recovery SMS"
1110
- msgstr ""
1474
+ msgstr "Выбрать поставщика службы SMS для восстановления пароля"
1111
1475
 
1112
- #: core/app_settings.py:163
1476
+ #: core/app_settings.py:151
1113
1477
  msgid "LDAP"
1114
- msgstr ""
1478
+ msgstr "LDAP"
1115
1479
 
1116
- #: core/app_settings.py:169 sievefilters/app_settings.py:18
1480
+ #: core/app_settings.py:157 sievefilters/app_settings.py:18
1117
1481
  #: sievefilters/app_settings.py:51 webmail/app_settings.py:36
1118
- #: webmail/app_settings.py:73
1482
+ #: webmail/app_settings.py:73 webmail/app_settings.py:119
1119
1483
  msgid "Server address"
1120
1484
  msgstr "Адрес сервера"
1121
1485
 
1122
- #: core/app_settings.py:171
1486
+ #: core/app_settings.py:159
1123
1487
  msgid "The IP address or the DNS name of the LDAP server"
1124
1488
  msgstr "IP адрес или DNS имя сервера LDAP"
1125
1489
 
1126
- #: core/app_settings.py:178 sievefilters/app_settings.py:25
1490
+ #: core/app_settings.py:166 sievefilters/app_settings.py:25
1127
1491
  #: sievefilters/app_settings.py:67 webmail/app_settings.py:54
1128
- #: webmail/app_settings.py:91
1492
+ #: webmail/app_settings.py:91 webmail/app_settings.py:137
1129
1493
  msgid "Server port"
1130
1494
  msgstr "Порт сервера"
1131
1495
 
1132
- #: core/app_settings.py:180
1496
+ #: core/app_settings.py:168
1133
1497
  msgid "The TCP port number used by the LDAP server"
1134
1498
  msgstr "Номер TCP порта LDAP сервера"
1135
1499
 
1136
- #: core/app_settings.py:188
1500
+ #: core/app_settings.py:176
1137
1501
  msgid "Enable secondary server (fallback)"
1138
- msgstr ""
1502
+ msgstr "Включить дополнительный сервер (запасной вариант)"
1139
1503
 
1140
- #: core/app_settings.py:191
1504
+ #: core/app_settings.py:179
1141
1505
  msgid ""
1142
1506
  "Enable a secondary LDAP server which will be used if the primary one fails"
1143
1507
  msgstr ""
1508
+ "Включите дополнительный LDAP-сервер, который будет использоваться в случае "
1509
+ "сбоя основного"
1144
1510
 
1145
- #: core/app_settings.py:199
1511
+ #: core/app_settings.py:187
1146
1512
  msgid "Secondary server address"
1147
- msgstr ""
1513
+ msgstr "Адрес дополнительного сервера"
1148
1514
 
1149
- #: core/app_settings.py:202
1515
+ #: core/app_settings.py:190
1150
1516
  msgid "The IP address or the DNS name of the seondary LDAP server"
1151
- msgstr ""
1517
+ msgstr "IP-адрес или DNS-имя дополнительного LDAP-сервера"
1152
1518
 
1153
- #: core/app_settings.py:209
1519
+ #: core/app_settings.py:197
1154
1520
  msgid "Secondary server port"
1155
- msgstr ""
1521
+ msgstr "Порт дополнительного сервера"
1156
1522
 
1157
- #: core/app_settings.py:212
1523
+ #: core/app_settings.py:200
1158
1524
  msgid "The TCP port number used by the LDAP secondary server"
1159
- msgstr ""
1525
+ msgstr "Номер TCP-порта, используемого вторичным сервером LDAP"
1160
1526
 
1161
- #: core/app_settings.py:219 sievefilters/app_settings.py:58
1527
+ #: core/app_settings.py:207 sievefilters/app_settings.py:58
1162
1528
  #: webmail/app_settings.py:45
1163
1529
  msgid "Use a secured connection"
1164
- msgstr "Использовать безопасное соединение"
1530
+ msgstr "Использовать защищенное соединение"
1165
1531
 
1166
- #: core/app_settings.py:221
1532
+ #: core/app_settings.py:209
1167
1533
  msgid "Use an SSL/STARTTLS connection to access the LDAP server"
1168
1534
  msgstr "Использовать SSL/TLS соединение с LDAP сервером"
1169
1535
 
1170
- #: core/app_settings.py:228
1536
+ #: core/app_settings.py:216
1171
1537
  msgid "Active Directory"
1172
1538
  msgstr "Active Directory"
1173
1539
 
1174
- #: core/app_settings.py:230
1540
+ #: core/app_settings.py:218
1175
1541
  msgid "Tell if the LDAP server is an Active Directory one"
1176
1542
  msgstr "Укажите, если LDAP сервер в Active Directory"
1177
1543
 
1178
- #: core/app_settings.py:237
1544
+ #: core/app_settings.py:225
1179
1545
  msgid "Administrator groups"
1180
1546
  msgstr "Администратор груп"
1181
1547
 
1182
- #: core/app_settings.py:239
1548
+ #: core/app_settings.py:227
1183
1549
  msgid ""
1184
- "Members of those LDAP Posix groups will be created as domain administrators."
1185
- " Use ';' characters to separate groups."
1550
+ "Members of those LDAP Posix groups will be created as domain administrators. "
1551
+ "Use ';' characters to separate groups."
1186
1552
  msgstr ""
1187
1553
  "Члены этих LDAP Posix групп должны быть созданы администратором домена. "
1188
1554
  "Используйте ';' для как разделитель груп"
1189
1555
 
1190
- #: core/app_settings.py:248
1556
+ #: core/app_settings.py:236
1191
1557
  msgid "Group type"
1192
1558
  msgstr "Тип группы"
1193
1559
 
1194
- #: core/app_settings.py:250
1560
+ #: core/app_settings.py:238
1195
1561
  msgid "The LDAP group type to use with your directory."
1196
1562
  msgstr "Тип групп, используемых вашим каталогом LDAP"
1197
1563
 
1198
- #: core/app_settings.py:257
1564
+ #: core/app_settings.py:245
1199
1565
  msgid "Groups search base"
1200
1566
  msgstr "База поиска групп"
1201
1567
 
1202
- #: core/app_settings.py:259
1568
+ #: core/app_settings.py:247
1203
1569
  msgid "The distinguished name of the search base used to find groups"
1204
1570
  msgstr "Уникальное имя базы которое используется для поиска групп"
1205
1571
 
1206
- #: core/app_settings.py:267
1572
+ #: core/app_settings.py:255
1207
1573
  msgid "Password attribute"
1208
- msgstr "Свойства пароля"
1574
+ msgstr "Атрибут пароля"
1209
1575
 
1210
- #: core/app_settings.py:269
1576
+ #: core/app_settings.py:257
1211
1577
  msgid "The attribute used to store user passwords"
1212
1578
  msgstr "Свойства используемые для сохранения пользовательских паролей"
1213
1579
 
1214
- #: core/app_settings.py:276
1580
+ #: core/app_settings.py:264
1215
1581
  msgid "LDAP authentication settings"
1216
- msgstr ""
1582
+ msgstr "Настройки аутентификации LDAP"
1217
1583
 
1218
- #: core/app_settings.py:284
1584
+ #: core/app_settings.py:272
1219
1585
  msgid "Authentication method"
1220
1586
  msgstr "Метод аутентификации"
1221
1587
 
1222
- #: core/app_settings.py:287
1588
+ #: core/app_settings.py:275
1223
1589
  msgid "Choose the authentication method to use"
1224
1590
  msgstr "Выберите метод аутентификации "
1225
1591
 
1226
- #: core/app_settings.py:294 core/app_settings.py:357
1592
+ #: core/app_settings.py:282 core/app_settings.py:345
1227
1593
  msgid "Bind DN"
1228
1594
  msgstr "Соединится с DN "
1229
1595
 
1230
- #: core/app_settings.py:296 core/app_settings.py:359
1596
+ #: core/app_settings.py:284 core/app_settings.py:347
1231
1597
  msgid ""
1232
1598
  "The distinguished name to use when binding to the LDAP server. Leave empty "
1233
1599
  "for an anonymous bind"
@@ -1235,374 +1601,375 @@ msgstr ""
1235
1601
  "Отличительное имя используемое для соединения с LDAP сервером. Оставьте "
1236
1602
  "пустым для анонимного соединения"
1237
1603
 
1238
- #: core/app_settings.py:305 core/app_settings.py:367
1604
+ #: core/app_settings.py:293 core/app_settings.py:355
1239
1605
  msgid "Bind password"
1240
1606
  msgstr "Пароль для соединения"
1241
1607
 
1242
- #: core/app_settings.py:307 core/app_settings.py:369
1608
+ #: core/app_settings.py:295 core/app_settings.py:357
1243
1609
  msgid "The password to use when binding to the LDAP server (with 'Bind DN')"
1244
1610
  msgstr "Пароль для соединения с LDAP сервером"
1245
1611
 
1246
- #: core/app_settings.py:317 core/app_settings.py:422
1612
+ #: core/app_settings.py:305 core/app_settings.py:410
1247
1613
  msgid "Users search base"
1248
1614
  msgstr "База поиска пользователей"
1249
1615
 
1250
- #: core/app_settings.py:319 core/app_settings.py:424
1616
+ #: core/app_settings.py:307 core/app_settings.py:412
1251
1617
  msgid "The distinguished name of the search base used to find users"
1252
1618
  msgstr "Уникальное имя базы которое используется для поиска пользователей"
1253
1619
 
1254
- #: core/app_settings.py:328 core/app_settings.py:433
1620
+ #: core/app_settings.py:316 core/app_settings.py:421
1255
1621
  msgid "Search filter"
1256
1622
  msgstr "Фильтр поиска"
1257
1623
 
1258
- #: core/app_settings.py:330 core/app_settings.py:435
1624
+ #: core/app_settings.py:318 core/app_settings.py:423
1259
1625
  msgid ""
1260
1626
  "An optional filter string (e.g. '(objectClass=person)'). In order to be "
1261
1627
  "valid, it must be enclosed in parentheses."
1262
1628
  msgstr ""
1263
- "Необязательная срока поиска (например '(objectClass=person)') Значение нужно"
1264
- " заключить в скобки"
1629
+ "Необязательная срока поиска (например '(objectClass=person)') Значение нужно "
1630
+ "заключить в скобки"
1265
1631
 
1266
- #: core/app_settings.py:339
1632
+ #: core/app_settings.py:327
1267
1633
  msgid "User DN template"
1268
1634
  msgstr "Шаблон пользователя DN"
1269
1635
 
1270
- #: core/app_settings.py:341
1636
+ #: core/app_settings.py:329
1271
1637
  #, python-format
1272
1638
  msgid ""
1273
1639
  "The template used to construct a user's DN. It should contain one "
1274
1640
  "placeholder (ie. %(user)s)"
1275
1641
  msgstr ""
1276
- "Шаблон используется для построения запросов к DN Он должен содержать атрибут"
1277
- " например (%(user)s)"
1642
+ "Шаблон используется для построения запросов к DN Он должен содержать атрибут "
1643
+ "например (%(user)s)"
1278
1644
 
1279
- #: core/app_settings.py:350
1645
+ #: core/app_settings.py:338
1280
1646
  msgid "LDAP synchronization settings"
1281
- msgstr ""
1647
+ msgstr "Настройки синхронизации LDAP"
1282
1648
 
1283
- #: core/app_settings.py:378
1649
+ #: core/app_settings.py:366
1284
1650
  msgid "Enable export to LDAP"
1285
- msgstr ""
1651
+ msgstr "Включить экспорт в LDAP"
1286
1652
 
1287
- #: core/app_settings.py:380
1653
+ #: core/app_settings.py:368
1288
1654
  msgid ""
1289
1655
  "Enable automatic synchronization between local database and LDAP directory"
1290
1656
  msgstr ""
1657
+ "Включить автоматическую синхронизацию между локальной базой данных и "
1658
+ "каталогом LDAP."
1291
1659
 
1292
- #: core/app_settings.py:389
1660
+ #: core/app_settings.py:377
1293
1661
  msgid "Delete remote LDAP account when local account is deleted"
1294
1662
  msgstr ""
1663
+ "Удалить удаленную учетную запись LDAP при удалении локальной учетной записи"
1295
1664
 
1296
- #: core/app_settings.py:392
1665
+ #: core/app_settings.py:380
1297
1666
  msgid ""
1298
1667
  "Delete remote LDAP account when local account is deleted, otherwise it will "
1299
1668
  "be disabled."
1300
1669
  msgstr ""
1670
+ "Удалите удаленную учетную запись LDAP при удалении локальной учетной записи, "
1671
+ "иначе она будет отключена."
1301
1672
 
1302
- #: core/app_settings.py:401
1673
+ #: core/app_settings.py:389
1303
1674
  msgid "Account DN template"
1304
- msgstr ""
1675
+ msgstr "Шаблон DN учётной записи"
1305
1676
 
1306
- #: core/app_settings.py:403
1677
+ #: core/app_settings.py:391
1307
1678
  #, python-format
1308
1679
  msgid ""
1309
1680
  "The template used to construct an account's DN. It should contain one "
1310
1681
  "placeholder (ie. %(user)s)"
1311
1682
  msgstr ""
1683
+ "Шаблон используется для построения запросов к аккаунту DN. Он должен "
1684
+ "содержать атрибут (например %(user)s)"
1312
1685
 
1313
- #: core/app_settings.py:412
1686
+ #: core/app_settings.py:400
1314
1687
  msgid "Enable import from LDAP"
1315
- msgstr ""
1688
+ msgstr "Включить импорт из LDAP"
1316
1689
 
1317
- #: core/app_settings.py:414
1690
+ #: core/app_settings.py:402
1318
1691
  msgid "Enable account synchronization from LDAP directory to local database"
1319
1692
  msgstr ""
1693
+ "Включить синхронизацию учетных записей из каталога LDAP в локальную базу "
1694
+ "данных."
1320
1695
 
1321
- #: core/app_settings.py:444
1696
+ #: core/app_settings.py:432
1322
1697
  msgid "Username attribute"
1323
- msgstr ""
1698
+ msgstr "Атрибут имени пользователя"
1324
1699
 
1325
- #: core/app_settings.py:446
1700
+ #: core/app_settings.py:434
1326
1701
  msgid "The name of the LDAP attribute where the username can be found."
1327
- msgstr ""
1702
+ msgstr "Имя атрибута LDAP, в котором можно найти имя пользователя."
1328
1703
 
1329
- #: core/app_settings.py:455
1704
+ #: core/app_settings.py:443
1330
1705
  msgid "Enable Dovecot LDAP sync"
1331
- msgstr ""
1706
+ msgstr "Включить синхронизацию Dovecot с LDAP"
1332
1707
 
1333
- #: core/app_settings.py:457
1708
+ #: core/app_settings.py:445
1334
1709
  msgid "LDAP authentication settings will be applied to Dovecot configuration."
1335
- msgstr ""
1710
+ msgstr "Параметры аутентификации LDAP будут применены к конфигурации Dovecot"
1336
1711
 
1337
- #: core/app_settings.py:465
1712
+ #: core/app_settings.py:453
1338
1713
  msgid "Dovecot LDAP config file"
1339
- msgstr ""
1714
+ msgstr "Файл конфигурации Dovecot LDAP"
1340
1715
 
1341
- #: core/app_settings.py:467
1716
+ #: core/app_settings.py:455
1342
1717
  msgid ""
1343
1718
  "Location of the configuration file which contains Dovecot LDAP settings."
1344
- msgstr ""
1719
+ msgstr "Путь к файлу конфигурации, содержащему настройки Dovecot LDAP"
1345
1720
 
1346
- #: core/app_settings.py:480
1721
+ #: core/app_settings.py:468
1347
1722
  msgid "Dashboard"
1348
1723
  msgstr "Приборная панель"
1349
1724
 
1350
- #: core/app_settings.py:486
1351
- #, fuzzy
1352
- #| msgid "sent messages"
1725
+ #: core/app_settings.py:474
1353
1726
  msgid "Custom welcome message"
1354
- msgstr "Отправлено сообщений"
1727
+ msgstr "Пользовательское приветственное сообщение"
1355
1728
 
1356
- #: core/app_settings.py:488
1729
+ #: core/app_settings.py:476
1357
1730
  msgid "A welcome message that will be displayed instead the default one"
1358
1731
  msgstr ""
1732
+ "Приветственное сообщение, которое будет отображаться вместо стандартного"
1359
1733
 
1360
- #: core/app_settings.py:495
1734
+ #: core/app_settings.py:483
1361
1735
  msgid "Custom RSS feed"
1362
1736
  msgstr "Пользовательская RSS лента"
1363
1737
 
1364
- #: core/app_settings.py:497
1738
+ #: core/app_settings.py:485
1365
1739
  msgid "Display custom RSS feed to resellers and domain administrators"
1366
1740
  msgstr ""
1367
1741
  "Отображать пользовательскую ленту RSS для реселлеров и администраторов "
1368
1742
  "доменов"
1369
1743
 
1370
- #: core/app_settings.py:506
1371
- #, fuzzy
1372
- #| msgid ""
1373
- #| "Display custom RSS feed to resellers and domain administrators"
1744
+ #: core/app_settings.py:494
1374
1745
  msgid "Display custom RSS feed to super admins"
1375
- msgstr ""
1376
- "Отображать пользовательскую ленту RSS для реселлеров и администраторов "
1377
- "доменов"
1746
+ msgstr "Показывать пользовательскую RSS‑ленту супер‑администраторам"
1378
1747
 
1379
- #: core/app_settings.py:509
1380
- #, fuzzy
1381
- #| msgid ""
1382
- #| "Display custom RSS feed to resellers and domain administrators"
1748
+ #: core/app_settings.py:497
1383
1749
  msgid "Display custom RSS feed also to super administrators"
1384
- msgstr ""
1385
- "Отображать пользовательскую ленту RSS для реселлеров и администраторов "
1386
- "доменов"
1750
+ msgstr "Также показывать пользовательскую RSS‑ленту супер‑администраторам"
1387
1751
 
1388
- #: core/app_settings.py:517
1752
+ #: core/app_settings.py:505
1389
1753
  msgid "Hide features widget"
1390
1754
  msgstr "Спрятать виджет новых функций"
1391
1755
 
1392
- #: core/app_settings.py:519
1756
+ #: core/app_settings.py:507
1393
1757
  msgid "Hide features widget for resellers and domain administrators"
1394
- msgstr ""
1395
- "Спрятать виджет новых функций для реселлеров и администраторов доменов"
1758
+ msgstr "Спрятать виджет новых функций для реселлеров и администраторов доменов"
1396
1759
 
1397
- #: core/app_settings.py:531
1760
+ #: core/app_settings.py:519
1398
1761
  msgid "Theme"
1399
- msgstr ""
1762
+ msgstr "Тема"
1400
1763
 
1401
- #: core/app_settings.py:537
1764
+ #: core/app_settings.py:525
1402
1765
  msgid "Primary theme color"
1403
- msgstr ""
1766
+ msgstr "Основной цвет темы"
1404
1767
 
1405
- #: core/app_settings.py:539
1768
+ #: core/app_settings.py:527
1406
1769
  msgid ""
1407
1770
  "Primary color of the theme (hexadecimal code), used as the background color "
1408
1771
  "of the left menu for example"
1409
1772
  msgstr ""
1773
+ "Основной цвет темы (в шестнадцатеричном формате), используется, например, "
1774
+ "как цвет фона левого меню"
1410
1775
 
1411
- #: core/app_settings.py:548
1776
+ #: core/app_settings.py:536
1412
1777
  msgid "Primary theme color (lighter version)"
1413
- msgstr ""
1778
+ msgstr "Основной цвет темы (более светлый вариант)"
1414
1779
 
1415
- #: core/app_settings.py:551 core/app_settings.py:563
1780
+ #: core/app_settings.py:539 core/app_settings.py:551
1416
1781
  msgid "Primary color of the theme (hexadecimal code)"
1417
- msgstr ""
1782
+ msgstr "Основной цвет темы (в шестнадцатеричном формате)"
1418
1783
 
1419
- #: core/app_settings.py:560
1784
+ #: core/app_settings.py:548
1420
1785
  msgid "Primary theme color (darker version)"
1421
- msgstr ""
1786
+ msgstr "Основной цвет темы (более тёмный вариант)"
1422
1787
 
1423
- #: core/app_settings.py:571
1424
- #, fuzzy
1425
- #| msgid "Secondary email"
1788
+ #: core/app_settings.py:559
1426
1789
  msgid "Secondary theme color"
1427
- msgstr "Вспомогательный email"
1790
+ msgstr "Дополнительный цвет темы"
1428
1791
 
1429
- #: core/app_settings.py:573
1792
+ #: core/app_settings.py:561
1430
1793
  msgid ""
1431
1794
  "Secondary color of the theme (hexadecimal code), used as the background "
1432
1795
  "color of some buttons for example"
1433
1796
  msgstr ""
1797
+ "Дополнительный цвет темы (в шестнадцатеричном формате), используется, "
1798
+ "например, как цвет фона некоторых кнопок"
1434
1799
 
1435
- #: core/app_settings.py:581
1800
+ #: core/app_settings.py:569
1436
1801
  msgid "Labels theme color"
1437
- msgstr ""
1802
+ msgstr "Цвет темы для меток"
1438
1803
 
1439
- #: core/app_settings.py:583
1804
+ #: core/app_settings.py:571
1440
1805
  msgid "Theme color for labels (hexadecimal code)"
1441
- msgstr ""
1806
+ msgstr "Цвет темы для меток (в шестнадцатеричном формате)"
1442
1807
 
1443
- #: core/app_settings.py:595
1808
+ #: core/app_settings.py:583
1444
1809
  msgid "Notifications"
1445
1810
  msgstr "Уведомления"
1446
1811
 
1447
- #: core/app_settings.py:601
1812
+ #: core/app_settings.py:589
1448
1813
  msgid "Sender address"
1449
1814
  msgstr "Адрес отправителя"
1450
1815
 
1451
- #: core/app_settings.py:603
1816
+ #: core/app_settings.py:591
1452
1817
  msgid "Email address used to send notifications."
1453
- msgstr "Email адрес для отправки уведомлений"
1818
+ msgstr "Почтовый адрес для отправки уведомлений"
1454
1819
 
1455
- #: core/app_settings.py:614
1820
+ #: core/app_settings.py:602
1456
1821
  msgid "Public API"
1457
1822
  msgstr "Публичный API"
1458
1823
 
1459
- #: core/app_settings.py:620
1824
+ #: core/app_settings.py:608
1460
1825
  msgid "Enable communication"
1461
1826
  msgstr "Разрешить передачу"
1462
1827
 
1463
- #: core/app_settings.py:622 core/app_settings.py:632
1828
+ #: core/app_settings.py:610 core/app_settings.py:620
1464
1829
  msgid "Automatically checks if a newer version is available"
1465
1830
  msgstr "Автоматически проверять доступность новых версий."
1466
1831
 
1467
- #: core/app_settings.py:629
1832
+ #: core/app_settings.py:617
1468
1833
  msgid "Check new versions"
1469
1834
  msgstr "Проверить новые версии"
1470
1835
 
1471
- #: core/app_settings.py:640
1836
+ #: core/app_settings.py:628
1472
1837
  msgid "Send an email when new versions are found"
1473
- msgstr ""
1838
+ msgstr "Отправлять электронное письмо при обнаружении новых версий"
1474
1839
 
1475
- #: core/app_settings.py:644
1840
+ #: core/app_settings.py:632
1476
1841
  msgid "Send an email to notify admins about new versions"
1477
1842
  msgstr ""
1843
+ "Отправьте электронное письмо, чтобы уведомить администраторов о новых "
1844
+ "версиях."
1478
1845
 
1479
- #: core/app_settings.py:651 sievefilters/constants.py:25
1846
+ #: core/app_settings.py:639 sievefilters/constants.py:25
1480
1847
  msgid "Recipient"
1481
1848
  msgstr "Получатель"
1482
1849
 
1483
- #: core/app_settings.py:654
1850
+ #: core/app_settings.py:642
1484
1851
  msgid "Recipient of new versions notification emails."
1485
- msgstr ""
1852
+ msgstr "Получатель электронных писем с уведомлениями о новых версиях."
1486
1853
 
1487
- #: core/app_settings.py:661
1854
+ #: core/app_settings.py:649
1488
1855
  msgid "Send statistics"
1489
1856
  msgstr "Отправить статистику"
1490
1857
 
1491
- #: core/app_settings.py:664
1858
+ #: core/app_settings.py:652
1492
1859
  msgid "Send statistics to Modoboa public API (counters and used extensions)"
1493
1860
  msgstr ""
1494
1861
  "Отправлять статистику в Modoboa public API (счетчики и используемые "
1495
1862
  "расширения)"
1496
1863
 
1497
- #: core/app_settings.py:683
1498
- #, fuzzy
1499
- #| msgid "Inactive account threshold"
1864
+ #: core/app_settings.py:671
1500
1865
  msgid "Enable inactive account tracking"
1501
- msgstr "Порог неактивного аккаунта"
1866
+ msgstr "Включить отслеживание неактивных учётных записей"
1502
1867
 
1503
- #: core/app_settings.py:686
1868
+ #: core/app_settings.py:674
1504
1869
  msgid ""
1505
- "Allow the administrator to set a threshold (in days) beyond which an account"
1506
- " is considered inactive if the user hasn't logged in"
1870
+ "Allow the administrator to set a threshold (in days) beyond which an account "
1871
+ "is considered inactive if the user hasn't logged in"
1507
1872
  msgstr ""
1873
+ "Позволяет администратору задать порог (в днях), по истечении которого "
1874
+ "учётная запись считается неактивной, если пользователь не входил в систему"
1508
1875
 
1509
- #: core/app_settings.py:695
1876
+ #: core/app_settings.py:683
1510
1877
  msgid "Inactive account threshold"
1511
1878
  msgstr "Порог неактивного аккаунта"
1512
1879
 
1513
- #: core/app_settings.py:698
1880
+ #: core/app_settings.py:686
1514
1881
  msgid ""
1515
- "An account with a last login date greater than this threshold (in days) will"
1516
- " be considered as inactive"
1882
+ "An account with a last login date greater than this threshold (in days) will "
1883
+ "be considered as inactive"
1517
1884
  msgstr ""
1518
- "Аккаунт с датой последнего входа, превышающей этот порог (в днях), будет "
1519
- "считаться неактивным"
1885
+ "Учётная запись с датой последнего входа, превышающей этот порог (в днях), "
1886
+ "будет считаться неактивным"
1520
1887
 
1521
- #: core/app_settings.py:707
1888
+ #: core/app_settings.py:695
1522
1889
  msgid "Top notifications check interval"
1523
- msgstr ""
1890
+ msgstr "Интервал проверки важных уведомлений"
1524
1891
 
1525
- #: core/app_settings.py:710
1892
+ #: core/app_settings.py:698
1526
1893
  msgid "Interval between two top notification checks (in seconds)"
1527
- msgstr "Интервал между двумя последними проверками уведомлений (в секундах)"
1894
+ msgstr "Интервал проверки важных уведомлений (в секундах)"
1528
1895
 
1529
- #: core/app_settings.py:717
1896
+ #: core/app_settings.py:705
1530
1897
  msgid "Maximum log record age"
1531
1898
  msgstr "Максимальный срок хранения лог записей"
1532
1899
 
1533
- #: core/app_settings.py:719
1900
+ #: core/app_settings.py:707
1534
1901
  msgid "The maximum age in days of a log record"
1535
1902
  msgstr "Срок хранения лог записей в днях "
1536
1903
 
1537
- #: core/app_settings.py:727
1904
+ #: core/app_settings.py:715
1538
1905
  msgid "Retention time in message history"
1539
- msgstr ""
1906
+ msgstr "Срок хранения записей в истории сообщений"
1540
1907
 
1541
- #: core/app_settings.py:730
1908
+ #: core/app_settings.py:718
1542
1909
  msgid "Retention time (in days) of a message in the message history section"
1543
- msgstr ""
1910
+ msgstr "Срок хранения сообщения (в днях) в разделе истории сообщений"
1544
1911
 
1545
- #: core/app_settings.py:737
1912
+ #: core/app_settings.py:725
1546
1913
  msgid "Items per page"
1547
1914
  msgstr "Элементов на странице"
1548
1915
 
1549
- #: core/app_settings.py:739
1916
+ #: core/app_settings.py:727
1550
1917
  msgid "Number of displayed items per page"
1551
1918
  msgstr "Количество элементов на странице"
1552
1919
 
1553
- #: core/app_settings.py:746
1554
- msgid "Default top redirection"
1555
- msgstr "Порог перенаправления по умолчанию"
1556
-
1557
- #: core/app_settings.py:748
1558
- msgid "The default redirection used when no application is specified"
1559
- msgstr ""
1560
- "Если приложение не указано. Используется перенаправление по умолчанию."
1561
-
1562
1920
  #: core/checks.py:15
1563
1921
  msgid ""
1564
1922
  "You have USE_TZ set to False, this may result in issues during transitions "
1565
1923
  "between summer/winter time (ie the same local time occuring twice due to "
1566
1924
  "clock change)."
1567
1925
  msgstr ""
1926
+ "Для параметра USE_TZ установлено значение False, это может привести к "
1927
+ "проблемам при переходе между летним и зимним временем (т. е. одно и то же "
1928
+ "местное время повторяется дважды из-за смены часов)."
1568
1929
 
1569
1930
  #: core/checks.py:19
1570
1931
  msgid "Set `USE_TZ = True` in settings.py"
1571
- msgstr ""
1932
+ msgstr "Установите `USE_TZ = True` в settings.py"
1572
1933
 
1573
1934
  #: core/checks.py:23
1574
1935
  msgid "The password scheme you are using is deprecated."
1575
- msgstr ""
1936
+ msgstr "Используемая вами схема хранения паролей устарела."
1576
1937
 
1577
1938
  #: core/checks.py:24
1578
1939
  msgid "Upgrade your password scheme to a stronger one"
1579
- msgstr ""
1940
+ msgstr "Обновите схему хранения паролей на более надёжную."
1580
1941
 
1581
1942
  #: core/checks.py:30
1582
1943
  msgid ""
1583
1944
  "Oauth2 application for dovecot has not been found. Webmail and some other "
1584
1945
  "features won't be available."
1585
1946
  msgstr ""
1947
+ "Не найдено приложение OAuth2 для Dovecot. Веб‑почта и некоторые другие "
1948
+ "функции будут недоступны."
1586
1949
 
1587
1950
  #: core/checks.py:34
1588
1951
  msgid ""
1589
- "Visit : "
1590
- "https://modoboa.readthedocs.io/en/latest/manual_installation/dovecot.html#dovecot-"
1591
- "oauth2"
1952
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
1953
+ "dovecot.html#dovecot-oauth2"
1592
1954
  msgstr ""
1955
+ "Посетить: https://modoboa.readthedocs.io/en/latest/manual_installation/"
1956
+ "dovecot.html#dovecot-oauth2"
1593
1957
 
1594
1958
  #: core/checks.py:41
1595
1959
  msgid ""
1596
1960
  "Oauth2 application for radicale has not been found. Calendar and some other "
1597
1961
  "features won't be available."
1598
1962
  msgstr ""
1963
+ "Не найдено приложение OAuth2 для Radicale. Календарь и некоторые другие "
1964
+ "функции будут недоступны."
1599
1965
 
1600
1966
  #: core/checks.py:45
1601
1967
  msgid ""
1602
- "Visit : "
1603
- "https://modoboa.readthedocs.io/en/latest/manual_installation/radicale.html#radicale-"
1604
- "oauth2"
1968
+ "Visit : https://modoboa.readthedocs.io/en/latest/manual_installation/"
1969
+ "radicale.html#radicale-oauth2"
1605
1970
  msgstr ""
1971
+ "Посетить : https://modoboa.readthedocs.io/en/latest/manual_installation/"
1972
+ "radicale.html#radicale-oauth2"
1606
1973
 
1607
1974
  #: core/constants.py:6
1608
1975
  msgid "Simple user"
@@ -1634,19 +2001,19 @@ msgstr "Прямое соединение"
1634
2001
 
1635
2002
  #: core/constants.py:109
1636
2003
  msgid "Choose a provider"
1637
- msgstr ""
2004
+ msgstr "Выберите провайдера"
1638
2005
 
1639
2006
  #: core/constants.py:114
1640
2007
  msgid "Dummy"
1641
- msgstr ""
2008
+ msgstr "Заглушка"
1642
2009
 
1643
2010
  #: core/forms.py:56
1644
2011
  msgid "Verification code"
1645
- msgstr ""
2012
+ msgstr "Проверочный код"
1646
2013
 
1647
2014
  #: core/forms.py:67
1648
2015
  msgid "Invalid code"
1649
- msgstr ""
2016
+ msgstr "Неверный код"
1650
2017
 
1651
2018
  #: core/handlers.py:36
1652
2019
  msgid "added"
@@ -1676,28 +2043,28 @@ msgstr "пользователь {}"
1676
2043
 
1677
2044
  #: core/handlers.py:73
1678
2045
  msgid "management command"
1679
- msgstr ""
2046
+ msgstr "команда управления"
1680
2047
 
1681
2048
  #: core/handlers.py:95
1682
2049
  msgid "You can't delete your own account"
1683
- msgstr "Вы не можете удалить собственный аккаунт"
2050
+ msgstr "Вы не можете удалить свою учётную запись"
1684
2051
 
1685
2052
  #: core/handlers.py:127
1686
2053
  msgid "One or more updates are available"
1687
2054
  msgstr "Доступны одно или более обновлений."
1688
2055
 
1689
- #: core/handlers.py:138
2056
+ #: core/handlers.py:140
1690
2057
  #, python-format
1691
2058
  msgid "You are still using a deprecated password scheme (%s)"
1692
- msgstr ""
2059
+ msgstr "Вы всё ещё используете устаревшую схему хранения паролей (%s)"
1693
2060
 
1694
2061
  #: core/management/commands/communicate_with_public_api.py:42
1695
2062
  msgid "[modoboa] Update(s) available"
1696
- msgstr ""
2063
+ msgstr "[modoboa] Доступны обновления"
1697
2064
 
1698
2065
  #: core/models.py:71
1699
2066
  msgid "Allow mailboxes access"
1700
- msgstr ""
2067
+ msgstr "Разрешить доступ к почтовым ящикам"
1701
2068
 
1702
2069
  #: core/models.py:73
1703
2070
  msgid "Allow this administrator to access user mailboxes"
@@ -1721,11 +2088,11 @@ msgstr "Номер телефона"
1721
2088
 
1722
2089
  #: core/models.py:86
1723
2090
  msgid "Secondary email"
1724
- msgstr "Вспомогательный email"
2091
+ msgstr "Дополнительный email"
1725
2092
 
1726
2093
  #: core/models.py:91
1727
2094
  msgid "An alternative e-mail address, can be used for recovery needs."
1728
- msgstr "Альтернативный e-mail может быть использован для востановления."
2095
+ msgstr "Дополнительный e-mail может быть использован для востановления."
1729
2096
 
1730
2097
  #: core/models.py:150
1731
2098
  msgid "Failed to update password: LDAP module not installed"
@@ -1744,16 +2111,13 @@ msgid "You can't import an account with a role greater than yours"
1744
2111
  msgstr "Вы не можете импортировать аккаунт с ролью старше чем у вас"
1745
2112
 
1746
2113
  #: core/models.py:375
1747
- #, fuzzy
1748
- #| msgid "The simple user '%s' must have a valid email address"
1749
2114
  msgid "The simple user '{}' must have a valid email address"
1750
- msgstr "Пользователь '%s' должен иметь действительный почтовый адрес"
2115
+ msgstr ""
2116
+ "Обычный пользователь '{}' должен иметь корректный адрес электронной почты."
1751
2117
 
1752
2118
  #: core/models.py:383
1753
- #, fuzzy
1754
- #| msgid "username and email fields must not differ for '%s'"
1755
2119
  msgid "username and email fields must not differ for '{}'"
1756
- msgstr "Имя пользователя и адрес не должны отличатся для пользователя '%s'"
2120
+ msgstr "Поля имени пользователя и email не должны отличаться для '{}'."
1757
2121
 
1758
2122
  #: core/password_validation.py:25
1759
2123
  msgid "Password must contain at least {} digit."
@@ -1782,10 +2146,10 @@ msgstr[3] "Пароль должен содержать как минимум {}
1782
2146
  #: core/password_validation.py:62
1783
2147
  msgid "Password must contain at least {} special character."
1784
2148
  msgid_plural "Password must contain at least {} special characters."
1785
- msgstr[0] ""
1786
- msgstr[1] ""
1787
- msgstr[2] ""
1788
- msgstr[3] ""
2149
+ msgstr[0] "Пароль должен содержать не менее {} специального символа."
2150
+ msgstr[1] "Пароль должен содержать не менее {} специальных символов."
2151
+ msgstr[2] "Пароль должен содержать не менее {} специальных символов."
2152
+ msgstr[3] "Пароль должен содержать не менее {} специальных символов."
1789
2153
 
1790
2154
  #: core/password_validation.py:70
1791
2155
  msgid "Your password must contain a combination of different character types."
@@ -1793,51 +2157,51 @@ msgstr "Ваш пароль должен содержать комбинацию
1793
2157
 
1794
2158
  #: core/sms_backends/ovh.py:21 core/sms_backends/ovh.py:102
1795
2159
  msgid "API endpoint"
1796
- msgstr ""
2160
+ msgstr "Конечная точка API"
1797
2161
 
1798
2162
  #: core/sms_backends/ovh.py:24 core/sms_backends/ovh.py:62
1799
2163
  msgid "OVH Europe"
1800
- msgstr ""
2164
+ msgstr "OVH Европа"
1801
2165
 
1802
2166
  #: core/sms_backends/ovh.py:25 core/sms_backends/ovh.py:63
1803
2167
  msgid "OVH US"
1804
- msgstr ""
2168
+ msgstr "OVH США"
1805
2169
 
1806
2170
  #: core/sms_backends/ovh.py:26 core/sms_backends/ovh.py:64
1807
2171
  msgid "OVH North-America"
1808
- msgstr ""
2172
+ msgstr "OVH Северная Америка"
1809
2173
 
1810
2174
  #: core/sms_backends/ovh.py:27 core/sms_backends/ovh.py:65
1811
2175
  msgid "So you Start Europe"
1812
- msgstr ""
2176
+ msgstr "So you Start Европа"
1813
2177
 
1814
2178
  #: core/sms_backends/ovh.py:28 core/sms_backends/ovh.py:66
1815
2179
  msgid "So you Start North America"
1816
- msgstr ""
2180
+ msgstr "Итак, вы начинаете Северную Америку"
1817
2181
 
1818
2182
  #: core/sms_backends/ovh.py:29 core/sms_backends/ovh.py:67
1819
2183
  msgid "Kimsufi Europe"
1820
- msgstr ""
2184
+ msgstr "Kimsufi Европа"
1821
2185
 
1822
2186
  #: core/sms_backends/ovh.py:30 core/sms_backends/ovh.py:68
1823
2187
  msgid "Kimsufi North America"
1824
- msgstr ""
2188
+ msgstr "Kimsufi Северная Америка"
1825
2189
 
1826
2190
  #: core/sms_backends/ovh.py:36 core/sms_backends/ovh.py:109
1827
2191
  msgid "Application key"
1828
- msgstr ""
2192
+ msgstr "Ключ приложения"
1829
2193
 
1830
2194
  #: core/sms_backends/ovh.py:41
1831
2195
  msgid "Application secret"
1832
- msgstr ""
2196
+ msgstr "Секрет приложения"
1833
2197
 
1834
2198
  #: core/sms_backends/ovh.py:49 core/sms_backends/ovh.py:124
1835
2199
  msgid "Consumer key"
1836
- msgstr ""
2200
+ msgstr "Ключ клиента"
1837
2201
 
1838
2202
  #: core/sms_backends/ovh.py:116
1839
2203
  msgid "Appication secret"
1840
- msgstr ""
2204
+ msgstr "Секрет приложения"
1841
2205
 
1842
2206
  #: core/templates/core/notifications/update_available.html:3
1843
2207
  msgid ""
@@ -1847,252 +2211,245 @@ msgid_plural ""
1847
2211
  "\n"
1848
2212
  " The following updates are available:\n"
1849
2213
  msgstr[0] ""
2214
+ "\n"
2215
+ " Доступно следующее обновление:\n"
1850
2216
  msgstr[1] ""
2217
+ "\n"
2218
+ " Доступны следующие обновления:\n"
1851
2219
  msgstr[2] ""
2220
+ "\n"
2221
+ " Доступны следующие обновления:\n"
1852
2222
  msgstr[3] ""
2223
+ "\n"
2224
+ "Доступны следующие обновления:\n"
1853
2225
 
1854
2226
  #: core/utils.py:43
1855
2227
  msgid "The core part of Modoboa"
1856
- msgstr ""
2228
+ msgstr "Основная часть Modoboa"
1857
2229
 
1858
- #: core/views/auth.py:65
2230
+ #: core/views/auth.py:82
1859
2231
  #, python-format
1860
2232
  msgid "User '%s' successfully logged in"
1861
2233
  msgstr "Пользователь '%s' успешно вошел в систему"
1862
2234
 
1863
- #: core/views/auth.py:109
2235
+ #: core/views/auth.py:128
1864
2236
  #, python-format
1865
2237
  msgid "Password scheme mismatch. Updating %s password"
1866
- msgstr ""
2238
+ msgstr "Несоответствие схемы паролей. Обновление %s пароля"
1867
2239
 
1868
- #: core/views/auth.py:116
2240
+ #: core/views/auth.py:135
1869
2241
  #, python-format
1870
2242
  msgid "Password hash parameter missmatch. Updating %s password"
1871
- msgstr ""
2243
+ msgstr "Несоответствие параметров хэша пароля. Обновление %s пароля"
1872
2244
 
1873
- #: core/views/auth.py:154
2245
+ #: core/views/auth.py:173
1874
2246
  msgid "User '{}' successfully logged out"
1875
- msgstr ""
2247
+ msgstr "Пользователь '{}' успешно вышел из системы"
1876
2248
 
1877
2249
  #: dmarc/forms.py:15
1878
- #, fuzzy
1879
- #| msgid "LDAP settings"
1880
2250
  msgid "DNS settings"
1881
- msgstr "Параметры LDAP"
2251
+ msgstr "Настройки DNS"
1882
2252
 
1883
2253
  #: dmarc/forms.py:21
1884
2254
  msgid "Enable reverse lookups"
1885
- msgstr ""
2255
+ msgstr "Включить обратные запросы"
1886
2256
 
1887
2257
  #: dmarc/forms.py:23
1888
2258
  msgid "Enable reverse DNS lookups (reports will be longer to display)"
1889
- msgstr ""
2259
+ msgstr "Включить обратные DNS‑запросы (отчёты будут дольше формироваться)"
1890
2260
 
1891
2261
  #: dmarc/forms.py:42
1892
2262
  msgid "DMARC"
1893
- msgstr ""
2263
+ msgstr "DMARC"
1894
2264
 
1895
2265
  #: dmarc/lib.py:294
1896
- #, fuzzy
1897
- #| msgid "No recipient defined"
1898
2266
  msgid "Not resolved"
1899
- msgstr "Получатель не определен"
2267
+ msgstr "Не определено"
1900
2268
 
1901
2269
  #: dmarc/models.py:10 dmarc/models.py:16 pdfcredentials/constants.py:7
1902
- #: webmail/constants.py:18
2270
+ #: webmail/constants.py:38
1903
2271
  msgid "None"
1904
2272
  msgstr "Нет"
1905
2273
 
1906
- #: dmarc/models.py:11
1907
- #, fuzzy
1908
- msgid "Quarantine"
1909
- msgstr "Карантин"
1910
-
1911
2274
  #: dmarc/models.py:12
1912
- #, fuzzy
1913
- #| msgid "Subject"
1914
2275
  msgid "Reject"
1915
- msgstr "Тема"
2276
+ msgstr "Отклонить"
1916
2277
 
1917
2278
  #: dmarc/models.py:17
1918
2279
  msgid "Neutral"
1919
- msgstr ""
2280
+ msgstr "Нейтрально"
1920
2281
 
1921
2282
  #: dmarc/models.py:18
1922
- #, fuzzy
1923
- #| msgid "Password"
1924
2283
  msgid "Pass"
1925
- msgstr "Пароль"
2284
+ msgstr "Успешно"
1926
2285
 
1927
2286
  #: dmarc/models.py:19
1928
2287
  msgid "Fail"
1929
- msgstr ""
2288
+ msgstr "Ошибка"
1930
2289
 
1931
2290
  #: dmarc/models.py:20
1932
2291
  msgid "Temporary error"
1933
- msgstr ""
2292
+ msgstr "Временная ошибка"
1934
2293
 
1935
2294
  #: dmarc/models.py:21
1936
2295
  msgid "Permanent error"
1937
- msgstr ""
2296
+ msgstr "Постоянная ошибка"
1938
2297
 
1939
2298
  #: dmarc/models.py:24
1940
2299
  msgid "Policy"
1941
- msgstr ""
2300
+ msgstr "Политика"
1942
2301
 
1943
2302
  #: dmarc/models.py:26
1944
2303
  msgid "Soft failure"
1945
- msgstr ""
2304
+ msgstr "Мягкий отказ"
1946
2305
 
1947
2306
  #: dnstools/lib.py:82
1948
2307
  msgid "Wrong ip4 mechanism syntax"
1949
- msgstr ""
2308
+ msgstr "Неверный синтаксис механизма ip4"
1950
2309
 
1951
2310
  #: dnstools/lib.py:86
1952
2311
  msgid "Wrong IPv4 address format"
1953
- msgstr ""
2312
+ msgstr "Неверный формат адреса IPv4"
1954
2313
 
1955
2314
  #: dnstools/lib.py:92
1956
2315
  msgid "Wrong ip6 mechanism syntax"
1957
- msgstr ""
2316
+ msgstr "Неверный синтаксис механизма ip6"
1958
2317
 
1959
2318
  #: dnstools/lib.py:97
1960
2319
  msgid "Wrong IPv6 address format"
1961
- msgstr ""
2320
+ msgstr "Неверный формат адреса IPv6"
1962
2321
 
1963
2322
  #: dnstools/lib.py:111 dnstools/lib.py:136
1964
2323
  msgid "Invalid syntax for {} mechanism"
1965
- msgstr ""
2324
+ msgstr "Некорректный синтаксис механизма {}"
1966
2325
 
1967
2326
  #: dnstools/lib.py:113
1968
2327
  msgid "Invalid mask found {}"
1969
- msgstr ""
2328
+ msgstr "Обнаружена неверная маска {}"
1970
2329
 
1971
2330
  #: dnstools/lib.py:157
1972
2331
  msgid "Not an SPF record"
1973
- msgstr ""
2332
+ msgstr "Не является SPF‑записью"
1974
2333
 
1975
2334
  #: dnstools/lib.py:177
1976
2335
  msgid "Unknown mechanism {}"
1977
- msgstr ""
2336
+ msgstr "Неизвестный механизм {}"
1978
2337
 
1979
2338
  #: dnstools/lib.py:179
1980
2339
  msgid "Unknown modifier {}"
1981
- msgstr ""
2340
+ msgstr "Неизвестный модификатор {}"
1982
2341
 
1983
2342
  #: dnstools/lib.py:182
1984
2343
  msgid "Duplicate modifier {} found"
1985
- msgstr ""
2344
+ msgstr "Найден дублирующий модификатор {}"
1986
2345
 
1987
2346
  #: dnstools/lib.py:186
1988
2347
  msgid "No mechanism found"
1989
- msgstr ""
2348
+ msgstr "Механизм не найден"
1990
2349
 
1991
2350
  #: dnstools/lib.py:193
1992
2351
  msgid "Not a valid DKIM record"
1993
- msgstr ""
2352
+ msgstr "Некорректная DKIM‑запись"
1994
2353
 
1995
2354
  #: dnstools/lib.py:201 dnstools/lib.py:254
1996
2355
  msgid "Invalid tag {}"
1997
- msgstr ""
2356
+ msgstr "Некорректный тег {}"
1998
2357
 
1999
2358
  #: dnstools/lib.py:206
2000
2359
  msgid "No key found in record"
2001
- msgstr ""
2360
+ msgstr "В записи не найден ключ"
2002
2361
 
2003
2362
  #: dnstools/lib.py:213
2004
2363
  msgid "Wrong value {} for tag {}"
2005
- msgstr ""
2364
+ msgstr "Неверное значение {} для тега {}"
2006
2365
 
2007
2366
  #: dnstools/lib.py:228
2008
2367
  msgid "Wrong value {} for tag {}:"
2009
- msgstr ""
2368
+ msgstr "Неверное значение {} для тега {}:"
2010
2369
 
2011
2370
  #: dnstools/lib.py:232
2012
2371
  msgid " not an integer"
2013
- msgstr ""
2372
+ msgstr "Не является целым числом"
2014
2373
 
2015
2374
  #: dnstools/lib.py:234
2016
2375
  msgid " less than {}"
2017
- msgstr ""
2376
+ msgstr "Меньше {}"
2018
2377
 
2019
2378
  #: dnstools/lib.py:237
2020
2379
  msgid " greater than {}"
2021
- msgstr ""
2380
+ msgstr "Больше {}"
2022
2381
 
2023
2382
  #: dnstools/lib.py:246
2024
2383
  msgid "Not a valid DMARC record"
2025
- msgstr ""
2384
+ msgstr "Некорректная DMARC‑запись"
2026
2385
 
2027
2386
  #: dnstools/lib.py:257
2028
2387
  msgid "Unknown tag {}"
2029
- msgstr ""
2388
+ msgstr "Неизвестный тег {}"
2030
2389
 
2031
2390
  #: dnstools/lib.py:262
2032
2391
  msgid "Missing required p tag"
2033
- msgstr ""
2392
+ msgstr "Отсутствует обязательный тег p"
2034
2393
 
2035
2394
  #: dnstools/models.py:78
2036
2395
  msgid "Public key mismatchs"
2037
- msgstr ""
2396
+ msgstr "Открытый ключ не совпадает"
2038
2397
 
2039
- #: imap_migration/api/v2/serializers.py:117
2040
- #, fuzzy
2041
- #| msgid "Permission denied"
2398
+ #: imap_migration/api/v2/serializers.py:66
2399
+ msgid "Migrated domain with name {} already exists"
2400
+ msgstr "Домен {} уже существует среди перенесённых"
2401
+
2402
+ #: imap_migration/api/v2/serializers.py:130
2042
2403
  msgid "Access denied"
2043
- msgstr "В разрешении отказано"
2404
+ msgstr "Доступ запрещён"
2044
2405
 
2045
2406
  #: imap_migration/app_settings.py:19
2046
- #, fuzzy
2047
- #| msgid "Enable communication"
2048
2407
  msgid "Enable IMAP Migration"
2049
- msgstr "Разрешить передачу"
2408
+ msgstr "Включить миграцию IMAP"
2050
2409
 
2051
2410
  #: imap_migration/app_settings.py:20
2052
- #, fuzzy
2053
- #| msgid "Enable communication"
2054
2411
  msgid "Enable IMAP Migration."
2055
- msgstr "Разрешить передачу"
2412
+ msgstr "Включить миграцию IMAP."
2056
2413
 
2057
2414
  #: imap_migration/app_settings.py:30
2058
2415
  msgid "OfflineIMAP"
2059
- msgstr ""
2416
+ msgstr "Оффлайн-IMAP"
2060
2417
 
2061
2418
  #: imap_migration/app_settings.py:36
2062
2419
  msgid "Concurrent sync jobs"
2063
- msgstr ""
2420
+ msgstr "Параллельные задания синхронизации"
2064
2421
 
2065
2422
  #: imap_migration/app_settings.py:38
2066
2423
  msgid "The maximum number of concurrent synchronization jobs"
2067
- msgstr ""
2424
+ msgstr "Максимальное количество параллельных заданий синхронизации"
2068
2425
 
2069
2426
  #: imap_migration/app_settings.py:49
2070
2427
  msgid "OfflineIMAP Filter"
2071
- msgstr ""
2428
+ msgstr "Фильтр Оффлайн-IMAP"
2072
2429
 
2073
2430
  #: imap_migration/app_settings.py:55
2074
- #, fuzzy
2075
- #| msgid "Create aliases"
2076
2431
  msgid "Create Folders"
2077
- msgstr "Создание синонимов"
2432
+ msgstr "Создавать папки"
2078
2433
 
2079
2434
  #: imap_migration/app_settings.py:57
2080
2435
  msgid "Allow Creation of missing folders during sync"
2081
- msgstr ""
2436
+ msgstr "Разрешить создание отсутствующих папок во время синхронизации"
2082
2437
 
2083
2438
  #: imap_migration/app_settings.py:64
2084
2439
  msgid "Folder Filter Exclusions"
2085
- msgstr ""
2440
+ msgstr "Исключения фильтра папок"
2086
2441
 
2087
2442
  #: imap_migration/app_settings.py:66
2088
2443
  msgid ""
2089
2444
  "Use a regular expression to explicitly include folders in sync. Example: "
2090
2445
  "^Trash$|Del"
2091
2446
  msgstr ""
2447
+ "Используйте регулярное выражение, чтобы явно включить папки в синхронизацию. "
2448
+ "Пример: ^Trash$|Del"
2092
2449
 
2093
2450
  #: imap_migration/app_settings.py:74
2094
2451
  msgid "Folder Filter Inclusions"
2095
- msgstr ""
2452
+ msgstr "Включения фильтра папок"
2096
2453
 
2097
2454
  #: imap_migration/app_settings.py:76
2098
2455
  msgid ""
@@ -2100,54 +2457,58 @@ msgid ""
2100
2457
  "filtered by the Folder Filter Exclusions. Example: debian.user, "
2101
2458
  "debian.personal "
2102
2459
  msgstr ""
2460
+ "Список папок, разделённых запятыми, которые нужно явно включить в "
2461
+ "синхронизацию даже при их отборе фильтром исключений папок. Пример: "
2462
+ "debian.user, debian.personal"
2103
2463
 
2104
2464
  #: imap_migration/apps.py:20
2105
2465
  msgid "IMAP Migration"
2106
- msgstr ""
2466
+ msgstr "Миграция IMAP"
2107
2467
 
2108
2468
  #: imap_migration/checks.py:12
2109
2469
  msgid ""
2110
2470
  "Automatic domain/mailbox creation is disabled which means IMAP "
2111
2471
  "authentication won't work."
2112
2472
  msgstr ""
2473
+ "Автоматическое создание доменов/почтовых ящиков отключено, поэтому "
2474
+ "аутентификация IMAP работать не будет."
2113
2475
 
2114
2476
  #: imap_migration/checks.py:16
2115
2477
  msgid ""
2116
2478
  "Go to the online parameters panel (admin tab) and activate this feature."
2117
2479
  msgstr ""
2480
+ "Перейдите в панель онлайн‑параметров (вкладка администратора) и включите эту "
2481
+ "функцию."
2118
2482
 
2119
2483
  #: ldapsync/lib.py:82
2120
2484
  msgid "Failed to create LDAP account: {}"
2121
- msgstr ""
2485
+ msgstr "Не удалось создать учётную запись LDAP: {}"
2122
2486
 
2123
2487
  #: ldapsync/lib.py:121
2124
2488
  msgid "Failed to update LDAP account: {}"
2125
- msgstr ""
2489
+ msgstr "Не удалось обновить учётную запись LDAP: {}"
2126
2490
 
2127
2491
  #: ldapsync/lib.py:135
2128
2492
  msgid "Failed to delete LDAP account: {}"
2129
- msgstr ""
2493
+ msgstr "Не удалось удалить учётную запись LDAP: {}"
2130
2494
 
2131
2495
  #: ldapsync/lib.py:144
2132
2496
  msgid "Failed to disable LDAP account: {}"
2133
- msgstr ""
2497
+ msgstr "Не удалось отключить учётную запись LDAP: {}"
2134
2498
 
2135
2499
  #: lib/api_client.py:35 lib/api_client.py:67 lib/api_client.py:81
2136
2500
  #: lib/api_client.py:85
2137
- #, fuzzy, python-format
2138
- #| msgid "Enable communication with Modoboa public API"
2501
+ #, python-format
2139
2502
  msgid "Failed to communicate with public API: %s"
2140
- msgstr "Разрешить передачу с публичным API Modoboa"
2503
+ msgstr "Не удалось связаться с публичным API: %s"
2141
2504
 
2142
2505
  #: lib/email_utils.py:140 lib/email_utils.py:351
2143
2506
  msgid "unable to determine encoding of string"
2144
- msgstr ""
2507
+ msgstr "не удалось определить кодировку строки"
2145
2508
 
2146
2509
  #: lib/exceptions.py:83
2147
- #, fuzzy
2148
- #| msgid "Permission denied: %s"
2149
2510
  msgid "Permission denied: {}"
2150
- msgstr "В разрешении отказано: %s"
2511
+ msgstr "Доступ запрещён: {}"
2151
2512
 
2152
2513
  #: lib/exceptions.py:84
2153
2514
  msgid "Permission denied"
@@ -2155,29 +2516,27 @@ msgstr "В разрешении отказано"
2155
2516
 
2156
2517
  #: lib/fields.py:13 lib/fields.py:26
2157
2518
  msgid "Enter a valid email address."
2158
- msgstr ""
2519
+ msgstr "Введите действительный почтовый адрес"
2159
2520
 
2160
2521
  #: lib/ldap_utils.py:126
2161
2522
  msgid "Failed to update password: {}"
2162
- msgstr ""
2523
+ msgstr "Ошибка обновления пароля: {}"
2163
2524
 
2164
2525
  #: lib/validators.py:13
2165
2526
  msgid "Enter a valid domain name"
2166
2527
  msgstr "Введите действительный адрес домена"
2167
2528
 
2168
2529
  #: limits/app_settings.py:13
2169
- #, fuzzy
2170
- #| msgid "Default limits"
2171
2530
  msgid "Default per-admin limits"
2172
- msgstr "Лимиты по умолчанию"
2531
+ msgstr "Стандартные ограничения для администратора"
2173
2532
 
2174
2533
  #: limits/app_settings.py:19
2175
2534
  msgid "Enable per-admin limits"
2176
- msgstr ""
2535
+ msgstr "Включите ограничения для администратора"
2177
2536
 
2178
2537
  #: limits/app_settings.py:20
2179
2538
  msgid "Enable or disable per-admin limits"
2180
- msgstr ""
2539
+ msgstr "Включить или выключить ограничения для администратора"
2181
2540
 
2182
2541
  #: limits/app_settings.py:26 limits/app_settings.py:111 limits/constants.py:47
2183
2542
  #: limits/constants.py:101
@@ -2185,57 +2544,54 @@ msgid "Domain admins"
2185
2544
  msgstr "Администраторы домена"
2186
2545
 
2187
2546
  #: limits/app_settings.py:29
2188
- #, fuzzy
2189
- #| msgid ""
2190
- #| "Maximum number of allowed domain administrators for a new administrator"
2191
2547
  msgid ""
2192
2548
  "Maximum number of allowed domain administrators for a new administrator. (0 "
2193
2549
  "to deny any creation, -1 to allow unlimited creations)"
2194
2550
  msgstr ""
2195
- "Максимальное количество администраторов домена для нового администратора"
2551
+ "Максимальное количество администраторов домена для нового администратора (0 "
2552
+ "для запрета, -1 для бесконечного количества)"
2196
2553
 
2197
2554
  #: limits/app_settings.py:41
2198
- #, fuzzy
2199
- #| msgid "Maximum number of allowed domains for a new administrator"
2200
2555
  msgid ""
2201
2556
  "Maximum number of allowed domains for a new administrator. (0 to deny any "
2202
2557
  "creation, -1 to allow unlimited creations)"
2203
- msgstr "Максимальное количество доменов для нового администратора"
2558
+ msgstr ""
2559
+ "Максимальное количество разрешенных доменов для нового администратора (0 для "
2560
+ "запрета на создание, -1 для снятия ограничений)"
2204
2561
 
2205
2562
  #: limits/app_settings.py:49 limits/app_settings.py:123 limits/constants.py:22
2206
2563
  #: limits/constants.py:76
2207
2564
  msgid "Domain aliases"
2208
- msgstr "Синонимы доменов"
2565
+ msgstr "Алиасы доменов"
2209
2566
 
2210
2567
  #: limits/app_settings.py:52
2211
- #, fuzzy
2212
- #| msgid ""
2213
- #| "Maximum number of allowed domain aliases for a new administrator"
2214
2568
  msgid ""
2215
- "Maximum number of allowed domain aliases for a new administrator. (0 to deny"
2216
- " any creation, -1 to allow unlimited creations)"
2217
- msgstr "Максимальное количество синонимов доменов для нового администратора"
2569
+ "Maximum number of allowed domain aliases for a new administrator. (0 to deny "
2570
+ "any creation, -1 to allow unlimited creations)"
2571
+ msgstr ""
2572
+ "Максимальное количество разрешенных алиасов доменов для нового "
2573
+ "администратора (0 для запрета на создание, -1 для снятия ограничений)"
2218
2574
 
2219
2575
  #: limits/app_settings.py:64
2220
- #, fuzzy
2221
- #| msgid "Maximum number of allowed mailboxes for a new administrator"
2222
2576
  msgid ""
2223
2577
  "Maximum number of allowed mailboxes for a new administrator. (0 to deny any "
2224
2578
  "creation, -1 to allow unlimited creations)"
2225
- msgstr "Максимальное количество почтовых ящиков для нового администратора"
2579
+ msgstr ""
2580
+ "Максимальное количество разрешенных почтовых ящиков для нового "
2581
+ "администратора (0 для запрета на создание, -1 для снятия ограничений)"
2226
2582
 
2227
2583
  #: limits/app_settings.py:73 limits/app_settings.py:146 limits/constants.py:39
2228
2584
  #: limits/constants.py:92
2229
2585
  msgid "Mailbox aliases"
2230
- msgstr "Синонимы почтового ящика"
2586
+ msgstr "Алиасы почтового ящика"
2231
2587
 
2232
2588
  #: limits/app_settings.py:76
2233
- #, fuzzy
2234
- #| msgid "Maximum number of allowed aliases for a new administrator"
2235
2589
  msgid ""
2236
2590
  "Maximum number of allowed aliases for a new administrator. (0 to deny any "
2237
2591
  "creation, -1 to allow unlimited creations)"
2238
- msgstr "Максимальное количество синонимов для нового администратора"
2592
+ msgstr ""
2593
+ "Максимальное количество разрешенных алиасов для нового администратора (0 для "
2594
+ "запрета на создание, -1 для снятия ограничений)"
2239
2595
 
2240
2596
  #: limits/app_settings.py:84 limits/constants.py:59
2241
2597
  msgid "Quota"
@@ -2246,55 +2602,52 @@ msgid ""
2246
2602
  "The quota a reseller will be allowed to share between the domains he "
2247
2603
  "creates. (0 means no quota)"
2248
2604
  msgstr ""
2605
+ "Квота, которую реселлер сможет распределить между создаваемыми им доменами "
2606
+ "(0 означает отсутствие квоты)"
2249
2607
 
2250
2608
  #: limits/app_settings.py:98
2251
- #, fuzzy
2252
- #| msgid "Default limits"
2253
2609
  msgid "Default per-domain limits"
2254
- msgstr "Лимиты по умолчанию"
2610
+ msgstr "Ограничения по умолчанию для доменов"
2255
2611
 
2256
2612
  #: limits/app_settings.py:104
2257
2613
  msgid "Enable per-domain limits"
2258
- msgstr ""
2614
+ msgstr "Включить ограничения на домен"
2259
2615
 
2260
2616
  #: limits/app_settings.py:105
2261
2617
  msgid "Enable or disable per-domain limits"
2262
- msgstr ""
2618
+ msgstr "Включить или выключить ограничения на домен"
2263
2619
 
2264
2620
  #: limits/app_settings.py:114
2265
- #, fuzzy
2266
- #| msgid ""
2267
- #| "Maximum number of allowed domain administrators for a new administrator"
2268
2621
  msgid ""
2269
- "Maximum number of allowed domain administrators for a new domain. (0 to deny"
2270
- " any creation, -1 to allow unlimited creations)"
2622
+ "Maximum number of allowed domain administrators for a new domain. (0 to deny "
2623
+ "any creation, -1 to allow unlimited creations)"
2271
2624
  msgstr ""
2272
- "Максимальное количество администраторов домена для нового администратора"
2625
+ "Максимальное количество администраторов домена для нового домена (0 — запрет "
2626
+ "на создание, -1 — без ограничений)"
2273
2627
 
2274
2628
  #: limits/app_settings.py:126
2275
- #, fuzzy
2276
- #| msgid ""
2277
- #| "Maximum number of allowed domain aliases for a new administrator"
2278
2629
  msgid ""
2279
2630
  "Maximum number of allowed domain aliases for a new domain. (0 to deny any "
2280
2631
  "creation, -1 to allow unlimited creations)"
2281
- msgstr "Максимальное количество синонимов доменов для нового администратора"
2632
+ msgstr ""
2633
+ "Максимальное количество алиасов домена для нового домена (0 — запрет на "
2634
+ "создание, -1 — без ограничений)"
2282
2635
 
2283
2636
  #: limits/app_settings.py:138
2284
- #, fuzzy
2285
- #| msgid "Maximum number of allowed mailboxes for a new administrator"
2286
2637
  msgid ""
2287
2638
  "Maximum number of allowed mailboxes for a new domain. (0 to deny any "
2288
2639
  "creation, -1 to allow unlimited creations)"
2289
- msgstr "Максимальное количество почтовых ящиков для нового администратора"
2640
+ msgstr ""
2641
+ "Максимальное количество почтовых ящиков для нового домена (0 — запрет на "
2642
+ "создание, -1 — без ограничений)"
2290
2643
 
2291
2644
  #: limits/app_settings.py:149
2292
- #, fuzzy
2293
- #| msgid "Maximum number of allowed aliases for a new administrator"
2294
2645
  msgid ""
2295
- "Maximum number of allowed aliases for a new domain. (0 to deny any creation,"
2296
- " -1 to allow unlimited creations)"
2297
- msgstr "Максимальное количество синонимов для нового администратора"
2646
+ "Maximum number of allowed aliases for a new domain. (0 to deny any creation, "
2647
+ "-1 to allow unlimited creations)"
2648
+ msgstr ""
2649
+ "Максимальное количество алиасов для нового домена (0 — запрет на создание, "
2650
+ "-1 — без ограничений)"
2298
2651
 
2299
2652
  #: limits/apps.py:16
2300
2653
  msgid "Limits"
@@ -2307,8 +2660,7 @@ msgstr "Максимальное количество создаваемых д
2307
2660
  #: limits/constants.py:23
2308
2661
  msgid "Maximum number of domain aliases this user can create"
2309
2662
  msgstr ""
2310
- "Максимальное количество создаваемых синонимов (алиасов) доменов для этого "
2311
- "пользователя"
2663
+ "Максимальное количество создаваемых алиасов доменов для этого пользователя"
2312
2664
 
2313
2665
  #: limits/constants.py:32
2314
2666
  msgid "Maximum number of mailboxes this user can create"
@@ -2318,7 +2670,7 @@ msgstr ""
2318
2670
  #: limits/constants.py:40
2319
2671
  msgid "Maximum number of mailbox aliases this user can create"
2320
2672
  msgstr ""
2321
- "Максимальное количество создаваемых синонимов почтовых ящиков для этого "
2673
+ "Максимальное количество создаваемых алиасов почтовых ящиков для этого "
2322
2674
  "пользователя"
2323
2675
 
2324
2676
  #: limits/constants.py:49
@@ -2329,38 +2681,26 @@ msgstr ""
2329
2681
 
2330
2682
  #: limits/constants.py:60
2331
2683
  msgid "Quota shared between domains of this reseller"
2332
- msgstr ""
2684
+ msgstr "Общая квота на все домены реселлера"
2333
2685
 
2334
2686
  #: limits/constants.py:77
2335
- #, fuzzy
2336
- #| msgid "Maximum number of domain aliases this user can create"
2337
2687
  msgid "Maximum number of domain aliases allowed for this domain."
2338
- msgstr ""
2339
- "Максимальное количество создаваемых синонимов (алиасов) доменов для этого "
2340
- "пользователя"
2688
+ msgstr "Максимальное количество алиасов домена, разрешенное для этого домена."
2341
2689
 
2342
2690
  #: limits/constants.py:85
2343
- #, fuzzy
2344
- #| msgid "Maximum number of mailboxes this user can create"
2345
2691
  msgid "Maximum number of mailboxes allowed for this domain."
2346
- msgstr ""
2347
- "Максимальное количество создаваемых почтовых ящиков для этого пользователя"
2692
+ msgstr "Максимальное количество почтовых ящиков, разрешенное для этого домена."
2348
2693
 
2349
2694
  #: limits/constants.py:93
2350
- #, fuzzy
2351
- #| msgid "Maximum number of mailbox aliases this user can create"
2352
2695
  msgid "Maximum number of mailbox aliases allowed for this domain."
2353
2696
  msgstr ""
2354
- "Максимальное количество создаваемых синонимов почтовых ящиков для этого "
2355
- "пользователя"
2697
+ "Максимальное количество алиасов почтовых ящиков, разрешенных для этого "
2698
+ "домена."
2356
2699
 
2357
2700
  #: limits/constants.py:102
2358
- #, fuzzy
2359
- #| msgid "Maximum number of domain administrators this user can create"
2360
2701
  msgid "Maximum number of domain admins allowed for this domain."
2361
2702
  msgstr ""
2362
- "Максимальное количество создаваемых администраторов домена для этого "
2363
- "пользователя"
2703
+ "Максимальное количество администраторов домена, разрешенное для этого домена."
2364
2704
 
2365
2705
  #: limits/lib.py:19
2366
2706
  #, python-format
@@ -2381,7 +2721,7 @@ msgstr "Не лимитировано"
2381
2721
 
2382
2722
  #: maillog/api/v2/serializers.py:35
2383
2723
  msgid "You must provide start and end dates when period is custom"
2384
- msgstr ""
2724
+ msgstr "При выборе «Произвольный период» нужно указать даты начала и конца"
2385
2725
 
2386
2726
  #: maillog/apps.py:20
2387
2727
  msgid "Path to the log file"
@@ -2400,14 +2740,12 @@ msgid "Path to directory where RRD files are stored"
2400
2740
  msgstr "Путь к директории для сохранения RRD файлов"
2401
2741
 
2402
2742
  #: maillog/apps.py:38
2403
- #, fuzzy
2404
- #| msgid "rejected messages"
2405
2743
  msgid "Show greylisted messages"
2406
- msgstr "Отвергнутые сообщения"
2744
+ msgstr "Показывать отложенные (greylisting)"
2407
2745
 
2408
2746
  #: maillog/apps.py:40
2409
2747
  msgid "Differentiate between hard and soft rejects (greylisting)"
2410
- msgstr ""
2748
+ msgstr "Различать жёсткие и мягкие отказы (greylisting)"
2411
2749
 
2412
2750
  #: maillog/apps.py:60
2413
2751
  msgid "Statistics"
@@ -2415,51 +2753,43 @@ msgstr "Статистика"
2415
2753
 
2416
2754
  #: maillog/graphics.py:91
2417
2755
  msgid "Failed to locate rrdtool binary."
2418
- msgstr ""
2756
+ msgstr "Не найден исполняемый файл rrdtool"
2419
2757
 
2420
2758
  #: maillog/graphics.py:166
2421
- #, fuzzy
2422
2759
  msgid "Average traffic (msgs/min)"
2423
- msgstr "Средний размер траффика"
2760
+ msgstr "Средний трафик (писем/мин)"
2424
2761
 
2425
2762
  #: maillog/graphics.py:169
2426
2763
  msgid "sent messages"
2427
- msgstr "Отправлено сообщений"
2764
+ msgstr "Отправлено писем"
2428
2765
 
2429
2766
  #: maillog/graphics.py:170
2430
2767
  msgid "received messages"
2431
- msgstr "Принято сообщений"
2768
+ msgstr "Принято писем"
2432
2769
 
2433
2770
  #: maillog/graphics.py:171
2434
2771
  msgid "bounced messages"
2435
- msgstr "Возвращенные сообщения"
2772
+ msgstr "Возвращенные письма"
2436
2773
 
2437
2774
  #: maillog/graphics.py:172
2438
2775
  msgid "rejected messages"
2439
- msgstr "Отвергнутые сообщения"
2776
+ msgstr "Отвергнутые письма"
2440
2777
 
2441
2778
  #: maillog/graphics.py:173
2442
- #, fuzzy
2443
- #| msgid "sent messages"
2444
2779
  msgid "virus messages"
2445
- msgstr "Отправлено сообщений"
2780
+ msgstr "Вирусные письма"
2446
2781
 
2447
2782
  #: maillog/graphics.py:174
2448
- #, fuzzy
2449
- #| msgid "sent messages"
2450
2783
  msgid "spam messages"
2451
- msgstr "Отправлено сообщений"
2784
+ msgstr "Спам письма"
2452
2785
 
2453
2786
  #: maillog/graphics.py:181
2454
- #, fuzzy
2455
- #| msgid "rejected messages"
2456
2787
  msgid "greylisted messages"
2457
- msgstr "Отвергнутые сообщения"
2788
+ msgstr "Отложенные письма"
2458
2789
 
2459
2790
  #: maillog/graphics.py:198
2460
- #, fuzzy
2461
2791
  msgid "Average normal traffic size (bytes/min)"
2462
- msgstr "Средний размер траффика"
2792
+ msgstr "Средний объём обычного трафика (байт/мин)"
2463
2793
 
2464
2794
  #: maillog/graphics.py:201
2465
2795
  msgid "received size"
@@ -2475,181 +2805,166 @@ msgstr "Почтовый траффик"
2475
2805
 
2476
2806
  #: maillog/graphics.py:252
2477
2807
  msgid "Average account creation (account/hour)"
2478
- msgstr ""
2808
+ msgstr "Среднее создание учёток (акк/час)"
2479
2809
 
2480
2810
  #: maillog/graphics.py:254
2481
2811
  msgid "New accounts"
2482
- msgstr ""
2812
+ msgstr "Новые учётные записи"
2483
2813
 
2484
2814
  #: maillog/graphics.py:261
2485
2815
  msgid "Accounts"
2486
- msgstr ""
2816
+ msgstr "Учётные записи"
2487
2817
 
2488
2818
  #: pdfcredentials/api/v2/serializers.py:35 pdfcredentials/documents.py:60
2489
- #, fuzzy
2490
- #| msgid "Update your personal information"
2491
2819
  msgid "Personal account information"
2492
- msgstr "Обновить личную информацию"
2820
+ msgstr "Данные учётной записи"
2493
2821
 
2494
2822
  #: pdfcredentials/api/v2/serializers.py:86
2495
- #, fuzzy
2496
- #| msgid "Domain modified"
2497
2823
  msgid "Directory is not writable"
2498
- msgstr "Домен изменен"
2824
+ msgstr "Каталог недоступен для записи"
2499
2825
 
2500
2826
  #: pdfcredentials/api/v2/serializers.py:114
2501
2827
  msgid "No document available for this user"
2502
- msgstr ""
2828
+ msgstr "Для данного пользователя документ недоступен"
2503
2829
 
2504
2830
  #: pdfcredentials/app_settings.py:19
2505
2831
  msgid "Enable PDF credentials"
2506
- msgstr ""
2832
+ msgstr "Включить расширение PDF Credentials"
2507
2833
 
2508
2834
  #: pdfcredentials/app_settings.py:21
2509
2835
  msgid "Enabled PDF credentials document generation on account creation."
2510
- msgstr ""
2836
+ msgstr "Включить экспорт данных учётных записей пользователей в PDF-документы"
2511
2837
 
2512
2838
  #: pdfcredentials/app_settings.py:32
2513
2839
  msgid "Documents storage"
2514
- msgstr ""
2840
+ msgstr "Хранение документов"
2515
2841
 
2516
2842
  #: pdfcredentials/app_settings.py:38
2517
- #, fuzzy
2518
- #| msgid "Directory to store RRD files"
2519
2843
  msgid "Directory to save documents into"
2520
- msgstr "Папка для сохранения RRD файлов"
2844
+ msgstr "Каталог с документами"
2521
2845
 
2522
2846
  #: pdfcredentials/app_settings.py:40
2523
- #, fuzzy
2524
- #| msgid "Path to directory where RRD files are stored"
2525
2847
  msgid "Path to a directory where PDF documents will be saved"
2526
- msgstr "Путь к директории для сохранения RRD файлов"
2848
+ msgstr "Путь к каталогу, где будут храниться PDF-документы"
2527
2849
 
2528
2850
  #: pdfcredentials/app_settings.py:51
2529
- #, fuzzy
2530
- #| msgid "Description"
2531
2851
  msgid "Security options"
2532
- msgstr "Описание"
2852
+ msgstr "Настройки безопасности"
2533
2853
 
2534
2854
  #: pdfcredentials/app_settings.py:57
2535
2855
  msgid "Delete documents after the first download"
2536
- msgstr ""
2856
+ msgstr "Удалять документ после загрузки"
2537
2857
 
2538
2858
  #: pdfcredentials/app_settings.py:59
2539
2859
  msgid ""
2540
2860
  "Automatically delete a document just after its first download from this "
2541
2861
  "interface"
2542
- msgstr ""
2862
+ msgstr "Документ будет удалён сразу после скачивания с сервера"
2543
2863
 
2544
2864
  #: pdfcredentials/app_settings.py:68
2545
2865
  msgid "Generate documents only at account creation"
2546
- msgstr ""
2866
+ msgstr "Генерировать документ только при создании учётной записи "
2547
2867
 
2548
2868
  #: pdfcredentials/app_settings.py:71
2549
2869
  msgid ""
2550
2870
  "Generate a new document only when a new account is created. If set to no, a "
2551
2871
  "new document will be created each time a password is updated."
2552
2872
  msgstr ""
2873
+ "Генерировать документ только после создания новой учётной записи. Если "
2874
+ "выбрано \"Нет\", документ будет обновляться каждый раз при изменении пароля "
2875
+ "пользователя."
2553
2876
 
2554
2877
  #: pdfcredentials/app_settings.py:84
2555
2878
  msgid "Customization options"
2556
- msgstr ""
2879
+ msgstr "Персонализация"
2557
2880
 
2558
2881
  #: pdfcredentials/app_settings.py:90
2559
2882
  msgid "Title"
2560
- msgstr ""
2883
+ msgstr "Заголовок"
2561
2884
 
2562
2885
  #: pdfcredentials/app_settings.py:91
2563
2886
  msgid "The document's title"
2564
- msgstr ""
2887
+ msgstr "Заголовок документа"
2565
2888
 
2566
2889
  #: pdfcredentials/app_settings.py:97
2567
2890
  msgid "Web panel url"
2568
- msgstr ""
2891
+ msgstr "URL веб-интерфейса"
2569
2892
 
2570
2893
  #: pdfcredentials/app_settings.py:98
2571
2894
  msgid "URL of the Modoboa web panel"
2572
- msgstr ""
2895
+ msgstr "Адрес веб-интерфейса Modoboa"
2573
2896
 
2574
2897
  #: pdfcredentials/app_settings.py:104
2575
- #, fuzzy
2576
- #| msgid "sent messages"
2577
2898
  msgid "Custom message"
2578
- msgstr "Отправлено сообщений"
2899
+ msgstr "Пользовательское сообщение"
2579
2900
 
2580
2901
  #: pdfcredentials/app_settings.py:106
2581
2902
  msgid "A custom message that will appear at the end of documents"
2582
- msgstr ""
2903
+ msgstr "Сообщение, которое появится в конце документа"
2583
2904
 
2584
2905
  #: pdfcredentials/app_settings.py:113
2585
2906
  msgid "Include mail client connection settings"
2586
- msgstr ""
2907
+ msgstr "Включить конфигурацию почтовых клиентов"
2587
2908
 
2588
2909
  #: pdfcredentials/app_settings.py:115
2589
2910
  msgid ""
2590
2911
  "Include required SMTP and IMAP connection information to configure a mail "
2591
2912
  "client, a tablet or a phone"
2592
2913
  msgstr ""
2914
+ "Включить в документ информацию по подключению SMTP и IMAP, необходимую для "
2915
+ "настройки сторонних почтовых клиентов"
2593
2916
 
2594
2917
  #: pdfcredentials/app_settings.py:123 pdfcredentials/documents.py:133
2595
- #, fuzzy
2596
- #| msgid "Server address"
2597
2918
  msgid "SMTP server address"
2598
- msgstr "Адрес сервера"
2919
+ msgstr "Адрес SMTP-сервера"
2599
2920
 
2600
2921
  #: pdfcredentials/app_settings.py:126
2601
2922
  msgid "Address of the SMTP server (hostname or IP)"
2602
- msgstr ""
2923
+ msgstr "Адрес SMTP-сервера (имя узла или IP-адрес)"
2603
2924
 
2604
2925
  #: pdfcredentials/app_settings.py:133 pdfcredentials/documents.py:134
2605
- #, fuzzy
2606
- #| msgid "Server port"
2607
2926
  msgid "SMTP server port"
2608
- msgstr "Порт сервера"
2927
+ msgstr "Порт SMTP-сервера"
2609
2928
 
2610
2929
  #: pdfcredentials/app_settings.py:135
2611
2930
  msgid "Listening port of the SMTP server"
2612
- msgstr ""
2931
+ msgstr "Порт, на котором работает SMTP-сервер"
2613
2932
 
2614
2933
  #: pdfcredentials/app_settings.py:141 pdfcredentials/documents.py:135
2615
2934
  msgid "SMTP connection security"
2616
- msgstr ""
2935
+ msgstr "Безопасное соединение SMTP"
2617
2936
 
2618
2937
  #: pdfcredentials/app_settings.py:143 pdfcredentials/app_settings.py:169
2619
2938
  msgid "Connection security mechanism"
2620
- msgstr ""
2939
+ msgstr "Механизм безопасности подключения"
2621
2940
 
2622
2941
  #: pdfcredentials/app_settings.py:149 pdfcredentials/documents.py:136
2623
- #, fuzzy
2624
- #| msgid "Server address"
2625
2942
  msgid "IMAP server address"
2626
- msgstr "Адрес сервера"
2943
+ msgstr "Адрес IMAP-сервера"
2627
2944
 
2628
2945
  #: pdfcredentials/app_settings.py:152
2629
2946
  msgid "Address of the IMAP server (hostname or IP)"
2630
- msgstr ""
2947
+ msgstr "Адрес IMAP-сервера (имя узла или IP-адрес)"
2631
2948
 
2632
2949
  #: pdfcredentials/app_settings.py:159 pdfcredentials/documents.py:137
2633
- #, fuzzy
2634
- #| msgid "Server port"
2635
2950
  msgid "IMAP server port"
2636
- msgstr "Порт сервера"
2951
+ msgstr "Порт IMAP-сервера"
2637
2952
 
2638
2953
  #: pdfcredentials/app_settings.py:161
2639
2954
  msgid "Listening port of the IMAP server"
2640
- msgstr ""
2955
+ msgstr "Порт, на котором работает IMAP-сервер"
2641
2956
 
2642
2957
  #: pdfcredentials/app_settings.py:167 pdfcredentials/documents.py:138
2643
2958
  msgid "IMAP connection security"
2644
- msgstr ""
2959
+ msgstr "Безопасное соединение IMAP"
2645
2960
 
2646
2961
  #: pdfcredentials/apps.py:21
2647
2962
  msgid "PDF Credentials"
2648
- msgstr ""
2963
+ msgstr "PDF Credentials"
2649
2964
 
2650
2965
  #: pdfcredentials/documents.py:65
2651
2966
  msgid "Powered by Modoboa - Mail hosting made simple"
2652
- msgstr ""
2967
+ msgstr "Работает на Modoboa — почтовый хостинг без лишних сложностей"
2653
2968
 
2654
2969
  #: pdfcredentials/documents.py:84
2655
2970
  #, python-format
@@ -2659,10 +2974,14 @@ msgid ""
2659
2974
  "to connect to Modoboa. Learn the content and destroy\n"
2660
2975
  "the document as soon as possible.\n"
2661
2976
  msgstr ""
2977
+ "\n"
2978
+ "Уважаемый %s, этот документ содержит данные\n"
2979
+ "для входа в Ваш почтовый ящик Modoboa.\n"
2980
+ "Изучите содержимое и удалите этот документ.\n"
2662
2981
 
2663
2982
  #: pdfcredentials/documents.py:95
2664
2983
  msgid "Web panel:"
2665
- msgstr ""
2984
+ msgstr "Адрес веб-интерфейса:"
2666
2985
 
2667
2986
  #: pdfcredentials/documents.py:98
2668
2987
  msgid "Username"
@@ -2678,147 +2997,147 @@ msgid ""
2678
2997
  "Here you can view your emails anytime online, create filters or manage\n"
2679
2998
  "your contacts.\n"
2680
2999
  msgstr ""
3000
+ "\n"
3001
+ "Здесь Вы можете просматривать свою почту и\n"
3002
+ "настраивать фильтры.\n"
2681
3003
 
2682
3004
  #: pdfcredentials/documents.py:126
2683
- #, fuzzy
2684
- #| msgid "Change password"
2685
3005
  msgid "Please change your password!"
2686
- msgstr "Изменить пароль"
3006
+ msgstr "Для безопасности рекомендуется сменить пароль! "
2687
3007
 
2688
3008
  #: pdfcredentials/documents.py:130
2689
3009
  msgid "PC/Tablet/Smartphone configuration:"
2690
- msgstr ""
3010
+ msgstr "Конфигурация почтовых клиентов:"
2691
3011
 
2692
3012
  #: pdfcredentials/documents.py:153
2693
3013
  msgid "Use those settings for your computer, tablet or phone."
2694
3014
  msgstr ""
3015
+ "Используйте эти настройки для подключения из почтовой программы телефона,\n"
3016
+ "планшета или компьютера."
2695
3017
 
2696
3018
  #: pdfcredentials/handlers.py:35
2697
3019
  msgid ""
2698
3020
  "Failed to create PDF_credentials directory. Please check the permissions or "
2699
3021
  "the path."
2700
- msgstr ""
3022
+ msgstr "Не удалось создать каталог PDF_credentials. Проверьте права и путь."
2701
3023
 
2702
3024
  #: pdfcredentials/handlers.py:64
2703
3025
  msgid "Download PDF credentials"
2704
- msgstr ""
3026
+ msgstr "Скачать PDF credentials"
2705
3027
 
2706
3028
  #: pdfcredentials/lib.py:29
2707
3029
  msgid "Can't write to selected directory to store PDF documents"
2708
- msgstr ""
3030
+ msgstr "Нет прав на запись в выбранный каталог для PDF-документов"
2709
3031
 
2710
3032
  #: pdfcredentials/lib.py:35
2711
3033
  #, python-format
2712
3034
  msgid "Failed to create the directory that will contain PDF documents (%s)"
2713
- msgstr ""
3035
+ msgstr "Не удалось создать директорию для PDF документов (%s)"
2714
3036
 
2715
3037
  #: pdfcredentials/lib.py:82
2716
3038
  msgid ""
2717
3039
  "Failed to create PDF_credentials file. Please check the permissions or the "
2718
3040
  "path."
2719
- msgstr ""
3041
+ msgstr "Не удалось создать PDF-документ. Проверьте права и путь"
2720
3042
 
2721
3043
  #: policyd/core.py:99
2722
- #, fuzzy
2723
- #| msgid "%s: limit reached"
2724
3044
  msgid "Daily sending limit reached"
2725
- msgstr "%s лимит исчерпан"
3045
+ msgstr "Достигнут дневной лимит отправки"
2726
3046
 
2727
3047
  #: policyd/core.py:118
2728
3048
  msgid "domain"
2729
- msgstr ""
3049
+ msgstr "домен"
2730
3050
 
2731
3051
  #: policyd/core.py:136
2732
- #, fuzzy
2733
- #| msgid "%s: limit reached"
2734
3052
  msgid "[modoboa] Sending limit reached"
2735
- msgstr "%s лимит исчерпан"
3053
+ msgstr "[modoboa] Достигнут лимит отправки"
2736
3054
 
2737
3055
  #: policyd/templates/policyd/notifications/limit_reached.html:3
2738
3056
  #, python-format
2739
3057
  msgid "Daily limit of the following %(ltype)s has been reached: %(name)s."
2740
- msgstr ""
3058
+ msgstr "Достигнут дневной лимит для %(ltype)s: %(name)s"
2741
3059
 
2742
3060
  #: relaydomains/api/v1/serializers.py:24
2743
3061
  msgid "Unsupported service"
2744
- msgstr ""
3062
+ msgstr "Сервис не поддерживается"
2745
3063
 
2746
3064
  #: relaydomains/transport.py:16
2747
3065
  msgid "target host address"
2748
- msgstr ""
3066
+ msgstr "Адрес целевого сервера"
2749
3067
 
2750
3068
  #: relaydomains/transport.py:21
2751
3069
  msgid "target host port"
2752
- msgstr ""
3070
+ msgstr "Порт целевого сервера"
2753
3071
 
2754
3072
  #: relaydomains/transport.py:27
2755
3073
  msgid "verify recipients"
2756
- msgstr ""
3074
+ msgstr "проверить получателей"
2757
3075
 
2758
3076
  #: rspamd/api/v2/serializers.py:15
2759
- #, fuzzy
2760
- #| msgid "Domain modified"
2761
3077
  msgid "Provided path is not writable."
2762
- msgstr "Домен изменен"
3078
+ msgstr "Указанный путь недоступен для записи"
2763
3079
 
2764
3080
  #: rspamd/api/v2/serializers.py:18
2765
3081
  msgid "Please create the parent directory for the files"
2766
- msgstr ""
3082
+ msgstr "Создайте родительский каталог вручную"
2767
3083
 
2768
3084
  #: rspamd/api/v2/serializers.py:22
2769
3085
  msgid "Unable to write to the directory."
2770
- msgstr ""
3086
+ msgstr "Нет прав на запись в каталог"
2771
3087
 
2772
3088
  #: rspamd/app_settings.py:13
2773
- #, fuzzy
2774
- #| msgid "IMAP settings"
2775
3089
  msgid "DKIM signing settings"
2776
- msgstr "Настройки IMAP"
3090
+ msgstr "Настройки подписи DKIM"
2777
3091
 
2778
3092
  #: rspamd/app_settings.py:19
2779
3093
  msgid "Key map path"
2780
- msgstr ""
3094
+ msgstr "Путь к карте ключей"
2781
3095
 
2782
3096
  #: rspamd/app_settings.py:21
2783
3097
  msgid ""
2784
- "Absolute path of the file which contains paths to DKIM private keys. Must be"
2785
- " readable by _rspamd group or user."
3098
+ "Absolute path of the file which contains paths to DKIM private keys. Must be "
3099
+ "readable by _rspamd group or user."
2786
3100
  msgstr ""
3101
+ "Абсолютный путь к файлу, содержащему пути к закрытым ключам DKIM. Должен "
3102
+ "быть доступен для чтения группе или пользователю _rspamd."
2787
3103
 
2788
3104
  #: rspamd/app_settings.py:30
2789
3105
  msgid "Selector map path"
2790
- msgstr ""
3106
+ msgstr "Путь селектора карты"
2791
3107
 
2792
3108
  #: rspamd/app_settings.py:32
2793
3109
  msgid ""
2794
3110
  "Absolute path of the file which contains names of DKIM selectors. Must be "
2795
3111
  "readable by _rspamd group or user."
2796
3112
  msgstr ""
3113
+ "Абсолютный путь к файлу, содержащему имена селекторов DKIM. Должен быть "
3114
+ "доступен для чтения группе или пользователю _rspamd."
2797
3115
 
2798
3116
  #: rspamd/app_settings.py:51
2799
3117
  msgid "Rspamd dashboard location"
2800
- msgstr ""
3118
+ msgstr "Адрес панели Rspamd"
2801
3119
 
2802
3120
  #: rspamd/app_settings.py:53
2803
3121
  msgid ""
2804
- "Location of the rspamd dashboard. Can either be a relative URL (eg. "
2805
- "'/rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
3122
+ "Location of the rspamd dashboard. Can either be a relative URL (eg. '/"
3123
+ "rspamd') or a full URL (eg. 'https://rspamd.domain.tld/').Only use for "
2806
3124
  "guidance on the Super-Admin dashboard."
2807
3125
  msgstr ""
3126
+ "Расположение панели управления rspamd. Может быть как относительным URL-"
3127
+ "адресом (например, «/rspamd»), так и полным URL-адресом (например, «https://"
3128
+ "rspamd.domain.tld/»). Используйте только для справки на панели управления "
3129
+ "суперадминистратора."
2808
3130
 
2809
3131
  #: rspamd/apps.py:18
2810
3132
  msgid "Rspamd"
2811
- msgstr ""
3133
+ msgstr "Rspamd"
2812
3134
 
2813
- #: sievefilters/api/v2/viewsets.py:193
2814
- #, fuzzy, python-format
2815
- #| msgid "User '%s' already exists"
3135
+ #: sievefilters/api/v2/viewsets.py:203
3136
+ #, python-format
2816
3137
  msgid "Filter %s already exists"
2817
- msgstr "Пользователь '%s' уже существует"
3138
+ msgstr "Фильтр %s уже существует"
2818
3139
 
2819
3140
  #: sievefilters/app_settings.py:12
2820
- #, fuzzy
2821
- #| msgid "LDAP settings"
2822
3141
  msgid "ManageSieve settings"
2823
3142
  msgstr "Настройки фильтров содержания"
2824
3143
 
@@ -2844,39 +3163,33 @@ msgstr "Настройки IMAP"
2844
3163
 
2845
3164
  #: sievefilters/app_settings.py:52 webmail/app_settings.py:38
2846
3165
  msgid "Address of your IMAP server"
2847
- msgstr "Адрес вашего IMAP сервера"
3166
+ msgstr "Адрес вашего IMAP-сервера"
2848
3167
 
2849
3168
  #: sievefilters/app_settings.py:60 webmail/app_settings.py:47
2850
3169
  msgid "Use a secured connection to access IMAP server"
2851
- msgstr "Использовать защищенное соединение с IMAP севером"
3170
+ msgstr "Использовать защищенное соединение с IMAP-севером"
2852
3171
 
2853
3172
  #: sievefilters/app_settings.py:68 webmail/app_settings.py:56
2854
3173
  msgid "Listening port of your IMAP server"
2855
- msgstr "Порт вашего IMAP сервера"
3174
+ msgstr "Порт вашего IMAP-сервера"
2856
3175
 
2857
3176
  #: sievefilters/apps.py:15
2858
- #, fuzzy
2859
- #| msgid "Search filter"
2860
3177
  msgid "Sieve filters"
2861
3178
  msgstr "Фильтры содержания"
2862
3179
 
2863
3180
  #: sievefilters/constants.py:10
2864
3181
  msgid "All of the following"
2865
- msgstr "Любое из следующих"
3182
+ msgstr "Все из следующих"
2866
3183
 
2867
3184
  #: sievefilters/constants.py:11
2868
3185
  msgid "Any of the following"
2869
3186
  msgstr "Любое из следующих"
2870
3187
 
2871
3188
  #: sievefilters/constants.py:12
2872
- #, fuzzy
2873
- #| msgid "sent messages"
2874
3189
  msgid "All messages"
2875
3190
  msgstr "Все сообщения"
2876
3191
 
2877
3192
  #: sievefilters/constants.py:16
2878
- #, fuzzy
2879
- #| msgid "Domains"
2880
3193
  msgid "contains"
2881
3194
  msgstr "содержит"
2882
3195
 
@@ -2886,19 +3199,17 @@ msgstr "не содержит"
2886
3199
 
2887
3200
  #: sievefilters/constants.py:18
2888
3201
  msgid "is"
2889
- msgstr "является"
3202
+ msgstr "равно"
2890
3203
 
2891
3204
  #: sievefilters/constants.py:19
2892
3205
  msgid "is not"
2893
- msgstr "не"
3206
+ msgstr "не равно"
2894
3207
 
2895
- #: sievefilters/constants.py:23 webmail/lib/imapemail.py:304
3208
+ #: sievefilters/constants.py:23 webmail/lib/imapemail.py:302
2896
3209
  msgid "Subject"
2897
3210
  msgstr "Тема"
2898
3211
 
2899
3212
  #: sievefilters/constants.py:24
2900
- #, fuzzy
2901
- #| msgid "Sender address"
2902
3213
  msgid "Sender"
2903
3214
  msgstr "Отправитель"
2904
3215
 
@@ -2911,8 +3222,6 @@ msgid "Size"
2911
3222
  msgstr "Размер"
2912
3223
 
2913
3224
  #: sievefilters/constants.py:31
2914
- #, fuzzy
2915
- #| msgid "Must be greater than start date"
2916
3225
  msgid "is greater than"
2917
3226
  msgstr "больше"
2918
3227
 
@@ -2921,24 +3230,20 @@ msgid "is less than"
2921
3230
  msgstr "меньше"
2922
3231
 
2923
3232
  #: sievefilters/constants.py:40
2924
- #, fuzzy
2925
- #| msgid "bounced messages"
2926
3233
  msgid "Move message to"
2927
- msgstr "Переместить сообщение"
3234
+ msgstr "Переместить письмо в"
2928
3235
 
2929
3236
  #: sievefilters/constants.py:46 sievefilters/constants.py:60
2930
3237
  msgid "Keep local copy"
2931
- msgstr ""
3238
+ msgstr "Сохранить локальную копию"
2932
3239
 
2933
3240
  #: sievefilters/constants.py:54
2934
- #, fuzzy
2935
- #| msgid "rejected messages"
2936
3241
  msgid "Redirect message to"
2937
- msgstr "Перенаправление сообщение для"
3242
+ msgstr "Перенаправить сообщение для"
2938
3243
 
2939
3244
  #: sievefilters/constants.py:68
2940
3245
  msgid "Reject message"
2941
- msgstr ""
3246
+ msgstr "Отклонить сообщение"
2942
3247
 
2943
3248
  #: sievefilters/constants.py:71
2944
3249
  msgid "Stop processing"
@@ -2949,14 +3254,12 @@ msgid "Connection to MANAGESIEVE server failed, check your configuration"
2949
3254
  msgstr "Соединение с сервером MANAGESIEVE не удалось, проверьте конфигурацию"
2950
3255
 
2951
3256
  #: sievefilters/lib.py:76
2952
- #, fuzzy
2953
- #| msgid "Not enough resources"
2954
3257
  msgid "Not enough space on server"
2955
3258
  msgstr "Нет свободного места на сервере"
2956
3259
 
2957
3260
  #: templates/404.html:4 templates/500.html:4
2958
3261
  msgid "Sorry"
2959
- msgstr "Жаль"
3262
+ msgstr "Извините"
2960
3263
 
2961
3264
  #: templates/404.html:5
2962
3265
  msgid "The requested page does not exist."
@@ -2980,10 +3283,8 @@ msgid "Welcome to Modoboa"
2980
3283
  msgstr "Добро пожаловать в Modoboa!"
2981
3284
 
2982
3285
  #: templates/registration/login.html:11
2983
- #, fuzzy
2984
- #| msgid "Notifications"
2985
3286
  msgid "Identification"
2986
- msgstr "Уведомления"
3287
+ msgstr "Вход в систему"
2987
3288
 
2988
3289
  #: templates/registration/login.html:24
2989
3290
  msgid "Remember me"
@@ -3006,6 +3307,8 @@ msgid ""
3006
3307
  "Your password has been set. You may go ahead and <a href=\"%(url)s\">sign "
3007
3308
  "in</a> now."
3008
3309
  msgstr ""
3310
+ "Ваш пароль установлен. Вы можете <a href=\"%(url)s\">войти в систему </"
3311
+ "a>прямо сейчас."
3009
3312
 
3010
3313
  #: templates/registration/password_reset_confirm.html:8
3011
3314
  msgid "Change password"
@@ -3022,18 +3325,20 @@ msgid ""
3022
3325
  "The password reset link was invalid, possibly because it has already been "
3023
3326
  "used. Please request a new password reset."
3024
3327
  msgstr ""
3328
+ "Ссылка для сброса пароля недействительна, возможно, потому, что она уже "
3329
+ "использовалась. Пожалуйста, запросите сброс нового пароля."
3025
3330
 
3026
3331
  #: templates/registration/password_reset_confirm_code.html:22
3027
3332
  msgid "Enter the code you've just received by SMS"
3028
- msgstr ""
3333
+ msgstr "Введите код, который вы только что получили по SMS"
3029
3334
 
3030
3335
  #: templates/registration/password_reset_confirm_code.html:30
3031
3336
  msgid "Resend code"
3032
- msgstr ""
3337
+ msgstr "Отправить код еще раз"
3033
3338
 
3034
3339
  #: templates/registration/password_reset_confirm_code.html:45
3035
3340
  msgid "The code has been sent again"
3036
- msgstr ""
3341
+ msgstr "Код отправлен повторно"
3037
3342
 
3038
3343
  #: templates/registration/password_reset_done.html:8
3039
3344
  msgid ""
@@ -3042,6 +3347,11 @@ msgid ""
3042
3347
  "<p>If you don't receive an email, please make sure you've entered your "
3043
3348
  "primary address, and check your spam folder.</p>"
3044
3349
  msgstr ""
3350
+ "<p>Мы отправили вам по электронной почте инструкции по установке пароля, "
3351
+ "если существует учетная запись с указанным вами адресом электронной почты. "
3352
+ "Вы должны получить их в ближайшее время. </p> <p> Если вы не получили "
3353
+ "электронное письмо, убедитесь, что вы ввели свой основной адрес, и проверьте "
3354
+ "папку со спамом.</p>"
3045
3355
 
3046
3356
  #: templates/registration/password_reset_email.html:4
3047
3357
  #: templates/registration/password_reset_email_v2.html:4
@@ -3050,6 +3360,8 @@ msgid ""
3050
3360
  "To initiate the password reset process for your %(username)s Modoboa "
3051
3361
  "account, click the link below:"
3052
3362
  msgstr ""
3363
+ "Чтобы начать процесс сброса пароля для вашей учетной записи %(username)s "
3364
+ "Modoboa, нажмите ссылку ниже:"
3053
3365
 
3054
3366
  #: templates/registration/password_reset_email.html:10
3055
3367
  #: templates/registration/password_reset_email_v2.html:10
@@ -3057,45 +3369,46 @@ msgid ""
3057
3369
  "If clicking the link above doesn't work, please copy and paste the URL in a "
3058
3370
  "new browser window instead."
3059
3371
  msgstr ""
3372
+ "Если ссылка выше не работает, скопируйте и вставьте URL-адрес в новое окно "
3373
+ "браузера."
3060
3374
 
3061
3375
  #: templates/registration/password_reset_email.html:14
3062
3376
  #: templates/registration/password_reset_email_v2.html:14
3063
3377
  msgid "Sincerely, The Modoboa Team."
3064
- msgstr ""
3378
+ msgstr "С уважением, команда Modoboa."
3065
3379
 
3066
3380
  #: templates/registration/password_reset_subject.txt:3
3067
3381
  msgid "Modoboa password reset"
3068
- msgstr ""
3382
+ msgstr "Сброс пароля Modoboa"
3069
3383
 
3070
3384
  #: templates/registration/twofactor_code_verify.html:11
3071
- #, fuzzy
3072
- #| msgid "Notifications"
3073
3385
  msgid "Verification"
3074
- msgstr "Уведомления"
3386
+ msgstr "Проверка"
3075
3387
 
3076
3388
  #: templates/registration/twofactor_code_verify.html:15
3077
3389
  msgid "Use TOTP/backup code"
3078
- msgstr ""
3390
+ msgstr "Ввести код из приложения / резервный код"
3079
3391
 
3080
3392
  #: templates/registration/twofactor_code_verify.html:18
3081
3393
  msgid "Use Webauthn device"
3082
- msgstr ""
3394
+ msgstr "Использовать устройство Webauthn"
3083
3395
 
3084
3396
  #: templates/registration/twofactor_code_verify.html:27
3085
- #, fuzzy
3086
- #| msgid "Old password"
3087
3397
  msgid "One-time password"
3088
- msgstr "Старый пароль"
3398
+ msgstr "Одноразовый код"
3089
3399
 
3090
3400
  #: templates/registration/twofactor_code_verify.html:35
3091
3401
  msgid ""
3092
- "Enter the code from the two-factor app on your mobile device. If you've lost"
3093
- " your device, you may enter one of your recovery codes."
3402
+ "Enter the code from the two-factor app on your mobile device. If you've lost "
3403
+ "your device, you may enter one of your recovery codes."
3094
3404
  msgstr ""
3405
+ "Введите код из приложения двухфакторной аутентификации на вашем мобильном "
3406
+ "устройстве. Если вы потеряли устройство, вы можете ввести один из кодов "
3407
+ "восстановления."
3095
3408
 
3096
3409
  #: templates/registration/twofactor_code_verify.html:42
3097
3410
  msgid "Verify code"
3098
- msgstr ""
3411
+ msgstr "Проверить код"
3099
3412
 
3100
3413
  #: templates/registration/twofactor_code_verify.html:45
3101
3414
  #: templates/registration/twofactor_code_verify.html:51
@@ -3104,25 +3417,23 @@ msgstr "Назад"
3104
3417
 
3105
3418
  #: templates/registration/twofactor_code_verify.html:49
3106
3419
  msgid "Log using Webauthn"
3107
- msgstr ""
3420
+ msgstr "Авторизуйтесь с помощью Webauthn"
3108
3421
 
3109
3422
  #: transport/backends.py:55
3110
- #, fuzzy
3111
- #| msgid "Invalid line"
3112
3423
  msgid "Invalid value"
3113
- msgstr "Ошибочная строка"
3424
+ msgstr "Неверное значение"
3114
3425
 
3115
3426
  #: transport/models.py:15
3116
3427
  msgid "pattern"
3117
- msgstr ""
3428
+ msgstr "шаблон"
3118
3429
 
3119
3430
  #: transport/models.py:16
3120
3431
  msgid "service"
3121
- msgstr ""
3432
+ msgstr "сервис"
3122
3433
 
3123
3434
  #: transport/models.py:17
3124
3435
  msgid "next hop"
3125
- msgstr ""
3436
+ msgstr "следующий узел"
3126
3437
 
3127
3438
  #: webmail/app_settings.py:17
3128
3439
  msgid "Maximum attachment size"
@@ -3130,226 +3441,205 @@ msgstr "Максимальный размер вложения"
3130
3441
 
3131
3442
  #: webmail/app_settings.py:19
3132
3443
  msgid "Maximum attachment size in bytes (or KB, MB, GB if specified)"
3133
- msgstr "Максимальный размер вложения в байтах (или КБ. МБ, ГБ)"
3444
+ msgstr "Максимальный размер одного вложения (можно указать КБ, МБ, ГБ)"
3134
3445
 
3135
3446
  #: webmail/app_settings.py:67
3136
- #, fuzzy
3137
- #| msgid "LDAP settings"
3138
3447
  msgid "SMTP settings"
3139
3448
  msgstr "Настройки SMTP"
3140
3449
 
3141
- #: webmail/app_settings.py:75
3142
- #, fuzzy
3143
- #| msgid "Address of your MANAGESIEVE server"
3450
+ #: webmail/app_settings.py:75 webmail/app_settings.py:121
3144
3451
  msgid "Address of your SMTP server"
3145
- msgstr "Адрес вашего сервера SMTP"
3452
+ msgstr "Адрес вашего SMTP-сервера"
3146
3453
 
3147
- #: webmail/app_settings.py:82
3148
- #, fuzzy
3149
- #| msgid "Use a secured connection"
3454
+ #: webmail/app_settings.py:82 webmail/app_settings.py:128
3150
3455
  msgid "Secured connection mode"
3151
3456
  msgstr "Режим безопасного подключения"
3152
3457
 
3153
- #: webmail/app_settings.py:84
3154
- #, fuzzy
3155
- #| msgid "Use an SSL/STARTTLS connection to access the LDAP server"
3458
+ #: webmail/app_settings.py:84 webmail/app_settings.py:130
3156
3459
  msgid "Use a secured connection to access SMTP server"
3157
- msgstr "Использовать защищенное соединение"
3460
+ msgstr "Используйте безопасное соединение для доступа к SMTP-серверу"
3158
3461
 
3159
- #: webmail/app_settings.py:93
3160
- #, fuzzy
3161
- #| msgid "Listening port of your MANAGESIEVE server"
3462
+ #: webmail/app_settings.py:93 webmail/app_settings.py:139
3162
3463
  msgid "Listening port of your SMTP server"
3163
- msgstr "Порт вашего SMTP сервера"
3464
+ msgstr "Порт вашего SMTP-сервера"
3164
3465
 
3165
3466
  #: webmail/app_settings.py:100
3166
- #, fuzzy
3167
- #| msgid "Authentication method"
3168
3467
  msgid "Authentication required"
3169
3468
  msgstr "Требуется аутентификация"
3170
3469
 
3171
3470
  #: webmail/app_settings.py:102
3172
- #, fuzzy
3173
3471
  msgid "Server needs authentication"
3174
3472
  msgstr "Сервер требует авторизации"
3175
3473
 
3176
- #: webmail/app_settings.py:118
3177
- msgid "Display"
3178
- msgstr "Отображение"
3474
+ #: webmail/app_settings.py:113
3475
+ #, fuzzy
3476
+ #| msgid "Server settings"
3477
+ msgid "Scheduling settings"
3478
+ msgstr "Настройки сервера"
3179
3479
 
3180
- #: webmail/app_settings.py:124
3480
+ #: webmail/app_settings.py:161
3181
3481
  msgid "Default message display mode"
3182
3482
  msgstr "Отображение сообщений по умолчанию"
3183
3483
 
3184
- #: webmail/app_settings.py:126
3185
- #, fuzzy
3186
- #| msgid "The default redirection used when no application is specified"
3484
+ #: webmail/app_settings.py:163
3187
3485
  msgid "The default mode used when displaying a message"
3188
3486
  msgstr "Для отображения сообщения используется режим по умолчанию"
3189
3487
 
3190
- #: webmail/app_settings.py:133
3488
+ #: webmail/app_settings.py:170
3191
3489
  msgid "Enable HTML links display"
3192
3490
  msgstr "Разрешить показ HTML ссылок"
3193
3491
 
3194
- #: webmail/app_settings.py:136
3492
+ #: webmail/app_settings.py:173
3195
3493
  msgid "Enable/Disable HTML links display"
3196
3494
  msgstr "Разрешить/Запретить показ HTML ссылок"
3197
3495
 
3198
- #: webmail/app_settings.py:144
3199
- #, fuzzy
3200
- #| msgid "Number of displayed items per page"
3201
- msgid "Number of displayed emails per page"
3202
- msgstr "Количество отображаемых сообщений на странице"
3203
-
3204
- #: webmail/app_settings.py:147
3496
+ #: webmail/app_settings.py:184
3205
3497
  msgid "Sets the maximum number of messages displayed in a page"
3206
3498
  msgstr "Максимальное количество сообщений на страницу"
3207
3499
 
3208
- #: webmail/app_settings.py:154
3500
+ #: webmail/app_settings.py:191
3209
3501
  msgid "Listing refresh rate"
3210
3502
  msgstr "Частота обновления листинга"
3211
3503
 
3212
- #: webmail/app_settings.py:156
3504
+ #: webmail/app_settings.py:193
3213
3505
  msgid "Automatic listing refresh rate (in secconds)"
3214
- msgstr ""
3506
+ msgstr "Обновлять список каждые (в секундах)"
3215
3507
 
3216
- #: webmail/app_settings.py:163
3508
+ #: webmail/app_settings.py:200
3217
3509
  msgid "Folder container's width"
3218
3510
  msgstr "Ширина окна папок"
3219
3511
 
3220
- #: webmail/app_settings.py:165
3512
+ #: webmail/app_settings.py:202
3221
3513
  msgid "The width of the folder list container"
3222
3514
  msgstr "Ширина окна списка папок"
3223
3515
 
3224
- #: webmail/app_settings.py:176
3225
- #, fuzzy
3226
- #| msgid "Create aliases"
3516
+ #: webmail/app_settings.py:213
3227
3517
  msgid "Folders"
3228
3518
  msgstr "Папки"
3229
3519
 
3230
- #: webmail/app_settings.py:182
3231
- #, fuzzy
3232
- #| msgid "Create aliases"
3520
+ #: webmail/app_settings.py:219
3233
3521
  msgid "Trash folder"
3234
3522
  msgstr "Корзина"
3235
3523
 
3236
- #: webmail/app_settings.py:184
3524
+ #: webmail/app_settings.py:221
3237
3525
  msgid "Folder where deleted messages go"
3238
3526
  msgstr "Папка для удаленных сообщений"
3239
3527
 
3240
- #: webmail/app_settings.py:191
3241
- #, fuzzy
3242
- #| msgid "Create aliases"
3528
+ #: webmail/app_settings.py:228
3243
3529
  msgid "Sent folder"
3244
- msgstr "Папка отправленные"
3530
+ msgstr "Папка отправленных"
3245
3531
 
3246
- #: webmail/app_settings.py:193
3532
+ #: webmail/app_settings.py:230
3247
3533
  msgid "Folder where copies of sent messages go"
3248
3534
  msgstr "Папка для копий отправленных сообщений"
3249
3535
 
3250
- #: webmail/app_settings.py:200
3251
- #, fuzzy
3252
- #| msgid "Create aliases"
3536
+ #: webmail/app_settings.py:237
3253
3537
  msgid "Drafts folder"
3254
- msgstr "Папка для черновиков"
3538
+ msgstr "Папка черновиков"
3255
3539
 
3256
- #: webmail/app_settings.py:201
3540
+ #: webmail/app_settings.py:238
3257
3541
  msgid "Folder where drafts go"
3258
3542
  msgstr "Папка для черновиков"
3259
3543
 
3260
- #: webmail/app_settings.py:207
3261
- #, fuzzy
3262
- #| msgid "Create aliases"
3544
+ #: webmail/app_settings.py:244
3263
3545
  msgid "Junk folder"
3264
3546
  msgstr "Папка для спама"
3265
3547
 
3266
- #: webmail/app_settings.py:209
3548
+ #: webmail/app_settings.py:246
3267
3549
  msgid "Folder where junk messages should go"
3268
- msgstr "Папка для спама"
3550
+ msgstr "Папка, куда следует помещать спам"
3269
3551
 
3270
- #: webmail/app_settings.py:220
3271
- #, fuzzy
3272
- #| msgid "sent messages"
3552
+ #: webmail/app_settings.py:257
3273
3553
  msgid "Composing messages"
3274
3554
  msgstr "Написать сообщение"
3275
3555
 
3276
- #: webmail/app_settings.py:226
3277
- #, fuzzy
3278
- #| msgid "Default top redirection"
3556
+ #: webmail/app_settings.py:263
3279
3557
  msgid "Default editor"
3280
3558
  msgstr "Редактор по умолчанию"
3281
3559
 
3282
- #: webmail/app_settings.py:228
3283
- #, fuzzy
3284
- #| msgid "The default redirection used when no application is specified"
3560
+ #: webmail/app_settings.py:265
3285
3561
  msgid "The default editor to use when composing a message"
3286
3562
  msgstr "Редактор по умолчанию для создания сообщения"
3287
3563
 
3288
- #: webmail/app_settings.py:235
3564
+ #: webmail/app_settings.py:272
3289
3565
  msgid "Signature text"
3290
3566
  msgstr "Тест подписи"
3291
3567
 
3292
- #: webmail/app_settings.py:237
3568
+ #: webmail/app_settings.py:274
3293
3569
  msgid "User defined email signature"
3294
3570
  msgstr "Пользовательская подпись"
3295
3571
 
3296
3572
  #: webmail/exceptions.py:18
3297
- #, fuzzy
3298
- #| msgid "Server address"
3299
3573
  msgid "Server response"
3300
- msgstr "Адрес сервера"
3574
+ msgstr "Ответ сервера"
3301
3575
 
3302
3576
  #: webmail/lib/attachments.py:112
3303
- #, fuzzy
3304
- #| msgid "Failed to remove filter"
3305
3577
  msgid "Failed to remove attachment: "
3306
3578
  msgstr "Не удалось удалить вложение:"
3307
3579
 
3308
- #: webmail/lib/imapemail.py:272
3580
+ #: webmail/lib/imapemail.py:270
3309
3581
  msgid "wrote:"
3310
- msgstr ""
3582
+ msgstr "написал:"
3311
3583
 
3312
- #: webmail/lib/imapemail.py:306
3584
+ #: webmail/lib/imapemail.py:304
3313
3585
  msgid "Date"
3314
3586
  msgstr "Дата"
3315
3587
 
3316
- #: webmail/lib/imapemail.py:322 webmail/lib/imapemail.py:325
3317
- #, fuzzy
3318
- #| msgid "sent messages"
3588
+ #: webmail/lib/imapemail.py:320 webmail/lib/imapemail.py:323
3319
3589
  msgid "Original message"
3320
- msgstr "Все сообщения"
3590
+ msgstr "Исходное сообщение"
3321
3591
 
3322
- #: webmail/lib/imaputils.py:221
3592
+ #: webmail/lib/imaputils.py:222
3323
3593
  msgid "Failed to retrieve hierarchy delimiter"
3324
3594
  msgstr "Не удалось получить разделитель уровней иерархии"
3325
3595
 
3326
- #: webmail/lib/imaputils.py:472
3596
+ #: webmail/lib/imaputils.py:478
3327
3597
  msgid "Inbox"
3328
3598
  msgstr "Входящие"
3329
3599
 
3330
- #: webmail/lib/imaputils.py:476
3331
- #, fuzzy
3332
- #| msgid "Create aliases"
3600
+ #: webmail/lib/imaputils.py:482
3333
3601
  msgid "Drafts"
3334
3602
  msgstr "Черновики"
3335
3603
 
3336
- #: webmail/lib/imaputils.py:481
3604
+ #: webmail/lib/imaputils.py:487
3337
3605
  msgid "Junk"
3338
3606
  msgstr "Спам"
3339
3607
 
3340
- #: webmail/lib/imaputils.py:486
3608
+ #: webmail/lib/imaputils.py:492
3341
3609
  msgid "Sent"
3342
3610
  msgstr "Отправленные"
3343
3611
 
3344
- #: webmail/lib/imaputils.py:491
3612
+ #: webmail/lib/imaputils.py:500
3613
+ msgid "Scheduled"
3614
+ msgstr ""
3615
+
3616
+ #: webmail/lib/imaputils.py:507
3345
3617
  msgid "Trash"
3346
3618
  msgstr "Корзина"
3347
3619
 
3348
- #: webmail/viewsets.py:343
3620
+ #: webmail/serializers.py:220
3621
+ msgid "Moving scheduled messages is forbidden"
3622
+ msgstr ""
3623
+
3624
+ #: webmail/serializers.py:253
3625
+ msgid "Only datetime in the future is allowed"
3626
+ msgstr ""
3627
+
3628
+ #: webmail/serializers.py:258
3629
+ msgid "Provived datetime must be one minute in the future at least"
3630
+ msgstr ""
3631
+
3632
+ #: webmail/viewsets.py:359
3349
3633
  #, python-format
3350
3634
  msgid "Attachment is too big (limit: %s)"
3351
3635
  msgstr "Вложения слишком велики (лимит: %s)"
3352
3636
 
3353
- #, fuzzy, python-brace-format
3354
- #~ msgid "Connection to IMAP server failed: {error}"
3355
- #~ msgstr "Соединение с сервером MANAGESIEVE не удалось, проверьте конфигурацию"
3637
+ #~ msgid "User profile"
3638
+ #~ msgstr "Профиль пользователя"
3639
+
3640
+ #~ msgid "Default top redirection"
3641
+ #~ msgstr "Порог перенаправления по умолчанию"
3642
+
3643
+ #~ msgid "The default redirection used when no application is specified"
3644
+ #~ msgstr ""
3645
+ #~ "Если приложение не указано. Используется перенаправление по умолчанию."