From 9fcb3ad4f645e0c1c6f264b8ccc9bc4c5a9ed339 Mon Sep 17 00:00:00 2001 From: Michael Barton Date: Thu, 27 Jan 2011 00:01:24 +0000 Subject: [PATCH] add pybabel setup.py commands and initial .pot --- babel.cfg | 2 + locale/swift.pot | 1030 ++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 14 + setup.py | 9 +- 4 files changed, 1054 insertions(+), 1 deletion(-) create mode 100644 babel.cfg create mode 100644 locale/swift.pot diff --git a/babel.cfg b/babel.cfg new file mode 100644 index 0000000000..15cd6cb76b --- /dev/null +++ b/babel.cfg @@ -0,0 +1,2 @@ +[python: **.py] + diff --git a/locale/swift.pot b/locale/swift.pot new file mode 100644 index 0000000000..7f905f2940 --- /dev/null +++ b/locale/swift.pot @@ -0,0 +1,1030 @@ +# Translations template for swift. +# Copyright (C) 2011 ORGANIZATION +# This file is distributed under the same license as the swift project. +# FIRST AUTHOR , 2011. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: swift 1.2.0\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2011-01-26 23:59+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.4\n" + +#: swift/account/auditor.py:52 swift/account/auditor.py:75 +#, python-format +msgid "" +"Since %(time)s: Account audits: %(passed)s passed audit, %(failed)s " +"failed audit" +msgstr "" + +#: swift/account/auditor.py:100 swift/container/auditor.py:103 +#, python-format +msgid "Audit passed for %s" +msgstr "" + +#: swift/account/auditor.py:103 +#, python-format +msgid "ERROR Could not get account info %s" +msgstr "" + +#: swift/account/reaper.py:80 swift/container/updater.py:64 +#, python-format +msgid "Loading account ring from %s" +msgstr "" + +#: swift/account/reaper.py:88 swift/obj/updater.py:57 +#, python-format +msgid "Loading container ring from %s" +msgstr "" + +#: swift/account/reaper.py:96 +#, python-format +msgid "Loading object ring from %s" +msgstr "" + +#: swift/account/reaper.py:106 +msgid "Daemon started." +msgstr "" + +#: swift/account/reaper.py:122 +#, python-format +msgid "Begin devices pass: %s" +msgstr "" + +#: swift/account/reaper.py:128 swift/common/utils.py:805 +#: swift/obj/updater.py:74 swift/obj/updater.py:113 +#, python-format +msgid "Skipping %s as it is not mounted" +msgstr "" + +#: swift/account/reaper.py:132 +#, python-format +msgid "Devices pass completed: %.02fs" +msgstr "" + +#: swift/account/reaper.py:215 +#, python-format +msgid "Beginning pass on account %s" +msgstr "" + +#: swift/account/reaper.py:238 +#, python-format +msgid "Exception with containers for account %s" +msgstr "" + +#: swift/account/reaper.py:243 +#, python-format +msgid "Exception with account %s" +msgstr "" + +#: swift/account/reaper.py:244 +#, python-format +msgid "Incomplete pass on account %s" +msgstr "" + +#: swift/account/reaper.py:246 +#, python-format +msgid ", %s containers deleted" +msgstr "" + +#: swift/account/reaper.py:248 +#, python-format +msgid ", %s objects deleted" +msgstr "" + +#: swift/account/reaper.py:250 +#, python-format +msgid ", %s containers remaining" +msgstr "" + +#: swift/account/reaper.py:253 +#, python-format +msgid ", %s objects remaining" +msgstr "" + +#: swift/account/reaper.py:255 +#, python-format +msgid ", %s containers possibly remaining" +msgstr "" + +#: swift/account/reaper.py:258 +#, python-format +msgid ", %s objects possibly remaining" +msgstr "" + +#: swift/account/reaper.py:261 +msgid ", return codes: " +msgstr "" + +#: swift/account/reaper.py:265 +#, python-format +msgid ", elapsed: %.02fs" +msgstr "" + +#: swift/account/reaper.py:320 swift/account/reaper.py:355 +#: swift/account/reaper.py:406 swift/container/updater.py:277 +#, python-format +msgid "Exception with %(ip)s:%(port)s/%(device)s" +msgstr "" + +#: swift/account/reaper.py:333 +#, python-format +msgid "Exception with objects for container %(container)s for account %(account)s" +msgstr "" + +#: swift/account/server.py:309 swift/container/server.py:397 +#: swift/obj/server.py:597 +#, python-format +msgid "ERROR __call__ error with %(method)s %(path)s " +msgstr "" + +#: swift/auth/server.py:96 swift/common/middleware/swauth.py:94 +msgid "No super_admin_key set in conf file! Exiting." +msgstr "" + +#: swift/auth/server.py:152 +#, python-format +msgid "" +"\n" +"THERE ARE ACCOUNTS IN YOUR auth.db THAT DO NOT BEGIN WITH YOUR NEW " +"RESELLER\n" +"PREFIX OF \"%(reseller)s\".\n" +"YOU HAVE A FEW OPTIONS:\n" +" 1. RUN \"swift-auth-update-reseller-prefixes %(db_file)s " +"%(reseller)s\",\n" +" \"swift-init auth-server restart\", AND\n" +" \"swift-auth-recreate-accounts -K ...\" TO CREATE FRESH ACCOUNTS.\n" +" OR\n" +" 2. REMOVE %(db_file)s, RUN \"swift-init auth-server restart\", AND " +"RUN\n" +" \"swift-auth-add-user ...\" TO CREATE BRAND NEW ACCOUNTS THAT WAY." +"\n" +" OR\n" +" 3. ADD \"reseller_prefix = %(previous)s\" (WITHOUT THE QUOTES) TO " +"YOUR\n" +" proxy-server.conf IN THE [filter:auth] SECTION AND TO YOUR\n" +" auth-server.conf IN THE [app:auth-server] SECTION AND RUN\n" +" \"swift-init proxy-server restart\" AND \"swift-init auth-server " +"restart\"\n" +" TO REVERT BACK TO YOUR PREVIOUS RESELLER PREFIX.\n" +"\n" +" %(note)s\n" +" " +msgstr "" + +#: swift/auth/server.py:173 +msgid "" +"\n" +" SINCE YOUR PREVIOUS RESELLER PREFIX WAS AN EMPTY STRING, IT IS NOT\n" +" RECOMMENDED TO PERFORM OPTION 3 AS THAT WOULD MAKE SUPPORTING " +"MULTIPLE\n" +" RESELLERS MORE DIFFICULT.\n" +" " +msgstr "" + +#: swift/auth/server.py:178 +msgid "CRITICAL: " +msgstr "" + +#: swift/auth/server.py:213 +#, python-format +msgid "ERROR attempting to create account %(url)s: %(status)s %(reason)s" +msgstr "" + +#: swift/auth/server.py:346 +#, python-format +msgid "" +"ALREADY EXISTS create_user(%(account)s, %(user)s, _, %(admin)s, " +"%(reseller_admin)s) [%(elapsed).02f]" +msgstr "" + +#: swift/auth/server.py:364 +#, python-format +msgid "" +"FAILED create_user(%(account)s, %(user)s, _, %(admin)s, " +"%(reseller_admin)s) [%(elapsed).02f]" +msgstr "" + +#: swift/auth/server.py:381 +#, python-format +msgid "" +"SUCCESS create_user(%(account)s, %(user)s, _, %(admin)s, " +"%(reseller_admin)s) = %(url)s [%(elapsed).02f]" +msgstr "" + +#: swift/auth/server.py:656 +msgid "ERROR Unhandled exception in ReST request" +msgstr "" + +#: swift/common/bench.py:85 +#, python-format +msgid "%(complete)s %(title)s [%(fail)s failures], %(rate).01f/s" +msgstr "" + +#: swift/common/bench.py:97 +msgid "CannotSendRequest. Skipping..." +msgstr "" + +#: swift/common/bufferedhttp.py:96 +#, python-format +msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)" +msgstr "" + +#: swift/common/db.py:299 +msgid "Broker error trying to rollback locked connection" +msgstr "" + +#: swift/common/db.py:754 swift/common/db.py:1221 +#, python-format +msgid "Invalid pending entry %(file)s: %(entry)s" +msgstr "" + +#: swift/common/db_replicator.py:84 +#, python-format +msgid "ERROR reading HTTP response from %s" +msgstr "" + +#: swift/common/db_replicator.py:123 +#, python-format +msgid "Attempted to replicate %(count)d dbs in %(time).5f seconds (%(rate).5f/s)" +msgstr "" + +#: swift/common/db_replicator.py:129 +#, python-format +msgid "Removed %(remove)d dbs" +msgstr "" + +#: swift/common/db_replicator.py:130 +#, python-format +msgid "%(success)s successes, %(failure)s failures" +msgstr "" + +#: swift/common/db_replicator.py:155 +#, python-format +msgid "ERROR rsync failed with %(code)s: %(args)s" +msgstr "" + +#: swift/common/db_replicator.py:205 +#, python-format +msgid "Syncing chunks with %s" +msgstr "" + +#: swift/common/db_replicator.py:213 +#, python-format +msgid "ERROR Bad response %(status)s from %(host)s" +msgstr "" + +#: swift/common/db_replicator.py:278 +#, python-format +msgid "ERROR Unable to connect to remote server: %s" +msgstr "" + +#: swift/common/db_replicator.py:316 +#, python-format +msgid "Replicating db %s" +msgstr "" + +#: swift/common/db_replicator.py:325 swift/common/db_replicator.py:479 +#, python-format +msgid "Quarantining DB %s" +msgstr "" + +#: swift/common/db_replicator.py:328 +#, python-format +msgid "ERROR reading db %s" +msgstr "" + +#: swift/common/db_replicator.py:361 +#, python-format +msgid "ERROR Remote drive not mounted %s" +msgstr "" + +#: swift/common/db_replicator.py:363 +#, python-format +msgid "ERROR syncing %(file)s with node %(node)s" +msgstr "" + +#: swift/common/db_replicator.py:405 +msgid "ERROR Failed to get my own IPs?" +msgstr "" + +#: swift/common/db_replicator.py:412 +#, python-format +msgid "Skipping %(device)s as it is not mounted" +msgstr "" + +#: swift/common/db_replicator.py:420 +msgid "Beginning replication run" +msgstr "" + +#: swift/common/db_replicator.py:425 +msgid "Replication run OVER" +msgstr "" + +#: swift/common/db_replicator.py:436 +msgid "ERROR trying to replicate" +msgstr "" + +#: swift/common/memcached.py:69 +#, python-format +msgid "Timeout %(action)s to memcached: %(server)s" +msgstr "" + +#: swift/common/memcached.py:72 +#, python-format +msgid "Error %(action)s to memcached: %(server)s" +msgstr "" + +#: swift/common/memcached.py:81 +#, python-format +msgid "Error limiting server %s" +msgstr "" + +#: swift/common/utils.py:88 +#, python-format +msgid "Unable to locate %s in libc. Leaving as a no-op." +msgstr "" + +#: swift/common/utils.py:255 +msgid "STDOUT: Connection reset by peer" +msgstr "" + +#: swift/common/utils.py:257 swift/common/utils.py:260 +#, python-format +msgid "STDOUT: %s" +msgstr "" + +#: swift/common/utils.py:324 +msgid "Connection refused" +msgstr "" + +#: swift/common/utils.py:326 +msgid "Host unreachable" +msgstr "" + +#: swift/common/utils.py:328 +msgid "Connection timeout" +msgstr "" + +#: swift/common/utils.py:464 +msgid "UNCAUGHT EXCEPTION" +msgstr "" + +#: swift/common/utils.py:511 +msgid "Error: missing config file argument" +msgstr "" + +#: swift/common/utils.py:516 +#, python-format +msgid "Error: unable to locate %s" +msgstr "" + +#: swift/common/utils.py:743 +#, python-format +msgid "Unable to read config file %s" +msgstr "" + +#: swift/common/utils.py:749 +#, python-format +msgid "Unable to find %s config section in %s" +msgstr "" + +#: swift/common/middleware/catch_errors.py:39 +#, python-format +msgid "Error: %s" +msgstr "" + +#: swift/common/middleware/cname_lookup.py:91 +#, python-format +msgid "Mapped %(given_domain)s to %(found_domain)s" +msgstr "" + +#: swift/common/middleware/cname_lookup.py:102 +#, python-format +msgid "Following CNAME chain for %(given_domain)s to %(found_domain)s" +msgstr "" + +#: swift/common/middleware/ratelimit.py:172 +msgid "Returning 497 because of blacklisting" +msgstr "" + +#: swift/common/middleware/ratelimit.py:185 +#, python-format +msgid "Ratelimit sleep log: %(sleep)s for %(account)s/%(container)s/%(object)s" +msgstr "" + +#: swift/common/middleware/ratelimit.py:192 +#, python-format +msgid "Returning 498 because of ops rate limiting (Max Sleep) %s" +msgstr "" + +#: swift/common/middleware/ratelimit.py:212 +msgid "Warning: Cannot ratelimit without a memcached client" +msgstr "" + +#: swift/common/middleware/swauth.py:635 +#, python-format +msgid "" +"ERROR: Exception while trying to communicate with " +"%(scheme)s://%(host)s:%(port)s/%(path)s" +msgstr "" + +#: swift/container/auditor.py:54 swift/container/auditor.py:78 +#, python-format +msgid "" +"Since %(time)s: Container audits: %(pass)s passed audit, %(fail)s failed " +"audit" +msgstr "" + +#: swift/container/auditor.py:68 +msgid "Begin container audit \"once\" mode" +msgstr "" + +#: swift/container/auditor.py:88 +#, python-format +msgid "Container audit \"once\" mode completed: %.02fs" +msgstr "" + +#: swift/container/auditor.py:106 +#, python-format +msgid "ERROR Could not get container info %s" +msgstr "" + +#: swift/container/server.py:114 +#, python-format +msgid "" +"ERROR Account update failed with %(ip)s:%(port)s/%(device)s (will retry " +"later): Response %(status)s %(reason)s" +msgstr "" + +#: swift/container/server.py:122 +#, python-format +msgid "" +"ERROR account update failed with %(ip)s:%(port)s/%(device)s (will retry " +"later)" +msgstr "" + +#: swift/container/updater.py:78 swift/obj/replicator.py:492 +#, python-format +msgid "%s is not mounted" +msgstr "" + +#: swift/container/updater.py:97 +#, python-format +msgid "ERROR with loading suppressions from %s: " +msgstr "" + +#: swift/container/updater.py:107 +msgid "Begin container update sweep" +msgstr "" + +#: swift/container/updater.py:140 +#, python-format +msgid "" +"Container update sweep of %(path)s completed: %(elapsed).02fs, " +"%(success)s successes, %(fail)s failures, %(no_change)s with no changes" +msgstr "" + +#: swift/container/updater.py:154 +#, python-format +msgid "Container update sweep completed: %.02fs" +msgstr "" + +#: swift/container/updater.py:164 +msgid "Begin container update single threaded sweep" +msgstr "" + +#: swift/container/updater.py:172 +#, python-format +msgid "" +"Container update single threaded sweep completed: %(elapsed).02fs, " +"%(success)s successes, %(fail)s failures, %(no_change)s with no changes" +msgstr "" + +#: swift/container/updater.py:224 +#, python-format +msgid "Update report sent for %(container)s %(dbfile)s" +msgstr "" + +#: swift/container/updater.py:232 +#, python-format +msgid "Update report failed for %(container)s %(dbfile)s" +msgstr "" + +#: swift/container/updater.py:266 +#, python-format +msgid "" +"ERROR account update failed with %(ip)s:%(port)s/%(device)s (will retry " +"later): " +msgstr "" + +#: swift/obj/auditor.py:61 +#, python-format +msgid "Begin object audit \"%s\" mode" +msgstr "" + +#: swift/obj/auditor.py:73 +#, python-format +msgid "" +"Since %(start_time)s: Locally: %(passes)d passed audit, %(quars)d " +"quarantined, %(errors)d errors files/sec: %(frate).2f , bytes/sec: " +"%(brate).2f" +msgstr "" + +#: swift/obj/auditor.py:90 +#, python-format +msgid "" +"Object audit \"%(mode)s\" mode completed: %(elapsed).02fs. Total " +"files/sec: %(frate).2f , Total bytes/sec: %(brate).2f " +msgstr "" + +#: swift/obj/auditor.py:141 +#, python-format +msgid "ERROR Object %(obj)s failed audit and will be quarantined: %(err)s" +msgstr "" + +#: swift/obj/auditor.py:150 +#, python-format +msgid "ERROR Trying to audit %s" +msgstr "" + +#: swift/obj/replicator.py:182 +msgid "Error hashing suffix" +msgstr "" + +#: swift/obj/replicator.py:246 +#, python-format +msgid "Killing long-running rsync: %s" +msgstr "" + +#: swift/obj/replicator.py:257 +#, python-format +msgid "Bad rsync return code: %(args)s -> %(ret)d" +msgstr "" + +#: swift/obj/replicator.py:261 swift/obj/replicator.py:265 +#, python-format +msgid "Successful rsync of %(src)s at %(dst)s (%(time).03f)" +msgstr "" + +#: swift/obj/replicator.py:350 +#, python-format +msgid "Removing partition: %s" +msgstr "" + +#: swift/obj/replicator.py:353 +msgid "Error syncing handoff partition" +msgstr "" + +#: swift/obj/replicator.py:383 +#, python-format +msgid "%(ip)s/%(device)s responded as unmounted" +msgstr "" + +#: swift/obj/replicator.py:388 +#, python-format +msgid "Invalid response %(resp)s from %(ip)s" +msgstr "" + +#: swift/obj/replicator.py:410 +#, python-format +msgid "Error syncing with node: %s" +msgstr "" + +#: swift/obj/replicator.py:414 +msgid "Error syncing partition" +msgstr "" + +#: swift/obj/replicator.py:424 +#, python-format +msgid "" +"%(replicated)d/%(total)d (%(percentage).2f%%) partitions replicated in " +"%(time).2fs (%(rate).2f/sec, %(remaining)s remaining)" +msgstr "" + +#: swift/obj/replicator.py:433 +#, python-format +msgid "" +"%(checked)d suffixes checked - %(hashed).2f%% hashed, %(synced).2f%% " +"synced" +msgstr "" + +#: swift/obj/replicator.py:439 +#, python-format +msgid "Partition times: max %(max).4fs, min %(min).4fs, med %(med).4fs" +msgstr "" + +#: swift/obj/replicator.py:446 +#, python-format +msgid "Nothing replicated for %s seconds." +msgstr "" + +#: swift/obj/replicator.py:475 +msgid "Lockup detected.. killing live coros." +msgstr "" + +#: swift/obj/replicator.py:530 +msgid "Ring change detected. Aborting current replication pass." +msgstr "" + +#: swift/obj/replicator.py:540 +msgid "Exception in top-level replication loop" +msgstr "" + +#: swift/obj/replicator.py:549 +msgid "Running object replicator in script mode." +msgstr "" + +#: swift/obj/replicator.py:553 swift/obj/replicator.py:565 +#, python-format +msgid "Object replication complete. (%.02f minutes)" +msgstr "" + +#: swift/obj/replicator.py:560 +msgid "Starting object replication pass." +msgstr "" + +#: swift/obj/replicator.py:566 +#, python-format +msgid "Replication sleeping for %s seconds." +msgstr "" + +#: swift/obj/server.py:313 +#, python-format +msgid "" +"ERROR Container update failed (saving for async update later): %(status)d" +" response from %(ip)s:%(port)s/%(dev)s" +msgstr "" + +#: swift/obj/server.py:319 +#, python-format +msgid "" +"ERROR container update failed with %(ip)s:%(port)s/%(dev)s (saving for " +"async update later)" +msgstr "" + +#: swift/obj/updater.py:65 +msgid "Begin object update sweep" +msgstr "" + +#: swift/obj/updater.py:89 +#, python-format +msgid "" +"Object update sweep of %(device)s completed: %(elapsed).02fs, %(success)s" +" successes, %(fail)s failures" +msgstr "" + +#: swift/obj/updater.py:98 +#, python-format +msgid "Object update sweep completed: %.02fs" +msgstr "" + +#: swift/obj/updater.py:105 +msgid "Begin object update single threaded sweep" +msgstr "" + +#: swift/obj/updater.py:117 +#, python-format +msgid "" +"Object update single threaded sweep completed: %(elapsed).02fs, " +"%(success)s successes, %(fail)s failures" +msgstr "" + +#: swift/obj/updater.py:157 +#, python-format +msgid "ERROR Pickle problem, quarantining %s" +msgstr "" + +#: swift/obj/updater.py:177 +#, python-format +msgid "Update sent for %(obj)s %(path)s" +msgstr "" + +#: swift/obj/updater.py:182 +#, python-format +msgid "Update failed for %(obj)s %(path)s" +msgstr "" + +#: swift/obj/updater.py:206 +#, python-format +msgid "ERROR with remote server %(ip)s:%(port)s/%(device)s" +msgstr "" + +#: swift/proxy/server.py:165 swift/proxy/server.py:629 +#: swift/proxy/server.py:696 swift/proxy/server.py:712 +#: swift/proxy/server.py:721 swift/proxy/server.py:1004 +#: swift/proxy/server.py:1044 swift/proxy/server.py:1089 +msgid "Object" +msgstr "" + +#: swift/proxy/server.py:170 +#, python-format +msgid "Could not load object segment %(path)s: %(status)s" +msgstr "" + +#: swift/proxy/server.py:177 swift/proxy/server.py:210 +#: swift/proxy/server.py:257 +#, python-format +msgid "ERROR: While processing manifest /%(acc)s/%(cont)s/%(obj)s" +msgstr "" + +#: swift/proxy/server.py:292 +#, python-format +msgid "%(msg)s %(ip)s:%(port)s" +msgstr "" + +#: swift/proxy/server.py:304 +#, python-format +msgid "ERROR with %(type)s server %(ip)s:%(port)s/%(device)s re: %(info)s" +msgstr "" + +#: swift/proxy/server.py:328 +#, python-format +msgid "Node error limited %(ip)s:%(port)s (%(device)s)" +msgstr "" + +#: swift/proxy/server.py:388 swift/proxy/server.py:1451 +#: swift/proxy/server.py:1497 swift/proxy/server.py:1545 +#: swift/proxy/server.py:1590 +msgid "Account" +msgstr "" + +#: swift/proxy/server.py:389 +#, python-format +msgid "Trying to get account info for %s" +msgstr "" + +#: swift/proxy/server.py:466 swift/proxy/server.py:740 +#: swift/proxy/server.py:772 swift/proxy/server.py:1214 +#: swift/proxy/server.py:1301 swift/proxy/server.py:1356 +#: swift/proxy/server.py:1413 +msgid "Container" +msgstr "" + +#: swift/proxy/server.py:467 +#, python-format +msgid "Trying to get container info for %s" +msgstr "" + +#: swift/proxy/server.py:552 +#, python-format +msgid "%(type)s returning 503 for %(statuses)s" +msgstr "" + +#: swift/proxy/server.py:598 swift/proxy/server.py:697 +#, python-format +msgid "Trying to %(method)s %(path)s" +msgstr "" + +#: swift/proxy/server.py:627 +msgid "Client disconnected on read" +msgstr "" + +#: swift/proxy/server.py:630 +#, python-format +msgid "Trying to read during GET of %s" +msgstr "" + +#: swift/proxy/server.py:653 +#, python-format +msgid "ERROR %(status)d %(body)s From %(type)s Server" +msgstr "" + +#: swift/proxy/server.py:692 +#, python-format +msgid "ERROR %(status)d %(body)s From Object Server" +msgstr "" + +#: swift/proxy/server.py:776 swift/proxy/server.py:783 +#, python-format +msgid "Object manifest GET could not continue listing: %s %s" +msgstr "" + +#: swift/proxy/server.py:905 +msgid "Object POST" +msgstr "" + +#: swift/proxy/server.py:1005 +#, python-format +msgid "Expect: 100-continue on %s" +msgstr "" + +#: swift/proxy/server.py:1017 +#, python-format +msgid "Object PUT returning 503, %(conns)s/%(nodes)s required connections" +msgstr "" + +#: swift/proxy/server.py:1045 +#, python-format +msgid "Trying to write to %s" +msgstr "" + +#: swift/proxy/server.py:1049 +#, python-format +msgid "" +"Object PUT exceptions during send, %(conns)s/%(nodes)s required " +"connections" +msgstr "" + +#: swift/proxy/server.py:1058 +#, python-format +msgid "ERROR Client read timeout (%ss)" +msgstr "" + +#: swift/proxy/server.py:1063 +msgid "ERROR Exception causing client disconnect" +msgstr "" + +#: swift/proxy/server.py:1068 +msgid "Client disconnected without sending enough data" +msgstr "" + +#: swift/proxy/server.py:1083 +#, python-format +msgid "ERROR %(status)d %(body)s From Object Server re: %(path)s" +msgstr "" + +#: swift/proxy/server.py:1090 +#, python-format +msgid "Trying to get final status of PUT to %s" +msgstr "" + +#: swift/proxy/server.py:1093 +#, python-format +msgid "Object servers returned %s mismatched etags" +msgstr "" + +#: swift/proxy/server.py:1101 +msgid "Object PUT" +msgstr "" + +#: swift/proxy/server.py:1153 +msgid "Object DELETE" +msgstr "" + +#: swift/proxy/server.py:1302 swift/proxy/server.py:1498 +#, python-format +msgid "Trying to PUT to %s" +msgstr "" + +#: swift/proxy/server.py:1314 +msgid "Container PUT" +msgstr "" + +#: swift/proxy/server.py:1357 swift/proxy/server.py:1546 +#, python-format +msgid "Trying to POST %s" +msgstr "" + +#: swift/proxy/server.py:1369 +msgid "Container POST" +msgstr "" + +#: swift/proxy/server.py:1414 swift/proxy/server.py:1591 +#, python-format +msgid "Trying to DELETE %s" +msgstr "" + +#: swift/proxy/server.py:1426 +msgid "Container DELETE" +msgstr "" + +#: swift/proxy/server.py:1433 +msgid "Returning 503 because not all container nodes confirmed DELETE" +msgstr "" + +#: swift/proxy/server.py:1508 +msgid "Account PUT" +msgstr "" + +#: swift/proxy/server.py:1556 +msgid "Account POST" +msgstr "" + +#: swift/proxy/server.py:1601 +msgid "Account DELETE" +msgstr "" + +#: swift/proxy/server.py:1757 +msgid "ERROR Unhandled exception in request" +msgstr "" + +#: swift/stats/access_processor.py:63 swift/stats/stats_processor.py:40 +#, python-format +msgid "Bad line data: %s" +msgstr "" + +#: swift/stats/access_processor.py:67 +#, python-format +msgid "Bad server name: found \"%(found)s\" expected \"%(expected)s\"" +msgstr "" + +#: swift/stats/access_processor.py:75 +#, python-format +msgid "Invalid path: %(error)s from data: %(log)s" +msgstr "" + +#: swift/stats/access_processor.py:199 +#, python-format +msgid "I found a bunch of bad lines in %(name)s (%(bad)d bad, %(total)d total)" +msgstr "" + +#: swift/stats/account_stats.py:55 +msgid "Gathering account stats" +msgstr "" + +#: swift/stats/account_stats.py:59 +#, python-format +msgid "Gathering account stats complete (%0.2f minutes)" +msgstr "" + +#: swift/stats/account_stats.py:75 +#, python-format +msgid "Device %s is not mounted, skipping." +msgstr "" + +#: swift/stats/account_stats.py:81 +#, python-format +msgid "Path %s does not exist, skipping." +msgstr "" + +#: swift/stats/log_processor.py:62 +#, python-format +msgid "Loaded plugin \"%s\"" +msgstr "" + +#: swift/stats/log_processor.py:79 +#, python-format +msgid "Processing %(obj)s with plugin \"%(plugin)s\"" +msgstr "" + +#: swift/stats/log_processor.py:179 +#, python-format +msgid "Bad compressed data for %s" +msgstr "" + +#: swift/stats/log_processor.py:240 +msgid "Beginning log processing" +msgstr "" + +#: swift/stats/log_processor.py:278 +#, python-format +msgid "found %d processed files" +msgstr "" + +#: swift/stats/log_processor.py:283 +#, python-format +msgid "loaded %d files to process" +msgstr "" + +#: swift/stats/log_processor.py:286 swift/stats/log_processor.py:360 +#, python-format +msgid "Log processing done (%0.2f minutes)" +msgstr "" + +#: swift/stats/log_uploader.py:71 +msgid "Uploading logs" +msgstr "" + +#: swift/stats/log_uploader.py:74 +#, python-format +msgid "Uploading logs complete (%0.2f minutes)" +msgstr "" + +#: swift/stats/log_uploader.py:129 +#, python-format +msgid "Unexpected log: %s" +msgstr "" + +#: swift/stats/log_uploader.py:135 +#, python-format +msgid "Skipping log: %(file)s (< %(cutoff)d seconds old)" +msgstr "" + +#: swift/stats/log_uploader.py:142 +#, python-format +msgid "Log %s is 0 length, skipping" +msgstr "" + +#: swift/stats/log_uploader.py:144 +#, python-format +msgid "Processing log: %s" +msgstr "" + +#: swift/stats/log_uploader.py:165 +#, python-format +msgid "Uploaded log %(file)s to %(target)s" +msgstr "" + +#: swift/stats/log_uploader.py:170 +#, python-format +msgid "ERROR: Upload of log %s failed!" +msgstr "" + diff --git a/setup.cfg b/setup.cfg index d53addcbf3..50cfaf10fc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,3 +7,17 @@ source-dir = doc/source tag_build = tag_date = 0 tag_svn_revision = 0 + +[compile_catalog] +directory = locale +domain = swift + +[update_catalog] +domain = swift +output_dir = locale +input_file = locale/swift.pot + +[extract_messages] +keywords = _ l_ lazy_gettext +mapping_file = babel.cfg +output_file = locale/swift.pot diff --git a/setup.py b/setup.py index 912213c1c9..1c410ec988 100644 --- a/setup.py +++ b/setup.py @@ -18,6 +18,7 @@ from setuptools import setup, find_packages from setuptools.command.sdist import sdist import os import subprocess +from babel.messages import frontend from swift import __version__ as version @@ -49,7 +50,13 @@ setup( url='https://launchpad.net/swift', packages=find_packages(exclude=['test', 'bin']), test_suite='nose.collector', - cmdclass={'sdist': local_sdist}, + cmdclass={ + 'sdist': local_sdist, + 'compile_catalog': frontend.compile_catalog, + 'extract_messages': frontend.extract_messages, + 'init_catalog': frontend.init_catalog, + 'update_catalog': frontend.update_catalog, + }, classifiers=[ 'Development Status :: 4 - Beta', 'License :: OSI Approved :: Apache Software License',