i18n - Make string translatable

Since internationalization should be enabled in Watcher, this
patchset refactors the Watcher codebase to wrap previously
untranslatable strings with i18n translation functions so we can
import them for translation into the .pot template file.

Partially Implements: blueprint support-translation
Change-Id: I425967a60b5a7957f753894e5d2ba0d2c5009d1d
This commit is contained in:
Vincent Françoise
2015-12-14 17:27:55 +01:00
parent 3dd02ee895
commit ac07f35dc7
18 changed files with 743 additions and 541 deletions

View File

@@ -1,285 +0,0 @@
# French translations for python-watcher.
# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the python-watcher
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: python-watcher 0.21.1.dev32\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-12-11 15:29+0100\n"
"PO-Revision-Date: 2015-12-11 15:42+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fr\n"
"Language-Team: fr <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.1.1\n"
#: watcher/api/controllers/v1/types.py:148
#, python-format
msgid "%s is not JSON serializable"
msgstr ""
#: watcher/api/controllers/v1/types.py:184
#, python-format
msgid "Wrong type. Expected '%(type)s', got '%(value)s'"
msgstr ""
#: watcher/api/controllers/v1/types.py:222
#, python-format
msgid "'%s' is an internal attribute and can not be updated"
msgstr ""
#: watcher/api/controllers/v1/types.py:226
#, python-format
msgid "'%s' is a mandatory attribute and can not be removed"
msgstr ""
#: watcher/api/controllers/v1/types.py:231
msgid "'add' and 'replace' operations needs value"
msgstr ""
#: watcher/api/controllers/v1/utils.py:32
msgid "Limit must be positive"
msgstr ""
#: watcher/api/controllers/v1/utils.py:39
#, python-format
msgid "Invalid sort direction: %s. Acceptable values are 'asc' or 'desc'"
msgstr ""
#: watcher/api/controllers/v1/utils.py:49
#, python-format
msgid "Adding a new attribute (%s) to the root of the resource is not allowed"
msgstr ""
#: watcher/api/middleware/auth_token.py:43
#, python-format
msgid "Cannot compile public API routes: %s"
msgstr ""
#: watcher/api/middleware/parsable_error.py:53
#, python-format
msgid "ErrorDocumentMiddleware received an invalid status %s"
msgstr ""
#: watcher/cmd/api.py:45
#, python-format
msgid "Starting server in PID %s"
msgstr ""
#: watcher/cmd/api.py:50
#, python-format
msgid "serving on 0.0.0.0:%(port)s, view at http://127.0.0.1:%(port)s"
msgstr ""
#: watcher/cmd/api.py:54
#, python-format
msgid "serving on http://%(host)s:%(port)s"
msgstr ""
#: watcher/common/exception.py:58
msgid "An unknown exception occurred."
msgstr ""
#: watcher/common/exception.py:109
msgid "Not authorized."
msgstr ""
#: watcher/common/exception.py:114
msgid "Operation not permitted."
msgstr ""
#: watcher/common/exception.py:118
msgid "Unacceptable parameters."
msgstr ""
#: watcher/common/exception.py:123
#, python-format
msgid "The %(name)s %(id)s could not be found."
msgstr ""
#: watcher/common/exception.py:127
msgid "Conflict."
msgstr ""
#: watcher/common/exception.py:132
#, python-format
msgid "The %(name)s resource %(id)s could not be found."
msgstr ""
#: watcher/common/exception.py:137
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgstr ""
#: watcher/common/exception.py:141
#, python-format
msgid "Goal %(goal)s is not defined in Watcher configuration file."
msgstr ""
#: watcher/common/exception.py:147
#, python-format
msgid "%(err)s"
msgstr ""
#: watcher/common/exception.py:151
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgstr ""
#: watcher/common/exception.py:155
#, python-format
msgid "Expected a logical name but received %(name)s."
msgstr ""
#: watcher/common/exception.py:159
#, python-format
msgid "Expected a logical name or uuid but received %(name)s."
msgstr ""
#: watcher/common/exception.py:163
#, python-format
msgid "AuditTemplate %(audit_template)s could not be found."
msgstr ""
#: watcher/common/exception.py:167
#, python-format
msgid "An audit_template with UUID %(uuid)s or name %(name)s already exists."
msgstr ""
#: watcher/common/exception.py:172
#, python-format
msgid "AuditTemplate %(audit_template)s is referenced by one or multiple audit."
msgstr ""
#: watcher/common/exception.py:177
#, python-format
msgid "Audit %(audit)s could not be found."
msgstr ""
#: watcher/common/exception.py:181
#, python-format
msgid "An audit with UUID %(uuid)s already exists."
msgstr ""
#: watcher/common/exception.py:185
#, python-format
msgid "Audit %(audit)s is referenced by one or multiple action plans."
msgstr ""
#: watcher/common/exception.py:190
msgid "ActionPlan %(action plan)s could not be found."
msgstr ""
#: watcher/common/exception.py:194
#, python-format
msgid "An action plan with UUID %(uuid)s already exists."
msgstr ""
#: watcher/common/exception.py:198
#, python-format
msgid "Action Plan %(action_plan)s is referenced by one or multiple actions."
msgstr ""
#: watcher/common/exception.py:203
#, python-format
msgid "Action %(action)s could not be found."
msgstr ""
#: watcher/common/exception.py:207
#, python-format
msgid "An action with UUID %(uuid)s already exists."
msgstr ""
#: watcher/common/exception.py:211
#, python-format
msgid "Action plan %(action_plan)s is referenced by one or multiple goals."
msgstr ""
#: watcher/common/exception.py:216
msgid "Filtering actions on both audit and action-plan is prohibited."
msgstr ""
#: watcher/common/exception.py:225
#, python-format
msgid "Couldn't apply patch '%(patch)s'. Reason: %(reason)s"
msgstr ""
#: watcher/common/exception.py:286
msgid "'Keystone API endpoint is missing''"
msgstr ""
#: watcher/common/exception.py:290
msgid "The list of hypervisor(s) in the cluster is empty.'"
msgstr ""
#: watcher/common/exception.py:294
msgid "The metrics resource collector is not defined.'"
msgstr ""
#: watcher/common/exception.py:298
msgid "the cluster state is not defined"
msgstr ""
#: watcher/common/exception.py:304
msgid "The VM could not be found."
msgstr ""
#: watcher/common/exception.py:308
msgid "The hypervisor could not be found."
msgstr ""
#: watcher/common/exception.py:312
msgid "The Meta-Action could not be found."
msgstr ""
#: watcher/db/sqlalchemy/api.py:278
msgid "Cannot overwrite UUID for an existing AuditTemplate."
msgstr ""
#: watcher/db/sqlalchemy/api.py:387 watcher/db/sqlalchemy/api.py:587
msgid "Cannot overwrite UUID for an existing Audit."
msgstr ""
#: watcher/db/sqlalchemy/api.py:478
msgid "Cannot overwrite UUID for an existing Action."
msgstr ""
#: watcher/objects/base.py:108
msgid "Invalid version string"
msgstr ""
#: watcher/objects/base.py:299
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
#: watcher/objects/base.py:308
msgid "Cannot save anything in the base class"
msgstr ""
#: watcher/objects/base.py:340
#, python-format
msgid "%(objname)s object has no attribute '%(attrname)s'"
msgstr ""
#: watcher/objects/base.py:389
#, python-format
msgid "'%(objclass)s' object has no attribute '%(attrname)s'"
msgstr ""
#: watcher/objects/utils.py:40
msgid "A datetime.datetime is required here"
msgstr ""
#: watcher/objects/utils.py:105
#, python-format
msgid "An object of class %s is required here"
msgstr ""

View File

@@ -0,0 +1,436 @@
# French translations for python-watcher.
# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the python-watcher
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: python-watcher 0.21.1.dev32\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-12-18 15:33+0100\n"
"PO-Revision-Date: 2015-12-11 15:42+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fr\n"
"Language-Team: fr <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.1.1\n"
#: watcher/api/controllers/v1/types.py:148
#, python-format
msgid "%s is not JSON serializable"
msgstr ""
#: watcher/api/controllers/v1/types.py:184
#, python-format
msgid "Wrong type. Expected '%(type)s', got '%(value)s'"
msgstr ""
#: watcher/api/controllers/v1/types.py:223
#, python-format
msgid "'%s' is an internal attribute and can not be updated"
msgstr ""
#: watcher/api/controllers/v1/types.py:227
#, python-format
msgid "'%s' is a mandatory attribute and can not be removed"
msgstr "'%s' est un attribut obligatoire et ne peut pas être enlevé"
#: watcher/api/controllers/v1/types.py:232
msgid "'add' and 'replace' operations needs value"
msgstr "Les opérations 'add' et 'replace' recquièrent une valeur"
#: watcher/api/controllers/v1/utils.py:36
msgid "Limit must be positive"
msgstr "Limit doit être positif"
#: watcher/api/controllers/v1/utils.py:47
#, python-format
msgid "Invalid sort direction: %s. Acceptable values are 'asc' or 'desc'"
msgstr ""
#: watcher/api/controllers/v1/utils.py:57
#, python-format
msgid "Adding a new attribute (%s) to the root of the resource is not allowed"
msgstr ""
#: watcher/api/middleware/auth_token.py:45
msgid "Cannot compile public API routes"
msgstr ""
#: watcher/api/middleware/parsable_error.py:52
#, python-format
msgid "ErrorDocumentMiddleware received an invalid status %s"
msgstr ""
#: watcher/applier/primitives/change_nova_service_state.py:74
msgid "The target state is not defined"
msgstr ""
#: watcher/cmd/api.py:46
#, python-format
msgid "Starting server in PID %s"
msgstr "Démarre le serveur avec pour PID %s"
#: watcher/cmd/api.py:51
#, python-format
msgid "serving on 0.0.0.0:%(port)s, view at http://127.0.0.1:%(port)s"
msgstr "Sert sur 0.0.0.0:%(port)s, accessible à http://127.0.0.1:%(port)s"
#: watcher/cmd/api.py:55
#, python-format
msgid "serving on http://%(host)s:%(port)s"
msgstr "Sert sur http://%(host)s:%(port)s"
#: watcher/common/exception.py:56
msgid "An unknown exception occurred"
msgstr ""
#: watcher/common/exception.py:107
msgid "Not authorized"
msgstr ""
#: watcher/common/exception.py:112
msgid "Operation not permitted"
msgstr ""
#: watcher/common/exception.py:116
msgid "Unacceptable parameters"
msgstr ""
#: watcher/common/exception.py:121
#, python-format
msgid "The %(name)s %(id)s could not be found"
msgstr ""
#: watcher/common/exception.py:125
#, fuzzy
msgid "Conflict"
msgstr "Conflit."
#: watcher/common/exception.py:130
#, python-format
msgid "The %(name)s resource %(id)s could not be found"
msgstr ""
#: watcher/common/exception.py:135
#, python-format
msgid "Expected an uuid or int but received %(identity)s"
msgstr ""
#: watcher/common/exception.py:139
#, python-format
msgid "Goal %(goal)s is not defined in Watcher configuration file"
msgstr ""
#: watcher/common/exception.py:145
#, python-format
msgid "%(err)s"
msgstr ""
#: watcher/common/exception.py:149
#, python-format
msgid "Expected a uuid but received %(uuid)s"
msgstr ""
#: watcher/common/exception.py:153
#, python-format
msgid "Expected a logical name but received %(name)s"
msgstr ""
#: watcher/common/exception.py:157
#, python-format
msgid "Expected a logical name or uuid but received %(name)s"
msgstr ""
#: watcher/common/exception.py:161
#, python-format
msgid "AuditTemplate %(audit_template)s could not be found"
msgstr ""
#: watcher/common/exception.py:165
#, python-format
msgid "An audit_template with UUID %(uuid)s or name %(name)s already exists"
msgstr ""
#: watcher/common/exception.py:170
#, python-format
msgid "AuditTemplate %(audit_template)s is referenced by one or multiple audit"
msgstr ""
#: watcher/common/exception.py:175
#, python-format
msgid "Audit %(audit)s could not be found"
msgstr ""
#: watcher/common/exception.py:179
#, python-format
msgid "An audit with UUID %(uuid)s already exists"
msgstr ""
#: watcher/common/exception.py:183
#, python-format
msgid "Audit %(audit)s is referenced by one or multiple action plans"
msgstr ""
#: watcher/common/exception.py:188
msgid "ActionPlan %(action plan)s could not be found"
msgstr ""
#: watcher/common/exception.py:192
#, python-format
msgid "An action plan with UUID %(uuid)s already exists"
msgstr ""
#: watcher/common/exception.py:196
#, python-format
msgid "Action Plan %(action_plan)s is referenced by one or multiple actions"
msgstr ""
#: watcher/common/exception.py:201
#, python-format
msgid "Action %(action)s could not be found"
msgstr ""
#: watcher/common/exception.py:205
#, python-format
msgid "An action with UUID %(uuid)s already exists"
msgstr ""
#: watcher/common/exception.py:209
#, python-format
msgid "Action plan %(action_plan)s is referenced by one or multiple goals"
msgstr ""
#: watcher/common/exception.py:214
msgid "Filtering actions on both audit and action-plan is prohibited"
msgstr ""
#: watcher/common/exception.py:223
#, python-format
msgid "Couldn't apply patch '%(patch)s'. Reason: %(reason)s"
msgstr ""
#: watcher/common/exception.py:233
msgid "Description must be an instance of str"
msgstr ""
#: watcher/common/exception.py:243
msgid "An exception occurred without a description"
msgstr ""
#: watcher/common/exception.py:251
msgid "Description cannot be empty"
msgstr ""
#: watcher/common/exception.py:260
msgid "No such metric"
msgstr ""
#: watcher/common/exception.py:269
msgid "No rows were returned"
msgstr ""
#: watcher/common/exception.py:277
msgid "'Keystone API endpoint is missing''"
msgstr ""
#: watcher/common/exception.py:281
msgid "The list of hypervisor(s) in the cluster is empty"
msgstr ""
#: watcher/common/exception.py:285
msgid "The metrics resource collector is not defined"
msgstr ""
#: watcher/common/exception.py:289
msgid "the cluster state is not defined"
msgstr ""
#: watcher/common/exception.py:295
msgid "The VM could not be found"
msgstr ""
#: watcher/common/exception.py:299
msgid "The hypervisor could not be found"
msgstr ""
#: watcher/common/exception.py:303
msgid "The Meta-Action could not be found"
msgstr ""
#: watcher/common/keystone.py:59
msgid "No Keystone service catalog loaded"
msgstr ""
#: watcher/db/sqlalchemy/api.py:256
msgid ""
"Multiple audit templates exist with the same name. Please use the audit "
"template uuid instead"
msgstr ""
#: watcher/db/sqlalchemy/api.py:277
msgid "Cannot overwrite UUID for an existing AuditTemplate."
msgstr ""
#: watcher/db/sqlalchemy/api.py:386 watcher/db/sqlalchemy/api.py:586
msgid "Cannot overwrite UUID for an existing Audit."
msgstr ""
#: watcher/db/sqlalchemy/api.py:477
msgid "Cannot overwrite UUID for an existing Action."
msgstr ""
#: watcher/db/sqlalchemy/migration.py:73
msgid ""
"Watcher database schema is already under version control; use upgrade() "
"instead"
msgstr ""
#: watcher/decision_engine/model/model_root.py:37
#: watcher/decision_engine/model/model_root.py:42
msgid "'obj' argument type is not valid"
msgstr ""
#: watcher/decision_engine/strategy/selection/default.py:56
#, python-format
msgid "Incorrect mapping: could not find associated strategy for '%s'"
msgstr ""
#: watcher/objects/base.py:108
msgid "Invalid version string"
msgstr ""
#: watcher/objects/base.py:299
#, python-format
msgid "Cannot load '%(attrname)s' in the base class"
msgstr ""
#: watcher/objects/base.py:308
msgid "Cannot save anything in the base class"
msgstr ""
#: watcher/objects/base.py:340
#, python-format
msgid "%(objname)s object has no attribute '%(attrname)s'"
msgstr ""
#: watcher/objects/base.py:390
#, python-format
msgid "'%(objclass)s' object has no attribute '%(attrname)s'"
msgstr ""
#: watcher/objects/utils.py:40
msgid "A datetime.datetime is required here"
msgstr ""
#: watcher/objects/utils.py:105
#, python-format
msgid "An object of class %s is required here"
msgstr ""
#~ msgid "Cannot compile public API routes: %s"
#~ msgstr ""
#~ msgid "An exception occurred without a description."
#~ msgstr ""
#~ msgid "no rows were returned"
#~ msgstr ""
#~ msgid ""
#~ msgstr ""
#~ msgid "An unknown exception occurred."
#~ msgstr ""
#~ msgid "Not authorized."
#~ msgstr ""
#~ msgid "Operation not permitted."
#~ msgstr ""
#~ msgid "Unacceptable parameters."
#~ msgstr ""
#~ msgid "The %(name)s %(id)s could not be found."
#~ msgstr ""
#~ msgid "The %(name)s resource %(id)s could not be found."
#~ msgstr ""
#~ msgid "Expected an uuid or int but received %(identity)s."
#~ msgstr ""
#~ msgid "Goal %(goal)s is not defined in Watcher configuration file."
#~ msgstr ""
#~ msgid "Expected a uuid but received %(uuid)s."
#~ msgstr ""
#~ msgid "Expected a logical name but received %(name)s."
#~ msgstr ""
#~ msgid "Expected a logical name or uuid but received %(name)s."
#~ msgstr ""
#~ msgid "AuditTemplate %(audit_template)s could not be found."
#~ msgstr ""
#~ msgid "An audit_template with UUID %(uuid)s or name %(name)s already exists."
#~ msgstr ""
#~ msgid "Audit %(audit)s could not be found."
#~ msgstr ""
#~ msgid "An audit with UUID %(uuid)s already exists."
#~ msgstr ""
#~ msgid "Audit %(audit)s is referenced by one or multiple action plans."
#~ msgstr ""
#~ msgid "ActionPlan %(action plan)s could not be found."
#~ msgstr ""
#~ msgid "An action plan with UUID %(uuid)s already exists."
#~ msgstr ""
#~ msgid "Action Plan %(action_plan)s is referenced by one or multiple actions."
#~ msgstr ""
#~ msgid "Action %(action)s could not be found."
#~ msgstr ""
#~ msgid "An action with UUID %(uuid)s already exists."
#~ msgstr ""
#~ msgid "Action plan %(action_plan)s is referenced by one or multiple goals."
#~ msgstr ""
#~ msgid "Filtering actions on both audit and action-plan is prohibited."
#~ msgstr ""
#~ msgid "The list of hypervisor(s) in the cluster is empty.'"
#~ msgstr ""
#~ msgid "The metrics resource collector is not defined.'"
#~ msgstr ""
#~ msgid "The VM could not be found."
#~ msgstr ""
#~ msgid "The hypervisor could not be found."
#~ msgstr ""
#~ msgid "The Meta-Action could not be found."
#~ msgstr ""
#~ msgid "'hypervisor' argument type is not valid"
#~ msgstr ""
#~ msgid "'vm' argument type is not valid"
#~ msgstr ""

View File

@@ -7,9 +7,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: python-watcher 0.21.1.dev32\n"
"Project-Id-Version: python-watcher 0.21.1.dev62\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2015-12-11 15:29+0100\n"
"POT-Creation-Date: 2015-12-18 15:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -28,227 +28,276 @@ msgstr ""
msgid "Wrong type. Expected '%(type)s', got '%(value)s'"
msgstr ""
#: watcher/api/controllers/v1/types.py:222
#: watcher/api/controllers/v1/types.py:223
#, python-format
msgid "'%s' is an internal attribute and can not be updated"
msgstr ""
#: watcher/api/controllers/v1/types.py:226
#: watcher/api/controllers/v1/types.py:227
#, python-format
msgid "'%s' is a mandatory attribute and can not be removed"
msgstr ""
#: watcher/api/controllers/v1/types.py:231
#: watcher/api/controllers/v1/types.py:232
msgid "'add' and 'replace' operations needs value"
msgstr ""
#: watcher/api/controllers/v1/utils.py:32
#: watcher/api/controllers/v1/utils.py:36
msgid "Limit must be positive"
msgstr ""
#: watcher/api/controllers/v1/utils.py:39
#: watcher/api/controllers/v1/utils.py:47
#, python-format
msgid "Invalid sort direction: %s. Acceptable values are 'asc' or 'desc'"
msgstr ""
#: watcher/api/controllers/v1/utils.py:49
#: watcher/api/controllers/v1/utils.py:57
#, python-format
msgid "Adding a new attribute (%s) to the root of the resource is not allowed"
msgstr ""
#: watcher/api/middleware/auth_token.py:43
#, python-format
msgid "Cannot compile public API routes: %s"
#: watcher/api/middleware/auth_token.py:45
msgid "Cannot compile public API routes"
msgstr ""
#: watcher/api/middleware/parsable_error.py:53
#: watcher/api/middleware/parsable_error.py:52
#, python-format
msgid "ErrorDocumentMiddleware received an invalid status %s"
msgstr ""
#: watcher/cmd/api.py:45
#: watcher/applier/primitives/change_nova_service_state.py:74
msgid "The target state is not defined"
msgstr ""
#: watcher/cmd/api.py:46
#, python-format
msgid "Starting server in PID %s"
msgstr ""
#: watcher/cmd/api.py:50
#: watcher/cmd/api.py:51
#, python-format
msgid "serving on 0.0.0.0:%(port)s, view at http://127.0.0.1:%(port)s"
msgstr ""
#: watcher/cmd/api.py:54
#: watcher/cmd/api.py:55
#, python-format
msgid "serving on http://%(host)s:%(port)s"
msgstr ""
#: watcher/common/exception.py:58
msgid "An unknown exception occurred."
#: watcher/common/exception.py:56
msgid "An unknown exception occurred"
msgstr ""
#: watcher/common/exception.py:109
msgid "Not authorized."
#: watcher/common/exception.py:107
msgid "Not authorized"
msgstr ""
#: watcher/common/exception.py:114
msgid "Operation not permitted."
#: watcher/common/exception.py:112
msgid "Operation not permitted"
msgstr ""
#: watcher/common/exception.py:118
msgid "Unacceptable parameters."
#: watcher/common/exception.py:116
msgid "Unacceptable parameters"
msgstr ""
#: watcher/common/exception.py:123
#: watcher/common/exception.py:121
#, python-format
msgid "The %(name)s %(id)s could not be found."
msgid "The %(name)s %(id)s could not be found"
msgstr ""
#: watcher/common/exception.py:127
msgid "Conflict."
#: watcher/common/exception.py:125
msgid "Conflict"
msgstr ""
#: watcher/common/exception.py:132
#: watcher/common/exception.py:130
#, python-format
msgid "The %(name)s resource %(id)s could not be found."
msgid "The %(name)s resource %(id)s could not be found"
msgstr ""
#: watcher/common/exception.py:137
#: watcher/common/exception.py:135
#, python-format
msgid "Expected an uuid or int but received %(identity)s."
msgid "Expected an uuid or int but received %(identity)s"
msgstr ""
#: watcher/common/exception.py:141
#: watcher/common/exception.py:139
#, python-format
msgid "Goal %(goal)s is not defined in Watcher configuration file."
msgid "Goal %(goal)s is not defined in Watcher configuration file"
msgstr ""
#: watcher/common/exception.py:147
#: watcher/common/exception.py:145
#, python-format
msgid "%(err)s"
msgstr ""
#: watcher/common/exception.py:151
#: watcher/common/exception.py:149
#, python-format
msgid "Expected a uuid but received %(uuid)s."
msgid "Expected a uuid but received %(uuid)s"
msgstr ""
#: watcher/common/exception.py:155
#: watcher/common/exception.py:153
#, python-format
msgid "Expected a logical name but received %(name)s."
msgid "Expected a logical name but received %(name)s"
msgstr ""
#: watcher/common/exception.py:159
#: watcher/common/exception.py:157
#, python-format
msgid "Expected a logical name or uuid but received %(name)s."
msgid "Expected a logical name or uuid but received %(name)s"
msgstr ""
#: watcher/common/exception.py:163
#: watcher/common/exception.py:161
#, python-format
msgid "AuditTemplate %(audit_template)s could not be found."
msgid "AuditTemplate %(audit_template)s could not be found"
msgstr ""
#: watcher/common/exception.py:167
#: watcher/common/exception.py:165
#, python-format
msgid "An audit_template with UUID %(uuid)s or name %(name)s already exists."
msgid "An audit_template with UUID %(uuid)s or name %(name)s already exists"
msgstr ""
#: watcher/common/exception.py:172
#: watcher/common/exception.py:170
#, python-format
msgid "AuditTemplate %(audit_template)s is referenced by one or multiple audit."
msgid "AuditTemplate %(audit_template)s is referenced by one or multiple audit"
msgstr ""
#: watcher/common/exception.py:177
#: watcher/common/exception.py:175
#, python-format
msgid "Audit %(audit)s could not be found."
msgid "Audit %(audit)s could not be found"
msgstr ""
#: watcher/common/exception.py:181
#: watcher/common/exception.py:179
#, python-format
msgid "An audit with UUID %(uuid)s already exists."
msgid "An audit with UUID %(uuid)s already exists"
msgstr ""
#: watcher/common/exception.py:185
#: watcher/common/exception.py:183
#, python-format
msgid "Audit %(audit)s is referenced by one or multiple action plans."
msgid "Audit %(audit)s is referenced by one or multiple action plans"
msgstr ""
#: watcher/common/exception.py:190
msgid "ActionPlan %(action plan)s could not be found."
#: watcher/common/exception.py:188
msgid "ActionPlan %(action plan)s could not be found"
msgstr ""
#: watcher/common/exception.py:194
#: watcher/common/exception.py:192
#, python-format
msgid "An action plan with UUID %(uuid)s already exists."
msgid "An action plan with UUID %(uuid)s already exists"
msgstr ""
#: watcher/common/exception.py:198
#: watcher/common/exception.py:196
#, python-format
msgid "Action Plan %(action_plan)s is referenced by one or multiple actions."
msgid "Action Plan %(action_plan)s is referenced by one or multiple actions"
msgstr ""
#: watcher/common/exception.py:203
#: watcher/common/exception.py:201
#, python-format
msgid "Action %(action)s could not be found."
msgid "Action %(action)s could not be found"
msgstr ""
#: watcher/common/exception.py:207
#: watcher/common/exception.py:205
#, python-format
msgid "An action with UUID %(uuid)s already exists."
msgid "An action with UUID %(uuid)s already exists"
msgstr ""
#: watcher/common/exception.py:211
#: watcher/common/exception.py:209
#, python-format
msgid "Action plan %(action_plan)s is referenced by one or multiple goals."
msgid "Action plan %(action_plan)s is referenced by one or multiple goals"
msgstr ""
#: watcher/common/exception.py:216
msgid "Filtering actions on both audit and action-plan is prohibited."
#: watcher/common/exception.py:214
msgid "Filtering actions on both audit and action-plan is prohibited"
msgstr ""
#: watcher/common/exception.py:225
#: watcher/common/exception.py:223
#, python-format
msgid "Couldn't apply patch '%(patch)s'. Reason: %(reason)s"
msgstr ""
#: watcher/common/exception.py:286
#: watcher/common/exception.py:233
msgid "Description must be an instance of str"
msgstr ""
#: watcher/common/exception.py:243
msgid "An exception occurred without a description"
msgstr ""
#: watcher/common/exception.py:251
msgid "Description cannot be empty"
msgstr ""
#: watcher/common/exception.py:260
msgid "No such metric"
msgstr ""
#: watcher/common/exception.py:269
msgid "No rows were returned"
msgstr ""
#: watcher/common/exception.py:277
msgid "'Keystone API endpoint is missing''"
msgstr ""
#: watcher/common/exception.py:290
msgid "The list of hypervisor(s) in the cluster is empty.'"
#: watcher/common/exception.py:281
msgid "The list of hypervisor(s) in the cluster is empty"
msgstr ""
#: watcher/common/exception.py:294
msgid "The metrics resource collector is not defined.'"
#: watcher/common/exception.py:285
msgid "The metrics resource collector is not defined"
msgstr ""
#: watcher/common/exception.py:298
#: watcher/common/exception.py:289
msgid "the cluster state is not defined"
msgstr ""
#: watcher/common/exception.py:304
msgid "The VM could not be found."
#: watcher/common/exception.py:295
msgid "The VM could not be found"
msgstr ""
#: watcher/common/exception.py:308
msgid "The hypervisor could not be found."
#: watcher/common/exception.py:299
msgid "The hypervisor could not be found"
msgstr ""
#: watcher/common/exception.py:312
msgid "The Meta-Action could not be found."
#: watcher/common/exception.py:303
msgid "The Meta-Action could not be found"
msgstr ""
#: watcher/db/sqlalchemy/api.py:278
#: watcher/common/keystone.py:59
msgid "No Keystone service catalog loaded"
msgstr ""
#: watcher/db/sqlalchemy/api.py:256
msgid ""
"Multiple audit templates exist with the same name. Please use the audit "
"template uuid instead"
msgstr ""
#: watcher/db/sqlalchemy/api.py:277
msgid "Cannot overwrite UUID for an existing AuditTemplate."
msgstr ""
#: watcher/db/sqlalchemy/api.py:387 watcher/db/sqlalchemy/api.py:587
#: watcher/db/sqlalchemy/api.py:386 watcher/db/sqlalchemy/api.py:586
msgid "Cannot overwrite UUID for an existing Audit."
msgstr ""
#: watcher/db/sqlalchemy/api.py:478
#: watcher/db/sqlalchemy/api.py:477
msgid "Cannot overwrite UUID for an existing Action."
msgstr ""
#: watcher/db/sqlalchemy/migration.py:73
msgid ""
"Watcher database schema is already under version control; use upgrade() "
"instead"
msgstr ""
#: watcher/decision_engine/model/model_root.py:37
#: watcher/decision_engine/model/model_root.py:42
msgid "'obj' argument type is not valid"
msgstr ""
#: watcher/decision_engine/strategy/selection/default.py:56
#, python-format
msgid "Incorrect mapping: could not find associated strategy for '%s'"
msgstr ""
#: watcher/objects/base.py:108
msgid "Invalid version string"
msgstr ""
@@ -267,7 +316,7 @@ msgstr ""
msgid "%(objname)s object has no attribute '%(attrname)s'"
msgstr ""
#: watcher/objects/base.py:389
#: watcher/objects/base.py:390
#, python-format
msgid "'%(objclass)s' object has no attribute '%(attrname)s'"
msgstr ""