swift 2.23.2__py3-none-any.whl → 2.35.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 (208) hide show
  1. swift/__init__.py +29 -50
  2. swift/account/auditor.py +21 -118
  3. swift/account/backend.py +33 -28
  4. swift/account/reaper.py +37 -28
  5. swift/account/replicator.py +22 -0
  6. swift/account/server.py +60 -26
  7. swift/account/utils.py +28 -11
  8. swift-2.23.2.data/scripts/swift-account-audit → swift/cli/account_audit.py +23 -13
  9. swift-2.23.2.data/scripts/swift-config → swift/cli/config.py +2 -2
  10. swift/cli/container_deleter.py +5 -11
  11. swift-2.23.2.data/scripts/swift-dispersion-populate → swift/cli/dispersion_populate.py +8 -7
  12. swift/cli/dispersion_report.py +10 -9
  13. swift-2.23.2.data/scripts/swift-drive-audit → swift/cli/drive_audit.py +63 -21
  14. swift/cli/form_signature.py +3 -7
  15. swift-2.23.2.data/scripts/swift-get-nodes → swift/cli/get_nodes.py +8 -2
  16. swift/cli/info.py +183 -29
  17. swift/cli/manage_shard_ranges.py +708 -37
  18. swift-2.23.2.data/scripts/swift-oldies → swift/cli/oldies.py +25 -14
  19. swift-2.23.2.data/scripts/swift-orphans → swift/cli/orphans.py +7 -3
  20. swift/cli/recon.py +196 -67
  21. swift-2.23.2.data/scripts/swift-recon-cron → swift/cli/recon_cron.py +17 -20
  22. swift-2.23.2.data/scripts/swift-reconciler-enqueue → swift/cli/reconciler_enqueue.py +2 -3
  23. swift/cli/relinker.py +807 -126
  24. swift/cli/reload.py +135 -0
  25. swift/cli/ringbuilder.py +217 -20
  26. swift/cli/ringcomposer.py +0 -1
  27. swift/cli/shard-info.py +4 -3
  28. swift/common/base_storage_server.py +9 -20
  29. swift/common/bufferedhttp.py +48 -74
  30. swift/common/constraints.py +20 -15
  31. swift/common/container_sync_realms.py +9 -11
  32. swift/common/daemon.py +25 -8
  33. swift/common/db.py +198 -127
  34. swift/common/db_auditor.py +168 -0
  35. swift/common/db_replicator.py +95 -55
  36. swift/common/digest.py +141 -0
  37. swift/common/direct_client.py +144 -33
  38. swift/common/error_limiter.py +93 -0
  39. swift/common/exceptions.py +25 -1
  40. swift/common/header_key_dict.py +2 -9
  41. swift/common/http_protocol.py +373 -0
  42. swift/common/internal_client.py +129 -59
  43. swift/common/linkat.py +3 -4
  44. swift/common/manager.py +284 -67
  45. swift/common/memcached.py +396 -147
  46. swift/common/middleware/__init__.py +4 -0
  47. swift/common/middleware/account_quotas.py +211 -46
  48. swift/common/middleware/acl.py +3 -8
  49. swift/common/middleware/backend_ratelimit.py +230 -0
  50. swift/common/middleware/bulk.py +22 -34
  51. swift/common/middleware/catch_errors.py +1 -3
  52. swift/common/middleware/cname_lookup.py +6 -11
  53. swift/common/middleware/container_quotas.py +1 -1
  54. swift/common/middleware/container_sync.py +39 -17
  55. swift/common/middleware/copy.py +12 -0
  56. swift/common/middleware/crossdomain.py +22 -9
  57. swift/common/middleware/crypto/__init__.py +2 -1
  58. swift/common/middleware/crypto/crypto_utils.py +11 -15
  59. swift/common/middleware/crypto/decrypter.py +28 -11
  60. swift/common/middleware/crypto/encrypter.py +12 -17
  61. swift/common/middleware/crypto/keymaster.py +8 -15
  62. swift/common/middleware/crypto/kms_keymaster.py +2 -1
  63. swift/common/middleware/dlo.py +15 -11
  64. swift/common/middleware/domain_remap.py +5 -4
  65. swift/common/middleware/etag_quoter.py +128 -0
  66. swift/common/middleware/formpost.py +73 -70
  67. swift/common/middleware/gatekeeper.py +8 -1
  68. swift/common/middleware/keystoneauth.py +33 -3
  69. swift/common/middleware/list_endpoints.py +4 -4
  70. swift/common/middleware/listing_formats.py +85 -49
  71. swift/common/middleware/memcache.py +4 -81
  72. swift/common/middleware/name_check.py +3 -2
  73. swift/common/middleware/proxy_logging.py +160 -92
  74. swift/common/middleware/ratelimit.py +17 -10
  75. swift/common/middleware/read_only.py +6 -4
  76. swift/common/middleware/recon.py +59 -22
  77. swift/common/middleware/s3api/acl_handlers.py +25 -3
  78. swift/common/middleware/s3api/acl_utils.py +6 -1
  79. swift/common/middleware/s3api/controllers/__init__.py +6 -0
  80. swift/common/middleware/s3api/controllers/acl.py +3 -2
  81. swift/common/middleware/s3api/controllers/bucket.py +242 -137
  82. swift/common/middleware/s3api/controllers/logging.py +2 -2
  83. swift/common/middleware/s3api/controllers/multi_delete.py +43 -20
  84. swift/common/middleware/s3api/controllers/multi_upload.py +219 -133
  85. swift/common/middleware/s3api/controllers/obj.py +112 -8
  86. swift/common/middleware/s3api/controllers/object_lock.py +44 -0
  87. swift/common/middleware/s3api/controllers/s3_acl.py +2 -2
  88. swift/common/middleware/s3api/controllers/tagging.py +57 -0
  89. swift/common/middleware/s3api/controllers/versioning.py +36 -7
  90. swift/common/middleware/s3api/etree.py +22 -9
  91. swift/common/middleware/s3api/exception.py +0 -4
  92. swift/common/middleware/s3api/s3api.py +113 -41
  93. swift/common/middleware/s3api/s3request.py +384 -218
  94. swift/common/middleware/s3api/s3response.py +126 -23
  95. swift/common/middleware/s3api/s3token.py +16 -17
  96. swift/common/middleware/s3api/schema/delete.rng +1 -1
  97. swift/common/middleware/s3api/subresource.py +7 -10
  98. swift/common/middleware/s3api/utils.py +27 -10
  99. swift/common/middleware/slo.py +665 -358
  100. swift/common/middleware/staticweb.py +64 -37
  101. swift/common/middleware/symlink.py +52 -19
  102. swift/common/middleware/tempauth.py +76 -58
  103. swift/common/middleware/tempurl.py +192 -174
  104. swift/common/middleware/versioned_writes/__init__.py +51 -0
  105. swift/common/middleware/{versioned_writes.py → versioned_writes/legacy.py} +27 -26
  106. swift/common/middleware/versioned_writes/object_versioning.py +1482 -0
  107. swift/common/middleware/x_profile/exceptions.py +1 -4
  108. swift/common/middleware/x_profile/html_viewer.py +18 -19
  109. swift/common/middleware/x_profile/profile_model.py +1 -2
  110. swift/common/middleware/xprofile.py +10 -10
  111. swift-2.23.2.data/scripts/swift-container-server → swift/common/recon.py +13 -8
  112. swift/common/registry.py +147 -0
  113. swift/common/request_helpers.py +324 -57
  114. swift/common/ring/builder.py +67 -25
  115. swift/common/ring/composite_builder.py +1 -1
  116. swift/common/ring/ring.py +177 -51
  117. swift/common/ring/utils.py +1 -1
  118. swift/common/splice.py +10 -6
  119. swift/common/statsd_client.py +205 -0
  120. swift/common/storage_policy.py +49 -44
  121. swift/common/swob.py +86 -102
  122. swift/common/{utils.py → utils/__init__.py} +2191 -2762
  123. swift/common/utils/base.py +131 -0
  124. swift/common/utils/config.py +433 -0
  125. swift/common/utils/ipaddrs.py +256 -0
  126. swift/common/utils/libc.py +345 -0
  127. swift/common/utils/logs.py +859 -0
  128. swift/common/utils/timestamp.py +412 -0
  129. swift/common/wsgi.py +555 -536
  130. swift/container/auditor.py +14 -100
  131. swift/container/backend.py +552 -227
  132. swift/container/reconciler.py +126 -37
  133. swift/container/replicator.py +96 -22
  134. swift/container/server.py +397 -176
  135. swift/container/sharder.py +1580 -639
  136. swift/container/sync.py +94 -88
  137. swift/container/updater.py +53 -32
  138. swift/obj/auditor.py +153 -35
  139. swift/obj/diskfile.py +466 -217
  140. swift/obj/expirer.py +406 -124
  141. swift/obj/mem_diskfile.py +7 -4
  142. swift/obj/mem_server.py +1 -0
  143. swift/obj/reconstructor.py +523 -262
  144. swift/obj/replicator.py +249 -188
  145. swift/obj/server.py +213 -122
  146. swift/obj/ssync_receiver.py +145 -85
  147. swift/obj/ssync_sender.py +113 -54
  148. swift/obj/updater.py +653 -139
  149. swift/obj/watchers/__init__.py +0 -0
  150. swift/obj/watchers/dark_data.py +213 -0
  151. swift/proxy/controllers/account.py +11 -11
  152. swift/proxy/controllers/base.py +848 -604
  153. swift/proxy/controllers/container.py +452 -86
  154. swift/proxy/controllers/info.py +3 -2
  155. swift/proxy/controllers/obj.py +1009 -490
  156. swift/proxy/server.py +185 -112
  157. swift-2.35.0.dist-info/AUTHORS +501 -0
  158. swift-2.35.0.dist-info/LICENSE +202 -0
  159. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/METADATA +52 -61
  160. swift-2.35.0.dist-info/RECORD +201 -0
  161. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/WHEEL +1 -1
  162. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/entry_points.txt +43 -0
  163. swift-2.35.0.dist-info/pbr.json +1 -0
  164. swift/locale/de/LC_MESSAGES/swift.po +0 -1216
  165. swift/locale/en_GB/LC_MESSAGES/swift.po +0 -1207
  166. swift/locale/es/LC_MESSAGES/swift.po +0 -1085
  167. swift/locale/fr/LC_MESSAGES/swift.po +0 -909
  168. swift/locale/it/LC_MESSAGES/swift.po +0 -894
  169. swift/locale/ja/LC_MESSAGES/swift.po +0 -965
  170. swift/locale/ko_KR/LC_MESSAGES/swift.po +0 -964
  171. swift/locale/pt_BR/LC_MESSAGES/swift.po +0 -881
  172. swift/locale/ru/LC_MESSAGES/swift.po +0 -891
  173. swift/locale/tr_TR/LC_MESSAGES/swift.po +0 -832
  174. swift/locale/zh_CN/LC_MESSAGES/swift.po +0 -833
  175. swift/locale/zh_TW/LC_MESSAGES/swift.po +0 -838
  176. swift-2.23.2.data/scripts/swift-account-auditor +0 -23
  177. swift-2.23.2.data/scripts/swift-account-info +0 -51
  178. swift-2.23.2.data/scripts/swift-account-reaper +0 -23
  179. swift-2.23.2.data/scripts/swift-account-replicator +0 -34
  180. swift-2.23.2.data/scripts/swift-account-server +0 -23
  181. swift-2.23.2.data/scripts/swift-container-auditor +0 -23
  182. swift-2.23.2.data/scripts/swift-container-info +0 -51
  183. swift-2.23.2.data/scripts/swift-container-reconciler +0 -21
  184. swift-2.23.2.data/scripts/swift-container-replicator +0 -34
  185. swift-2.23.2.data/scripts/swift-container-sharder +0 -33
  186. swift-2.23.2.data/scripts/swift-container-sync +0 -23
  187. swift-2.23.2.data/scripts/swift-container-updater +0 -23
  188. swift-2.23.2.data/scripts/swift-dispersion-report +0 -24
  189. swift-2.23.2.data/scripts/swift-form-signature +0 -20
  190. swift-2.23.2.data/scripts/swift-init +0 -119
  191. swift-2.23.2.data/scripts/swift-object-auditor +0 -29
  192. swift-2.23.2.data/scripts/swift-object-expirer +0 -33
  193. swift-2.23.2.data/scripts/swift-object-info +0 -60
  194. swift-2.23.2.data/scripts/swift-object-reconstructor +0 -33
  195. swift-2.23.2.data/scripts/swift-object-relinker +0 -41
  196. swift-2.23.2.data/scripts/swift-object-replicator +0 -37
  197. swift-2.23.2.data/scripts/swift-object-server +0 -27
  198. swift-2.23.2.data/scripts/swift-object-updater +0 -23
  199. swift-2.23.2.data/scripts/swift-proxy-server +0 -23
  200. swift-2.23.2.data/scripts/swift-recon +0 -24
  201. swift-2.23.2.data/scripts/swift-ring-builder +0 -24
  202. swift-2.23.2.data/scripts/swift-ring-builder-analyzer +0 -22
  203. swift-2.23.2.data/scripts/swift-ring-composer +0 -22
  204. swift-2.23.2.dist-info/DESCRIPTION.rst +0 -166
  205. swift-2.23.2.dist-info/RECORD +0 -220
  206. swift-2.23.2.dist-info/metadata.json +0 -1
  207. swift-2.23.2.dist-info/pbr.json +0 -1
  208. {swift-2.23.2.dist-info → swift-2.35.0.dist-info}/top_level.txt +0 -0
@@ -1,891 +0,0 @@
1
- # Translations template for swift.
2
- # Copyright (C) 2015 ORGANIZATION
3
- # This file is distributed under the same license as the swift project.
4
- #
5
- # Translators:
6
- # Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
7
- msgid ""
8
- msgstr ""
9
- "Project-Id-Version: swift VERSION\n"
10
- "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
11
- "POT-Creation-Date: 2019-10-03 19:48+0000\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "PO-Revision-Date: 2016-04-12 06:43+0000\n"
16
- "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
17
- "Language: ru\n"
18
- "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
19
- "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
20
- "%100>=11 && n%100<=14)? 2 : 3);\n"
21
- "Generated-By: Babel 2.0\n"
22
- "X-Generator: Zanata 4.3.3\n"
23
- "Language-Team: Russian\n"
24
-
25
- msgid ""
26
- "\n"
27
- "user quit"
28
- msgstr ""
29
- "\n"
30
- "Завершение работы пользователя"
31
-
32
- #, python-format
33
- msgid " - %s"
34
- msgstr " - %s"
35
-
36
- #, python-format
37
- msgid " - parallel, %s"
38
- msgstr " - параллельно, %s"
39
-
40
- #, python-format
41
- msgid ""
42
- "%(checked)d suffixes checked - %(hashed).2f%% hashed, %(synced).2f%% synced"
43
- msgstr ""
44
- "Проверено суффиксов: %(checked)d - хэшировано: %(hashed).2f%%, "
45
- "синхронизировано: %(synced).2f%%"
46
-
47
- #, python-format
48
- msgid "%(msg)s %(ip)s:%(port)s/%(device)s"
49
- msgstr "%(msg)s %(ip)s:%(port)s/%(device)s"
50
-
51
- #, python-format
52
- msgid ""
53
- "%(replicated)d/%(total)d (%(percentage).2f%%) partitions replicated in "
54
- "%(time).2fs (%(rate).2f/sec, %(remaining)s remaining)"
55
- msgstr ""
56
- "Реплицировано разделов: %(replicated)d/%(total)d (%(percentage).2f%%) за "
57
- "время %(time).2f с (%(rate).2f/с, осталось: %(remaining)s)"
58
-
59
- #, python-format
60
- msgid "%(success)s successes, %(failure)s failures"
61
- msgstr "%(success)s успешно, %(failure)s с ошибками"
62
-
63
- #, python-format
64
- msgid "%(type)s returning 503 for %(statuses)s"
65
- msgstr "%(type)s возвратил 503 для %(statuses)s"
66
-
67
- #, python-format
68
- msgid "%s already started..."
69
- msgstr "%s уже запущен..."
70
-
71
- #, python-format
72
- msgid "%s does not exist"
73
- msgstr "%s не существует"
74
-
75
- #, python-format
76
- msgid "%s is not mounted"
77
- msgstr "%s не смонтирован"
78
-
79
- #, python-format
80
- msgid "%s responded as unmounted"
81
- msgstr "%s ответил как размонтированный"
82
-
83
- #, python-format
84
- msgid "%s: Connection reset by peer"
85
- msgstr "%s: соединение сброшено на другой стороне"
86
-
87
- msgid "Account"
88
- msgstr "Учетная запись"
89
-
90
- #, python-format
91
- msgid "Account audit \"once\" mode completed: %.02fs"
92
- msgstr "Проверка учетной записи в \"однократном\" режиме завершена: %.02fs"
93
-
94
- #, python-format
95
- msgid "Account audit pass completed: %.02fs"
96
- msgstr "Проход контроля учетной записи выполнен: %.02fs"
97
-
98
- #, python-format
99
- msgid ""
100
- "Attempted to replicate %(count)d dbs in %(time).5f seconds (%(rate).5f/s)"
101
- msgstr ""
102
- "Попытка репликации %(count)d баз данных за %(time).5f секунд (%(rate).5f/s)"
103
-
104
- #, python-format
105
- msgid "Bad rsync return code: %(ret)d <- %(args)s"
106
- msgstr "Неправильный код возврата rsync: %(ret)d <- %(args)s"
107
-
108
- msgid "Begin account audit \"once\" mode"
109
- msgstr "Начать проверку учетной записи в \"однократном\" режиме"
110
-
111
- msgid "Begin account audit pass."
112
- msgstr "Начать проход проверки учетной записи."
113
-
114
- msgid "Begin container audit \"once\" mode"
115
- msgstr "Начать проверку контейнера в \"однократном\" режиме"
116
-
117
- msgid "Begin container audit pass."
118
- msgstr "Начать проход проверки контейнера."
119
-
120
- msgid "Begin container sync \"once\" mode"
121
- msgstr "Начать синхронизацию контейнера в \"однократном\" режиме"
122
-
123
- msgid "Begin container update single threaded sweep"
124
- msgstr "Начать однонитевую сплошную проверку обновлений контейнера"
125
-
126
- msgid "Begin container update sweep"
127
- msgstr "Начать сплошную проверку обновлений контейнера"
128
-
129
- msgid "Begin object update single threaded sweep"
130
- msgstr "Начать однонитевую сплошную проверку обновлений объекта"
131
-
132
- msgid "Begin object update sweep"
133
- msgstr "Начать сплошную проверку обновлений объекта"
134
-
135
- msgid "Beginning replication run"
136
- msgstr "Запуск репликации"
137
-
138
- msgid "Broker error trying to rollback locked connection"
139
- msgstr "Ошибка посредника при попытке отката заблокированного соединения"
140
-
141
- #, python-format
142
- msgid "Can not access the file %s."
143
- msgstr "Отсутствует доступ к файлу %s."
144
-
145
- #, python-format
146
- msgid "Can not load profile data from %s."
147
- msgstr "Не удается загрузить данные профайла из %s."
148
-
149
- #, python-format
150
- msgid "Client did not read from proxy within %ss"
151
- msgstr "Клиент не прочитал данные из proxy в %ss"
152
-
153
- msgid "Client disconnected on read"
154
- msgstr "Клиент отключен во время чтения"
155
-
156
- msgid "Client disconnected without sending enough data"
157
- msgstr "Клиент отключен без отправки данных"
158
-
159
- msgid "Client disconnected without sending last chunk"
160
- msgstr "Клиент отключился, не отправив последний фрагмент данных"
161
-
162
- #, python-format
163
- msgid ""
164
- "Client path %(client)s does not match path stored in object metadata %(meta)s"
165
- msgstr ""
166
- "Путь клиента %(client)s не соответствует пути в метаданных объекта %(meta)s"
167
-
168
- msgid ""
169
- "Configuration option internal_client_conf_path not defined. Using default "
170
- "configuration, See internal-client.conf-sample for options"
171
- msgstr ""
172
- "Опция internal_client_conf_path конфигурации не определена. Используется "
173
- "конфигурация по умолчанию. Используйте intenal-client.conf-sample для "
174
- "информации об опциях"
175
-
176
- msgid "Connection refused"
177
- msgstr "Соединение отклонено"
178
-
179
- msgid "Connection timeout"
180
- msgstr "Тайм-аут соединения"
181
-
182
- msgid "Container"
183
- msgstr "контейнер"
184
-
185
- #, python-format
186
- msgid "Container audit \"once\" mode completed: %.02fs"
187
- msgstr "Проверка контейнера в \"однократном\" режиме завершена: %.02fs"
188
-
189
- #, python-format
190
- msgid "Container audit pass completed: %.02fs"
191
- msgstr "Проход проверки контейнера завершен: %.02fs"
192
-
193
- #, python-format
194
- msgid "Container sync \"once\" mode completed: %.02fs"
195
- msgstr "Синхронизация контейнера в \"однократном\" режиме завершена: %.02fs"
196
-
197
- #, python-format
198
- msgid ""
199
- "Container update single threaded sweep completed: %(elapsed).02fs, "
200
- "%(success)s successes, %(fail)s failures, %(no_change)s with no changes"
201
- msgstr ""
202
- "Сплошная однонитевая проверка обновлений контейнера завершена: "
203
- "%(elapsed).02fs, успешно: %(success)s, сбоев: %(fail)s, без изменений: "
204
- "%(no_change)s"
205
-
206
- #, python-format
207
- msgid "Container update sweep completed: %.02fs"
208
- msgstr "Сплошная проверка обновлений контейнера завершена: %.02fs"
209
-
210
- #, python-format
211
- msgid ""
212
- "Container update sweep of %(path)s completed: %(elapsed).02fs, %(success)s "
213
- "successes, %(fail)s failures, %(no_change)s with no changes"
214
- msgstr ""
215
- "Сплошная проверка обновлений контейнера в %(path)s завершена: "
216
- "%(elapsed).02fs, успешно: %(success)s, сбоев: %(fail)s, без изменений: "
217
- "%(no_change)s"
218
-
219
- #, python-format
220
- msgid "Data download error: %s"
221
- msgstr "Ошибка загрузки данных: %s"
222
-
223
- #, python-format
224
- msgid "ERROR %(db_file)s: %(validate_sync_to_err)s"
225
- msgstr "Ошибка %(db_file)s: %(validate_sync_to_err)s"
226
-
227
- #, python-format
228
- msgid "ERROR %(status)d %(body)s From %(type)s Server"
229
- msgstr "Ошибка %(status)d %(body)s из сервера %(type)s"
230
-
231
- #, python-format
232
- msgid "ERROR %(status)d %(body)s From Object Server re: %(path)s"
233
- msgstr "Ошибка %(status)d %(body)s, ответ от сервера объекта: %(path)s"
234
-
235
- #, python-format
236
- msgid "ERROR %(status)d Expect: 100-continue From Object Server"
237
- msgstr "Ошибка %(status)d. Ожидаемое значение от сервера объекта: 100-continue"
238
-
239
- #, python-format
240
- msgid ""
241
- "ERROR Account update failed with %(ip)s:%(port)s/%(device)s (will retry "
242
- "later): Response %(status)s %(reason)s"
243
- msgstr ""
244
- "Ошибка: обновление учетной записи не выполнено для %(ip)s:%(port)s/"
245
- "%(device)s (операция будет повторена позднее): Ответ: %(status)s %(reason)s"
246
-
247
- #, python-format
248
- msgid "ERROR Client read timeout (%ss)"
249
- msgstr "Ошибка: тайм-аут чтения клиента (%ss)"
250
-
251
- #, python-format
252
- msgid ""
253
- "ERROR Container update failed (saving for async update later): %(status)d "
254
- "response from %(ip)s:%(port)s/%(dev)s"
255
- msgstr ""
256
- "Ошибка. Обновление контейнера не выполнено (сохранение асинхронных "
257
- "обновлений будет выполнено позднее): %(status)d ответ от %(ip)s:%(port)s/"
258
- "%(dev)s"
259
-
260
- #, python-format
261
- msgid "ERROR Could not get account info %s"
262
- msgstr "Ошибка: не удалось получить сведения об учетной записи %s"
263
-
264
- #, python-format
265
- msgid "ERROR Could not get container info %s"
266
- msgstr "Ошибка: не удалось получить информацию о контейнере %s"
267
-
268
- #, python-format
269
- msgid "ERROR DiskFile %(data_file)s close failure: %(exc)s : %(stack)s"
270
- msgstr "Ошибка: ошибка закрытия DiskFile %(data_file)s: %(exc)s : %(stack)s"
271
-
272
- msgid "ERROR Exception causing client disconnect"
273
- msgstr "Ошибка. Исключительная ситуация при отключении клиента"
274
-
275
- #, python-format
276
- msgid "ERROR Exception transferring data to object servers %s"
277
- msgstr ""
278
- "ОШИБКА. Исключительная ситуация при передаче данных на серверы объектов %s"
279
-
280
- msgid "ERROR Failed to get my own IPs?"
281
- msgstr "Ошибка: не удалось получить собственные IP-адреса?"
282
-
283
- msgid "ERROR Insufficient Storage"
284
- msgstr "Ошибка - недостаточно памяти"
285
-
286
- #, python-format
287
- msgid "ERROR Object %(obj)s failed audit and was quarantined: %(err)s"
288
- msgstr ""
289
- "Ошибка: контроль объекта %(obj)s не выполнен, объект помещен в карантин: "
290
- "%(err)s"
291
-
292
- #, python-format
293
- msgid "ERROR Pickle problem, quarantining %s"
294
- msgstr "Ошибка Pickle, %s помещается в карантин"
295
-
296
- #, python-format
297
- msgid "ERROR Remote drive not mounted %s"
298
- msgstr "Ошибка: удаленный накопитель не смонтирован %s"
299
-
300
- #, python-format
301
- msgid "ERROR Syncing %(db_file)s %(row)s"
302
- msgstr "Ошибка синхронизации %(db_file)s %(row)s"
303
-
304
- #, python-format
305
- msgid "ERROR Syncing %s"
306
- msgstr "Ошибка синхронизации %s"
307
-
308
- #, python-format
309
- msgid "ERROR Trying to audit %s"
310
- msgstr "Ошибка при попытке контроля %s"
311
-
312
- msgid "ERROR Unhandled exception in request"
313
- msgstr "Ошибка. Необрабатываемая исключительная ситуация в запросе"
314
-
315
- #, python-format
316
- msgid "ERROR __call__ error with %(method)s %(path)s "
317
- msgstr "Ошибка: ошибка __call__ в %(method)s %(path)s "
318
-
319
- #, python-format
320
- msgid ""
321
- "ERROR account update failed with %(ip)s:%(port)s/%(device)s (will retry "
322
- "later)"
323
- msgstr ""
324
- "Ошибка: обновление учетной записи не выполнено для %(ip)s:%(port)s/"
325
- "%(device)s (операция будет повторена позднее)"
326
-
327
- #, python-format
328
- msgid ""
329
- "ERROR account update failed with %(ip)s:%(port)s/%(device)s (will retry "
330
- "later): "
331
- msgstr ""
332
- "Ошибка: обновление учетной записи не выполнено для %(ip)s:%(port)s/"
333
- "%(device)s (операция будет повторена позднее): "
334
-
335
- #, python-format
336
- msgid "ERROR async pending file with unexpected name %s"
337
- msgstr ""
338
- "Ошибка выполнения асинхронной передачи ожидающего файла с непредвиденным "
339
- "именем %s"
340
-
341
- msgid "ERROR auditing"
342
- msgstr "ОШИБКА контроля"
343
-
344
- #, python-format
345
- msgid "ERROR auditing: %s"
346
- msgstr "Ошибка контроля: %s"
347
-
348
- #, python-format
349
- msgid ""
350
- "ERROR container update failed with %(ip)s:%(port)s/%(dev)s (saving for async "
351
- "update later)"
352
- msgstr ""
353
- "Ошибка. Обновление контейнера не выполнена с %(ip)s:%(port)s/%(dev)s "
354
- "(сохранение асинхронного обновления будет выполнено позднее)"
355
-
356
- #, python-format
357
- msgid "ERROR reading HTTP response from %s"
358
- msgstr "Ошибка чтения ответа HTTP из %s"
359
-
360
- #, python-format
361
- msgid "ERROR reading db %s"
362
- msgstr "Ошибка чтения базы данных %s"
363
-
364
- #, python-format
365
- msgid "ERROR rsync failed with %(code)s: %(args)s"
366
- msgstr "Ошибка: команда rsync не выполнена с кодом %(code)s: %(args)s"
367
-
368
- #, python-format
369
- msgid "ERROR syncing %(file)s with node %(node)s"
370
- msgstr "Ошибка синхронизации %(file)s с узлом %(node)s"
371
-
372
- msgid "ERROR trying to replicate"
373
- msgstr "Ошибка при попытке репликации"
374
-
375
- #, python-format
376
- msgid "ERROR while trying to clean up %s"
377
- msgstr "Ошибка при попытке очистки %s"
378
-
379
- #, python-format
380
- msgid "ERROR with %(type)s server %(ip)s:%(port)s/%(device)s re: %(info)s"
381
- msgstr ""
382
- "Ошибка с сервером %(type)s %(ip)s:%(port)s/%(device)s, возврат: %(info)s"
383
-
384
- #, python-format
385
- msgid "ERROR with loading suppressions from %s: "
386
- msgstr "Ошибка при загрузки скрытых объектов из %s: "
387
-
388
- #, python-format
389
- msgid "ERROR with remote server %(ip)s:%(port)s/%(device)s"
390
- msgstr "Ошибка с удаленным сервером %(ip)s:%(port)s/%(device)s"
391
-
392
- #, python-format
393
- msgid "ERROR: Failed to get paths to drive partitions: %s"
394
- msgstr "Ошибка: не удалось получить пути к разделам накопителей: %s"
395
-
396
- #, python-format
397
- msgid "ERROR: Unable to access %(path)s: %(error)s"
398
- msgstr "Ошибка: не удалось получить доступ к %(path)s: %(error)s"
399
-
400
- #, python-format
401
- msgid "ERROR: Unable to run auditing: %s"
402
- msgstr "Ошибка: не удалось запустить процесс контроля: %s"
403
-
404
- msgid "Error hashing suffix"
405
- msgstr "Ошибка хэширования суффикса"
406
-
407
- msgid "Error listing devices"
408
- msgstr "Ошибка при выводе списка устройств"
409
-
410
- #, python-format
411
- msgid "Error on render profiling results: %s"
412
- msgstr "Ошибка при выводе результатов профилирования: %s"
413
-
414
- msgid "Error parsing recon cache file"
415
- msgstr "Ошибка анализа файла кэша recon"
416
-
417
- msgid "Error reading recon cache file"
418
- msgstr "Ошибка чтения файла кэша recon"
419
-
420
- msgid "Error reading ringfile"
421
- msgstr "Ошибка при чтении ringfile"
422
-
423
- msgid "Error reading swift.conf"
424
- msgstr "Ошибка чтения swift.conf"
425
-
426
- msgid "Error retrieving recon data"
427
- msgstr "Ошибка при получении данных recon"
428
-
429
- msgid "Error syncing handoff partition"
430
- msgstr "Ошибка при синхронизации раздела передачи управления"
431
-
432
- msgid "Error syncing partition"
433
- msgstr "Ошибка синхронизации раздела"
434
-
435
- #, python-format
436
- msgid "Error syncing with node: %s"
437
- msgstr "Ошибка синхронизации с узлом %s"
438
-
439
- #, python-format
440
- msgid "Error trying to rebuild %(path)s policy#%(policy)d frag#%(frag_index)s"
441
- msgstr ""
442
- "Ошибка при попытке перекомпоновки стратегии %(path)s: номер#%(policy)d "
443
- "фрагмент#%(frag_index)s"
444
-
445
- msgid "Error: An error occurred"
446
- msgstr "Ошибка: произошла ошибка"
447
-
448
- msgid "Error: missing config path argument"
449
- msgstr "Ошибка: отсутствует аргумент пути конфигурации"
450
-
451
- #, python-format
452
- msgid "Error: unable to locate %s"
453
- msgstr "Ошибка: не удалось найти %s"
454
-
455
- #, python-format
456
- msgid "Exception with %(ip)s:%(port)s/%(device)s"
457
- msgstr "Исключительная ситуация в %(ip)s:%(port)s/%(device)s"
458
-
459
- #, python-format
460
- msgid "Expect: 100-continue on %s"
461
- msgstr "Ожидаемое значение: 100-continue в %s"
462
-
463
- #, python-format
464
- msgid "Following CNAME chain for %(given_domain)s to %(found_domain)s"
465
- msgstr "Следующая цепочка CNAME для %(given_domain)s в %(found_domain)s"
466
-
467
- msgid "Found configs:"
468
- msgstr "Обнаружены конфигурации:"
469
-
470
- msgid ""
471
- "Handoffs first mode still has handoffs remaining. Aborting current "
472
- "replication pass."
473
- msgstr ""
474
- "В режиме передачи управления не все операции завершены. Принудительное "
475
- "завершение текущего прохода репликации."
476
-
477
- msgid "Host unreachable"
478
- msgstr "Хост недоступен"
479
-
480
- #, python-format
481
- msgid "Invalid X-Container-Sync-To format %r"
482
- msgstr "Недопустимый формат X-Container-Sync-To %r"
483
-
484
- #, python-format
485
- msgid "Invalid host %r in X-Container-Sync-To"
486
- msgstr "Недопустимый хост %r в X-Container-Sync-To"
487
-
488
- #, python-format
489
- msgid "Invalid pending entry %(file)s: %(entry)s"
490
- msgstr "Недопустимая ожидающая запись %(file)s: %(entry)s"
491
-
492
- #, python-format
493
- msgid "Invalid response %(resp)s from %(full_path)s"
494
- msgstr "Недопустимый ответ %(resp)s от %(full_path)s"
495
-
496
- #, python-format
497
- msgid "Invalid response %(resp)s from %(ip)s"
498
- msgstr "Недопустимый ответ %(resp)s от %(ip)s"
499
-
500
- #, python-format
501
- msgid ""
502
- "Invalid scheme %r in X-Container-Sync-To, must be \"//\", \"http\", or "
503
- "\"https\"."
504
- msgstr ""
505
- "Недопустимая схема %r в X-Container-Sync-To, допустимые значения: \"//\", "
506
- "\"http\" или \"https\"."
507
-
508
- #, python-format
509
- msgid "Killing long-running rsync: %s"
510
- msgstr "Принудительное завершение долго выполняющегося rsync: %s"
511
-
512
- msgid "Lockup detected.. killing live coros."
513
- msgstr "Обнаружена блокировка.. принудительное завершение работающих модулей."
514
-
515
- #, python-format
516
- msgid "Mapped %(given_domain)s to %(found_domain)s"
517
- msgstr "Преобразовано %(given_domain)s в %(found_domain)s"
518
-
519
- #, python-format
520
- msgid "No %s running"
521
- msgstr "%s не выполняется"
522
-
523
- #, python-format
524
- msgid "No permission to signal PID %d"
525
- msgstr "Нет прав доступа для отправки сигнала в PID %d"
526
-
527
- #, python-format
528
- msgid "No policy with index %s"
529
- msgstr "Не найдено стратегии с индексом %s"
530
-
531
- #, python-format
532
- msgid "No realm key for %r"
533
- msgstr "Отсутствует ключ области для %r"
534
-
535
- #, python-format
536
- msgid "Node error limited %(ip)s:%(port)s (%(device)s)"
537
- msgstr "Ограниченная ошибка узла %(ip)s:%(port)s (%(device)s)"
538
-
539
- #, python-format
540
- msgid "Not enough object servers ack'ed (got %d)"
541
- msgstr "Недостаточное число подтверждений с серверов объектов (получено %d)"
542
-
543
- #, python-format
544
- msgid ""
545
- "Not found %(sync_from)r => %(sync_to)r - object "
546
- "%(obj_name)r"
547
- msgstr ""
548
- "Не найдено: %(sync_from)r => %(sync_to)r - объект "
549
- "%(obj_name)r"
550
-
551
- #, python-format
552
- msgid "Nothing reconstructed for %s seconds."
553
- msgstr "Ничего не реконструировано за %s с."
554
-
555
- #, python-format
556
- msgid "Nothing replicated for %s seconds."
557
- msgstr "Ничего не реплицировано за %s с."
558
-
559
- msgid "Object"
560
- msgstr "Объект"
561
-
562
- msgid "Object PUT"
563
- msgstr "Функция PUT объекта"
564
-
565
- #, python-format
566
- msgid "Object PUT returning 202 for 409: %(req_timestamp)s <= %(timestamps)r"
567
- msgstr ""
568
- "Функция PUT объекта возвратила 202 для 409: %(req_timestamp)s <= "
569
- "%(timestamps)r"
570
-
571
- #, python-format
572
- msgid "Object PUT returning 412, %(statuses)r"
573
- msgstr "Функция PUT объекта возвратила 412, %(statuses)r"
574
-
575
- #, python-format
576
- msgid ""
577
- "Object audit (%(type)s) \"%(mode)s\" mode completed: %(elapsed).02fs. Total "
578
- "quarantined: %(quars)d, Total errors: %(errors)d, Total files/sec: "
579
- "%(frate).2f, Total bytes/sec: %(brate).2f, Auditing time: %(audit).2f, Rate: "
580
- "%(audit_rate).2f"
581
- msgstr ""
582
- "Контроль объекта (%(type)s) в режиме \"%(mode)s\" завершен: %(elapsed).02fs. "
583
- "Всего в карантине: %(quars)d, всего ошибок: %(errors)d, всего файлов/с: "
584
- "%(frate).2f, всего байт/с: %(brate).2f, время контроля: %(audit).2f, "
585
- "скорость: %(audit_rate).2f"
586
-
587
- #, python-format
588
- msgid ""
589
- "Object audit (%(type)s). Since %(start_time)s: Locally: %(passes)d passed, "
590
- "%(quars)d quarantined, %(errors)d errors, files/sec: %(frate).2f, bytes/sec: "
591
- "%(brate).2f, Total time: %(total).2f, Auditing time: %(audit).2f, Rate: "
592
- "%(audit_rate).2f"
593
- msgstr ""
594
- "Проверка объекта (%(type)s). После %(start_time)s: локально: успешно - "
595
- "%(passes)d, в карантине - %(quars)d, файлов с ошибками %(errors)d в секунду: "
596
- "%(frate).2f , байт/с: %(brate).2f, общее время: %(total).2f, время контроля: "
597
- "%(audit).2f, скорость: %(audit_rate).2f"
598
-
599
- #, python-format
600
- msgid "Object audit stats: %s"
601
- msgstr "Состояние контроля объекта: %s"
602
-
603
- #, python-format
604
- msgid "Object reconstruction complete (once). (%.02f minutes)"
605
- msgstr "Реконструкция объекта выполнена (однократно). (%.02f мин.)"
606
-
607
- #, python-format
608
- msgid "Object reconstruction complete. (%.02f minutes)"
609
- msgstr "Реконструкция объекта выполнена. (%.02f мин.)"
610
-
611
- #, python-format
612
- msgid "Object replication complete (once). (%.02f minutes)"
613
- msgstr "Репликация объекта выполнена (однократно). (%.02f мин.)"
614
-
615
- #, python-format
616
- msgid "Object replication complete. (%.02f minutes)"
617
- msgstr "Репликация объекта выполнена. (%.02f мин.)"
618
-
619
- #, python-format
620
- msgid "Object servers returned %s mismatched etags"
621
- msgstr "Серверы объектов вернули несоответствующие etag: %s"
622
-
623
- #, python-format
624
- msgid "Object update sweep completed: %.02fs"
625
- msgstr "Сплошная проверка обновлений объекта завершена: %.02fs"
626
-
627
- msgid "Params, queries, and fragments not allowed in X-Container-Sync-To"
628
- msgstr "В X-Container-Sync-To не разрешены параметры, запросы и фрагменты"
629
-
630
- #, python-format
631
- msgid "Partition times: max %(max).4fs, min %(min).4fs, med %(med).4fs"
632
- msgstr ""
633
- "Время раздела: максимум: %(max).4fs, минимум: %(min).4fs, среднее: %(med).4fs"
634
-
635
- msgid "Path required in X-Container-Sync-To"
636
- msgstr "Требуется путь в X-Container-Sync-To"
637
-
638
- #, python-format
639
- msgid "Problem cleaning up %s"
640
- msgstr "Неполадка при очистке %s"
641
-
642
- #, python-format
643
- msgid "Profiling Error: %s"
644
- msgstr "Ошибка профилирования: %s"
645
-
646
- #, python-format
647
- msgid "Quarantined %(hsh_path)s to %(quar_path)s because it is not a directory"
648
- msgstr ""
649
- "%(hsh_path)s помещен в карантин в %(quar_path)s, так как не является "
650
- "каталогом"
651
-
652
- #, python-format
653
- msgid ""
654
- "Quarantined %(object_path)s to %(quar_path)s because it is not a directory"
655
- msgstr ""
656
- "%(object_path)s помещен в карантин в %(quar_path)s, так как не является "
657
- "каталогом"
658
-
659
- #, python-format
660
- msgid "Quarantining DB %s"
661
- msgstr "БД %s помещена в карантин"
662
-
663
- #, python-format
664
- msgid "Ratelimit sleep log: %(sleep)s for %(account)s/%(container)s/%(object)s"
665
- msgstr ""
666
- "Протокол тайм-аута при ограничении скорости %(sleep)s для %(account)s/"
667
- "%(container)s/%(object)s"
668
-
669
- #, python-format
670
- msgid "Removed %(remove)d dbs"
671
- msgstr "Удалено баз данных: %(remove)d"
672
-
673
- #, python-format
674
- msgid "Removing %s objects"
675
- msgstr "Удаление объектов %s"
676
-
677
- #, python-format
678
- msgid "Removing partition: %s"
679
- msgstr "Удаление раздела: %s"
680
-
681
- #, python-format
682
- msgid "Removing pid file %(pid_file)s with wrong pid %(pid)d"
683
- msgstr "Удаление файла pid %(pid_file)s с ошибочным pid %(pid)d"
684
-
685
- #, python-format
686
- msgid "Removing pid file %s with invalid pid"
687
- msgstr "Удаление pid файла %s с неверным pid-ом"
688
-
689
- #, python-format
690
- msgid "Removing stale pid file %s"
691
- msgstr "Удаление устаревшего файла pid %s"
692
-
693
- msgid "Replication run OVER"
694
- msgstr "Репликация запущена поверх"
695
-
696
- #, python-format
697
- msgid "Returning 497 because of blacklisting: %s"
698
- msgstr "Возвращено 497 из-за черного списка: %s"
699
-
700
- #, python-format
701
- msgid ""
702
- "Returning 498 for %(meth)s to %(acc)s/%(cont)s/%(obj)s . Ratelimit (Max "
703
- "Sleep) %(e)s"
704
- msgstr ""
705
- "Возвращено 498 для %(meth)s в %(acc)s/%(cont)s/%(obj)s . Ratelimit "
706
- "(максимальная задержка): %(e)s"
707
-
708
- msgid "Ring change detected. Aborting current reconstruction pass."
709
- msgstr ""
710
- "Обнаружено изменение кольца. Принудительное завершение текущего прохода "
711
- "реконструкции."
712
-
713
- msgid "Ring change detected. Aborting current replication pass."
714
- msgstr ""
715
- "Обнаружено кольцевое изменение. Принудительное завершение текущего прохода "
716
- "репликации."
717
-
718
- #, python-format
719
- msgid "Running %s once"
720
- msgstr "Однократное выполнение %s"
721
-
722
- msgid "Running object reconstructor in script mode."
723
- msgstr "Запуск утилиты реконструкции объектов в режиме скрипта."
724
-
725
- msgid "Running object replicator in script mode."
726
- msgstr "Запуск утилиты репликации объектов в режиме сценариев."
727
-
728
- #, python-format
729
- msgid ""
730
- "Since %(time)s: %(sync)s synced [%(delete)s deletes, %(put)s puts], %(skip)s "
731
- "skipped, %(fail)s failed"
732
- msgstr ""
733
- "За %(time)s операций синхронизировано %(sync)s [удалено: %(delete)s, "
734
- "добавлено: %(put)s], пропущено: %(skip)s, ошибки: %(fail)s"
735
-
736
- #, python-format
737
- msgid ""
738
- "Since %(time)s: Account audits: %(passed)s passed audit,%(failed)s failed "
739
- "audit"
740
- msgstr ""
741
- "Выполнено проверок учетной записи: %(time)s, из них успешно: %(passed)s, с "
742
- "ошибками: %(failed)s "
743
-
744
- #, python-format
745
- msgid ""
746
- "Since %(time)s: Container audits: %(pass)s passed audit, %(fail)s failed "
747
- "audit"
748
- msgstr ""
749
- "Выполнено проверок контейнера: %(time)s, из них успешно: %(pass)s, с "
750
- "ошибками: %(fail)s "
751
-
752
- #, python-format
753
- msgid "Skipping %s as it is not mounted"
754
- msgstr "%s будет пропущен, так как он не смонтирован"
755
-
756
- #, python-format
757
- msgid "Starting %s"
758
- msgstr "Запуск %s"
759
-
760
- msgid "Starting object reconstruction pass."
761
- msgstr "Запуск прохода реконструкции объектов."
762
-
763
- msgid "Starting object reconstructor in daemon mode."
764
- msgstr "Запуск утилиты реконструкции объектов в режиме демона."
765
-
766
- msgid "Starting object replication pass."
767
- msgstr "Запуск прохода репликации объектов."
768
-
769
- msgid "Starting object replicator in daemon mode."
770
- msgstr "Запуск утилиты репликации объектов в режиме демона."
771
-
772
- #, python-format
773
- msgid "Successful rsync of %(src)s at %(dst)s (%(time).03f)"
774
- msgstr "Успешное выполнение rsync для %(src)s на %(dst)s (%(time).03f)"
775
-
776
- msgid "The file type are forbidden to access!"
777
- msgstr "Запрещен доступ к этому типу файла!"
778
-
779
- #, python-format
780
- msgid ""
781
- "The total %(key)s for the container (%(total)s) does not match the sum of "
782
- "%(key)s across policies (%(sum)s)"
783
- msgstr ""
784
- "Общее число %(key)s для контейнера (%(total)s) не соответствует сумме "
785
- "%(key)s в стратегиях (%(sum)s)"
786
-
787
- #, python-format
788
- msgid "Trying to %(method)s %(path)s"
789
- msgstr "Попытка выполнения метода %(method)s %(path)s"
790
-
791
- #, python-format
792
- msgid "Trying to GET %(full_path)s"
793
- msgstr "Попытка GET-запроса %(full_path)s"
794
-
795
- msgid "Trying to read during GET"
796
- msgstr "Попытка чтения во время операции GET"
797
-
798
- msgid "Trying to send to client"
799
- msgstr "Попытка отправки клиенту"
800
-
801
- #, python-format
802
- msgid "Trying to sync suffixes with %s"
803
- msgstr "Попытка синхронизации суффиксов с %s"
804
-
805
- #, python-format
806
- msgid "Trying to write to %s"
807
- msgstr "Попытка записи в %s"
808
-
809
- msgid "UNCAUGHT EXCEPTION"
810
- msgstr "Необрабатываемая исключительная ситуация"
811
-
812
- #, python-format
813
- msgid "Unable to locate %s in libc. Leaving as a no-op."
814
- msgstr "Не удалось найти %s в libc. Оставлено как no-op."
815
-
816
- #, python-format
817
- msgid "Unable to locate config for %s"
818
- msgstr "Не удалось найти конфигурационный файл для %s"
819
-
820
- msgid ""
821
- "Unable to locate fallocate, posix_fallocate in libc. Leaving as a no-op."
822
- msgstr ""
823
- "Не удалось найти fallocate, posix_fallocate в libc. Оставлено как no-op."
824
-
825
- #, python-format
826
- msgid "Unable to read config from %s"
827
- msgstr "Не удалось прочитать конфигурацию из %s"
828
-
829
- #, python-format
830
- msgid "Unauth %(sync_from)r => %(sync_to)r"
831
- msgstr "Синхронизация %(sync_from)r => %(sync_to)r без прав доступа"
832
-
833
- msgid "Unhandled exception"
834
- msgstr "Необработанная исключительная ситуация"
835
-
836
- #, python-format
837
- msgid "Unknown exception trying to GET: %(account)r %(container)r %(object)r"
838
- msgstr ""
839
- "Неизвестное исключение в GET-запросе: %(account)r %(container)r %(object)r"
840
-
841
- #, python-format
842
- msgid "Update report failed for %(container)s %(dbfile)s"
843
- msgstr "Отчет об обновлении для %(container)s %(dbfile)s не выполнен"
844
-
845
- #, python-format
846
- msgid "Update report sent for %(container)s %(dbfile)s"
847
- msgstr "Отчет об обновлении отправлен для %(container)s %(dbfile)s"
848
-
849
- msgid ""
850
- "WARNING: SSL should only be enabled for testing purposes. Use external SSL "
851
- "termination for a production deployment."
852
- msgstr ""
853
- "Предупреждение: SSL должен быть включен только в целях тестирования. "
854
- "Используйте внешнее завершение SSL для развертывания в рабочем режиме."
855
-
856
- msgid "WARNING: Unable to modify file descriptor limit. Running as non-root?"
857
- msgstr ""
858
- "Предупреждение: не удалось изменить предельное значение для дескриптора "
859
- "файла. Запущен без прав доступа root?"
860
-
861
- msgid "WARNING: Unable to modify max process limit. Running as non-root?"
862
- msgstr ""
863
- "Предупреждение: не удалось изменить предельное значение для числа процессов. "
864
- "Запущен без прав доступа root?"
865
-
866
- msgid "WARNING: Unable to modify memory limit. Running as non-root?"
867
- msgstr ""
868
- "Предупреждение: не удалось изменить предельное значение для памяти. Запущен "
869
- "без прав доступа root?"
870
-
871
- msgid "Warning: Cannot ratelimit without a memcached client"
872
- msgstr ""
873
- "Предупреждение: не удается ограничить скорость без клиента с кэшированием "
874
- "памяти"
875
-
876
- #, python-format
877
- msgid "method %s is not allowed."
878
- msgstr "Метод %s не разрешен."
879
-
880
- msgid "no log file found"
881
- msgstr "Не найден файл протокола"
882
-
883
- msgid "odfpy not installed."
884
- msgstr "Библиотека odfpy не установлена."
885
-
886
- #, python-format
887
- msgid "plotting results failed due to %s"
888
- msgstr "Ошибка в результатах plotting из-за %s"
889
-
890
- msgid "python-matplotlib not installed."
891
- msgstr "Библиотека python-matplotlib не установлена."