diff --git a/ceilometer/locale/ceilometer-log-warning.pot b/ceilometer/locale/ceilometer-log-warning.pot index 97225e5f6..a7dce003e 100644 --- a/ceilometer/locale/ceilometer-log-warning.pot +++ b/ceilometer/locale/ceilometer-log-warning.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ceilometer 2015.1.dev42\n" +"Project-Id-Version: ceilometer 2015.1.dev127\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-12 06:08+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: ceilometer/agent/discovery/endpoint.py:45 +#: ceilometer/agent/discovery/endpoint.py:43 #, python-format msgid "No endpoints found for service %s" msgstr "" -#: ceilometer/compute/pollsters/disk.py:123 +#: ceilometer/alarm/evaluator/threshold.py:106 +#, python-format +msgid "Expecting %(expected)d datapoints but only get %(actual)d" +msgstr "" + +#: ceilometer/compute/pollsters/disk.py:119 #: ceilometer/compute/pollsters/memory.py:49 -#: ceilometer/compute/pollsters/net.py:111 +#: ceilometer/compute/pollsters/net.py:108 #, python-format msgid "" "Instance %(instance_id)s was shut off while getting samples of " diff --git a/ceilometer/locale/ceilometer.pot b/ceilometer/locale/ceilometer.pot index 6092f134f..b39daa914 100644 --- a/ceilometer/locale/ceilometer.pot +++ b/ceilometer/locale/ceilometer.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: ceilometer 2015.1.dev61\n" +"Project-Id-Version: ceilometer 2015.1.dev127\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-14 06:09+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,98 +17,98 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: ceilometer/collector.py:102 +#: ceilometer/collector.py:100 #, python-format msgid "UDP: Cannot decode data sent by %s" msgstr "" -#: ceilometer/collector.py:105 +#: ceilometer/collector.py:103 #, python-format msgid "UDP: Storing %s" msgstr "" -#: ceilometer/collector.py:109 +#: ceilometer/collector.py:107 msgid "UDP: Unable to store meter" msgstr "" -#: ceilometer/notification.py:133 ceilometer/notifier.py:48 +#: ceilometer/notification.py:131 ceilometer/notifier.py:46 #, python-format msgid "Failed to load any notification handlers for %s" msgstr "" -#: ceilometer/notification.py:145 +#: ceilometer/notification.py:143 #, python-format msgid "Event types from %(name)s: %(type)s (ack_on_error=%(error)s)" msgstr "" -#: ceilometer/notification.py:185 +#: ceilometer/notification.py:183 #, python-format msgid "Pipeline endpoint: %s" msgstr "" -#: ceilometer/notifier.py:39 +#: ceilometer/notifier.py:37 #, python-format msgid "loading notification handlers from %s" msgstr "" -#: ceilometer/pipeline.py:256 +#: ceilometer/pipeline.py:285 #, python-format msgid "Unable to load publisher %s" msgstr "" -#: ceilometer/pipeline.py:275 +#: ceilometer/pipeline.py:303 #, python-format msgid "" "Pipeline %(pipeline)s: Setup transformer instance %(name)s with parameter" " %(param)s" msgstr "" -#: ceilometer/pipeline.py:288 +#: ceilometer/pipeline.py:320 ceilometer/pipeline.py:382 +#, python-format +msgid "Pipeline %(pipeline)s: Continue after error from publisher %(pub)s" +msgstr "" + +#: ceilometer/pipeline.py:337 #, python-format msgid "Pipeline %(pipeline)s: Sample dropped by transformer %(trans)s" msgstr "" -#: ceilometer/pipeline.py:295 +#: ceilometer/pipeline.py:345 #, python-format msgid "" "Pipeline %(pipeline)s: Exit after error from transformer %(trans)s for " "%(smp)s" msgstr "" -#: ceilometer/pipeline.py:318 +#: ceilometer/pipeline.py:368 #, python-format msgid "Pipeline %(pipeline)s: Transform sample %(smp)s from %(trans)s transformer" msgstr "" -#: ceilometer/pipeline.py:332 -#, python-format -msgid "Pipeline %(pipeline)s: Continue after error from publisher %(pub)s" -msgstr "" - -#: ceilometer/pipeline.py:348 +#: ceilometer/pipeline.py:398 #, python-format msgid "Pipeline %(pipeline)s: Error flushing transformer %(trans)s" msgstr "" -#: ceilometer/pipeline.py:508 +#: ceilometer/pipeline.py:594 msgid "detected decoupled pipeline config format" msgstr "" -#: ceilometer/pipeline.py:524 +#: ceilometer/pipeline.py:610 msgid "detected deprecated pipeline config format" msgstr "" -#: ceilometer/pipeline.py:550 +#: ceilometer/pipeline.py:634 #, python-format msgid "Pipeline config file: %s" msgstr "" -#: ceilometer/pipeline.py:556 +#: ceilometer/pipeline.py:640 #, python-format msgid "Pipeline config: %s" msgstr "" -#: ceilometer/service.py:105 +#: ceilometer/service.py:103 #, python-format msgid "%(worker_name)s value of %(workers)s is invalid, must be greater than 0" msgstr "" @@ -138,17 +138,17 @@ msgstr "" msgid "Unknown discovery extension: %s" msgstr "" -#: ceilometer/agent/plugin_base.py:74 +#: ceilometer/agent/plugin_base.py:72 #, python-format msgid "Skip due to keystone error %s" msgstr "" -#: ceilometer/agent/plugin_base.py:81 +#: ceilometer/agent/plugin_base.py:79 #, python-format msgid "Skipping because %s service is not registered in keystone" msgstr "" -#: ceilometer/agent/plugin_base.py:120 +#: ceilometer/agent/plugin_base.py:118 msgid "" "get_exchange_topics API of NotificationPlugin isdeprecated, implements " "get_targets instead." @@ -161,51 +161,51 @@ msgid "" "%(previous)s to state %(state)s, skipping the notification." msgstr "" -#: ceilometer/alarm/service.py:95 +#: ceilometer/alarm/service.py:94 #, python-format msgid "initiating evaluation cycle on %d alarms" msgstr "" -#: ceilometer/alarm/service.py:100 +#: ceilometer/alarm/service.py:99 msgid "alarm evaluation cycle failed" msgstr "" -#: ceilometer/alarm/service.py:105 +#: ceilometer/alarm/service.py:104 #, python-format msgid "skipping alarm %s: type unsupported" msgstr "" -#: ceilometer/alarm/service.py:109 +#: ceilometer/alarm/service.py:108 #, python-format msgid "evaluating alarm %s" msgstr "" -#: ceilometer/alarm/service.py:113 +#: ceilometer/alarm/service.py:112 #, python-format msgid "Failed to evaluate alarm %s" msgstr "" -#: ceilometer/alarm/service.py:259 +#: ceilometer/alarm/service.py:252 #, python-format msgid "Unable to parse action %(action)s for alarm %(alarm_id)s" msgstr "" -#: ceilometer/alarm/service.py:268 +#: ceilometer/alarm/service.py:261 #, python-format msgid "Action %(scheme)s for alarm %(alarm_id)s is unknown, cannot notify" msgstr "" -#: ceilometer/alarm/service.py:274 +#: ceilometer/alarm/service.py:267 #, python-format msgid "Notifying alarm %(id)s with action %(act)s" msgstr "" -#: ceilometer/alarm/service.py:279 +#: ceilometer/alarm/service.py:272 #, python-format msgid "Unable to notify alarm %s" msgstr "" -#: ceilometer/alarm/service.py:299 +#: ceilometer/alarm/service.py:293 msgid "Unable to notify for an alarm with no action" msgstr "" @@ -238,72 +238,72 @@ msgid "Remaining as %(state)s due to alarms %(alarm_ids)s in state %(state)s" msgstr "" #: ceilometer/alarm/evaluator/combination.py:99 -#: ceilometer/alarm/evaluator/threshold.py:177 +#: ceilometer/alarm/evaluator/threshold.py:178 #, python-format msgid "Attempted to evaluate alarm %s, but it is not within its time constraint." msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:63 +#: ceilometer/alarm/evaluator/threshold.py:56 #, python-format msgid "query stats from %(start)s to %(now)s" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:73 +#: ceilometer/alarm/evaluator/threshold.py:66 #, python-format msgid "sanitize stats %s" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:82 +#: ceilometer/alarm/evaluator/threshold.py:75 #, python-format msgid "excluded weak datapoints with sample counts %s" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:91 +#: ceilometer/alarm/evaluator/threshold.py:84 #, python-format msgid "pruned statistics to %d" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:96 +#: ceilometer/alarm/evaluator/threshold.py:89 #, python-format msgid "stats query %s" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:102 +#: ceilometer/alarm/evaluator/threshold.py:95 msgid "alarm stats retrieval failed" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:113 +#: ceilometer/alarm/evaluator/threshold.py:112 #, python-format msgid "%d datapoints are unknown" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:136 +#: ceilometer/alarm/evaluator/threshold.py:137 #, python-format msgid "" "Transition to %(state)s due to %(count)d samples %(disposition)s " "threshold, most recent: %(most_recent)s" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:140 +#: ceilometer/alarm/evaluator/threshold.py:141 #, python-format msgid "" "Remaining as %(state)s due to %(count)d samples %(disposition)s " "threshold, most recent: %(most_recent)s" msgstr "" -#: ceilometer/alarm/evaluator/threshold.py:196 +#: ceilometer/alarm/evaluator/threshold.py:197 #, python-format msgid "comparing value %(value)s against threshold %(limit)s" msgstr "" -#: ceilometer/alarm/notifier/log.py:32 +#: ceilometer/alarm/notifier/log.py:30 #, python-format msgid "" -"Notifying alarm %(alarm_name)s %(alarm_id)s from %(previous)s to " -"%(current)s with action %(action)s because %(reason)s." +"Notifying alarm %(alarm_name)s %(alarm_id)s of %(severity)s priority from" +" %(previous)s to %(current)s with action %(action)s because %(reason)s." msgstr "" -#: ceilometer/alarm/notifier/rest.py:66 +#: ceilometer/alarm/notifier/rest.py:64 #, python-format msgid "" "Notifying alarm %(alarm_name)s %(alarm_id)s from %(previous)s to " @@ -452,231 +452,231 @@ msgstr "" msgid "Cannot delete table but ignoring error" msgstr "" -#: ceilometer/alarm/storage/models.py:67 +#: ceilometer/alarm/storage/models.py:70 msgid "timestamp should be datetime object" msgstr "" -#: ceilometer/alarm/storage/models.py:69 +#: ceilometer/alarm/storage/models.py:72 msgid "state_timestamp should be datetime object" msgstr "" -#: ceilometer/api/app.py:165 +#: ceilometer/api/app.py:163 #, python-format msgid "Starting server in PID %s" msgstr "" -#: ceilometer/api/app.py:166 +#: ceilometer/api/app.py:164 msgid "Configuration:" msgstr "" -#: ceilometer/api/app.py:170 +#: ceilometer/api/app.py:168 #, python-format msgid "serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s" msgstr "" -#: ceilometer/api/app.py:174 +#: ceilometer/api/app.py:172 #, python-format msgid "serving on http://%(host)s:%(port)s" msgstr "" -#: ceilometer/api/middleware.py:107 +#: ceilometer/api/middleware.py:105 #, python-format msgid "Error parsing HTTP response: %s" msgstr "" -#: ceilometer/api/controllers/v2.py:100 +#: ceilometer/api/controllers/v2.py:102 #, python-format msgid "%(entity)s %(id)s Not Found" msgstr "" -#: ceilometer/api/controllers/v2.py:108 +#: ceilometer/api/controllers/v2.py:110 #, python-format msgid "Alarm %s not found" msgstr "" -#: ceilometer/api/controllers/v2.py:110 +#: ceilometer/api/controllers/v2.py:112 #, python-format msgid "Alarm %(alarm_id)s not found in project %(project)s" msgstr "" -#: ceilometer/api/controllers/v2.py:123 +#: ceilometer/api/controllers/v2.py:125 #, python-format msgid "Alarm quota exceeded for user %(u)s on project %(p)s" msgstr "" -#: ceilometer/api/controllers/v2.py:320 +#: ceilometer/api/controllers/v2.py:322 #, python-format msgid "Unable to convert the value %(value)s to the expected data type %(type)s." msgstr "" -#: ceilometer/api/controllers/v2.py:325 +#: ceilometer/api/controllers/v2.py:327 #, python-format msgid "" "The data type %(type)s is not supported. The supported data type list is:" " %(supported)s" msgstr "" -#: ceilometer/api/controllers/v2.py:330 +#: ceilometer/api/controllers/v2.py:332 #, python-format msgid "" "Unexpected exception converting %(value)s to the expected data type " "%(type)s." msgstr "" -#: ceilometer/api/controllers/v2.py:341 +#: ceilometer/api/controllers/v2.py:343 #, python-format msgid "Not Authorized to access %(aspect)s %(id)s" msgstr "" -#: ceilometer/api/controllers/v2.py:806 +#: ceilometer/api/controllers/v2.py:808 msgid "clamping min timestamp to range" msgstr "" -#: ceilometer/api/controllers/v2.py:811 +#: ceilometer/api/controllers/v2.py:813 msgid "clamping max timestamp to range" msgstr "" -#: ceilometer/api/controllers/v2.py:890 ceilometer/api/controllers/v2.py:1174 +#: ceilometer/api/controllers/v2.py:892 ceilometer/api/controllers/v2.py:1176 msgid "Limit must be positive" msgstr "" -#: ceilometer/api/controllers/v2.py:979 +#: ceilometer/api/controllers/v2.py:981 msgid "Period must be positive." msgstr "" -#: ceilometer/api/controllers/v2.py:1001 +#: ceilometer/api/controllers/v2.py:1003 #, python-format msgid "computed value coming from %r" msgstr "" -#: ceilometer/api/controllers/v2.py:1010 +#: ceilometer/api/controllers/v2.py:1012 #, python-format msgid "Invalid period %(period)s: %(err)s" msgstr "" -#: ceilometer/api/controllers/v2.py:1193 +#: ceilometer/api/controllers/v2.py:1195 msgid "Sample" msgstr "" -#: ceilometer/api/controllers/v2.py:1358 +#: ceilometer/api/controllers/v2.py:1360 #, python-format msgid "Filter expression not valid: %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1373 +#: ceilometer/api/controllers/v2.py:1375 #, python-format msgid "Order-by expression not valid: %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1384 +#: ceilometer/api/controllers/v2.py:1386 msgid "Limit should be positive" msgstr "" -#: ceilometer/api/controllers/v2.py:1477 +#: ceilometer/api/controllers/v2.py:1479 #, python-format msgid "String %s is not a valid isotime" msgstr "" -#: ceilometer/api/controllers/v2.py:1478 +#: ceilometer/api/controllers/v2.py:1480 #, python-format msgid "Failed to parse the timestamp value %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1568 +#: ceilometer/api/controllers/v2.py:1570 msgid "Resource" msgstr "" -#: ceilometer/api/controllers/v2.py:1646 +#: ceilometer/api/controllers/v2.py:1648 #, python-format msgid "" "Alarm when %(meter_name)s is %(comparison_operator)s a %(statistic)s of " "%(threshold)s over %(period)s seconds" msgstr "" -#: ceilometer/api/controllers/v2.py:1686 +#: ceilometer/api/controllers/v2.py:1688 #, python-format msgid "Combined state of alarms %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1695 +#: ceilometer/api/controllers/v2.py:1697 msgid "Alarm combination rule should contain at least two different alarm ids." msgstr "" -#: ceilometer/api/controllers/v2.py:1746 +#: ceilometer/api/controllers/v2.py:1748 #, python-format msgid "Timezone %s is not valid" msgstr "" -#: ceilometer/api/controllers/v2.py:1872 +#: ceilometer/api/controllers/v2.py:1878 msgid "Time constraint names must be unique for a given alarm." msgstr "" -#: ceilometer/api/controllers/v2.py:1882 +#: ceilometer/api/controllers/v2.py:1888 #, python-format msgid "%(rule)s must be set for %(type)s type alarm" msgstr "" -#: ceilometer/api/controllers/v2.py:1886 +#: ceilometer/api/controllers/v2.py:1892 msgid "threshold_rule and combination_rule cannot be set at the same time" msgstr "" -#: ceilometer/api/controllers/v2.py:1903 +#: ceilometer/api/controllers/v2.py:1909 #, python-format msgid "Unable to parse action %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1906 +#: ceilometer/api/controllers/v2.py:1912 #, python-format msgid "Unsupported action %s" msgstr "" -#: ceilometer/api/controllers/v2.py:2075 +#: ceilometer/api/controllers/v2.py:2083 #, python-format msgid "Alarm with name=%s exists" msgstr "" -#: ceilometer/api/controllers/v2.py:2082 +#: ceilometer/api/controllers/v2.py:2090 #, python-format msgid "Cannot specify alarm %s itself in combination rule" msgstr "" -#: ceilometer/api/controllers/v2.py:2090 +#: ceilometer/api/controllers/v2.py:2098 #, python-format msgid "Error while putting alarm: %s" msgstr "" -#: ceilometer/api/controllers/v2.py:2091 ceilometer/api/controllers/v2.py:2258 +#: ceilometer/api/controllers/v2.py:2099 ceilometer/api/controllers/v2.py:2266 msgid "Alarm incorrect" msgstr "" -#: ceilometer/api/controllers/v2.py:2151 +#: ceilometer/api/controllers/v2.py:2159 msgid "state invalid" msgstr "" -#: ceilometer/api/controllers/v2.py:2251 +#: ceilometer/api/controllers/v2.py:2259 #, python-format msgid "Alarm with name='%s' exists" msgstr "" -#: ceilometer/api/controllers/v2.py:2257 +#: ceilometer/api/controllers/v2.py:2265 #, python-format msgid "Error while posting alarm: %s" msgstr "" -#: ceilometer/api/controllers/v2.py:2422 +#: ceilometer/api/controllers/v2.py:2440 msgid "operator {} is incorrect" msgstr "" -#: ceilometer/api/controllers/v2.py:2444 +#: ceilometer/api/controllers/v2.py:2462 #, python-format msgid "Getting traits for %s" msgstr "" -#: ceilometer/api/controllers/v2.py:2509 +#: ceilometer/api/controllers/v2.py:2532 msgid "Event" msgstr "" -#: ceilometer/api/controllers/v2.py:2512 +#: ceilometer/api/controllers/v2.py:2535 #, python-format msgid "More than one event with id %s returned from storage driver" msgstr "" @@ -689,100 +689,71 @@ msgstr "" msgid "Nothing to clean, database time to live is disabled" msgstr "" -#: ceilometer/compute/nova_notifier.py:79 -#, python-format -msgid "using provided stats gatherer %r" -msgstr "" - -#: ceilometer/compute/nova_notifier.py:82 -msgid "making a new stats gatherer" -msgstr "" - -#: ceilometer/compute/nova_notifier.py:111 -#, python-format -msgid "INFO %r" -msgstr "" - -#: ceilometer/compute/nova_notifier.py:144 -#, python-format -msgid "ignoring %s" -msgstr "" - -#: ceilometer/compute/nova_notifier.py:146 -#, python-format -msgid "processing %s" -msgstr "" - -#: ceilometer/compute/nova_notifier.py:150 -#, python-format -msgid "polling final stats for %r" -msgstr "" - -#: ceilometer/compute/notifications/cpu.py:52 +#: ceilometer/compute/notifications/cpu.py:50 #, python-format msgid "An error occurred while building %(m)s sample: %(e)s" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:34 +#: ceilometer/compute/pollsters/cpu.py:31 #, python-format msgid "checking instance %s" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:37 +#: ceilometer/compute/pollsters/cpu.py:34 #, python-format msgid "CPUTIME USAGE: %(instance)s %(time)d" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:51 -#: ceilometer/compute/pollsters/cpu.py:82 -#: ceilometer/compute/pollsters/disk.py:121 -#: ceilometer/compute/pollsters/disk.py:331 +#: ceilometer/compute/pollsters/cpu.py:48 +#: ceilometer/compute/pollsters/cpu.py:79 +#: ceilometer/compute/pollsters/disk.py:117 +#: ceilometer/compute/pollsters/disk.py:327 #: ceilometer/compute/pollsters/memory.py:47 -#: ceilometer/compute/pollsters/net.py:109 +#: ceilometer/compute/pollsters/net.py:106 #, python-format msgid "Exception while getting samples %s" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:54 +#: ceilometer/compute/pollsters/cpu.py:51 #, python-format msgid "Obtaining CPU time is not implemented for %s" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:57 +#: ceilometer/compute/pollsters/cpu.py:54 #, python-format msgid "could not get CPU time for %(id)s: %(e)s" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:66 +#: ceilometer/compute/pollsters/cpu.py:63 #, python-format msgid "Checking CPU util for instance %s" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:70 +#: ceilometer/compute/pollsters/cpu.py:67 #, python-format msgid "CPU UTIL: %(instance)s %(util)d" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:85 +#: ceilometer/compute/pollsters/cpu.py:82 #, python-format msgid "Obtaining CPU Util is not implemented for %s" msgstr "" -#: ceilometer/compute/pollsters/cpu.py:88 +#: ceilometer/compute/pollsters/cpu.py:85 #, python-format msgid "Could not get CPU Util for %(id)s: %(e)s" msgstr "" -#: ceilometer/compute/pollsters/disk.py:129 -#: ceilometer/compute/pollsters/disk.py:334 -#: ceilometer/compute/pollsters/net.py:117 +#: ceilometer/compute/pollsters/disk.py:125 +#: ceilometer/compute/pollsters/disk.py:330 +#: ceilometer/compute/pollsters/net.py:114 #, python-format msgid "%(inspector)s does not provide data for %(pollster)s" msgstr "" -#: ceilometer/compute/pollsters/disk.py:134 -#: ceilometer/compute/pollsters/disk.py:340 -#: ceilometer/compute/pollsters/net.py:122 +#: ceilometer/compute/pollsters/disk.py:130 +#: ceilometer/compute/pollsters/disk.py:336 +#: ceilometer/compute/pollsters/net.py:119 #, python-format msgid "Ignoring instance %(name)s: %(error)s" msgstr "" @@ -807,57 +778,57 @@ msgstr "" msgid "Could not get Memory Usage for %(id)s: %(e)s" msgstr "" -#: ceilometer/compute/pollsters/net.py:95 +#: ceilometer/compute/pollsters/net.py:92 #, python-format msgid "checking net info for instance %s" msgstr "" -#: ceilometer/compute/virt/inspector.py:235 +#: ceilometer/compute/virt/inspector.py:232 #, python-format msgid "Unable to load the hypervisor inspector: %s" msgstr "" -#: ceilometer/compute/virt/hyperv/utilsv2.py:184 +#: ceilometer/compute/virt/hyperv/utilsv2.py:181 #, python-format msgid "VM %s not found on Hyper-V" msgstr "" -#: ceilometer/compute/virt/hyperv/utilsv2.py:186 +#: ceilometer/compute/virt/hyperv/utilsv2.py:183 #, python-format msgid "Duplicate VM name found: %s" msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:56 +#: ceilometer/compute/virt/libvirt/inspector.py:54 msgid "Connection to libvirt broken" msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:81 +#: ceilometer/compute/virt/libvirt/inspector.py:79 #, python-format msgid "Connecting to libvirt: %s" msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:99 +#: ceilometer/compute/virt/libvirt/inspector.py:97 #, python-format msgid "" "Error from libvirt while looking up instance : " "[Error Code %(error_code)s] %(ex)s" msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:119 +#: ceilometer/compute/virt/libvirt/inspector.py:117 #, python-format msgid "" "Failed to inspect data of instance , domain " "state is SHUTOFF." msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:189 +#: ceilometer/compute/virt/libvirt/inspector.py:187 #, python-format msgid "" "Failed to inspect memory usage of instance , " "can not get info from libvirt." msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:197 +#: ceilometer/compute/virt/libvirt/inspector.py:195 #, python-format msgid "" "Failed to inspect memory usage of %(instance_uuid)s, can not get info " @@ -872,158 +843,158 @@ msgstr "" msgid "VM %s not found in VMware Vsphere" msgstr "" -#: ceilometer/compute/virt/xenapi/inspector.py:59 +#: ceilometer/compute/virt/xenapi/inspector.py:57 msgid "XenAPI not installed" msgstr "" -#: ceilometer/compute/virt/xenapi/inspector.py:65 +#: ceilometer/compute/virt/xenapi/inspector.py:63 msgid "Must specify connection_url, and connection_password to use" msgstr "" -#: ceilometer/compute/virt/xenapi/inspector.py:68 +#: ceilometer/compute/virt/xenapi/inspector.py:66 msgid "Unable to log in to XenAPI (is the Dom0 disk full?)" msgstr "" -#: ceilometer/compute/virt/xenapi/inspector.py:75 +#: ceilometer/compute/virt/xenapi/inspector.py:73 #, python-format msgid "Could not connect to XenAPI: %s" msgstr "" -#: ceilometer/compute/virt/xenapi/inspector.py:98 +#: ceilometer/compute/virt/xenapi/inspector.py:96 #, python-format msgid "VM %s not found in XenServer" msgstr "" -#: ceilometer/compute/virt/xenapi/inspector.py:101 +#: ceilometer/compute/virt/xenapi/inspector.py:99 #, python-format msgid "Multiple VM %s found in XenServer" msgstr "" -#: ceilometer/compute/virt/xenapi/inspector.py:114 +#: ceilometer/compute/virt/xenapi/inspector.py:112 #, python-format msgid "Could not get VM %s CPU Utilization" msgstr "" -#: ceilometer/dispatcher/__init__.py:43 +#: ceilometer/dispatcher/__init__.py:41 #, python-format msgid "loading dispatchers from %s" msgstr "" -#: ceilometer/dispatcher/__init__.py:51 +#: ceilometer/dispatcher/__init__.py:49 #, python-format msgid "Failed to load any dispatchers for %s" msgstr "" -#: ceilometer/dispatcher/database.py:50 +#: ceilometer/dispatcher/database.py:48 #, python-format msgid "Failed to connect to db, purpose %(purpose)s re-try later: %(err)s" msgstr "" -#: ceilometer/dispatcher/database.py:75 ceilometer/dispatcher/http.py:82 +#: ceilometer/dispatcher/database.py:73 ceilometer/dispatcher/http.py:80 #, python-format msgid "" "metering data %(counter_name)s for %(resource_id)s @ %(timestamp)s: " "%(counter_volume)s" msgstr "" -#: ceilometer/dispatcher/database.py:94 ceilometer/dispatcher/http.py:111 +#: ceilometer/dispatcher/database.py:92 ceilometer/dispatcher/http.py:109 #, python-format msgid "Failed to record metering data: %s" msgstr "" -#: ceilometer/dispatcher/database.py:97 ceilometer/dispatcher/http.py:114 +#: ceilometer/dispatcher/database.py:95 ceilometer/dispatcher/http.py:112 #, python-format msgid "message signature invalid, discarding message: %r" msgstr "" -#: ceilometer/dispatcher/http.py:72 +#: ceilometer/dispatcher/http.py:70 msgid "" "Dispatcher target was not set, no meter will be posted. Set the target in" " the ceilometer.conf file" msgstr "" -#: ceilometer/dispatcher/http.py:108 +#: ceilometer/dispatcher/http.py:106 #, python-format msgid "Message posting finished with status code %d." msgstr "" -#: ceilometer/energy/kwapi.py:90 +#: ceilometer/energy/kwapi.py:88 msgid "Kwapi endpoint not found" msgstr "" -#: ceilometer/event/converter.py:76 +#: ceilometer/event/converter.py:74 #, python-format msgid "Plugin specified, but no plugin name supplied for trait %s" msgstr "" -#: ceilometer/event/converter.py:85 +#: ceilometer/event/converter.py:83 #, python-format msgid "No plugin named %(plugin)s available for trait %(trait)s" msgstr "" -#: ceilometer/event/converter.py:95 +#: ceilometer/event/converter.py:93 #, python-format msgid "Required field in trait definition not specified: '%s'" msgstr "" -#: ceilometer/event/converter.py:110 +#: ceilometer/event/converter.py:108 #, python-format msgid "" "Parse error in JSONPath specification '%(jsonpath)s' for %(trait)s: " "%(err)s" msgstr "" -#: ceilometer/event/converter.py:116 +#: ceilometer/event/converter.py:114 #, python-format msgid "Invalid trait type '%(type)s' for trait %(trait)s" msgstr "" -#: ceilometer/event/converter.py:168 +#: ceilometer/event/converter.py:166 #, python-format msgid "Required field %s not specified" msgstr "" -#: ceilometer/event/converter.py:343 +#: ceilometer/event/converter.py:341 #, python-format msgid "Dropping Notification %(type)s (uuid:%(msgid)s)" msgstr "" -#: ceilometer/event/converter.py:367 +#: ceilometer/event/converter.py:365 #, python-format msgid "Event Definitions configuration file: %s" msgstr "" -#: ceilometer/event/converter.py:377 +#: ceilometer/event/converter.py:375 #, python-format msgid "" "Invalid YAML syntax in Event Definitions file %(file)s at line: %(line)s," " column: %(column)s." msgstr "" -#: ceilometer/event/converter.py:383 +#: ceilometer/event/converter.py:381 #, python-format msgid "YAML error reading Event Definitions file %(file)s" msgstr "" -#: ceilometer/event/converter.py:390 +#: ceilometer/event/converter.py:388 msgid "No Event Definitions configuration file found! Using default config." msgstr "" -#: ceilometer/event/converter.py:394 +#: ceilometer/event/converter.py:392 #, python-format msgid "Event Definitions: %s" msgstr "" -#: ceilometer/event/endpoint.py:38 +#: ceilometer/event/endpoint.py:36 msgid "Loading event definitions" msgstr "" -#: ceilometer/event/endpoint.py:64 +#: ceilometer/event/endpoint.py:62 #, python-format msgid "Saving event \"%s\"" msgstr "" -#: ceilometer/event/endpoint.py:71 +#: ceilometer/event/endpoint.py:69 msgid "Event is not implemented with the storage backend" msgstr "" @@ -1069,72 +1040,71 @@ msgstr "" msgid "Can NOT load inspector %(name)s: %(err)s" msgstr "" -#: ceilometer/ipmi/platform/intel_node_manager.py:231 +#: ceilometer/ipmi/platform/intel_node_manager.py:228 msgid "Node Manager init failed" msgstr "" -#: ceilometer/ipmi/platform/ipmi_sensor.py:103 +#: ceilometer/ipmi/platform/ipmi_sensor.py:101 msgid "Wrong sensor type" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:42 +#: ceilometer/ipmi/platform/ipmitool.py:39 msgid "parse IPMI sensor data failed,unknown sensor type" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:83 +#: ceilometer/ipmi/platform/ipmitool.py:80 msgid "parse IPMI sensor data failed,No data retrieved from given input" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:105 +#: ceilometer/ipmi/platform/ipmitool.py:102 msgid "ipmitool output length mismatch" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:131 +#: ceilometer/ipmi/platform/ipmitool.py:128 msgid "running ipmitool failure" msgstr "" -#: ceilometer/network/floatingip.py:56 +#: ceilometer/network/floatingip.py:54 #, python-format msgid "FLOATING IP USAGE: %s" msgstr "" -#: ceilometer/network/notifications.py:77 +#: ceilometer/network/notifications.py:75 #, python-format msgid "network notification %r" msgstr "" -#: ceilometer/network/services/fwaas.py:49 +#: ceilometer/network/services/fwaas.py:47 #, python-format msgid "Unknown status %(stat)s received on fw %(id)s,skipping sample" msgstr "" -#: ceilometer/network/services/lbaas.py:64 +#: ceilometer/network/services/lbaas.py:62 #, python-format msgid "Unknown status %(stat)s received on pool %(id)s, skipping sample" msgstr "" -#: ceilometer/network/services/lbaas.py:112 +#: ceilometer/network/services/lbaas.py:110 #, python-format msgid "Unknown status %(stat)s received on vip %(id)s, skipping sample" msgstr "" -#: ceilometer/network/services/lbaas.py:153 +#: ceilometer/network/services/lbaas.py:151 #, python-format msgid "Unknown status %(stat)s received on member %(id)s,skipping sample" msgstr "" -#: ceilometer/network/services/lbaas.py:258 +#: ceilometer/network/services/lbaas.py:256 #, python-format msgid "Ignoring pool %(pool_id)s: %(error)s" msgstr "" -#: ceilometer/network/services/vpnaas.py:50 +#: ceilometer/network/services/vpnaas.py:48 #, python-format msgid "Unknown status %(stat)s received on vpn %(id)s,skipping sample" msgstr "" -#: ceilometer/network/statistics/opencontrail/client.py:59 -#: ceilometer/network/statistics/opencontrail/client.py:89 +#: ceilometer/network/statistics/opencontrail/client.py:58 #, python-format msgid "Opencontrail API returned %(status)s %(reason)s" msgstr "" @@ -1149,7 +1119,7 @@ msgstr "" msgid "Request failed to connect to OpenDaylight with NorthBound REST API" msgstr "" -#: ceilometer/objectstore/swift.py:78 +#: ceilometer/objectstore/swift.py:76 msgid "Swift endpoint not found" msgstr "" @@ -1199,49 +1169,49 @@ msgstr "" msgid "Rules must be an instance of dict or Rules, got %s instead" msgstr "" -#: ceilometer/publisher/file.py:63 +#: ceilometer/publisher/file.py:62 msgid "The path for the file publisher is required" msgstr "" -#: ceilometer/publisher/file.py:77 +#: ceilometer/publisher/file.py:76 msgid "max_bytes and backup_count should be numbers." msgstr "" -#: ceilometer/publisher/messaging.py:84 +#: ceilometer/publisher/messaging.py:83 #, python-format msgid "Publishing policy set to %s" msgstr "" -#: ceilometer/publisher/messaging.py:86 +#: ceilometer/publisher/messaging.py:85 #, python-format msgid "Publishing policy is unknown (%s) force to default" msgstr "" -#: ceilometer/publisher/messaging.py:141 +#: ceilometer/publisher/messaging.py:140 #, python-format msgid "Publisher max local_queue length is exceeded, dropping %d oldest samples" msgstr "" -#: ceilometer/publisher/messaging.py:152 +#: ceilometer/publisher/messaging.py:151 #, python-format msgid "Failed to publish %d samples, queue them" msgstr "" -#: ceilometer/publisher/messaging.py:156 +#: ceilometer/publisher/messaging.py:155 #, python-format msgid "Failed to publish %d samples, dropping them" msgstr "" -#: ceilometer/publisher/udp.py:59 +#: ceilometer/publisher/udp.py:57 #, python-format msgid "Publishing sample %(msg)s over UDP to %(host)s:%(port)d" msgstr "" -#: ceilometer/publisher/udp.py:66 +#: ceilometer/publisher/udp.py:64 msgid "Unable to send sample over UDP" msgstr "" -#: ceilometer/storage/__init__.py:110 +#: ceilometer/storage/__init__.py:108 #, python-format msgid "looking for %(name)r driver in %(namespace)r" msgstr "" @@ -1260,28 +1230,28 @@ msgstr "" msgid "Query Meter Table: %s" msgstr "" -#: ceilometer/storage/impl_log.py:42 +#: ceilometer/storage/impl_log.py:40 #, python-format msgid "metering data %(counter_name)s for %(resource_id)s: %(counter_volume)s" msgstr "" -#: ceilometer/storage/impl_log.py:54 +#: ceilometer/storage/impl_log.py:52 #, python-format msgid "Dropping data with TTL %d" msgstr "" -#: ceilometer/storage/impl_mongodb.py:550 +#: ceilometer/storage/impl_mongodb.py:552 msgid "" "Clearing expired metering data is based on native MongoDB time to live " "feature and going in background." msgstr "" -#: ceilometer/storage/impl_sqlalchemy.py:311 +#: ceilometer/storage/impl_sqlalchemy.py:308 #, python-format msgid "Unknown metadata type. Key (%s) will not be queryable." msgstr "" -#: ceilometer/storage/impl_sqlalchemy.py:379 +#: ceilometer/storage/impl_sqlalchemy.py:376 #, python-format msgid "%d samples removed from database" msgstr "" @@ -1328,43 +1298,43 @@ msgid "" "%(retry_interval)d seconds." msgstr "" -#: ceilometer/transformer/arithmetic.py:57 +#: ceilometer/transformer/arithmetic.py:55 #, python-format msgid "Arithmetic transformer must use at least one meter in expression '%s'" msgstr "" -#: ceilometer/transformer/arithmetic.py:79 +#: ceilometer/transformer/arithmetic.py:77 msgid "Expression evaluated to a NaN value!" msgstr "" -#: ceilometer/transformer/arithmetic.py:95 +#: ceilometer/transformer/arithmetic.py:93 #, python-format msgid "Unable to evaluate expression %(expr)s: %(exc)s" msgstr "" -#: ceilometer/transformer/arithmetic.py:109 +#: ceilometer/transformer/arithmetic.py:107 #, python-format msgid "Unable to perform calculation, not all of {%s} are present" msgstr "" -#: ceilometer/transformer/conversions.py:48 +#: ceilometer/transformer/conversions.py:46 #, python-format msgid "scaling conversion transformer with source: %(source)s target: %(target)s:" msgstr "" -#: ceilometer/transformer/conversions.py:94 -#: ceilometer/transformer/conversions.py:116 +#: ceilometer/transformer/conversions.py:92 +#: ceilometer/transformer/conversions.py:114 #, python-format msgid "handling sample %s" msgstr "" -#: ceilometer/transformer/conversions.py:97 -#: ceilometer/transformer/conversions.py:137 +#: ceilometer/transformer/conversions.py:95 +#: ceilometer/transformer/conversions.py:135 #, python-format msgid "converted to: %s" msgstr "" -#: ceilometer/transformer/conversions.py:139 +#: ceilometer/transformer/conversions.py:137 #, python-format msgid "dropping sample with no predecessor: %s" msgstr "" diff --git a/ceilometer/locale/de/LC_MESSAGES/ceilometer-log-warning.po b/ceilometer/locale/de/LC_MESSAGES/ceilometer-log-warning.po index 85e4a880a..16b2bce08 100644 --- a/ceilometer/locale/de/LC_MESSAGES/ceilometer-log-warning.po +++ b/ceilometer/locale/de/LC_MESSAGES/ceilometer-log-warning.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Ceilometer\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-12 06:08+0000\n" -"PO-Revision-Date: 2015-01-09 20:28+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-26 22:20+0000\n" "Last-Translator: openstackjenkins \n" "Language-Team: German (http://www.transifex.com/projects/p/ceilometer/" "language/de/)\n" @@ -20,14 +20,19 @@ msgstr "" "Generated-By: Babel 1.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ceilometer/agent/discovery/endpoint.py:45 +#: ceilometer/agent/discovery/endpoint.py:43 #, python-format msgid "No endpoints found for service %s" msgstr "" -#: ceilometer/compute/pollsters/disk.py:123 +#: ceilometer/alarm/evaluator/threshold.py:106 +#, python-format +msgid "Expecting %(expected)d datapoints but only get %(actual)d" +msgstr "" + +#: ceilometer/compute/pollsters/disk.py:119 #: ceilometer/compute/pollsters/memory.py:49 -#: ceilometer/compute/pollsters/net.py:111 +#: ceilometer/compute/pollsters/net.py:108 #, python-format msgid "" "Instance %(instance_id)s was shut off while getting samples of %(pollster)s: " diff --git a/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer-log-warning.po b/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer-log-warning.po index 1b815c6dc..c5524a25b 100644 --- a/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer-log-warning.po +++ b/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer-log-warning.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Ceilometer\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-12 06:08+0000\n" -"PO-Revision-Date: 2015-01-09 20:28+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-26 22:20+0000\n" "Last-Translator: openstackjenkins \n" "Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/" "ceilometer/language/en_GB/)\n" @@ -20,14 +20,19 @@ msgstr "" "Generated-By: Babel 1.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ceilometer/agent/discovery/endpoint.py:45 +#: ceilometer/agent/discovery/endpoint.py:43 #, python-format msgid "No endpoints found for service %s" msgstr "No endpoints found for service %s" -#: ceilometer/compute/pollsters/disk.py:123 +#: ceilometer/alarm/evaluator/threshold.py:106 +#, python-format +msgid "Expecting %(expected)d datapoints but only get %(actual)d" +msgstr "" + +#: ceilometer/compute/pollsters/disk.py:119 #: ceilometer/compute/pollsters/memory.py:49 -#: ceilometer/compute/pollsters/net.py:111 +#: ceilometer/compute/pollsters/net.py:108 #, python-format msgid "" "Instance %(instance_id)s was shut off while getting samples of %(pollster)s: " diff --git a/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer.po b/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer.po index a79b4f4ea..4521eab77 100644 --- a/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer.po +++ b/ceilometer/locale/en_GB/LC_MESSAGES/ceilometer.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Ceilometer\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-14 06:09+0000\n" -"PO-Revision-Date: 2015-01-12 16:23+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-29 21:58+0000\n" "Last-Translator: openstackjenkins \n" "Language-Team: English (United Kingdom) " "(http://www.transifex.com/projects/p/ceilometer/language/en_GB/)\n" @@ -19,46 +19,46 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: ceilometer/collector.py:102 +#: ceilometer/collector.py:100 #, python-format msgid "UDP: Cannot decode data sent by %s" msgstr "UDP: Cannot decode data sent by %s" -#: ceilometer/collector.py:105 +#: ceilometer/collector.py:103 #, python-format msgid "UDP: Storing %s" msgstr "UDP: Storing %s" -#: ceilometer/collector.py:109 +#: ceilometer/collector.py:107 msgid "UDP: Unable to store meter" msgstr "UDP: Unable to store meter" -#: ceilometer/notification.py:133 ceilometer/notifier.py:48 +#: ceilometer/notification.py:131 ceilometer/notifier.py:46 #, python-format msgid "Failed to load any notification handlers for %s" msgstr "Failed to load any notification handlers for %s" -#: ceilometer/notification.py:145 +#: ceilometer/notification.py:143 #, python-format msgid "Event types from %(name)s: %(type)s (ack_on_error=%(error)s)" msgstr "Event types from %(name)s: %(type)s (ack_on_error=%(error)s)" -#: ceilometer/notification.py:185 +#: ceilometer/notification.py:183 #, python-format msgid "Pipeline endpoint: %s" msgstr "" -#: ceilometer/notifier.py:39 +#: ceilometer/notifier.py:37 #, python-format msgid "loading notification handlers from %s" msgstr "loading notification handlers from %s" -#: ceilometer/pipeline.py:256 +#: ceilometer/pipeline.py:285 #, python-format msgid "Unable to load publisher %s" msgstr "Unable to load publisher %s" -#: ceilometer/pipeline.py:275 +#: ceilometer/pipeline.py:303 #, python-format msgid "" "Pipeline %(pipeline)s: Setup transformer instance %(name)s with parameter" @@ -67,54 +67,54 @@ msgstr "" "Pipeline %(pipeline)s: Setup transformer instance %(name)s with parameter" " %(param)s" -#: ceilometer/pipeline.py:288 -#, python-format -msgid "Pipeline %(pipeline)s: Sample dropped by transformer %(trans)s" -msgstr "Pipeline %(pipeline)s: Sample dropped by transformer %(trans)s" - -#: ceilometer/pipeline.py:295 -#, python-format -msgid "" -"Pipeline %(pipeline)s: Exit after error from transformer %(trans)s for " -"%(smp)s" -msgstr "" -"Pipeline %(pipeline)s: Exit after error from transformer %(trans)s for " -"%(smp)s" - -#: ceilometer/pipeline.py:318 -#, python-format -msgid "Pipeline %(pipeline)s: Transform sample %(smp)s from %(trans)s transformer" -msgstr "Pipeline %(pipeline)s: Transform sample %(smp)s from %(trans)s transformer" - -#: ceilometer/pipeline.py:332 +#: ceilometer/pipeline.py:320 ceilometer/pipeline.py:382 #, python-format msgid "Pipeline %(pipeline)s: Continue after error from publisher %(pub)s" msgstr "Pipeline %(pipeline)s: Continue after error from publisher %(pub)s" -#: ceilometer/pipeline.py:348 +#: ceilometer/pipeline.py:337 +#, python-format +msgid "Pipeline %(pipeline)s: Sample dropped by transformer %(trans)s" +msgstr "Pipeline %(pipeline)s: Sample dropped by transformer %(trans)s" + +#: ceilometer/pipeline.py:345 +#, python-format +msgid "" +"Pipeline %(pipeline)s: Exit after error from transformer %(trans)s for " +"%(smp)s" +msgstr "" +"Pipeline %(pipeline)s: Exit after error from transformer %(trans)s for " +"%(smp)s" + +#: ceilometer/pipeline.py:368 +#, python-format +msgid "Pipeline %(pipeline)s: Transform sample %(smp)s from %(trans)s transformer" +msgstr "Pipeline %(pipeline)s: Transform sample %(smp)s from %(trans)s transformer" + +#: ceilometer/pipeline.py:398 #, python-format msgid "Pipeline %(pipeline)s: Error flushing transformer %(trans)s" msgstr "Pipeline %(pipeline)s: Error flushing transformer %(trans)s" -#: ceilometer/pipeline.py:508 +#: ceilometer/pipeline.py:594 msgid "detected decoupled pipeline config format" msgstr "detected decoupled pipeline config format" -#: ceilometer/pipeline.py:524 +#: ceilometer/pipeline.py:610 msgid "detected deprecated pipeline config format" msgstr "detected deprecated pipeline config format" -#: ceilometer/pipeline.py:550 +#: ceilometer/pipeline.py:634 #, python-format msgid "Pipeline config file: %s" msgstr "Pipeline config file: %s" -#: ceilometer/pipeline.py:556 +#: ceilometer/pipeline.py:640 #, python-format msgid "Pipeline config: %s" msgstr "Pipeline config: %s" -#: ceilometer/service.py:105 +#: ceilometer/service.py:103 #, python-format msgid "%(worker_name)s value of %(workers)s is invalid, must be greater than 0" msgstr "%(worker_name)s value of %(workers)s is invalid, must be greater than 0" @@ -144,17 +144,17 @@ msgstr "Unable to discover resources: %s" msgid "Unknown discovery extension: %s" msgstr "Unknown discovery extension: %s" -#: ceilometer/agent/plugin_base.py:74 +#: ceilometer/agent/plugin_base.py:72 #, python-format msgid "Skip due to keystone error %s" msgstr "Skip due to keystone error %s" -#: ceilometer/agent/plugin_base.py:81 +#: ceilometer/agent/plugin_base.py:79 #, python-format msgid "Skipping because %s service is not registered in keystone" msgstr "" -#: ceilometer/agent/plugin_base.py:120 +#: ceilometer/agent/plugin_base.py:118 msgid "" "get_exchange_topics API of NotificationPlugin isdeprecated, implements " "get_targets instead." @@ -171,51 +171,51 @@ msgstr "" "alarm %(alarm_id)s has no action configured for state transition from " "%(previous)s to state %(state)s, skipping the notification." -#: ceilometer/alarm/service.py:95 +#: ceilometer/alarm/service.py:94 #, python-format msgid "initiating evaluation cycle on %d alarms" msgstr "initiating evaluation cycle on %d alarms" -#: ceilometer/alarm/service.py:100 +#: ceilometer/alarm/service.py:99 msgid "alarm evaluation cycle failed" msgstr "alarm evaluation cycle failed" -#: ceilometer/alarm/service.py:105 +#: ceilometer/alarm/service.py:104 #, python-format msgid "skipping alarm %s: type unsupported" msgstr "skipping alarm %s: type unsupported" -#: ceilometer/alarm/service.py:109 +#: ceilometer/alarm/service.py:108 #, python-format msgid "evaluating alarm %s" msgstr "evaluating alarm %s" -#: ceilometer/alarm/service.py:113 +#: ceilometer/alarm/service.py:112 #, python-format msgid "Failed to evaluate alarm %s" msgstr "" -#: ceilometer/alarm/service.py:259 +#: ceilometer/alarm/service.py:252 #, python-format msgid "Unable to parse action %(action)s for alarm %(alarm_id)s" msgstr "Unable to parse action %(action)s for alarm %(alarm_id)s" -#: ceilometer/alarm/service.py:268 +#: ceilometer/alarm/service.py:261 #, python-format msgid "Action %(scheme)s for alarm %(alarm_id)s is unknown, cannot notify" msgstr "Action %(scheme)s for alarm %(alarm_id)s is unknown, cannot notify" -#: ceilometer/alarm/service.py:274 +#: ceilometer/alarm/service.py:267 #, python-format msgid "Notifying alarm %(id)s with action %(act)s" msgstr "Notifying alarm %(id)s with action %(act)s" -#: ceilometer/alarm/service.py:279 +#: ceilometer/alarm/service.py:272 #, python-format msgid "Unable to notify alarm %s" msgstr "Unable to notify alarm %s" -#: ceilometer/alarm/service.py:299 +#: ceilometer/alarm/service.py:293 msgid "Unable to notify for an alarm with no action" msgstr "Unable to notify for an alarm with no action" @@ -248,46 +248,46 @@ msgid "Remaining as %(state)s due to alarms %(alarm_ids)s in state %(state)s" msgstr "Remaining as %(state)s due to alarms %(alarm_ids)s in state %(state)s" #: ceilometer/alarm/evaluator/combination.py:99 -#: ceilometer/alarm/evaluator/threshold.py:177 +#: ceilometer/alarm/evaluator/threshold.py:178 #, python-format msgid "Attempted to evaluate alarm %s, but it is not within its time constraint." msgstr "Attempted to evaluate alarm %s, but it is not within its time constraint." -#: ceilometer/alarm/evaluator/threshold.py:63 +#: ceilometer/alarm/evaluator/threshold.py:56 #, python-format msgid "query stats from %(start)s to %(now)s" msgstr "query stats from %(start)s to %(now)s" -#: ceilometer/alarm/evaluator/threshold.py:73 +#: ceilometer/alarm/evaluator/threshold.py:66 #, python-format msgid "sanitize stats %s" msgstr "sanitise stats %s" -#: ceilometer/alarm/evaluator/threshold.py:82 +#: ceilometer/alarm/evaluator/threshold.py:75 #, python-format msgid "excluded weak datapoints with sample counts %s" msgstr "excluded weak datapoints with sample counts %s" -#: ceilometer/alarm/evaluator/threshold.py:91 +#: ceilometer/alarm/evaluator/threshold.py:84 #, python-format msgid "pruned statistics to %d" msgstr "pruned statistics to %d" -#: ceilometer/alarm/evaluator/threshold.py:96 +#: ceilometer/alarm/evaluator/threshold.py:89 #, python-format msgid "stats query %s" msgstr "stats query %s" -#: ceilometer/alarm/evaluator/threshold.py:102 +#: ceilometer/alarm/evaluator/threshold.py:95 msgid "alarm stats retrieval failed" msgstr "alarm stats retrieval failed" -#: ceilometer/alarm/evaluator/threshold.py:113 +#: ceilometer/alarm/evaluator/threshold.py:112 #, python-format msgid "%d datapoints are unknown" msgstr "%d datapoints are unknown" -#: ceilometer/alarm/evaluator/threshold.py:136 +#: ceilometer/alarm/evaluator/threshold.py:137 #, python-format msgid "" "Transition to %(state)s due to %(count)d samples %(disposition)s " @@ -296,7 +296,7 @@ msgstr "" "Transition to %(state)s due to %(count)d samples %(disposition)s " "threshold, most recent: %(most_recent)s" -#: ceilometer/alarm/evaluator/threshold.py:140 +#: ceilometer/alarm/evaluator/threshold.py:141 #, python-format msgid "" "Remaining as %(state)s due to %(count)d samples %(disposition)s " @@ -305,19 +305,19 @@ msgstr "" "Remaining as %(state)s due to %(count)d samples %(disposition)s " "threshold, most recent: %(most_recent)s" -#: ceilometer/alarm/evaluator/threshold.py:196 +#: ceilometer/alarm/evaluator/threshold.py:197 #, python-format msgid "comparing value %(value)s against threshold %(limit)s" msgstr "comparing value %(value)s against threshold %(limit)s" -#: ceilometer/alarm/notifier/log.py:32 +#: ceilometer/alarm/notifier/log.py:30 #, python-format msgid "" -"Notifying alarm %(alarm_name)s %(alarm_id)s from %(previous)s to " -"%(current)s with action %(action)s because %(reason)s." +"Notifying alarm %(alarm_name)s %(alarm_id)s of %(severity)s priority from" +" %(previous)s to %(current)s with action %(action)s because %(reason)s." msgstr "" -#: ceilometer/alarm/notifier/rest.py:66 +#: ceilometer/alarm/notifier/rest.py:64 #, python-format msgid "" "Notifying alarm %(alarm_name)s %(alarm_id)s from %(previous)s to " @@ -468,64 +468,64 @@ msgstr "Cannot disable table but ignoring error" msgid "Cannot delete table but ignoring error" msgstr "Cannot delete table but ignoring error" -#: ceilometer/alarm/storage/models.py:67 +#: ceilometer/alarm/storage/models.py:70 msgid "timestamp should be datetime object" msgstr "" -#: ceilometer/alarm/storage/models.py:69 +#: ceilometer/alarm/storage/models.py:72 msgid "state_timestamp should be datetime object" msgstr "" -#: ceilometer/api/app.py:165 +#: ceilometer/api/app.py:163 #, python-format msgid "Starting server in PID %s" msgstr "Starting server in PID %s" -#: ceilometer/api/app.py:166 +#: ceilometer/api/app.py:164 msgid "Configuration:" msgstr "Configuration:" -#: ceilometer/api/app.py:170 +#: ceilometer/api/app.py:168 #, python-format msgid "serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s" msgstr "serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s" -#: ceilometer/api/app.py:174 +#: ceilometer/api/app.py:172 #, python-format msgid "serving on http://%(host)s:%(port)s" msgstr "serving on http://%(host)s:%(port)s" -#: ceilometer/api/middleware.py:107 +#: ceilometer/api/middleware.py:105 #, python-format msgid "Error parsing HTTP response: %s" msgstr "Error parsing HTTP response: %s" -#: ceilometer/api/controllers/v2.py:100 +#: ceilometer/api/controllers/v2.py:102 #, python-format msgid "%(entity)s %(id)s Not Found" msgstr "%(entity)s %(id)s Not Found" -#: ceilometer/api/controllers/v2.py:108 +#: ceilometer/api/controllers/v2.py:110 #, python-format msgid "Alarm %s not found" msgstr "Alarm %s not found" -#: ceilometer/api/controllers/v2.py:110 +#: ceilometer/api/controllers/v2.py:112 #, python-format msgid "Alarm %(alarm_id)s not found in project %(project)s" msgstr "Alarm %(alarm_id)s not found in project %(project)s" -#: ceilometer/api/controllers/v2.py:123 +#: ceilometer/api/controllers/v2.py:125 #, python-format msgid "Alarm quota exceeded for user %(u)s on project %(p)s" msgstr "Alarm quota exceeded for user %(u)s on project %(p)s" -#: ceilometer/api/controllers/v2.py:320 +#: ceilometer/api/controllers/v2.py:322 #, python-format msgid "Unable to convert the value %(value)s to the expected data type %(type)s." msgstr "Unable to convert the value %(value)s to the expected data type %(type)s." -#: ceilometer/api/controllers/v2.py:325 +#: ceilometer/api/controllers/v2.py:327 #, python-format msgid "" "The data type %(type)s is not supported. The supported data type list is:" @@ -534,7 +534,7 @@ msgstr "" "The data type %(type)s is not supported. The supported data type list is:" " %(supported)s" -#: ceilometer/api/controllers/v2.py:330 +#: ceilometer/api/controllers/v2.py:332 #, python-format msgid "" "Unexpected exception converting %(value)s to the expected data type " @@ -543,70 +543,70 @@ msgstr "" "Unexpected exception converting %(value)s to the expected data type " "%(type)s." -#: ceilometer/api/controllers/v2.py:341 +#: ceilometer/api/controllers/v2.py:343 #, python-format msgid "Not Authorized to access %(aspect)s %(id)s" msgstr "Not Authorised to access %(aspect)s %(id)s" -#: ceilometer/api/controllers/v2.py:806 +#: ceilometer/api/controllers/v2.py:808 msgid "clamping min timestamp to range" msgstr "clamping min timestamp to range" -#: ceilometer/api/controllers/v2.py:811 +#: ceilometer/api/controllers/v2.py:813 msgid "clamping max timestamp to range" msgstr "clamping max timestamp to range" -#: ceilometer/api/controllers/v2.py:890 ceilometer/api/controllers/v2.py:1174 +#: ceilometer/api/controllers/v2.py:892 ceilometer/api/controllers/v2.py:1176 msgid "Limit must be positive" msgstr "Limit must be positive" -#: ceilometer/api/controllers/v2.py:979 +#: ceilometer/api/controllers/v2.py:981 msgid "Period must be positive." msgstr "Period must be positive." -#: ceilometer/api/controllers/v2.py:1001 +#: ceilometer/api/controllers/v2.py:1003 #, python-format msgid "computed value coming from %r" msgstr "computed value coming from %r" -#: ceilometer/api/controllers/v2.py:1010 +#: ceilometer/api/controllers/v2.py:1012 #, python-format msgid "Invalid period %(period)s: %(err)s" msgstr "" -#: ceilometer/api/controllers/v2.py:1193 +#: ceilometer/api/controllers/v2.py:1195 msgid "Sample" msgstr "Sample" -#: ceilometer/api/controllers/v2.py:1358 +#: ceilometer/api/controllers/v2.py:1360 #, python-format msgid "Filter expression not valid: %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1373 +#: ceilometer/api/controllers/v2.py:1375 #, python-format msgid "Order-by expression not valid: %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1384 +#: ceilometer/api/controllers/v2.py:1386 msgid "Limit should be positive" msgstr "Limit should be positive" -#: ceilometer/api/controllers/v2.py:1477 +#: ceilometer/api/controllers/v2.py:1479 #, python-format msgid "String %s is not a valid isotime" msgstr "String %s is not a valid isotime" -#: ceilometer/api/controllers/v2.py:1478 +#: ceilometer/api/controllers/v2.py:1480 #, python-format msgid "Failed to parse the timestamp value %s" msgstr "Failed to parse the timestamp value %s" -#: ceilometer/api/controllers/v2.py:1568 +#: ceilometer/api/controllers/v2.py:1570 msgid "Resource" msgstr "Resource" -#: ceilometer/api/controllers/v2.py:1646 +#: ceilometer/api/controllers/v2.py:1648 #, python-format msgid "" "Alarm when %(meter_name)s is %(comparison_operator)s a %(statistic)s of " @@ -615,90 +615,90 @@ msgstr "" "Alarm when %(meter_name)s is %(comparison_operator)s a %(statistic)s of " "%(threshold)s over %(period)s seconds" -#: ceilometer/api/controllers/v2.py:1686 +#: ceilometer/api/controllers/v2.py:1688 #, python-format msgid "Combined state of alarms %s" msgstr "Combined state of alarms %s" -#: ceilometer/api/controllers/v2.py:1695 +#: ceilometer/api/controllers/v2.py:1697 msgid "Alarm combination rule should contain at least two different alarm ids." msgstr "Alarm combination rule should contain at least two different alarm ids." -#: ceilometer/api/controllers/v2.py:1746 +#: ceilometer/api/controllers/v2.py:1748 #, python-format msgid "Timezone %s is not valid" msgstr "Timezone %s is not valid" -#: ceilometer/api/controllers/v2.py:1872 +#: ceilometer/api/controllers/v2.py:1878 msgid "Time constraint names must be unique for a given alarm." msgstr "Time constraint names must be unique for a given alarm." -#: ceilometer/api/controllers/v2.py:1882 +#: ceilometer/api/controllers/v2.py:1888 #, python-format msgid "%(rule)s must be set for %(type)s type alarm" msgstr "%(rule)s must be set for %(type)s type alarm" -#: ceilometer/api/controllers/v2.py:1886 +#: ceilometer/api/controllers/v2.py:1892 msgid "threshold_rule and combination_rule cannot be set at the same time" msgstr "threshold_rule and combination_rule cannot be set at the same time" -#: ceilometer/api/controllers/v2.py:1903 +#: ceilometer/api/controllers/v2.py:1909 #, python-format msgid "Unable to parse action %s" msgstr "" -#: ceilometer/api/controllers/v2.py:1906 +#: ceilometer/api/controllers/v2.py:1912 #, python-format msgid "Unsupported action %s" msgstr "" -#: ceilometer/api/controllers/v2.py:2075 +#: ceilometer/api/controllers/v2.py:2083 #, python-format msgid "Alarm with name=%s exists" msgstr "Alarm with name=%s exists" -#: ceilometer/api/controllers/v2.py:2082 +#: ceilometer/api/controllers/v2.py:2090 #, python-format msgid "Cannot specify alarm %s itself in combination rule" msgstr "Cannot specify alarm %s itself in combination rule" -#: ceilometer/api/controllers/v2.py:2090 +#: ceilometer/api/controllers/v2.py:2098 #, python-format msgid "Error while putting alarm: %s" msgstr "Error while putting alarm: %s" -#: ceilometer/api/controllers/v2.py:2091 ceilometer/api/controllers/v2.py:2258 +#: ceilometer/api/controllers/v2.py:2099 ceilometer/api/controllers/v2.py:2266 msgid "Alarm incorrect" msgstr "Alarm incorrect" -#: ceilometer/api/controllers/v2.py:2151 +#: ceilometer/api/controllers/v2.py:2159 msgid "state invalid" msgstr "state invalid" -#: ceilometer/api/controllers/v2.py:2251 +#: ceilometer/api/controllers/v2.py:2259 #, python-format msgid "Alarm with name='%s' exists" msgstr "Alarm with name='%s' exists" -#: ceilometer/api/controllers/v2.py:2257 +#: ceilometer/api/controllers/v2.py:2265 #, python-format msgid "Error while posting alarm: %s" msgstr "Error while posting alarm: %s" -#: ceilometer/api/controllers/v2.py:2422 +#: ceilometer/api/controllers/v2.py:2440 msgid "operator {} is incorrect" msgstr "operator {} is incorrect" -#: ceilometer/api/controllers/v2.py:2444 +#: ceilometer/api/controllers/v2.py:2462 #, python-format msgid "Getting traits for %s" msgstr "Getting traits for %s" -#: ceilometer/api/controllers/v2.py:2509 +#: ceilometer/api/controllers/v2.py:2532 msgid "Event" msgstr "Event" -#: ceilometer/api/controllers/v2.py:2512 +#: ceilometer/api/controllers/v2.py:2535 #, python-format msgid "More than one event with id %s returned from storage driver" msgstr "More than one event with id %s returned from storage driver" @@ -711,100 +711,71 @@ msgstr "Clearing expired metering data" msgid "Nothing to clean, database time to live is disabled" msgstr "Nothing to clean, database time to live is disabled" -#: ceilometer/compute/nova_notifier.py:79 -#, python-format -msgid "using provided stats gatherer %r" -msgstr "using provided stats gatherer %r" - -#: ceilometer/compute/nova_notifier.py:82 -msgid "making a new stats gatherer" -msgstr "making a new stats gatherer" - -#: ceilometer/compute/nova_notifier.py:111 -#, python-format -msgid "INFO %r" -msgstr "INFO %r" - -#: ceilometer/compute/nova_notifier.py:144 -#, python-format -msgid "ignoring %s" -msgstr "ignoring %s" - -#: ceilometer/compute/nova_notifier.py:146 -#, python-format -msgid "processing %s" -msgstr "processing %s" - -#: ceilometer/compute/nova_notifier.py:150 -#, python-format -msgid "polling final stats for %r" -msgstr "polling final stats for %r" - -#: ceilometer/compute/notifications/cpu.py:52 +#: ceilometer/compute/notifications/cpu.py:50 #, python-format msgid "An error occurred while building %(m)s sample: %(e)s" msgstr "An error occurred while building %(m)s sample: %(e)s" -#: ceilometer/compute/pollsters/cpu.py:34 +#: ceilometer/compute/pollsters/cpu.py:31 #, python-format msgid "checking instance %s" msgstr "checking instance %s" -#: ceilometer/compute/pollsters/cpu.py:37 +#: ceilometer/compute/pollsters/cpu.py:34 #, python-format msgid "CPUTIME USAGE: %(instance)s %(time)d" msgstr "CPUTIME USAGE: %(instance)s %(time)d" -#: ceilometer/compute/pollsters/cpu.py:51 -#: ceilometer/compute/pollsters/cpu.py:82 -#: ceilometer/compute/pollsters/disk.py:121 -#: ceilometer/compute/pollsters/disk.py:331 +#: ceilometer/compute/pollsters/cpu.py:48 +#: ceilometer/compute/pollsters/cpu.py:79 +#: ceilometer/compute/pollsters/disk.py:117 +#: ceilometer/compute/pollsters/disk.py:327 #: ceilometer/compute/pollsters/memory.py:47 -#: ceilometer/compute/pollsters/net.py:109 +#: ceilometer/compute/pollsters/net.py:106 #, python-format msgid "Exception while getting samples %s" msgstr "Exception while getting samples %s" -#: ceilometer/compute/pollsters/cpu.py:54 +#: ceilometer/compute/pollsters/cpu.py:51 #, python-format msgid "Obtaining CPU time is not implemented for %s" msgstr "Obtaining CPU time is not implemented for %s" -#: ceilometer/compute/pollsters/cpu.py:57 +#: ceilometer/compute/pollsters/cpu.py:54 #, python-format msgid "could not get CPU time for %(id)s: %(e)s" msgstr "could not get CPU time for %(id)s: %(e)s" -#: ceilometer/compute/pollsters/cpu.py:66 +#: ceilometer/compute/pollsters/cpu.py:63 #, python-format msgid "Checking CPU util for instance %s" msgstr "Checking CPU util for instance %s" -#: ceilometer/compute/pollsters/cpu.py:70 +#: ceilometer/compute/pollsters/cpu.py:67 #, python-format msgid "CPU UTIL: %(instance)s %(util)d" msgstr "CPU UTIL: %(instance)s %(util)d" -#: ceilometer/compute/pollsters/cpu.py:85 +#: ceilometer/compute/pollsters/cpu.py:82 #, python-format msgid "Obtaining CPU Util is not implemented for %s" msgstr "Obtaining CPU Util is not implemented for %s" -#: ceilometer/compute/pollsters/cpu.py:88 +#: ceilometer/compute/pollsters/cpu.py:85 #, python-format msgid "Could not get CPU Util for %(id)s: %(e)s" msgstr "Could not get CPU Util for %(id)s: %(e)s" -#: ceilometer/compute/pollsters/disk.py:129 -#: ceilometer/compute/pollsters/disk.py:334 -#: ceilometer/compute/pollsters/net.py:117 +#: ceilometer/compute/pollsters/disk.py:125 +#: ceilometer/compute/pollsters/disk.py:330 +#: ceilometer/compute/pollsters/net.py:114 #, python-format msgid "%(inspector)s does not provide data for %(pollster)s" msgstr "%(inspector)s does not provide data for %(pollster)s" -#: ceilometer/compute/pollsters/disk.py:134 -#: ceilometer/compute/pollsters/disk.py:340 -#: ceilometer/compute/pollsters/net.py:122 +#: ceilometer/compute/pollsters/disk.py:130 +#: ceilometer/compute/pollsters/disk.py:336 +#: ceilometer/compute/pollsters/net.py:119 #, python-format msgid "Ignoring instance %(name)s: %(error)s" msgstr "Ignoring instance %(name)s: %(error)s" @@ -829,57 +800,57 @@ msgstr "Obtaining Memory Usage is not implemented for %s" msgid "Could not get Memory Usage for %(id)s: %(e)s" msgstr "Could not get Memory Usage for %(id)s: %(e)s" -#: ceilometer/compute/pollsters/net.py:95 +#: ceilometer/compute/pollsters/net.py:92 #, python-format msgid "checking net info for instance %s" msgstr "checking net info for instance %s" -#: ceilometer/compute/virt/inspector.py:235 +#: ceilometer/compute/virt/inspector.py:232 #, python-format msgid "Unable to load the hypervisor inspector: %s" msgstr "Unable to load the hypervisor inspector: %s" -#: ceilometer/compute/virt/hyperv/utilsv2.py:184 +#: ceilometer/compute/virt/hyperv/utilsv2.py:181 #, python-format msgid "VM %s not found on Hyper-V" msgstr "VM %s not found on Hyper-V" -#: ceilometer/compute/virt/hyperv/utilsv2.py:186 +#: ceilometer/compute/virt/hyperv/utilsv2.py:183 #, python-format msgid "Duplicate VM name found: %s" msgstr "Duplicate VM name found: %s" -#: ceilometer/compute/virt/libvirt/inspector.py:56 +#: ceilometer/compute/virt/libvirt/inspector.py:54 msgid "Connection to libvirt broken" msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:81 +#: ceilometer/compute/virt/libvirt/inspector.py:79 #, python-format msgid "Connecting to libvirt: %s" msgstr "Connecting to libvirt: %s" -#: ceilometer/compute/virt/libvirt/inspector.py:99 +#: ceilometer/compute/virt/libvirt/inspector.py:97 #, python-format msgid "" "Error from libvirt while looking up instance : " "[Error Code %(error_code)s] %(ex)s" msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:119 +#: ceilometer/compute/virt/libvirt/inspector.py:117 #, python-format msgid "" "Failed to inspect data of instance , domain " "state is SHUTOFF." msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:189 +#: ceilometer/compute/virt/libvirt/inspector.py:187 #, python-format msgid "" "Failed to inspect memory usage of instance , " "can not get info from libvirt." msgstr "" -#: ceilometer/compute/virt/libvirt/inspector.py:197 +#: ceilometer/compute/virt/libvirt/inspector.py:195 #, python-format msgid "" "Failed to inspect memory usage of %(instance_uuid)s, can not get info " @@ -894,54 +865,54 @@ msgstr "" msgid "VM %s not found in VMware Vsphere" msgstr "VM %s not found in VMware Vsphere" -#: ceilometer/compute/virt/xenapi/inspector.py:59 +#: ceilometer/compute/virt/xenapi/inspector.py:57 msgid "XenAPI not installed" msgstr "XenAPI not installed" -#: ceilometer/compute/virt/xenapi/inspector.py:65 +#: ceilometer/compute/virt/xenapi/inspector.py:63 msgid "Must specify connection_url, and connection_password to use" msgstr "Must specify connection_url, and connection_password to use" -#: ceilometer/compute/virt/xenapi/inspector.py:68 +#: ceilometer/compute/virt/xenapi/inspector.py:66 msgid "Unable to log in to XenAPI (is the Dom0 disk full?)" msgstr "Unable to log in to XenAPI (is the Dom0 disk full?)" -#: ceilometer/compute/virt/xenapi/inspector.py:75 +#: ceilometer/compute/virt/xenapi/inspector.py:73 #, python-format msgid "Could not connect to XenAPI: %s" msgstr "Could not connect to XenAPI: %s" -#: ceilometer/compute/virt/xenapi/inspector.py:98 +#: ceilometer/compute/virt/xenapi/inspector.py:96 #, python-format msgid "VM %s not found in XenServer" msgstr "VM %s not found in XenServer" -#: ceilometer/compute/virt/xenapi/inspector.py:101 +#: ceilometer/compute/virt/xenapi/inspector.py:99 #, python-format msgid "Multiple VM %s found in XenServer" msgstr "Multiple VM %s found in XenServer" -#: ceilometer/compute/virt/xenapi/inspector.py:114 +#: ceilometer/compute/virt/xenapi/inspector.py:112 #, python-format msgid "Could not get VM %s CPU Utilization" msgstr "Could not get VM %s CPU Utilisation" -#: ceilometer/dispatcher/__init__.py:43 +#: ceilometer/dispatcher/__init__.py:41 #, python-format msgid "loading dispatchers from %s" msgstr "loading dispatchers from %s" -#: ceilometer/dispatcher/__init__.py:51 +#: ceilometer/dispatcher/__init__.py:49 #, python-format msgid "Failed to load any dispatchers for %s" msgstr "Failed to load any dispatchers for %s" -#: ceilometer/dispatcher/database.py:50 +#: ceilometer/dispatcher/database.py:48 #, python-format msgid "Failed to connect to db, purpose %(purpose)s re-try later: %(err)s" msgstr "" -#: ceilometer/dispatcher/database.py:75 ceilometer/dispatcher/http.py:82 +#: ceilometer/dispatcher/database.py:73 ceilometer/dispatcher/http.py:80 #, python-format msgid "" "metering data %(counter_name)s for %(resource_id)s @ %(timestamp)s: " @@ -950,47 +921,47 @@ msgstr "" "metering data %(counter_name)s for %(resource_id)s @ %(timestamp)s: " "%(counter_volume)s" -#: ceilometer/dispatcher/database.py:94 ceilometer/dispatcher/http.py:111 +#: ceilometer/dispatcher/database.py:92 ceilometer/dispatcher/http.py:109 #, python-format msgid "Failed to record metering data: %s" msgstr "Failed to record metering data: %s" -#: ceilometer/dispatcher/database.py:97 ceilometer/dispatcher/http.py:114 +#: ceilometer/dispatcher/database.py:95 ceilometer/dispatcher/http.py:112 #, python-format msgid "message signature invalid, discarding message: %r" msgstr "message signature invalid, discarding message: %r" -#: ceilometer/dispatcher/http.py:72 +#: ceilometer/dispatcher/http.py:70 msgid "" "Dispatcher target was not set, no meter will be posted. Set the target in" " the ceilometer.conf file" msgstr "" -#: ceilometer/dispatcher/http.py:108 +#: ceilometer/dispatcher/http.py:106 #, python-format msgid "Message posting finished with status code %d." msgstr "" -#: ceilometer/energy/kwapi.py:90 +#: ceilometer/energy/kwapi.py:88 msgid "Kwapi endpoint not found" msgstr "Kwapi endpoint not found" -#: ceilometer/event/converter.py:76 +#: ceilometer/event/converter.py:74 #, python-format msgid "Plugin specified, but no plugin name supplied for trait %s" msgstr "Plugin specified, but no plugin name supplied for trait %s" -#: ceilometer/event/converter.py:85 +#: ceilometer/event/converter.py:83 #, python-format msgid "No plugin named %(plugin)s available for trait %(trait)s" msgstr "No plugin named %(plugin)s available for trait %(trait)s" -#: ceilometer/event/converter.py:95 +#: ceilometer/event/converter.py:93 #, python-format msgid "Required field in trait definition not specified: '%s'" msgstr "Required field in trait definition not specified: '%s'" -#: ceilometer/event/converter.py:110 +#: ceilometer/event/converter.py:108 #, python-format msgid "" "Parse error in JSONPath specification '%(jsonpath)s' for %(trait)s: " @@ -999,27 +970,27 @@ msgstr "" "Parse error in JSONPath specification '%(jsonpath)s' for %(trait)s: " "%(err)s" -#: ceilometer/event/converter.py:116 +#: ceilometer/event/converter.py:114 #, python-format msgid "Invalid trait type '%(type)s' for trait %(trait)s" msgstr "Invalid trait type '%(type)s' for trait %(trait)s" -#: ceilometer/event/converter.py:168 +#: ceilometer/event/converter.py:166 #, python-format msgid "Required field %s not specified" msgstr "Required field %s not specified" -#: ceilometer/event/converter.py:343 +#: ceilometer/event/converter.py:341 #, python-format msgid "Dropping Notification %(type)s (uuid:%(msgid)s)" msgstr "Dropping Notification %(type)s (uuid:%(msgid)s)" -#: ceilometer/event/converter.py:367 +#: ceilometer/event/converter.py:365 #, python-format msgid "Event Definitions configuration file: %s" msgstr "Event Definitions configuration file: %s" -#: ceilometer/event/converter.py:377 +#: ceilometer/event/converter.py:375 #, python-format msgid "" "Invalid YAML syntax in Event Definitions file %(file)s at line: %(line)s," @@ -1028,30 +999,30 @@ msgstr "" "Invalid YAML syntax in Event Definitions file %(file)s at line: %(line)s," " column: %(column)s." -#: ceilometer/event/converter.py:383 +#: ceilometer/event/converter.py:381 #, python-format msgid "YAML error reading Event Definitions file %(file)s" msgstr "YAML error reading Event Definitions file %(file)s" -#: ceilometer/event/converter.py:390 +#: ceilometer/event/converter.py:388 msgid "No Event Definitions configuration file found! Using default config." msgstr "No Event Definitions configuration file found! Using default config." -#: ceilometer/event/converter.py:394 +#: ceilometer/event/converter.py:392 #, python-format msgid "Event Definitions: %s" msgstr "Event Definitions: %s" -#: ceilometer/event/endpoint.py:38 +#: ceilometer/event/endpoint.py:36 msgid "Loading event definitions" msgstr "Loading event definitions" -#: ceilometer/event/endpoint.py:64 +#: ceilometer/event/endpoint.py:62 #, python-format msgid "Saving event \"%s\"" msgstr "Saving event \"%s\"" -#: ceilometer/event/endpoint.py:71 +#: ceilometer/event/endpoint.py:69 msgid "Event is not implemented with the storage backend" msgstr "Event is not implemented with the storage backend" @@ -1097,72 +1068,71 @@ msgstr "inspector call failed for %(ident)s host %(host)s: %(err)s" msgid "Can NOT load inspector %(name)s: %(err)s" msgstr "Can NOT load inspector %(name)s: %(err)s" -#: ceilometer/ipmi/platform/intel_node_manager.py:231 +#: ceilometer/ipmi/platform/intel_node_manager.py:228 msgid "Node Manager init failed" msgstr "" -#: ceilometer/ipmi/platform/ipmi_sensor.py:103 +#: ceilometer/ipmi/platform/ipmi_sensor.py:101 msgid "Wrong sensor type" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:42 +#: ceilometer/ipmi/platform/ipmitool.py:39 msgid "parse IPMI sensor data failed,unknown sensor type" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:83 +#: ceilometer/ipmi/platform/ipmitool.py:80 msgid "parse IPMI sensor data failed,No data retrieved from given input" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:105 +#: ceilometer/ipmi/platform/ipmitool.py:102 msgid "ipmitool output length mismatch" msgstr "" -#: ceilometer/ipmi/platform/ipmitool.py:131 +#: ceilometer/ipmi/platform/ipmitool.py:128 msgid "running ipmitool failure" msgstr "" -#: ceilometer/network/floatingip.py:56 +#: ceilometer/network/floatingip.py:54 #, python-format msgid "FLOATING IP USAGE: %s" msgstr "FLOATING IP USAGE: %s" -#: ceilometer/network/notifications.py:77 +#: ceilometer/network/notifications.py:75 #, python-format msgid "network notification %r" msgstr "network notification %r" -#: ceilometer/network/services/fwaas.py:49 +#: ceilometer/network/services/fwaas.py:47 #, python-format msgid "Unknown status %(stat)s received on fw %(id)s,skipping sample" msgstr "Unknown status %(stat)s received on fw %(id)s,skipping sample" -#: ceilometer/network/services/lbaas.py:64 +#: ceilometer/network/services/lbaas.py:62 #, python-format msgid "Unknown status %(stat)s received on pool %(id)s, skipping sample" msgstr "Unknown status %(stat)s received on pool %(id)s, skipping sample" -#: ceilometer/network/services/lbaas.py:112 +#: ceilometer/network/services/lbaas.py:110 #, python-format msgid "Unknown status %(stat)s received on vip %(id)s, skipping sample" msgstr "Unknown status %(stat)s received on vip %(id)s, skipping sample" -#: ceilometer/network/services/lbaas.py:153 +#: ceilometer/network/services/lbaas.py:151 #, python-format msgid "Unknown status %(stat)s received on member %(id)s,skipping sample" msgstr "Unknown status %(stat)s received on member %(id)s,skipping sample" -#: ceilometer/network/services/lbaas.py:258 +#: ceilometer/network/services/lbaas.py:256 #, python-format msgid "Ignoring pool %(pool_id)s: %(error)s" msgstr "Ignoring pool %(pool_id)s: %(error)s" -#: ceilometer/network/services/vpnaas.py:50 +#: ceilometer/network/services/vpnaas.py:48 #, python-format msgid "Unknown status %(stat)s received on vpn %(id)s,skipping sample" msgstr "Unknown status %(stat)s received on vpn %(id)s,skipping sample" -#: ceilometer/network/statistics/opencontrail/client.py:59 -#: ceilometer/network/statistics/opencontrail/client.py:89 +#: ceilometer/network/statistics/opencontrail/client.py:58 #, python-format msgid "Opencontrail API returned %(status)s %(reason)s" msgstr "Opencontrail API returned %(status)s %(reason)s" @@ -1177,7 +1147,7 @@ msgstr "OpenDaylitght API returned %(status)s %(reason)s" msgid "Request failed to connect to OpenDaylight with NorthBound REST API" msgstr "Request failed to connect to OpenDaylight with NorthBound REST API" -#: ceilometer/objectstore/swift.py:78 +#: ceilometer/objectstore/swift.py:76 msgid "Swift endpoint not found" msgstr "Swift endpoint not found" @@ -1227,49 +1197,49 @@ msgstr "Policy doesn't allow %s to be performed." msgid "Rules must be an instance of dict or Rules, got %s instead" msgstr "Rules must be an instance of dict or Rules, got %s instead" -#: ceilometer/publisher/file.py:63 +#: ceilometer/publisher/file.py:62 msgid "The path for the file publisher is required" msgstr "The path for the file publisher is required" -#: ceilometer/publisher/file.py:77 +#: ceilometer/publisher/file.py:76 msgid "max_bytes and backup_count should be numbers." msgstr "max_bytes and backup_count should be numbers." -#: ceilometer/publisher/messaging.py:84 +#: ceilometer/publisher/messaging.py:83 #, python-format msgid "Publishing policy set to %s" msgstr "Publishing policy set to %s" -#: ceilometer/publisher/messaging.py:86 +#: ceilometer/publisher/messaging.py:85 #, python-format msgid "Publishing policy is unknown (%s) force to default" msgstr "Publishing policy is unknown (%s) force to default" -#: ceilometer/publisher/messaging.py:141 +#: ceilometer/publisher/messaging.py:140 #, python-format msgid "Publisher max local_queue length is exceeded, dropping %d oldest samples" msgstr "Publisher max local_queue length is exceeded, dropping %d oldest samples" -#: ceilometer/publisher/messaging.py:152 +#: ceilometer/publisher/messaging.py:151 #, python-format msgid "Failed to publish %d samples, queue them" msgstr "Failed to publish %d samples, queue them" -#: ceilometer/publisher/messaging.py:156 +#: ceilometer/publisher/messaging.py:155 #, python-format msgid "Failed to publish %d samples, dropping them" msgstr "Failed to publish %d samples, dropping them" -#: ceilometer/publisher/udp.py:59 +#: ceilometer/publisher/udp.py:57 #, python-format msgid "Publishing sample %(msg)s over UDP to %(host)s:%(port)d" msgstr "Publishing sample %(msg)s over UDP to %(host)s:%(port)d" -#: ceilometer/publisher/udp.py:66 +#: ceilometer/publisher/udp.py:64 msgid "Unable to send sample over UDP" msgstr "Unable to send sample over UDP" -#: ceilometer/storage/__init__.py:110 +#: ceilometer/storage/__init__.py:108 #, python-format msgid "looking for %(name)r driver in %(namespace)r" msgstr "looking for %(name)r driver in %(namespace)r" @@ -1288,28 +1258,28 @@ msgstr "Pagination not implemented" msgid "Query Meter Table: %s" msgstr "Query Meter Table: %s" -#: ceilometer/storage/impl_log.py:42 +#: ceilometer/storage/impl_log.py:40 #, python-format msgid "metering data %(counter_name)s for %(resource_id)s: %(counter_volume)s" msgstr "metering data %(counter_name)s for %(resource_id)s: %(counter_volume)s" -#: ceilometer/storage/impl_log.py:54 +#: ceilometer/storage/impl_log.py:52 #, python-format msgid "Dropping data with TTL %d" msgstr "Dropping data with TTL %d" -#: ceilometer/storage/impl_mongodb.py:550 +#: ceilometer/storage/impl_mongodb.py:552 msgid "" "Clearing expired metering data is based on native MongoDB time to live " "feature and going in background." msgstr "" -#: ceilometer/storage/impl_sqlalchemy.py:311 +#: ceilometer/storage/impl_sqlalchemy.py:308 #, python-format msgid "Unknown metadata type. Key (%s) will not be queryable." msgstr "Unknown metadata type. Key (%s) will not be queryable." -#: ceilometer/storage/impl_sqlalchemy.py:379 +#: ceilometer/storage/impl_sqlalchemy.py:376 #, python-format msgid "%d samples removed from database" msgstr "%d samples removed from database" @@ -1356,43 +1326,43 @@ msgid "" "%(retry_interval)d seconds." msgstr "" -#: ceilometer/transformer/arithmetic.py:57 +#: ceilometer/transformer/arithmetic.py:55 #, python-format msgid "Arithmetic transformer must use at least one meter in expression '%s'" msgstr "Arithmetic transformer must use at least one meter in expression '%s'" -#: ceilometer/transformer/arithmetic.py:79 +#: ceilometer/transformer/arithmetic.py:77 msgid "Expression evaluated to a NaN value!" msgstr "Expression evaluated to a NaN value!" -#: ceilometer/transformer/arithmetic.py:95 +#: ceilometer/transformer/arithmetic.py:93 #, python-format msgid "Unable to evaluate expression %(expr)s: %(exc)s" msgstr "Unable to evaluate expression %(expr)s: %(exc)s" -#: ceilometer/transformer/arithmetic.py:109 +#: ceilometer/transformer/arithmetic.py:107 #, python-format msgid "Unable to perform calculation, not all of {%s} are present" msgstr "Unable to perform calculation, not all of {%s} are present" -#: ceilometer/transformer/conversions.py:48 +#: ceilometer/transformer/conversions.py:46 #, python-format msgid "scaling conversion transformer with source: %(source)s target: %(target)s:" msgstr "scaling conversion transformer with source: %(source)s target: %(target)s:" -#: ceilometer/transformer/conversions.py:94 -#: ceilometer/transformer/conversions.py:116 +#: ceilometer/transformer/conversions.py:92 +#: ceilometer/transformer/conversions.py:114 #, python-format msgid "handling sample %s" msgstr "handling sample %s" -#: ceilometer/transformer/conversions.py:97 -#: ceilometer/transformer/conversions.py:137 +#: ceilometer/transformer/conversions.py:95 +#: ceilometer/transformer/conversions.py:135 #, python-format msgid "converted to: %s" msgstr "converted to: %s" -#: ceilometer/transformer/conversions.py:139 +#: ceilometer/transformer/conversions.py:137 #, python-format msgid "dropping sample with no predecessor: %s" msgstr "dropping sample with no predecessor: %s" diff --git a/ceilometer/locale/fr/LC_MESSAGES/ceilometer-log-warning.po b/ceilometer/locale/fr/LC_MESSAGES/ceilometer-log-warning.po index 9e2c51b24..301417376 100644 --- a/ceilometer/locale/fr/LC_MESSAGES/ceilometer-log-warning.po +++ b/ceilometer/locale/fr/LC_MESSAGES/ceilometer-log-warning.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Ceilometer\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-12 06:08+0000\n" -"PO-Revision-Date: 2015-01-09 20:28+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-26 22:20+0000\n" "Last-Translator: openstackjenkins \n" "Language-Team: French (http://www.transifex.com/projects/p/ceilometer/" "language/fr/)\n" @@ -21,14 +21,19 @@ msgstr "" "Generated-By: Babel 1.3\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ceilometer/agent/discovery/endpoint.py:45 +#: ceilometer/agent/discovery/endpoint.py:43 #, python-format msgid "No endpoints found for service %s" msgstr "Pas endpoints trouvé pour le service %s" -#: ceilometer/compute/pollsters/disk.py:123 +#: ceilometer/alarm/evaluator/threshold.py:106 +#, python-format +msgid "Expecting %(expected)d datapoints but only get %(actual)d" +msgstr "" + +#: ceilometer/compute/pollsters/disk.py:119 #: ceilometer/compute/pollsters/memory.py:49 -#: ceilometer/compute/pollsters/net.py:111 +#: ceilometer/compute/pollsters/net.py:108 #, python-format msgid "" "Instance %(instance_id)s was shut off while getting samples of %(pollster)s: " diff --git a/ceilometer/locale/ko_KR/LC_MESSAGES/ceilometer-log-info.po b/ceilometer/locale/ko_KR/LC_MESSAGES/ceilometer-log-info.po index d846e40bd..e25251085 100644 --- a/ceilometer/locale/ko_KR/LC_MESSAGES/ceilometer-log-info.po +++ b/ceilometer/locale/ko_KR/LC_MESSAGES/ceilometer-log-info.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Ceilometer\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-07 06:11+0000\n" -"PO-Revision-Date: 2014-12-23 12:43+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-24 01:51+0000\n" "Last-Translator: openstackjenkins \n" "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/" "ceilometer/language/ko_KR/)\n" @@ -19,16 +19,16 @@ msgstr "" "Generated-By: Babel 1.3\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ceilometer/coordination.py:78 +#: ceilometer/coordination.py:76 msgid "Coordination backend started successfully." msgstr "" -#: ceilometer/coordination.py:113 +#: ceilometer/coordination.py:111 #, python-format msgid "Joined partitioning group %s" msgstr "" -#: ceilometer/coordination.py:128 +#: ceilometer/coordination.py:126 #, python-format msgid "Left partitioning group %s" msgstr "" @@ -41,7 +41,7 @@ msgstr "Eventlet 백도어는 프로세스 %(pid)d 일 동안 %(port)s에서 수 #: ceilometer/openstack/common/policy.py:262 #, python-format msgid "Can not find policy directory: %s" -msgstr "" +msgstr "%s: 정책 디렉토리를 찾을 수 없습니다." #: ceilometer/openstack/common/service.py:174 #, python-format diff --git a/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-error.po b/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-error.po index c5b7a5b78..ba31c5895 100644 --- a/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-error.po +++ b/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-error.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: Ceilometer\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-14 06:09+0000\n" -"PO-Revision-Date: 2015-01-12 09:01+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-30 05:20+0000\n" "Last-Translator: aji.zqfan \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/" "ceilometer/language/zh_CN/)\n" @@ -21,19 +21,19 @@ msgstr "" "Generated-By: Babel 1.3\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ceilometer/collector.py:131 +#: ceilometer/collector.py:129 msgid "Dispatcher failed to handle the sample, requeue it." -msgstr "调度器无法处理样例,队列重排" +msgstr "调度器无法处理样例,重新进入队列" -#: ceilometer/coordination.py:81 +#: ceilometer/coordination.py:79 msgid "Error connecting to coordination backend." msgstr "无法连接到协调器后端" -#: ceilometer/coordination.py:94 +#: ceilometer/coordination.py:92 msgid "Error sending a heartbeat to coordination backend." msgstr "无法发送心跳信息到协调器后端" -#: ceilometer/coordination.py:161 +#: ceilometer/coordination.py:159 msgid "Error getting group membership info from coordination backend." msgstr "从协调器后端获取组成员信息时出错" diff --git a/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-warning.po b/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-warning.po index 253a02135..a3299d82f 100644 --- a/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-warning.po +++ b/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer-log-warning.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: Ceilometer\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2015-01-14 06:09+0000\n" -"PO-Revision-Date: 2015-01-12 09:11+0000\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-27 06:30+0000\n" "Last-Translator: aji.zqfan \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/" "ceilometer/language/zh_CN/)\n" @@ -20,14 +20,19 @@ msgstr "" "Generated-By: Babel 1.3\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ceilometer/agent/discovery/endpoint.py:45 +#: ceilometer/agent/discovery/endpoint.py:43 #, python-format msgid "No endpoints found for service %s" msgstr "%s服务的入口未找到" -#: ceilometer/compute/pollsters/disk.py:123 +#: ceilometer/alarm/evaluator/threshold.py:106 +#, python-format +msgid "Expecting %(expected)d datapoints but only get %(actual)d" +msgstr "预期有 %(expected)d个数据但是只得到%(actual)d个" + +#: ceilometer/compute/pollsters/disk.py:119 #: ceilometer/compute/pollsters/memory.py:49 -#: ceilometer/compute/pollsters/net.py:111 +#: ceilometer/compute/pollsters/net.py:108 #, python-format msgid "" "Instance %(instance_id)s was shut off while getting samples of %(pollster)s: " @@ -50,4 +55,4 @@ msgstr "任务%(func_name)s运行超过指定间隔%(delay).2f秒" #: ceilometer/openstack/common/service.py:356 #, python-format msgid "pid %d not in child list" -msgstr "pid %d 没有在子代列表中" +msgstr "pid %d 没有在子进程列表中" diff --git a/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer.po b/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer.po new file mode 100644 index 000000000..e86e2a306 --- /dev/null +++ b/ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer.po @@ -0,0 +1,1349 @@ +# Chinese (Simplified, China) translations for ceilometer. +# Copyright (C) 2015 ORGANIZATION +# This file is distributed under the same license as the ceilometer project. +# +# Translators: +# aji.zqfan , 2015 +# yelu , 2013 +# Tom Fifield , 2013 +# 颜海峰 , 2014 +# Yu Zhang, 2013 +msgid "" +msgstr "" +"Project-Id-Version: Ceilometer\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2015-02-02 06:08+0000\n" +"PO-Revision-Date: 2015-01-29 21:58+0000\n" +"Last-Translator: openstackjenkins \n" +"Language-Team: Chinese (China) " +"(http://www.transifex.com/projects/p/ceilometer/language/zh_CN/)\n" +"Plural-Forms: nplurals=1; plural=0\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" + +#: ceilometer/collector.py:100 +#, python-format +msgid "UDP: Cannot decode data sent by %s" +msgstr "UDP: 无法解码由 %s 发送的数据" + +#: ceilometer/collector.py:103 +#, python-format +msgid "UDP: Storing %s" +msgstr "UDP: 正在存储%s" + +#: ceilometer/collector.py:107 +msgid "UDP: Unable to store meter" +msgstr "UDP: 无法存储计量器" + +#: ceilometer/notification.py:131 ceilometer/notifier.py:46 +#, python-format +msgid "Failed to load any notification handlers for %s" +msgstr "无法为%s加载任何通知处理器" + +#: ceilometer/notification.py:143 +#, python-format +msgid "Event types from %(name)s: %(type)s (ack_on_error=%(error)s)" +msgstr "" + +#: ceilometer/notification.py:183 +#, python-format +msgid "Pipeline endpoint: %s" +msgstr " 流水线入口:%s" + +#: ceilometer/notifier.py:37 +#, python-format +msgid "loading notification handlers from %s" +msgstr "从%s加载通知处理器" + +#: ceilometer/pipeline.py:285 +#, python-format +msgid "Unable to load publisher %s" +msgstr "无法加载发布器%s" + +#: ceilometer/pipeline.py:303 +#, python-format +msgid "" +"Pipeline %(pipeline)s: Setup transformer instance %(name)s with parameter" +" %(param)s" +msgstr "流水线%(pipeline)s:使用参数%(param)s初始化变形器实例%(name)s" + +#: ceilometer/pipeline.py:320 ceilometer/pipeline.py:382 +#, python-format +msgid "Pipeline %(pipeline)s: Continue after error from publisher %(pub)s" +msgstr "流水线%(pipeline)s:发布器%(pub)s报错,继续执行" + +#: ceilometer/pipeline.py:337 +#, python-format +msgid "Pipeline %(pipeline)s: Sample dropped by transformer %(trans)s" +msgstr "流水线%(pipeline)s:数据点被变形器%(trans)s丢弃" + +#: ceilometer/pipeline.py:345 +#, python-format +msgid "" +"Pipeline %(pipeline)s: Exit after error from transformer %(trans)s for " +"%(smp)s" +msgstr "流水线%(pipeline)s:数据%(smp)s的变形器%(trans)s遇到错误,退出" + +#: ceilometer/pipeline.py:368 +#, python-format +msgid "Pipeline %(pipeline)s: Transform sample %(smp)s from %(trans)s transformer" +msgstr "流水线%(pipeline)s:使用变形器%(trans)s作用于数据%(smp)s " + +#: ceilometer/pipeline.py:398 +#, python-format +msgid "Pipeline %(pipeline)s: Error flushing transformer %(trans)s" +msgstr "流水线%(pipeline)s:变形器%(trans)s清空数据时出错" + +#: ceilometer/pipeline.py:594 +msgid "detected decoupled pipeline config format" +msgstr "检测到分离的流水线配置格式" + +#: ceilometer/pipeline.py:610 +msgid "detected deprecated pipeline config format" +msgstr "检测到废弃的流水线配置格式" + +#: ceilometer/pipeline.py:634 +#, python-format +msgid "Pipeline config file: %s" +msgstr "流水线配置文件:%s" + +#: ceilometer/pipeline.py:640 +#, python-format +msgid "Pipeline config: %s" +msgstr "流水线配置:%s" + +#: ceilometer/service.py:103 +#, python-format +msgid "%(worker_name)s value of %(workers)s is invalid, must be greater than 0" +msgstr "工作线程%(worker_name)s的数量%(workers)s非法,必须大于0" + +#: ceilometer/agent/base.py:116 +#, python-format +msgid "Polling pollster %(poll)s in the context of %(src)s" +msgstr "在上下文环境%(src)s执行采集器%(poll)s" + +#: ceilometer/agent/base.py:130 +#, python-format +msgid "Skip polling pollster %s, no resources found" +msgstr "没有任何资源被发现,跳过采集器%s" + +#: ceilometer/agent/base.py:142 +#, python-format +msgid "Continue after error from %(name)s: %(error)s" +msgstr "遇到错误%(name)s:%(error)s,继续执行" + +#: ceilometer/agent/base.py:282 +#, python-format +msgid "Unable to discover resources: %s" +msgstr "无法发现资源:%s" + +#: ceilometer/agent/base.py:284 +#, python-format +msgid "Unknown discovery extension: %s" +msgstr "未知的发现器插件:%s" + +#: ceilometer/agent/plugin_base.py:72 +#, python-format +msgid "Skip due to keystone error %s" +msgstr "跳过执行,因为keystone出错了:%s," + +#: ceilometer/agent/plugin_base.py:79 +#, python-format +msgid "Skipping because %s service is not registered in keystone" +msgstr "跳过执行,因为%s服务没有在keystone中注册" + +#: ceilometer/agent/plugin_base.py:118 +msgid "" +"get_exchange_topics API of NotificationPlugin isdeprecated, implements " +"get_targets instead." +msgstr "" + +#: ceilometer/alarm/rpc.py:56 +#, python-format +msgid "" +"alarm %(alarm_id)s has no action configured for state transition from " +"%(previous)s to state %(state)s, skipping the notification." +msgstr "告警%(alarm_id)s没有为状态从%(previous)s变迁到%(state)s配置动作,忽略收到的通知。" + +#: ceilometer/alarm/service.py:94 +#, python-format +msgid "initiating evaluation cycle on %d alarms" +msgstr "在 %d 个警报上初始化评估周期" + +#: ceilometer/alarm/service.py:99 +msgid "alarm evaluation cycle failed" +msgstr "警报周期评估失败" + +#: ceilometer/alarm/service.py:104 +#, python-format +msgid "skipping alarm %s: type unsupported" +msgstr "跳过警报 %s:不支持的类型" + +#: ceilometer/alarm/service.py:108 +#, python-format +msgid "evaluating alarm %s" +msgstr "评估警报 %s" + +#: ceilometer/alarm/service.py:112 +#, python-format +msgid "Failed to evaluate alarm %s" +msgstr "评估告警%s时失败了" + +#: ceilometer/alarm/service.py:252 +#, python-format +msgid "Unable to parse action %(action)s for alarm %(alarm_id)s" +msgstr "无法为警报 %(alarm_id)s 解析动作 %(action)s " + +#: ceilometer/alarm/service.py:261 +#, python-format +msgid "Action %(scheme)s for alarm %(alarm_id)s is unknown, cannot notify" +msgstr "警报 %(alarm_id)s 的动作 %(scheme)s 未知,无法通知" + +#: ceilometer/alarm/service.py:267 +#, python-format +msgid "Notifying alarm %(id)s with action %(act)s" +msgstr "使用动作%(act)s通知告警%(id)s" + +#: ceilometer/alarm/service.py:272 +#, python-format +msgid "Unable to notify alarm %s" +msgstr "无法通知警报 %s" + +#: ceilometer/alarm/service.py:293 +msgid "Unable to notify for an alarm with no action" +msgstr "无法为一个没有动作的警报进行通知" + +#: ceilometer/alarm/evaluator/__init__.py:75 +#, python-format +msgid "alarm %(id)s transitioning to %(state)s because %(reason)s" +msgstr "因为 %(reason)s, 警报 %(id)s 转换至 %(state)s " + +#: ceilometer/alarm/evaluator/__init__.py:87 +msgid "alarm state update failed" +msgstr "警报状态更新失败" + +#: ceilometer/alarm/evaluator/combination.py:36 +msgid "alarm retrieval failed" +msgstr "获取警报失败" + +#: ceilometer/alarm/evaluator/combination.py:52 +#, python-format +msgid "Alarms %(alarm_ids)s are in unknown state" +msgstr "告警%(alarm_ids)s处于未知的状态" + +#: ceilometer/alarm/evaluator/combination.py:74 +#, python-format +msgid "Transition to %(state)s due to alarms %(alarm_ids)s in state %(state)s" +msgstr "迁移到状态%(state)s,因为告警%(alarm_ids)s处于状态%(state)s" + +#: ceilometer/alarm/evaluator/combination.py:78 +#, python-format +msgid "Remaining as %(state)s due to alarms %(alarm_ids)s in state %(state)s" +msgstr "停留在状态%(state)s因为告警%(alarm_ids)s处于状态%(state)s" + +#: ceilometer/alarm/evaluator/combination.py:99 +#: ceilometer/alarm/evaluator/threshold.py:178 +#, python-format +msgid "Attempted to evaluate alarm %s, but it is not within its time constraint." +msgstr "尝试评估告警%s,但是该告警当前不在激活的时间范围内" + +#: ceilometer/alarm/evaluator/threshold.py:56 +#, python-format +msgid "query stats from %(start)s to %(now)s" +msgstr "查询 %(start)s 到 %(now)s 之间的统计信息" + +#: ceilometer/alarm/evaluator/threshold.py:66 +#, python-format +msgid "sanitize stats %s" +msgstr "审查统计信息 %s" + +#: ceilometer/alarm/evaluator/threshold.py:75 +#, python-format +msgid "excluded weak datapoints with sample counts %s" +msgstr "排除%s个弱相关的数据" + +#: ceilometer/alarm/evaluator/threshold.py:84 +#, python-format +msgid "pruned statistics to %d" +msgstr "裁剪统计信息到%d个" + +#: ceilometer/alarm/evaluator/threshold.py:89 +#, python-format +msgid "stats query %s" +msgstr "统计信息查询 %s" + +#: ceilometer/alarm/evaluator/threshold.py:95 +msgid "alarm stats retrieval failed" +msgstr "警报统计信息获取失败" + +#: ceilometer/alarm/evaluator/threshold.py:112 +#, python-format +msgid "%d datapoints are unknown" +msgstr "%d 数据点为未知" + +#: ceilometer/alarm/evaluator/threshold.py:137 +#, python-format +msgid "" +"Transition to %(state)s due to %(count)d samples %(disposition)s " +"threshold, most recent: %(most_recent)s" +msgstr "有%(count)d个数据满足%(disposition)s阈值,因而状态迁移到%(state)s,最近的一次数据:%(most_recent)s" + +#: ceilometer/alarm/evaluator/threshold.py:141 +#, python-format +msgid "" +"Remaining as %(state)s due to %(count)d samples %(disposition)s " +"threshold, most recent: %(most_recent)s" +msgstr "有%(count)d个数据满足%(disposition)s阈值,因而状态保持为%(state)s,最近的一次数据:%(most_recent)s" + +#: ceilometer/alarm/evaluator/threshold.py:197 +#, python-format +msgid "comparing value %(value)s against threshold %(limit)s" +msgstr "将值 %(value)s 与阈值 %(limit)s 相比较" + +#: ceilometer/alarm/notifier/log.py:30 +#, python-format +msgid "" +"Notifying alarm %(alarm_name)s %(alarm_id)s of %(severity)s priority from" +" %(previous)s to %(current)s with action %(action)s because %(reason)s." +msgstr "" + +#: ceilometer/alarm/notifier/rest.py:64 +#, python-format +msgid "" +"Notifying alarm %(alarm_name)s %(alarm_id)s from %(previous)s to " +"%(current)s with action %(action)s because %(reason)s. request-id: " +"%(request_id)s " +msgstr "" +"正在通知告警%(alarm_name)s " +"%(alarm_id)s从状态%(previous)s变为%(current)s,动作为%(action)s,原因为%(reason)s。请求编号:%(request_id)s" + +#: ceilometer/alarm/partition/coordination.py:132 +#, python-format +msgid "triggering %s" +msgstr "正在触发 %s" + +#: ceilometer/alarm/partition/coordination.py:133 +#, python-format +msgid "known evaluators %s" +msgstr "已知的评估器%s" + +#: ceilometer/alarm/partition/coordination.py:136 +#, python-format +msgid "per evaluator allocation %s" +msgstr "每个评估器分配得到%s" + +#: ceilometer/alarm/partition/coordination.py:146 +#, python-format +msgid "" +"%(this)s bailing on distribution cycle as older partition detected: " +"%(older)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:152 +#, python-format +msgid "%(verb)s-ing %(alloc)s to %(eval)s" +msgstr "正在%(verb)s %(alloc)s 到%(eval)s" + +#: ceilometer/alarm/partition/coordination.py:156 +#, python-format +msgid "master taking %s for self" +msgstr "主节点为自己取得%s" + +#: ceilometer/alarm/partition/coordination.py:174 +#, python-format +msgid "newly deleted alarms %s" +msgstr "新删除的警报%s" + +#: ceilometer/alarm/partition/coordination.py:177 +msgid "alarm deletion activity requires rebalance" +msgstr "警报删除活动需要重新均衡" + +#: ceilometer/alarm/partition/coordination.py:202 +#, python-format +msgid "%s still warming up" +msgstr "%s仍在准备中" + +#: ceilometer/alarm/partition/coordination.py:207 +#, python-format +msgid "last heard from %(report)s %(delta)s seconds ago" +msgstr "最后一次从%(report)s得到消息是在%(delta)s秒前" + +#: ceilometer/alarm/partition/coordination.py:212 +#, python-format +msgid "%(this)s detects stale evaluator: %(stale)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:217 +#, python-format +msgid "%(this)s sees older potential master: %(older)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:219 +#, python-format +msgid "%(this)s is master?: %(is_master)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:232 +#, python-format +msgid "newly created alarms %s" +msgstr "新创建的警报%s" + +#: ceilometer/alarm/partition/coordination.py:243 +#, python-format +msgid "%(this)s not overtaken as master? %(still_ahead)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:253 +#, python-format +msgid "%s checking mastership status" +msgstr "%s正在检查主节点状态" + +#: ceilometer/alarm/partition/coordination.py:260 +msgid "mastership check failed" +msgstr "主节点检查失败" + +#: ceilometer/alarm/partition/coordination.py:270 +#, python-format +msgid "%(this)s knows about %(reports)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:276 +#, python-format +msgid "%(this)s got assignment: %(alarms)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:283 +#, python-format +msgid "%(this)s got allocation: %(alarms)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:289 +#, python-format +msgid "%s reporting presence" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:293 +msgid "presence reporting failed" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:298 +#, python-format +msgid "%s has no assigned alarms to evaluate" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:302 +#, python-format +msgid "%(this)s alarms for evaluation: %(alarms)s" +msgstr "" + +#: ceilometer/alarm/partition/coordination.py:308 +msgid "assignment retrieval failed" +msgstr "获取失败" + +#: ceilometer/alarm/storage/impl_hbase.py:86 +#: ceilometer/event/storage/impl_hbase.py:79 +#: ceilometer/storage/impl_hbase.py:131 +msgid "Dropping HBase schema..." +msgstr "" + +#: ceilometer/alarm/storage/impl_hbase.py:93 +#: ceilometer/event/storage/impl_hbase.py:85 +#: ceilometer/storage/impl_hbase.py:138 +msgid "Cannot disable table but ignoring error" +msgstr "" + +#: ceilometer/alarm/storage/impl_hbase.py:97 +#: ceilometer/event/storage/impl_hbase.py:89 +#: ceilometer/storage/impl_hbase.py:142 +msgid "Cannot delete table but ignoring error" +msgstr "" + +#: ceilometer/alarm/storage/models.py:70 +msgid "timestamp should be datetime object" +msgstr "" + +#: ceilometer/alarm/storage/models.py:72 +msgid "state_timestamp should be datetime object" +msgstr "" + +#: ceilometer/api/app.py:163 +#, python-format +msgid "Starting server in PID %s" +msgstr "正在启动服务进程PID %s" + +#: ceilometer/api/app.py:164 +msgid "Configuration:" +msgstr "配置" + +#: ceilometer/api/app.py:168 +#, python-format +msgid "serving on 0.0.0.0:%(sport)s, view at http://127.0.0.1:%(vport)s" +msgstr "服务在0.0.0.0:%(sport)s上运行,可以通过http://127.0.0.1:%(vport)s来查看" + +#: ceilometer/api/app.py:172 +#, python-format +msgid "serving on http://%(host)s:%(port)s" +msgstr "在 http://%(host)s:%(port)s上服务" + +#: ceilometer/api/middleware.py:105 +#, python-format +msgid "Error parsing HTTP response: %s" +msgstr "解析HTTP响应失败: %s" + +#: ceilometer/api/controllers/v2.py:102 +#, python-format +msgid "%(entity)s %(id)s Not Found" +msgstr "无法找到%(entity)s %(id)s " + +#: ceilometer/api/controllers/v2.py:110 +#, python-format +msgid "Alarm %s not found" +msgstr "" + +#: ceilometer/api/controllers/v2.py:112 +#, python-format +msgid "Alarm %(alarm_id)s not found in project %(project)s" +msgstr "" + +#: ceilometer/api/controllers/v2.py:125 +#, python-format +msgid "Alarm quota exceeded for user %(u)s on project %(p)s" +msgstr "" + +#: ceilometer/api/controllers/v2.py:322 +#, python-format +msgid "Unable to convert the value %(value)s to the expected data type %(type)s." +msgstr "" + +#: ceilometer/api/controllers/v2.py:327 +#, python-format +msgid "" +"The data type %(type)s is not supported. The supported data type list is:" +" %(supported)s" +msgstr "" + +#: ceilometer/api/controllers/v2.py:332 +#, python-format +msgid "" +"Unexpected exception converting %(value)s to the expected data type " +"%(type)s." +msgstr "" + +#: ceilometer/api/controllers/v2.py:343 +#, python-format +msgid "Not Authorized to access %(aspect)s %(id)s" +msgstr "" + +#: ceilometer/api/controllers/v2.py:808 +msgid "clamping min timestamp to range" +msgstr "" + +#: ceilometer/api/controllers/v2.py:813 +msgid "clamping max timestamp to range" +msgstr "" + +#: ceilometer/api/controllers/v2.py:892 ceilometer/api/controllers/v2.py:1176 +msgid "Limit must be positive" +msgstr "limit必须是正数" + +#: ceilometer/api/controllers/v2.py:981 +msgid "Period must be positive." +msgstr "period 参数必须是正数" + +#: ceilometer/api/controllers/v2.py:1003 +#, python-format +msgid "computed value coming from %r" +msgstr "" + +#: ceilometer/api/controllers/v2.py:1012 +#, python-format +msgid "Invalid period %(period)s: %(err)s" +msgstr "非法的间隔%(period)s: %(err)s" + +#: ceilometer/api/controllers/v2.py:1195 +msgid "Sample" +msgstr "范例" + +#: ceilometer/api/controllers/v2.py:1360 +#, python-format +msgid "Filter expression not valid: %s" +msgstr "过滤表达式不合法:%s" + +#: ceilometer/api/controllers/v2.py:1375 +#, python-format +msgid "Order-by expression not valid: %s" +msgstr "orderby表达式不合法:%s" + +#: ceilometer/api/controllers/v2.py:1386 +msgid "Limit should be positive" +msgstr "limit必须是正整数" + +#: ceilometer/api/controllers/v2.py:1479 +#, python-format +msgid "String %s is not a valid isotime" +msgstr "字符串%s不是个合法的标准时间格式" + +#: ceilometer/api/controllers/v2.py:1480 +#, python-format +msgid "Failed to parse the timestamp value %s" +msgstr "解析时间戳%s失败" + +#: ceilometer/api/controllers/v2.py:1570 +msgid "Resource" +msgstr "资源" + +#: ceilometer/api/controllers/v2.py:1648 +#, python-format +msgid "" +"Alarm when %(meter_name)s is %(comparison_operator)s a %(statistic)s of " +"%(threshold)s over %(period)s seconds" +msgstr "" + +#: ceilometer/api/controllers/v2.py:1688 +#, python-format +msgid "Combined state of alarms %s" +msgstr "将告警%s的状态进行组合" + +#: ceilometer/api/controllers/v2.py:1697 +msgid "Alarm combination rule should contain at least two different alarm ids." +msgstr "告警组合规则必须包含至少两个不同的告警id" + +#: ceilometer/api/controllers/v2.py:1748 +#, python-format +msgid "Timezone %s is not valid" +msgstr "时区%s不合法" + +#: ceilometer/api/controllers/v2.py:1878 +msgid "Time constraint names must be unique for a given alarm." +msgstr "一个指定的告警的时间约束名称必须唯一" + +#: ceilometer/api/controllers/v2.py:1888 +#, python-format +msgid "%(rule)s must be set for %(type)s type alarm" +msgstr "类型为%(type)s的告警必须设置%(rule)s" + +#: ceilometer/api/controllers/v2.py:1892 +msgid "threshold_rule and combination_rule cannot be set at the same time" +msgstr "threshold_rule和combination_rule 不能同时设置" + +#: ceilometer/api/controllers/v2.py:1909 +#, python-format +msgid "Unable to parse action %s" +msgstr "无法解析动作%s" + +#: ceilometer/api/controllers/v2.py:1912 +#, python-format +msgid "Unsupported action %s" +msgstr "动作%s不支持" + +#: ceilometer/api/controllers/v2.py:2083 +#, python-format +msgid "Alarm with name=%s exists" +msgstr "名称为%s的告警已存在" + +#: ceilometer/api/controllers/v2.py:2090 +#, python-format +msgid "Cannot specify alarm %s itself in combination rule" +msgstr "无法在组合规则中指定告警%s自身" + +#: ceilometer/api/controllers/v2.py:2098 +#, python-format +msgid "Error while putting alarm: %s" +msgstr "修改告警%s时遇到错误" + +#: ceilometer/api/controllers/v2.py:2099 ceilometer/api/controllers/v2.py:2266 +msgid "Alarm incorrect" +msgstr "警报不正确" + +#: ceilometer/api/controllers/v2.py:2159 +msgid "state invalid" +msgstr "状态无效" + +#: ceilometer/api/controllers/v2.py:2259 +#, python-format +msgid "Alarm with name='%s' exists" +msgstr "名称为'%s'的告警已经存在" + +#: ceilometer/api/controllers/v2.py:2265 +#, python-format +msgid "Error while posting alarm: %s" +msgstr "创建告警%s时遇到错误" + +#: ceilometer/api/controllers/v2.py:2440 +msgid "operator {} is incorrect" +msgstr "" + +#: ceilometer/api/controllers/v2.py:2462 +#, python-format +msgid "Getting traits for %s" +msgstr "正在为%s获取特征" + +#: ceilometer/api/controllers/v2.py:2532 +msgid "Event" +msgstr "事件" + +#: ceilometer/api/controllers/v2.py:2535 +#, python-format +msgid "More than one event with id %s returned from storage driver" +msgstr "从数据库返回了多个id为%s的事件" + +#: ceilometer/cmd/storage.py:38 +msgid "Clearing expired metering data" +msgstr "正在清除过期的监控数据" + +#: ceilometer/cmd/storage.py:43 +msgid "Nothing to clean, database time to live is disabled" +msgstr "没有数据要清除,数据库TTL被关闭" + +#: ceilometer/compute/notifications/cpu.py:50 +#, python-format +msgid "An error occurred while building %(m)s sample: %(e)s" +msgstr "" + +#: ceilometer/compute/pollsters/cpu.py:31 +#, python-format +msgid "checking instance %s" +msgstr "正在检查虚拟机%s" + +#: ceilometer/compute/pollsters/cpu.py:34 +#, python-format +msgid "CPUTIME USAGE: %(instance)s %(time)d" +msgstr "虚拟机%(instance)s的CPU时间为%(time)d" + +#: ceilometer/compute/pollsters/cpu.py:48 +#: ceilometer/compute/pollsters/cpu.py:79 +#: ceilometer/compute/pollsters/disk.py:117 +#: ceilometer/compute/pollsters/disk.py:327 +#: ceilometer/compute/pollsters/memory.py:47 +#: ceilometer/compute/pollsters/net.py:106 +#, python-format +msgid "Exception while getting samples %s" +msgstr "在获取监控数据时遇到异常:%s" + +#: ceilometer/compute/pollsters/cpu.py:51 +#, python-format +msgid "Obtaining CPU time is not implemented for %s" +msgstr "为%s获取CPU时间尚未实现" + +#: ceilometer/compute/pollsters/cpu.py:54 +#, python-format +msgid "could not get CPU time for %(id)s: %(e)s" +msgstr "无法为虚拟机%(id)s获取CPU时间:%(e)s" + +#: ceilometer/compute/pollsters/cpu.py:63 +#, python-format +msgid "Checking CPU util for instance %s" +msgstr "为虚拟机%s查询CPU使用率" + +#: ceilometer/compute/pollsters/cpu.py:67 +#, python-format +msgid "CPU UTIL: %(instance)s %(util)d" +msgstr "虚拟机%(instance)s的CPU使用率为%(util)d" + +#: ceilometer/compute/pollsters/cpu.py:82 +#, python-format +msgid "Obtaining CPU Util is not implemented for %s" +msgstr "为%s获取CPU使用率尚未实现" + +#: ceilometer/compute/pollsters/cpu.py:85 +#, python-format +msgid "Could not get CPU Util for %(id)s: %(e)s" +msgstr "无法为虚拟机%(id)s获取CPU使用率:%(e)s" + +#: ceilometer/compute/pollsters/disk.py:125 +#: ceilometer/compute/pollsters/disk.py:330 +#: ceilometer/compute/pollsters/net.py:114 +#, python-format +msgid "%(inspector)s does not provide data for %(pollster)s" +msgstr "探测器%(inspector)s没有为%(pollster)s提供数据" + +#: ceilometer/compute/pollsters/disk.py:130 +#: ceilometer/compute/pollsters/disk.py:336 +#: ceilometer/compute/pollsters/net.py:119 +#, python-format +msgid "Ignoring instance %(name)s: %(error)s" +msgstr "忽略虚拟机%(name)s:%(error)s" + +#: ceilometer/compute/pollsters/memory.py:31 +#, python-format +msgid "Checking memory usage for instance %s" +msgstr "为虚拟机%s检查内存使用信息" + +#: ceilometer/compute/pollsters/memory.py:35 +#, python-format +msgid "MEMORY USAGE: %(instance)s %(usage)f" +msgstr "虚拟机%(instance)s的内存使用为%(usage)f" + +#: ceilometer/compute/pollsters/memory.py:60 +#, python-format +msgid "Obtaining Memory Usage is not implemented for %s" +msgstr "获取内存使用信息尚未在%s中实现" + +#: ceilometer/compute/pollsters/memory.py:63 +#, python-format +msgid "Could not get Memory Usage for %(id)s: %(e)s" +msgstr "无法为%(id)s获取内存使用信息:%(e)s" + +#: ceilometer/compute/pollsters/net.py:92 +#, python-format +msgid "checking net info for instance %s" +msgstr "为虚拟机%s检查网络信息" + +#: ceilometer/compute/virt/inspector.py:232 +#, python-format +msgid "Unable to load the hypervisor inspector: %s" +msgstr "无法加载管理程序的探测器:%s" + +#: ceilometer/compute/virt/hyperv/utilsv2.py:181 +#, python-format +msgid "VM %s not found on Hyper-V" +msgstr "在Hyper-V上找不到 VM %s" + +#: ceilometer/compute/virt/hyperv/utilsv2.py:183 +#, python-format +msgid "Duplicate VM name found: %s" +msgstr "找到重复 VM 名称:%s" + +#: ceilometer/compute/virt/libvirt/inspector.py:54 +msgid "Connection to libvirt broken" +msgstr "无法连接到libvirt" + +#: ceilometer/compute/virt/libvirt/inspector.py:79 +#, python-format +msgid "Connecting to libvirt: %s" +msgstr "正在连接 libvirt:%s" + +#: ceilometer/compute/virt/libvirt/inspector.py:97 +#, python-format +msgid "" +"Error from libvirt while looking up instance : " +"[Error Code %(error_code)s] %(ex)s" +msgstr "从libvirt查找虚拟机时出错:[错误码%(error_code)s] %(ex)s" + +#: ceilometer/compute/virt/libvirt/inspector.py:117 +#, python-format +msgid "" +"Failed to inspect data of instance , domain " +"state is SHUTOFF." +msgstr "为虚拟机获取监控数据失败了,虚拟机状态为SHUTOFF" + +#: ceilometer/compute/virt/libvirt/inspector.py:187 +#, python-format +msgid "" +"Failed to inspect memory usage of instance , " +"can not get info from libvirt." +msgstr "为虚拟机采集内存使用指标失败了,无法从libvirt获取信息。" + +#: ceilometer/compute/virt/libvirt/inspector.py:195 +#, python-format +msgid "" +"Failed to inspect memory usage of %(instance_uuid)s, can not get info " +"from libvirt: %(error)s" +msgstr "为虚拟机%(instance_uuid)s采集内存使用指标失败了,无法从libvirt获取信息:%(error)s" + +#: ceilometer/compute/virt/vmware/inspector.py:94 +#: ceilometer/compute/virt/vmware/inspector.py:111 +#: ceilometer/compute/virt/vmware/inspector.py:143 +#: ceilometer/compute/virt/vmware/inspector.py:156 +#, python-format +msgid "VM %s not found in VMware Vsphere" +msgstr "无法在VMware Vsphere中找到虚拟机%s" + +#: ceilometer/compute/virt/xenapi/inspector.py:57 +msgid "XenAPI not installed" +msgstr "XenAPI没有安装" + +#: ceilometer/compute/virt/xenapi/inspector.py:63 +msgid "Must specify connection_url, and connection_password to use" +msgstr "使用时必须指定connection_url和connection_password" + +#: ceilometer/compute/virt/xenapi/inspector.py:66 +msgid "Unable to log in to XenAPI (is the Dom0 disk full?)" +msgstr "无法登录到XenAPI(Dom0磁盘是空么?)" + +#: ceilometer/compute/virt/xenapi/inspector.py:73 +#, python-format +msgid "Could not connect to XenAPI: %s" +msgstr "无法连接到XenAPI:%s" + +#: ceilometer/compute/virt/xenapi/inspector.py:96 +#, python-format +msgid "VM %s not found in XenServer" +msgstr "无法在XenServer中找到虚拟机%s" + +#: ceilometer/compute/virt/xenapi/inspector.py:99 +#, python-format +msgid "Multiple VM %s found in XenServer" +msgstr "多个虚拟机%s在XenServer中被找到" + +#: ceilometer/compute/virt/xenapi/inspector.py:112 +#, python-format +msgid "Could not get VM %s CPU Utilization" +msgstr "无法获取虚拟机%s的CPU使用率" + +#: ceilometer/dispatcher/__init__.py:41 +#, python-format +msgid "loading dispatchers from %s" +msgstr "正在从%s加载分发器" + +#: ceilometer/dispatcher/__init__.py:49 +#, python-format +msgid "Failed to load any dispatchers for %s" +msgstr "无法为%s加载任何分发器" + +#: ceilometer/dispatcher/database.py:48 +#, python-format +msgid "Failed to connect to db, purpose %(purpose)s re-try later: %(err)s" +msgstr "无法连接到数据库,目的%(purpose)s稍后重试:%(err)s" + +#: ceilometer/dispatcher/database.py:73 ceilometer/dispatcher/http.py:80 +#, python-format +msgid "" +"metering data %(counter_name)s for %(resource_id)s @ %(timestamp)s: " +"%(counter_volume)s" +msgstr "再时间点%(timestamp)s为资源%(resource_id)s获得指标%(counter_name)s的监控数据:%(counter_volume)s" + +#: ceilometer/dispatcher/database.py:92 ceilometer/dispatcher/http.py:109 +#, python-format +msgid "Failed to record metering data: %s" +msgstr "无法保存监控数据:%s" + +#: ceilometer/dispatcher/database.py:95 ceilometer/dispatcher/http.py:112 +#, python-format +msgid "message signature invalid, discarding message: %r" +msgstr "消息签名不合法,丢弃消息:%r" + +#: ceilometer/dispatcher/http.py:70 +msgid "" +"Dispatcher target was not set, no meter will be posted. Set the target in" +" the ceilometer.conf file" +msgstr "分发器目标未设置,没有指标将被发送。在ceilometer.conf文件中设置目标。" + +#: ceilometer/dispatcher/http.py:106 +#, python-format +msgid "Message posting finished with status code %d." +msgstr "消息发送结束,状态码为%d" + +#: ceilometer/energy/kwapi.py:88 +msgid "Kwapi endpoint not found" +msgstr "Kwapi端点无法找到" + +#: ceilometer/event/converter.py:74 +#, python-format +msgid "Plugin specified, but no plugin name supplied for trait %s" +msgstr "特征%s指定了插件但是没有提供插件的名称" + +#: ceilometer/event/converter.py:83 +#, python-format +msgid "No plugin named %(plugin)s available for trait %(trait)s" +msgstr "特征%(trait)s缺少可用的名为%(plugin)s的插件" + +#: ceilometer/event/converter.py:93 +#, python-format +msgid "Required field in trait definition not specified: '%s'" +msgstr "在特征定义中的必填项没有填写:'%s'" + +#: ceilometer/event/converter.py:108 +#, python-format +msgid "" +"Parse error in JSONPath specification '%(jsonpath)s' for %(trait)s: " +"%(err)s" +msgstr "" + +#: ceilometer/event/converter.py:114 +#, python-format +msgid "Invalid trait type '%(type)s' for trait %(trait)s" +msgstr "特征%(trait)s包含了不合法的特征类型'%(type)s' " + +#: ceilometer/event/converter.py:166 +#, python-format +msgid "Required field %s not specified" +msgstr "必填项%s没有填写" + +#: ceilometer/event/converter.py:341 +#, python-format +msgid "Dropping Notification %(type)s (uuid:%(msgid)s)" +msgstr "正在丢弃通知%(type)s (uuid:%(msgid)s)" + +#: ceilometer/event/converter.py:365 +#, python-format +msgid "Event Definitions configuration file: %s" +msgstr "事件定义配置文件:%s" + +#: ceilometer/event/converter.py:375 +#, python-format +msgid "" +"Invalid YAML syntax in Event Definitions file %(file)s at line: %(line)s," +" column: %(column)s." +msgstr "事件定义文件%(file)s中有非法YAML语法,行:%(line)s,列%(column)s。" + +#: ceilometer/event/converter.py:381 +#, python-format +msgid "YAML error reading Event Definitions file %(file)s" +msgstr "读取事件定义文件%(file)s时遇到YAML错误" + +#: ceilometer/event/converter.py:388 +msgid "No Event Definitions configuration file found! Using default config." +msgstr "没有找到事件定义配置文件!使用默认的配置。" + +#: ceilometer/event/converter.py:392 +#, python-format +msgid "Event Definitions: %s" +msgstr "事件定义:%s" + +#: ceilometer/event/endpoint.py:36 +msgid "Loading event definitions" +msgstr "正在加载事件定义" + +#: ceilometer/event/endpoint.py:62 +#, python-format +msgid "Saving event \"%s\"" +msgstr "正在保存事件\"%s\"" + +#: ceilometer/event/endpoint.py:69 +msgid "Event is not implemented with the storage backend" +msgstr "事件特性尚未在该数据库中实现" + +#: ceilometer/event/storage/impl_hbase.py:123 +#: ceilometer/event/storage/impl_sqlalchemy.py:200 +#: ceilometer/event/storage/pymongo_base.py:76 +#, python-format +msgid "Failed to record event: %s" +msgstr "无法记录事件:%s" + +#: ceilometer/event/storage/impl_sqlalchemy.py:196 +#: ceilometer/event/storage/pymongo_base.py:72 +#, python-format +msgid "Failed to record duplicated event: %s" +msgstr "无法记录重复的事件:%s" + +#: ceilometer/event/storage/impl_sqlalchemy.py:215 +#, python-format +msgid "Getting events that match filter: %s" +msgstr "正在获取符合过滤器:%s的事件" + +#: ceilometer/event/storage/impl_sqlalchemy.py:327 +#, python-format +msgid "Get traits for %s" +msgstr "为%s获取特征" + +#: ceilometer/hardware/discovery.py:74 +#, python-format +msgid "Couldn't obtain IP address of instance %s" +msgstr "无法为实例%s获取IP地址" + +#: ceilometer/hardware/plugin.py:67 +msgid "Passed resource dict must contain keys resource_id and resource_url." +msgstr "传入的资源字典必须包含键resource_id和resource_url" + +#: ceilometer/hardware/plugin.py:109 +#, python-format +msgid "inspector call failed for %(ident)s host %(host)s: %(err)s" +msgstr "" + +#: ceilometer/hardware/plugin.py:140 +#, python-format +msgid "Can NOT load inspector %(name)s: %(err)s" +msgstr "无法加载探测器%(name)s: %(err)s" + +#: ceilometer/ipmi/platform/intel_node_manager.py:228 +msgid "Node Manager init failed" +msgstr "节点管理器初始化失败" + +#: ceilometer/ipmi/platform/ipmi_sensor.py:101 +msgid "Wrong sensor type" +msgstr "错误的传感器类型" + +#: ceilometer/ipmi/platform/ipmitool.py:39 +msgid "parse IPMI sensor data failed,unknown sensor type" +msgstr "解析IPMI传感器数据失败,未知的传感器类型" + +#: ceilometer/ipmi/platform/ipmitool.py:80 +msgid "parse IPMI sensor data failed,No data retrieved from given input" +msgstr "解析IPMI传感器数据失败,从给定的输入中无法检索到数据" + +#: ceilometer/ipmi/platform/ipmitool.py:102 +msgid "ipmitool output length mismatch" +msgstr "ipmi输出长度不匹配" + +#: ceilometer/ipmi/platform/ipmitool.py:128 +msgid "running ipmitool failure" +msgstr "运行ipmitool时失败了" + +#: ceilometer/network/floatingip.py:54 +#, python-format +msgid "FLOATING IP USAGE: %s" +msgstr "浮动IP使用情况:%s" + +#: ceilometer/network/notifications.py:75 +#, python-format +msgid "network notification %r" +msgstr "收到网络通知%r" + +#: ceilometer/network/services/fwaas.py:47 +#, python-format +msgid "Unknown status %(stat)s received on fw %(id)s,skipping sample" +msgstr "从fw %(id)s收到未知的状态%(stat)s,跳过该采样数据" + +#: ceilometer/network/services/lbaas.py:62 +#, python-format +msgid "Unknown status %(stat)s received on pool %(id)s, skipping sample" +msgstr "从pool %(id)s收到未知的状态%(stat)s,跳过该采样数据" + +#: ceilometer/network/services/lbaas.py:110 +#, python-format +msgid "Unknown status %(stat)s received on vip %(id)s, skipping sample" +msgstr "从vip %(id)s收到未知的状态%(stat)s,跳过该采样数据" + +#: ceilometer/network/services/lbaas.py:151 +#, python-format +msgid "Unknown status %(stat)s received on member %(id)s,skipping sample" +msgstr "从member %(id)s收到未知的状态%(stat)s,跳过该采样数据" + +#: ceilometer/network/services/lbaas.py:256 +#, python-format +msgid "Ignoring pool %(pool_id)s: %(error)s" +msgstr "忽略pool %(pool_id)s:%(error)s" + +#: ceilometer/network/services/vpnaas.py:48 +#, python-format +msgid "Unknown status %(stat)s received on vpn %(id)s,skipping sample" +msgstr "从VPN%(id)s收到未知的状态%(stat)s,跳过该采样数据" + +#: ceilometer/network/statistics/opencontrail/client.py:58 +#, python-format +msgid "Opencontrail API returned %(status)s %(reason)s" +msgstr "Opencontrail接口返回状态%(status)s,原因%(reason)s" + +#: ceilometer/network/statistics/opendaylight/client.py:232 +#: ceilometer/tests/network/statistics/opendaylight/test_client.py:142 +#, python-format +msgid "OpenDaylitght API returned %(status)s %(reason)s" +msgstr "OpenDaylight接口返回状态%(status)s,原因%(reason)s" + +#: ceilometer/network/statistics/opendaylight/driver.py:168 +msgid "Request failed to connect to OpenDaylight with NorthBound REST API" +msgstr "请求无法连接到OpenDaylight的北向REST接口" + +#: ceilometer/objectstore/swift.py:76 +msgid "Swift endpoint not found" +msgstr "Swift端点无法找到" + +#: ceilometer/openstack/common/log.py:298 +#, python-format +msgid "Deprecated: %s" +msgstr "建议不要使用:%s" + +#: ceilometer/openstack/common/log.py:406 +#, python-format +msgid "Error loading logging config %(log_config)s: %(err_msg)s" +msgstr "日志配置加载错误 %(log_config)s: %(err_msg)s" + +#: ceilometer/openstack/common/log.py:467 +#, python-format +msgid "syslog facility must be one of: %s" +msgstr "系统日志工具必须是下列其中一项:%s" + +#: ceilometer/openstack/common/log.py:715 +#, python-format +msgid "Fatal call to deprecated config: %(msg)s" +msgstr "对建议不要使用的配置进行了后果极严重的调用:%(msg)s" + +#: ceilometer/openstack/common/policy.py:98 +msgid "The JSON file that defines policies." +msgstr "定义策略的JSON文件。" + +#: ceilometer/openstack/common/policy.py:101 +msgid "Default rule. Enforced when a requested rule is not found." +msgstr "默认规则。当一个请求的规则没有找到时强制使用的规则。" + +#: ceilometer/openstack/common/policy.py:105 +msgid "" +"Directories where policy configuration files are stored. They can be " +"relative to any directory in the search path defined by the config_dir " +"option, or absolute paths. The file defined by policy_file must exist for" +" these directories to be searched." +msgstr "" + +#: ceilometer/openstack/common/policy.py:129 +#, python-format +msgid "Policy doesn't allow %s to be performed." +msgstr "策略不允许 %s 被执行。" + +#: ceilometer/openstack/common/policy.py:226 +#, python-format +msgid "Rules must be an instance of dict or Rules, got %s instead" +msgstr "规则必须是字典或者规则的实例化对像,获取 %s 取代" + +#: ceilometer/publisher/file.py:62 +msgid "The path for the file publisher is required" +msgstr "文件发布器必须设置文件路径" + +#: ceilometer/publisher/file.py:76 +msgid "max_bytes and backup_count should be numbers." +msgstr "max_bytes和backup_count必须是整数。" + +#: ceilometer/publisher/messaging.py:83 +#, python-format +msgid "Publishing policy set to %s" +msgstr "设置发布策略为%s" + +#: ceilometer/publisher/messaging.py:85 +#, python-format +msgid "Publishing policy is unknown (%s) force to default" +msgstr "未知的发布策略(%s),强制使用默认策略" + +#: ceilometer/publisher/messaging.py:140 +#, python-format +msgid "Publisher max local_queue length is exceeded, dropping %d oldest samples" +msgstr "发布的数据量超过本地队列最大长度,正在丢弃最老的%d个数据" + +#: ceilometer/publisher/messaging.py:151 +#, python-format +msgid "Failed to publish %d samples, queue them" +msgstr "发送%d个数据失败了,将其重新入队" + +#: ceilometer/publisher/messaging.py:155 +#, python-format +msgid "Failed to publish %d samples, dropping them" +msgstr "发布%d个数据失败了,将其丢弃" + +#: ceilometer/publisher/udp.py:57 +#, python-format +msgid "Publishing sample %(msg)s over UDP to %(host)s:%(port)d" +msgstr "通过UDP发布采样 %(msg)s 至 %(host)s:%(port)d" + +#: ceilometer/publisher/udp.py:64 +msgid "Unable to send sample over UDP" +msgstr "无法通过UDP发送采样" + +#: ceilometer/storage/__init__.py:108 +#, python-format +msgid "looking for %(name)r driver in %(namespace)r" +msgstr "正在名字空间%(namespace)r查找驱动%(name)r " + +#: ceilometer/storage/impl_hbase.py:216 ceilometer/storage/impl_hbase.py:267 +#, python-format +msgid "Query Resource table: %s" +msgstr "查询资源表:%s" + +#: ceilometer/storage/impl_hbase.py:260 +msgid "Pagination not implemented" +msgstr "未实现分页操作" + +#: ceilometer/storage/impl_hbase.py:307 +#, python-format +msgid "Query Meter Table: %s" +msgstr "查询指标表:%s" + +#: ceilometer/storage/impl_log.py:40 +#, python-format +msgid "metering data %(counter_name)s for %(resource_id)s: %(counter_volume)s" +msgstr "为资源%(resource_id)s获得指标%(counter_name)s的监控数据:%(counter_volume)s" + +#: ceilometer/storage/impl_log.py:52 +#, python-format +msgid "Dropping data with TTL %d" +msgstr "根据TTL%d丢弃数据" + +#: ceilometer/storage/impl_mongodb.py:552 +msgid "" +"Clearing expired metering data is based on native MongoDB time to live " +"feature and going in background." +msgstr "MongoDB正在后台使用原生的TTL机制清除过期监控数据。" + +#: ceilometer/storage/impl_sqlalchemy.py:308 +#, python-format +msgid "Unknown metadata type. Key (%s) will not be queryable." +msgstr "未知的元数据类型。键(%s)将无法进行查询。" + +#: ceilometer/storage/impl_sqlalchemy.py:376 +#, python-format +msgid "%d samples removed from database" +msgstr "从数据库中移除%d个监控数据。" + +#: ceilometer/storage/hbase/base.py:45 +msgid "Creating a new in-memory HBase Connection object" +msgstr "正在创建一个新的内存HBase连接对象。" + +#: ceilometer/storage/hbase/base.py:62 +#, python-format +msgid "connecting to HBase on %(host)s:%(port)s" +msgstr "正在连接%(host)s:%(port)s的HBase" + +#: ceilometer/storage/hbase/inmemory.py:268 +msgid "Opening in-memory HBase connection" +msgstr "正在打开内存HBase连接。" + +#: ceilometer/storage/hbase/utils.py:474 +#, python-format +msgid "Cannot create table %(table_name)s it already exists. Ignoring error" +msgstr "表%(table_name)s已经存在,无法创建。忽略此错误继续执行。" + +#: ceilometer/storage/mongo/utils.py:246 +#, python-format +msgid "Connecting to %(db)s on %(nodelist)s" +msgstr "连接到%(nodelist)s节点的数据库%(db)s。" + +#: ceilometer/storage/mongo/utils.py:264 +#, python-format +msgid "Unable to connect to the database server: %(errmsg)s." +msgstr "无法连接到数据库服务器:%(errmsg)s。" + +#: ceilometer/storage/mongo/utils.py:401 +#, python-format +msgid "" +"Unable to reconnect to the primary mongodb after %(retries)d retries. " +"Giving up." +msgstr "在%(retries)d次尝试后仍无法重连到MongoDB主节点。放弃重连。" + +#: ceilometer/storage/mongo/utils.py:405 +#, python-format +msgid "" +"Unable to reconnect to the primary mongodb: %(errmsg)s. Trying again in " +"%(retry_interval)d seconds." +msgstr "无法重连到MongoDB主节点:%(errmsg)s。在%(retry_interval)d秒后进行重试。" + +#: ceilometer/transformer/arithmetic.py:55 +#, python-format +msgid "Arithmetic transformer must use at least one meter in expression '%s'" +msgstr "算术变形器在表达式'%s'中必须至少使用一个指标" + +#: ceilometer/transformer/arithmetic.py:77 +msgid "Expression evaluated to a NaN value!" +msgstr "表达式计算结果为NaN!" + +#: ceilometer/transformer/arithmetic.py:93 +#, python-format +msgid "Unable to evaluate expression %(expr)s: %(exc)s" +msgstr "无法计算表达式%(expr)s:%(exc)s" + +#: ceilometer/transformer/arithmetic.py:107 +#, python-format +msgid "Unable to perform calculation, not all of {%s} are present" +msgstr "并不是所有的{%s}都能获取到因而无法进行计算" + +#: ceilometer/transformer/conversions.py:46 +#, python-format +msgid "scaling conversion transformer with source: %(source)s target: %(target)s:" +msgstr "扩缩变形器作用于来源:%(source)s,目标:%(target)s" + +#: ceilometer/transformer/conversions.py:92 +#: ceilometer/transformer/conversions.py:114 +#, python-format +msgid "handling sample %s" +msgstr "正在处理数据%s" + +#: ceilometer/transformer/conversions.py:95 +#: ceilometer/transformer/conversions.py:135 +#, python-format +msgid "converted to: %s" +msgstr "转换为: %s" + +#: ceilometer/transformer/conversions.py:137 +#, python-format +msgid "dropping sample with no predecessor: %s" +msgstr "因为之前没有数据(用来计算差值)因而丢弃数据:%s" +