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,909 +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
- # Maxime COQUEREL <max.coquerel@gmail.com>, 2014
7
- # Andreas Jaeger <jaegerandi@gmail.com>, 2016. #zanata
8
- msgid ""
9
- msgstr ""
10
- "Project-Id-Version: swift VERSION\n"
11
- "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
12
- "POT-Creation-Date: 2019-10-03 19:48+0000\n"
13
- "MIME-Version: 1.0\n"
14
- "Content-Type: text/plain; charset=UTF-8\n"
15
- "Content-Transfer-Encoding: 8bit\n"
16
- "PO-Revision-Date: 2016-04-12 06:42+0000\n"
17
- "Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
18
- "Language: fr\n"
19
- "Plural-Forms: nplurals=2; plural=(n > 1);\n"
20
- "Generated-By: Babel 2.0\n"
21
- "X-Generator: Zanata 4.3.3\n"
22
- "Language-Team: French\n"
23
-
24
- msgid ""
25
- "\n"
26
- "user quit"
27
- msgstr ""
28
- "\n"
29
- "l'utilisateur quitte le programme"
30
-
31
- #, python-format
32
- msgid " - %s"
33
- msgstr "- %s"
34
-
35
- #, python-format
36
- msgid " - parallel, %s"
37
- msgstr "- parallel, %s"
38
-
39
- #, python-format
40
- msgid ""
41
- "%(checked)d suffixes checked - %(hashed).2f%% hashed, %(synced).2f%% synced"
42
- msgstr ""
43
- "%(checked)d suffixe(s) vérifié(s) - %(hashed).2f%% haché(s), %(synced).2f%% "
44
- "synchronisé(s)"
45
-
46
- #, python-format
47
- msgid "%(msg)s %(ip)s:%(port)s/%(device)s"
48
- msgstr "%(msg)s %(ip)s:%(port)s/%(device)s"
49
-
50
- #, python-format
51
- msgid ""
52
- "%(replicated)d/%(total)d (%(percentage).2f%%) partitions replicated in "
53
- "%(time).2fs (%(rate).2f/sec, %(remaining)s remaining)"
54
- msgstr ""
55
- "%(replicated)d/%(total)d (%(percentage).2f%%) partitions répliquées en "
56
- "%(time).2fs (%(rate).2f/sec ; %(remaining)s restante(s))"
57
-
58
- #, python-format
59
- msgid "%(success)s successes, %(failure)s failures"
60
- msgstr "%(success)s succès, %(failure)s échec(s)"
61
-
62
- #, python-format
63
- msgid "%(type)s returning 503 for %(statuses)s"
64
- msgstr "%(type)s : renvoi de l'erreur 503 pour %(statuses)s"
65
-
66
- #, python-format
67
- msgid "%s already started..."
68
- msgstr "%s déjà démarré..."
69
-
70
- #, python-format
71
- msgid "%s does not exist"
72
- msgstr "%s n'existe pas"
73
-
74
- #, python-format
75
- msgid "%s is not mounted"
76
- msgstr "%s n'est pas monté"
77
-
78
- #, python-format
79
- msgid "%s responded as unmounted"
80
- msgstr "%s ont été identifié(es) comme étant démonté(es)"
81
-
82
- #, python-format
83
- msgid "%s: Connection reset by peer"
84
- msgstr "%s : Connexion réinitialisée par l'homologue"
85
-
86
- msgid "Account"
87
- msgstr "Compte"
88
-
89
- #, python-format
90
- msgid "Account audit \"once\" mode completed: %.02fs"
91
- msgstr "Audit de compte en mode \"Once\" terminé : %.02fs"
92
-
93
- #, python-format
94
- msgid "Account audit pass completed: %.02fs"
95
- msgstr "Session d'audit de compte terminée : %.02fs"
96
-
97
- #, python-format
98
- msgid ""
99
- "Attempted to replicate %(count)d dbs in %(time).5f seconds (%(rate).5f/s)"
100
- msgstr ""
101
- "Tentative de réplication de %(count)d bases de données en %(time).5f "
102
- "secondes (%(rate).5f/s)"
103
-
104
- #, python-format
105
- msgid "Bad rsync return code: %(ret)d <- %(args)s"
106
- msgstr "Code retour Rsync non valide : %(ret)d <- %(args)s"
107
-
108
- msgid "Begin account audit \"once\" mode"
109
- msgstr "Démarrer l'audit de compte en mode \"Once\" (une fois)"
110
-
111
- msgid "Begin account audit pass."
112
- msgstr "Démarrer la session d'audit de compte."
113
-
114
- msgid "Begin container audit \"once\" mode"
115
- msgstr "Démarrer l'audit de conteneur en mode \"Once\" (une fois)"
116
-
117
- msgid "Begin container audit pass."
118
- msgstr "Démarrer la session d'audit de conteneur."
119
-
120
- msgid "Begin container sync \"once\" mode"
121
- msgstr "Démarrer la synchronisation de conteneurs en mode \"Once\" (une fois)"
122
-
123
- msgid "Begin container update single threaded sweep"
124
- msgstr ""
125
- "Démarrer le balayage des mises à jour du conteneur (unité d'exécution unique)"
126
-
127
- msgid "Begin container update sweep"
128
- msgstr "Démarrer le balayage des mises à jour du conteneur"
129
-
130
- msgid "Begin object update single threaded sweep"
131
- msgstr ""
132
- "Démarrer le balayage des mises à jour d'objet (unité d'exécution unique)"
133
-
134
- msgid "Begin object update sweep"
135
- msgstr "Démarrer le balayage des mises à jour d'objet"
136
-
137
- msgid "Beginning replication run"
138
- msgstr "Démarrage du cycle de réplication"
139
-
140
- msgid "Broker error trying to rollback locked connection"
141
- msgstr ""
142
- "Erreur de courtier lors d'une tentative d'annulation d'une connexion "
143
- "verrouillée"
144
-
145
- #, python-format
146
- msgid "Can not access the file %s."
147
- msgstr "Ne peut pas accéder au fichier %s."
148
-
149
- #, python-format
150
- msgid "Can not load profile data from %s."
151
- msgstr "Impossible de charger des données de profil depuis %s."
152
-
153
- #, python-format
154
- msgid "Client did not read from proxy within %ss"
155
- msgstr "Le client n'a pas lu les données du proxy en %s s"
156
-
157
- msgid "Client disconnected on read"
158
- msgstr "Client déconnecté lors de la lecture"
159
-
160
- msgid "Client disconnected without sending enough data"
161
- msgstr "Client déconnecté avant l'envoi de toutes les données requises"
162
-
163
- msgid "Client disconnected without sending last chunk"
164
- msgstr "Le client a été déconnecté avant l'envoi du dernier bloc"
165
-
166
- #, python-format
167
- msgid ""
168
- "Client path %(client)s does not match path stored in object metadata %(meta)s"
169
- msgstr ""
170
- "Le chemin d'accès au client %(client)s ne correspond pas au chemin stocké "
171
- "dans les métadonnées d'objet %(meta)s"
172
-
173
- msgid ""
174
- "Configuration option internal_client_conf_path not defined. Using default "
175
- "configuration, See internal-client.conf-sample for options"
176
- msgstr ""
177
- "L'option de configuration internal_client_conf_path n'a pas été définie. La "
178
- "configuration par défaut est utilisée. Consultez les options dans internal-"
179
- "client.conf-sample."
180
-
181
- msgid "Connection refused"
182
- msgstr "Connexion refusée"
183
-
184
- msgid "Connection timeout"
185
- msgstr "Dépassement du délai d'attente de connexion"
186
-
187
- msgid "Container"
188
- msgstr "Conteneur"
189
-
190
- #, python-format
191
- msgid "Container audit \"once\" mode completed: %.02fs"
192
- msgstr "Audit de conteneur en mode \"Once\" terminé : %.02fs"
193
-
194
- #, python-format
195
- msgid "Container audit pass completed: %.02fs"
196
- msgstr "Session d'audit de conteneur terminée : %.02fs"
197
-
198
- #, python-format
199
- msgid "Container sync \"once\" mode completed: %.02fs"
200
- msgstr "Synchronisation de conteneurs en mode \"Once\" terminée : %.02fs"
201
-
202
- #, python-format
203
- msgid ""
204
- "Container update single threaded sweep completed: %(elapsed).02fs, "
205
- "%(success)s successes, %(fail)s failures, %(no_change)s with no changes"
206
- msgstr ""
207
- "Le balayage des mises à jour du conteneur (unité d'exécution unique) est "
208
- "terminé : %(elapsed).02fs, %(success)s succès, %(fail)s échec(s), "
209
- "%(no_change)s inchangé(s)"
210
-
211
- #, python-format
212
- msgid "Container update sweep completed: %.02fs"
213
- msgstr "Le balayage des mises à jour du conteneur est terminé : %.02fs"
214
-
215
- #, python-format
216
- msgid ""
217
- "Container update sweep of %(path)s completed: %(elapsed).02fs, %(success)s "
218
- "successes, %(fail)s failures, %(no_change)s with no changes"
219
- msgstr ""
220
- "Le balayage des mises à jour du conteneur (%(path)s) est terminé : "
221
- "%(elapsed).02fs, %(success)s succès, %(fail)s échec(s), %(no_change)s "
222
- "inchangé(s)"
223
-
224
- #, python-format
225
- msgid "Data download error: %s"
226
- msgstr "Erreur de téléchargement des données: %s"
227
-
228
- #, python-format
229
- msgid "ERROR %(db_file)s: %(validate_sync_to_err)s"
230
- msgstr "ERREUR %(db_file)s : %(validate_sync_to_err)s"
231
-
232
- #, python-format
233
- msgid "ERROR %(status)d %(body)s From %(type)s Server"
234
- msgstr "ERREUR %(status)d %(body)s depuis le serveur %(type)s"
235
-
236
- #, python-format
237
- msgid "ERROR %(status)d %(body)s From Object Server re: %(path)s"
238
- msgstr "ERREUR %(status)d %(body)s depuis le serveur d'objets. Réf. : %(path)s"
239
-
240
- #, python-format
241
- msgid "ERROR %(status)d Expect: 100-continue From Object Server"
242
- msgstr ""
243
- "ERREUR %(status)d Attendu(s) : 100 - poursuivre depuis le serveur d'objets"
244
-
245
- #, python-format
246
- msgid ""
247
- "ERROR Account update failed with %(ip)s:%(port)s/%(device)s (will retry "
248
- "later): Response %(status)s %(reason)s"
249
- msgstr ""
250
- "ERREUR Echec de la mise à jour du compte avec %(ip)s:%(port)s/%(device)s "
251
- "(une nouvelle tentative sera effectuée ultérieurement). Réponse %(status)s "
252
- "%(reason)s"
253
-
254
- #, python-format
255
- msgid "ERROR Client read timeout (%ss)"
256
- msgstr "ERREUR Dépassement du délai de lecture du client (%ss)"
257
-
258
- #, python-format
259
- msgid ""
260
- "ERROR Container update failed (saving for async update later): %(status)d "
261
- "response from %(ip)s:%(port)s/%(dev)s"
262
- msgstr ""
263
- "ERREUR Echec de la mise à jour du conteneur (sauvegarde pour mise à jour "
264
- "asynchrone ultérieure) : réponse %(status)d renvoyée par %(ip)s:%(port)s/"
265
- "%(dev)s"
266
-
267
- #, python-format
268
- msgid "ERROR Could not get account info %s"
269
- msgstr "ERREUR Impossible d'obtenir les infos de compte %s"
270
-
271
- #, python-format
272
- msgid "ERROR Could not get container info %s"
273
- msgstr "ERREUR Impossible d'obtenir les infos de conteneur %s"
274
-
275
- #, python-format
276
- msgid "ERROR DiskFile %(data_file)s close failure: %(exc)s : %(stack)s"
277
- msgstr ""
278
- "ERREUR Incident de fermeture du fichier disque %(data_file)s : %(exc)s : "
279
- "%(stack)s"
280
-
281
- msgid "ERROR Exception causing client disconnect"
282
- msgstr "ERREUR Exception entraînant la déconnexion du client"
283
-
284
- #, python-format
285
- msgid "ERROR Exception transferring data to object servers %s"
286
- msgstr ""
287
- "ERREUR Exception lors du transfert de données vers des serveurs d'objets %s"
288
-
289
- msgid "ERROR Failed to get my own IPs?"
290
- msgstr "ERREUR Obtention impossible de mes propres adresses IP ?"
291
-
292
- msgid "ERROR Insufficient Storage"
293
- msgstr "ERREUR Stockage insuffisant"
294
-
295
- #, python-format
296
- msgid "ERROR Object %(obj)s failed audit and was quarantined: %(err)s"
297
- msgstr ""
298
- "ERREUR L'objet %(obj)s a échoué à l'audit et a été en quarantaine : %(err)s"
299
-
300
- #, python-format
301
- msgid "ERROR Pickle problem, quarantining %s"
302
- msgstr "ERREUR Problème lié à Pickle. Mise en quarantaine de %s"
303
-
304
- #, python-format
305
- msgid "ERROR Remote drive not mounted %s"
306
- msgstr "ERREUR Unité distante %s non montée"
307
-
308
- #, python-format
309
- msgid "ERROR Syncing %(db_file)s %(row)s"
310
- msgstr "ERREUR lors de la synchronisation de %(db_file)s %(row)s"
311
-
312
- #, python-format
313
- msgid "ERROR Syncing %s"
314
- msgstr "ERREUR lors de la synchronisation de %s"
315
-
316
- #, python-format
317
- msgid "ERROR Trying to audit %s"
318
- msgstr "ERREUR lors de la tentative d'audit de %s"
319
-
320
- msgid "ERROR Unhandled exception in request"
321
- msgstr "ERREUR Exception non gérée dans la demande"
322
-
323
- #, python-format
324
- msgid "ERROR __call__ error with %(method)s %(path)s "
325
- msgstr "ERROR __call__ error sur %(method)s %(path)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
- "ERREUR Echec de la mise à jour du compte avec %(ip)s:%(port)s/%(device)s "
333
- "(une nouvelle tentative sera effectuée ultérieurement)"
334
-
335
- #, python-format
336
- msgid ""
337
- "ERROR account update failed with %(ip)s:%(port)s/%(device)s (will retry "
338
- "later): "
339
- msgstr ""
340
- "ERREUR Echec de la mise à jour du compte avec %(ip)s:%(port)s/%(device)s "
341
- "(une nouvelle tentative sera effectuée ultérieurement) : "
342
-
343
- #, python-format
344
- msgid "ERROR async pending file with unexpected name %s"
345
- msgstr ""
346
- "ERREUR Le fichier des mises à jour asynchrones en attente porte un nom "
347
- "inattendu %s"
348
-
349
- msgid "ERROR auditing"
350
- msgstr "Erreur d'audit"
351
-
352
- #, python-format
353
- msgid "ERROR auditing: %s"
354
- msgstr "ERREUR d'audit : %s"
355
-
356
- #, python-format
357
- msgid ""
358
- "ERROR container update failed with %(ip)s:%(port)s/%(dev)s (saving for async "
359
- "update later)"
360
- msgstr ""
361
- "ERREUR Echec de la mise à jour du conteneur avec %(ip)s:%(port)s/%(dev)s "
362
- "(sauvegarde pour mise à jour asynchrone ultérieure)"
363
-
364
- #, python-format
365
- msgid "ERROR reading HTTP response from %s"
366
- msgstr "Erreur de lecture de la réponse HTTP depuis %s"
367
-
368
- #, python-format
369
- msgid "ERROR reading db %s"
370
- msgstr "ERREUR de lecture de db %s"
371
-
372
- #, python-format
373
- msgid "ERROR rsync failed with %(code)s: %(args)s"
374
- msgstr "ERREUR Echec de Rsync avec %(code)s : %(args)s"
375
-
376
- #, python-format
377
- msgid "ERROR syncing %(file)s with node %(node)s"
378
- msgstr "ERREUR de synchronisation de %(file)s avec le noeud %(node)s"
379
-
380
- msgid "ERROR trying to replicate"
381
- msgstr "ERREUR lors de la tentative de réplication"
382
-
383
- #, python-format
384
- msgid "ERROR while trying to clean up %s"
385
- msgstr "ERREUR pendant le nettoyage %s"
386
-
387
- #, python-format
388
- msgid "ERROR with %(type)s server %(ip)s:%(port)s/%(device)s re: %(info)s"
389
- msgstr ""
390
- "ERREUR liée au serveur %(type)s %(ip)s:%(port)s/%(device)s. Réf. : %(info)s"
391
-
392
- #, python-format
393
- msgid "ERROR with loading suppressions from %s: "
394
- msgstr "ERREUR de chargement des suppressions de %s : "
395
-
396
- #, python-format
397
- msgid "ERROR with remote server %(ip)s:%(port)s/%(device)s"
398
- msgstr "ERREUR liée au serveur distant %(ip)s:%(port)s/%(device)s"
399
-
400
- #, python-format
401
- msgid "ERROR: Failed to get paths to drive partitions: %s"
402
- msgstr ""
403
- "ERREUR : Echec de l'obtention des chemins d'accès aux partitions d'unité : %s"
404
-
405
- #, python-format
406
- msgid "ERROR: Unable to access %(path)s: %(error)s"
407
- msgstr "ERREUR : Impossible d'accéder à %(path)s : %(error)s"
408
-
409
- #, python-format
410
- msgid "ERROR: Unable to run auditing: %s"
411
- msgstr "ERREUR : Impossible d'exécuter l'audit : %s"
412
-
413
- msgid "Error hashing suffix"
414
- msgstr "Erreur suffixe hashing"
415
-
416
- msgid "Error listing devices"
417
- msgstr "Erreur lors du listage des unités"
418
-
419
- #, python-format
420
- msgid "Error on render profiling results: %s"
421
- msgstr "Erreur de rendu des résultats de profilage : %s"
422
-
423
- msgid "Error parsing recon cache file"
424
- msgstr "Erreur lors de l'analyse syntaxique du fichier cache Recon"
425
-
426
- msgid "Error reading recon cache file"
427
- msgstr "Erreur de lecture du fichier cache Recon"
428
-
429
- msgid "Error reading ringfile"
430
- msgstr "Erreur de lecture du fichier Ring"
431
-
432
- msgid "Error reading swift.conf"
433
- msgstr "Erreur de lecture de swift.conf"
434
-
435
- msgid "Error retrieving recon data"
436
- msgstr "Erreur lors de l'extraction des données Recon"
437
-
438
- msgid "Error syncing handoff partition"
439
- msgstr "Erreur lors de la synchronisation de la partition de transfert"
440
-
441
- msgid "Error syncing partition"
442
- msgstr "Erreur de synchronisation de la partition"
443
-
444
- #, python-format
445
- msgid "Error syncing with node: %s"
446
- msgstr "Erreur de synchronisation avec le noeud : %s"
447
-
448
- #, python-format
449
- msgid "Error trying to rebuild %(path)s policy#%(policy)d frag#%(frag_index)s"
450
- msgstr ""
451
- "Une erreur est survenue lors de la tentative de régénération de %(path)s "
452
- "policy#%(policy)d frag#%(frag_index)s"
453
-
454
- msgid "Error: An error occurred"
455
- msgstr "Erreur : une erreur s'est produite"
456
-
457
- msgid "Error: missing config path argument"
458
- msgstr "Erreur: Manque argument de configuration du chemin"
459
-
460
- #, python-format
461
- msgid "Error: unable to locate %s"
462
- msgstr "Erreur: impossible de localiser %s"
463
-
464
- #, python-format
465
- msgid "Exception with %(ip)s:%(port)s/%(device)s"
466
- msgstr "Exception liée à %(ip)s:%(port)s/%(device)s"
467
-
468
- #, python-format
469
- msgid "Expect: 100-continue on %s"
470
- msgstr "Attendus(s) : 100 - poursuivre sur %s"
471
-
472
- #, python-format
473
- msgid "Following CNAME chain for %(given_domain)s to %(found_domain)s"
474
- msgstr ""
475
- "Suivi de la chaîne CNAME pour %(given_domain)s jusqu'à %(found_domain)s"
476
-
477
- msgid "Found configs:"
478
- msgstr "Configurations trouvées :"
479
-
480
- msgid ""
481
- "Handoffs first mode still has handoffs remaining. Aborting current "
482
- "replication pass."
483
- msgstr ""
484
- "Le premier mode de transferts contient d'autres transferts. Abandon de la "
485
- "session de réplication en cours."
486
-
487
- msgid "Host unreachable"
488
- msgstr "Hôte inaccessible"
489
-
490
- #, python-format
491
- msgid "Invalid X-Container-Sync-To format %r"
492
- msgstr "Non valide X-Container-Sync-To format %r"
493
-
494
- #, python-format
495
- msgid "Invalid host %r in X-Container-Sync-To"
496
- msgstr "Hôte %r non valide dans X-Container-Sync-To"
497
-
498
- #, python-format
499
- msgid "Invalid pending entry %(file)s: %(entry)s"
500
- msgstr "Entrée en attente non valide %(file)s : %(entry)s"
501
-
502
- #, python-format
503
- msgid "Invalid response %(resp)s from %(full_path)s"
504
- msgstr "Réponse %(resp)s non valide de %(full_path)s"
505
-
506
- #, python-format
507
- msgid "Invalid response %(resp)s from %(ip)s"
508
- msgstr "Réponse %(resp)s non valide de %(ip)s"
509
-
510
- #, python-format
511
- msgid ""
512
- "Invalid scheme %r in X-Container-Sync-To, must be \"//\", \"http\", or "
513
- "\"https\"."
514
- msgstr ""
515
- "Schéma %r non valide dans X-Container-Sync-To. Doit être \"//\", \"http\" ou "
516
- "\"https\"."
517
-
518
- #, python-format
519
- msgid "Killing long-running rsync: %s"
520
- msgstr "Arrêt de l'opération Rsync à exécution longue : %s"
521
-
522
- msgid "Lockup detected.. killing live coros."
523
- msgstr "Blocage détecté. Arrêt des coroutines actives."
524
-
525
- #, python-format
526
- msgid "Mapped %(given_domain)s to %(found_domain)s"
527
- msgstr "%(given_domain)s mappé avec %(found_domain)s"
528
-
529
- #, python-format
530
- msgid "No %s running"
531
- msgstr "Non démarré %s"
532
-
533
- #, python-format
534
- msgid "No permission to signal PID %d"
535
- msgstr "Aucun droit pour signaler le PID %d"
536
-
537
- #, python-format
538
- msgid "No policy with index %s"
539
- msgstr "Aucune statégie avec un index de type %s"
540
-
541
- #, python-format
542
- msgid "No realm key for %r"
543
- msgstr "Aucune clé de domaine pour %r"
544
-
545
- #, python-format
546
- msgid "Node error limited %(ip)s:%(port)s (%(device)s)"
547
- msgstr ""
548
- "Noeud marqué avec limite d'erreurs (error_limited) %(ip)s:%(port)s "
549
- "(%(device)s)"
550
-
551
- #, python-format
552
- msgid "Not enough object servers ack'ed (got %d)"
553
- msgstr ""
554
- "Le nombre de serveurs d'objets reconnus n'est pas suffisant (%d obtenus)"
555
-
556
- #, python-format
557
- msgid ""
558
- "Not found %(sync_from)r => %(sync_to)r - object "
559
- "%(obj_name)r"
560
- msgstr ""
561
- "Introuvable : %(sync_from)r => %(sync_to)r - objet "
562
- "%(obj_name)r"
563
-
564
- #, python-format
565
- msgid "Nothing reconstructed for %s seconds."
566
- msgstr "Aucun élément reconstruit pendant %s secondes."
567
-
568
- #, python-format
569
- msgid "Nothing replicated for %s seconds."
570
- msgstr "Aucun élément répliqué pendant %s secondes."
571
-
572
- msgid "Object"
573
- msgstr "Objet"
574
-
575
- msgid "Object PUT"
576
- msgstr "Object PUT"
577
-
578
- #, python-format
579
- msgid "Object PUT returning 202 for 409: %(req_timestamp)s <= %(timestamps)r"
580
- msgstr ""
581
- "L'opération d'insertion (PUT) d'objet a renvoyé l'erreur 202 pour 409 : "
582
- "%(req_timestamp)s <= %(timestamps)r"
583
-
584
- #, python-format
585
- msgid "Object PUT returning 412, %(statuses)r"
586
- msgstr ""
587
- "L'opération d'insertion (PUT) d'objet a renvoyé l'erreur 412. %(statuses)r"
588
-
589
- #, python-format
590
- msgid ""
591
- "Object audit (%(type)s) \"%(mode)s\" mode completed: %(elapsed).02fs. Total "
592
- "quarantined: %(quars)d, Total errors: %(errors)d, Total files/sec: "
593
- "%(frate).2f, Total bytes/sec: %(brate).2f, Auditing time: %(audit).2f, Rate: "
594
- "%(audit_rate).2f"
595
- msgstr ""
596
- "L'audit d'objet (%(type)s) en mode \"%(mode)s\" est terminé : "
597
- "%(elapsed).02fs. Nombre total mis en quarantaine : %(quars)d. Nombre total "
598
- "d'erreurs : %(errors)d. Nombre total de fichiers/sec : %(frate).2f. Nombre "
599
- "total d'octets/sec : %(brate).2f. Durée d'audit : %(audit).2f. Taux : "
600
- "%(audit_rate).2f"
601
-
602
- #, python-format
603
- msgid ""
604
- "Object audit (%(type)s). Since %(start_time)s: Locally: %(passes)d passed, "
605
- "%(quars)d quarantined, %(errors)d errors, files/sec: %(frate).2f, bytes/sec: "
606
- "%(brate).2f, Total time: %(total).2f, Auditing time: %(audit).2f, Rate: "
607
- "%(audit_rate).2f"
608
- msgstr ""
609
- "Audit d'objet (%(type)s). Depuis %(start_time)s, localement : %(passes)d "
610
- "succès. %(quars)d en quarantaine. %(errors)d erreurs. Fichiers/sec : "
611
- "%(frate).2f. Octets/sec : %(brate).2f. Durée totale : %(total).2f. Durée "
612
- "d'audit : %(audit).2f. Taux : %(audit_rate).2f"
613
-
614
- #, python-format
615
- msgid "Object audit stats: %s"
616
- msgstr "Statistiques de l'audit d'objet : %s"
617
-
618
- #, python-format
619
- msgid "Object reconstruction complete (once). (%.02f minutes)"
620
- msgstr ""
621
- "La reconstruction d'objet en mode Once (une fois) est terminée. (%.02f "
622
- "minutes)"
623
-
624
- #, python-format
625
- msgid "Object reconstruction complete. (%.02f minutes)"
626
- msgstr "Reconstruction d'objet terminée. (%.02f minutes)"
627
-
628
- #, python-format
629
- msgid "Object replication complete (once). (%.02f minutes)"
630
- msgstr ""
631
- "La réplication d'objet en mode Once (une fois) est terminée. (%.02f minutes)"
632
-
633
- #, python-format
634
- msgid "Object replication complete. (%.02f minutes)"
635
- msgstr "Réplication d'objet terminée. (%.02f minutes)"
636
-
637
- #, python-format
638
- msgid "Object servers returned %s mismatched etags"
639
- msgstr "Des serveurs d'objets ont renvoyé %s en-têtes Etag non concordants"
640
-
641
- #, python-format
642
- msgid "Object update sweep completed: %.02fs"
643
- msgstr "Le balayage des mises à jour d'objet est terminé : %.02fs"
644
-
645
- msgid "Params, queries, and fragments not allowed in X-Container-Sync-To"
646
- msgstr "Paramètres, requêtes et fragments interdits dans X-Container-Sync-To"
647
-
648
- #, python-format
649
- msgid "Partition times: max %(max).4fs, min %(min).4fs, med %(med).4fs"
650
- msgstr ""
651
- "Temps de partition : maximum %(max).4fs, minimum %(min).4fs, moyenne "
652
- "%(med).4fs"
653
-
654
- msgid "Path required in X-Container-Sync-To"
655
- msgstr "Chemin requis dans X-Container-Sync-To"
656
-
657
- #, python-format
658
- msgid "Problem cleaning up %s"
659
- msgstr "Problème lors du nettoyage de %s"
660
-
661
- #, python-format
662
- msgid "Profiling Error: %s"
663
- msgstr "Erreur de profilage : %s"
664
-
665
- #, python-format
666
- msgid "Quarantined %(hsh_path)s to %(quar_path)s because it is not a directory"
667
- msgstr ""
668
- "%(hsh_path)s n'est pas un répertoire et a donc été mis en quarantaine dans "
669
- "%(quar_path)s"
670
-
671
- #, python-format
672
- msgid ""
673
- "Quarantined %(object_path)s to %(quar_path)s because it is not a directory"
674
- msgstr ""
675
- "%(object_path)s n'est pas un répertoire et a donc été mis en quarantaine "
676
- "dans %(quar_path)s"
677
-
678
- #, python-format
679
- msgid "Quarantining DB %s"
680
- msgstr "Mise en quarantaine de la base de données %s"
681
-
682
- #, python-format
683
- msgid "Ratelimit sleep log: %(sleep)s for %(account)s/%(container)s/%(object)s"
684
- msgstr ""
685
- "Journal de mise en veille Ratelimit : %(sleep)s pour %(account)s/"
686
- "%(container)s/%(object)s"
687
-
688
- #, python-format
689
- msgid "Removed %(remove)d dbs"
690
- msgstr "%(remove)d bases de données ont été retirées"
691
-
692
- #, python-format
693
- msgid "Removing %s objects"
694
- msgstr "Suppression de %s objets"
695
-
696
- #, python-format
697
- msgid "Removing partition: %s"
698
- msgstr "Suppression partition: %s"
699
-
700
- #, python-format
701
- msgid "Removing pid file %(pid_file)s with wrong pid %(pid)d"
702
- msgstr ""
703
- "Supression du fichier PID %(pid_file)s, comportant un PID incorrect %(pid)d"
704
-
705
- #, python-format
706
- msgid "Removing pid file %s with invalid pid"
707
- msgstr "Suppression du fichier pid %s comportant un pid non valide"
708
-
709
- #, python-format
710
- msgid "Removing stale pid file %s"
711
- msgstr "Suppression du fichier PID %s périmé"
712
-
713
- msgid "Replication run OVER"
714
- msgstr "Le cycle de réplication est terminé"
715
-
716
- #, python-format
717
- msgid "Returning 497 because of blacklisting: %s"
718
- msgstr "Renvoi de 497 en raison du placement sur liste noire : %s"
719
-
720
- #, python-format
721
- msgid ""
722
- "Returning 498 for %(meth)s to %(acc)s/%(cont)s/%(obj)s . Ratelimit (Max "
723
- "Sleep) %(e)s"
724
- msgstr ""
725
- "Renvoi de 498 pour %(meth)s jusqu'à %(acc)s/%(cont)s/%(obj)s . Ratelimit "
726
- "(Max Sleep) %(e)s"
727
-
728
- msgid "Ring change detected. Aborting current reconstruction pass."
729
- msgstr ""
730
- "Changement d'anneau détecté. Abandon de la session de reconstruction en "
731
- "cours."
732
-
733
- msgid "Ring change detected. Aborting current replication pass."
734
- msgstr ""
735
- "Changement d'anneau détecté. Abandon de la session de réplication en cours."
736
-
737
- #, python-format
738
- msgid "Running %s once"
739
- msgstr "Exécution unique de %s"
740
-
741
- msgid "Running object reconstructor in script mode."
742
- msgstr "Exécution du reconstructeur d'objet en mode script."
743
-
744
- msgid "Running object replicator in script mode."
745
- msgstr "Exécution du réplicateur d'objet en mode script."
746
-
747
- #, python-format
748
- msgid ""
749
- "Since %(time)s: %(sync)s synced [%(delete)s deletes, %(put)s puts], %(skip)s "
750
- "skipped, %(fail)s failed"
751
- msgstr ""
752
- "Depuis %(time)s : %(sync)s synchronisé(s) [%(delete)s suppression(s), "
753
- "%(put)s insertion(s)], %(skip)s ignoré(s), %(fail)s échec(s)"
754
-
755
- #, python-format
756
- msgid ""
757
- "Since %(time)s: Account audits: %(passed)s passed audit,%(failed)s failed "
758
- "audit"
759
- msgstr ""
760
- "Depuis %(time)s : audits de compte : %(passed)s succès, %(failed)s échec(s)"
761
-
762
- #, python-format
763
- msgid ""
764
- "Since %(time)s: Container audits: %(pass)s passed audit, %(fail)s failed "
765
- "audit"
766
- msgstr ""
767
- "Depuis %(time)s : audits de conteneur : %(pass)s succès, %(fail)s échec(s)"
768
-
769
- #, python-format
770
- msgid "Skipping %s as it is not mounted"
771
- msgstr "%s est ignoré car il n'est pas monté"
772
-
773
- #, python-format
774
- msgid "Starting %s"
775
- msgstr "Démarrage %s"
776
-
777
- msgid "Starting object reconstruction pass."
778
- msgstr "Démarrage de la session de reconstruction d'objet."
779
-
780
- msgid "Starting object reconstructor in daemon mode."
781
- msgstr "Démarrage du reconstructeur d'objet en mode démon."
782
-
783
- msgid "Starting object replication pass."
784
- msgstr "Démarrage de la session de réplication d'objet."
785
-
786
- msgid "Starting object replicator in daemon mode."
787
- msgstr "Démarrage du réplicateur d'objet en mode démon."
788
-
789
- #, python-format
790
- msgid "Successful rsync of %(src)s at %(dst)s (%(time).03f)"
791
- msgstr "Succès de Rsync pour %(src)s dans %(dst)s (%(time).03f)"
792
-
793
- msgid "The file type are forbidden to access!"
794
- msgstr "Accès interdit au type de fichier"
795
-
796
- #, python-format
797
- msgid ""
798
- "The total %(key)s for the container (%(total)s) does not match the sum of "
799
- "%(key)s across policies (%(sum)s)"
800
- msgstr ""
801
- "Le total %(key)s du conteneur (%(total)s) ne correspond pas à la somme des "
802
- "clés %(key)s des différentes règles (%(sum)s)"
803
-
804
- #, python-format
805
- msgid "Trying to %(method)s %(path)s"
806
- msgstr "Tentative d'exécution de %(method)s %(path)s"
807
-
808
- #, python-format
809
- msgid "Trying to GET %(full_path)s"
810
- msgstr "Tentative de lecture de %(full_path)s"
811
-
812
- msgid "Trying to read during GET"
813
- msgstr "Tentative de lecture pendant une opération GET"
814
-
815
- msgid "Trying to send to client"
816
- msgstr "Tentative d'envoi au client"
817
-
818
- #, python-format
819
- msgid "Trying to sync suffixes with %s"
820
- msgstr "Tentative de synchronisation de suffixes à l'aide de %s"
821
-
822
- #, python-format
823
- msgid "Trying to write to %s"
824
- msgstr "Tentative d'écriture sur %s"
825
-
826
- msgid "UNCAUGHT EXCEPTION"
827
- msgstr "EXCEPTION NON INTERCEPTEE"
828
-
829
- #, python-format
830
- msgid "Unable to locate %s in libc. Leaving as a no-op."
831
- msgstr ""
832
- "Impossible de localiser %s dans libc. Laissé comme action nulle (no-op)."
833
-
834
- #, python-format
835
- msgid "Unable to locate config for %s"
836
- msgstr "Impossible de trouver la configuration pour %s"
837
-
838
- msgid ""
839
- "Unable to locate fallocate, posix_fallocate in libc. Leaving as a no-op."
840
- msgstr ""
841
- "Impossible de localiser fallocate, posix_fallocate dans libc. Laissé comme "
842
- "action nulle (no-op)."
843
-
844
- #, python-format
845
- msgid "Unable to read config from %s"
846
- msgstr "Impossible de lire le fichier de configuration depuis %s"
847
-
848
- #, python-format
849
- msgid "Unauth %(sync_from)r => %(sync_to)r"
850
- msgstr "Non autorisé : %(sync_from)r => %(sync_to)r"
851
-
852
- msgid "Unhandled exception"
853
- msgstr "Exception non prise en charge"
854
-
855
- #, python-format
856
- msgid "Unknown exception trying to GET: %(account)r %(container)r %(object)r"
857
- msgstr ""
858
- "Une exception inconnue s'est produite pendant une opération GET: %(account)r "
859
- "%(container)r %(object)r"
860
-
861
- #, python-format
862
- msgid "Update report failed for %(container)s %(dbfile)s"
863
- msgstr "Echec du rapport de mise à jour pour %(container)s %(dbfile)s"
864
-
865
- #, python-format
866
- msgid "Update report sent for %(container)s %(dbfile)s"
867
- msgstr "Rapport de mise à jour envoyé pour %(container)s %(dbfile)s"
868
-
869
- msgid ""
870
- "WARNING: SSL should only be enabled for testing purposes. Use external SSL "
871
- "termination for a production deployment."
872
- msgstr ""
873
- "AVERTISSEMENT : SSL ne doit être activé qu'à des fins de test. Utilisez la "
874
- "terminaison SSL externe pour un déploiement en production."
875
-
876
- msgid "WARNING: Unable to modify file descriptor limit. Running as non-root?"
877
- msgstr ""
878
- "AVERTISSEMENT : Impossible de modifier la limite de descripteur de fichier. "
879
- "Exécution en tant que non root ?"
880
-
881
- msgid "WARNING: Unable to modify max process limit. Running as non-root?"
882
- msgstr ""
883
- "AVERTISSEMENT : Impossible de modifier la limite maximale de processus. "
884
- "Exécution en tant que non root ?"
885
-
886
- msgid "WARNING: Unable to modify memory limit. Running as non-root?"
887
- msgstr ""
888
- "AVERTISSEMENT : Impossible de modifier la limite de mémoire. Exécution en "
889
- "tant que non root ?"
890
-
891
- msgid "Warning: Cannot ratelimit without a memcached client"
892
- msgstr "Avertissement : impossible d'appliquer Ratelimit sans client memcached"
893
-
894
- #, python-format
895
- msgid "method %s is not allowed."
896
- msgstr "Méthode %s interdite."
897
-
898
- msgid "no log file found"
899
- msgstr "Pas de fichier log trouvé"
900
-
901
- msgid "odfpy not installed."
902
- msgstr "odfpy n'est pas installé."
903
-
904
- #, python-format
905
- msgid "plotting results failed due to %s"
906
- msgstr "Echec du traçage des résultats. Cause : %s"
907
-
908
- msgid "python-matplotlib not installed."
909
- msgstr "python-matplotlib non installé."