summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/source/_templates/.placeholder0
-rw-r--r--doc/source/_theme/layout.html83
-rw-r--r--doc/source/_theme/theme.conf4
-rw-r--r--doc/source/architecture.rst2
-rw-r--r--doc/source/conf.py20
-rw-r--r--keystone/common/environment/__init__.py3
-rw-r--r--keystone/common/sql/migrate_repo/versions/020_migrate_metadata_table_roles.py4
-rw-r--r--keystone/common/wsgi.py3
-rw-r--r--keystone/contrib/ec2/core.py4
-rw-r--r--keystone/locale/bg_BG/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/bs/LC_MESSAGES/keystone.po848
-rw-r--r--keystone/locale/ca/LC_MESSAGES/keystone.po368
-rw-r--r--keystone/locale/cs/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/da/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/de/LC_MESSAGES/keystone.po380
-rw-r--r--keystone/locale/en_AU/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/en_GB/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/en_US/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/es/LC_MESSAGES/keystone.po381
-rw-r--r--keystone/locale/fi_FI/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/fr/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/hr/LC_MESSAGES/keystone.po848
-rw-r--r--keystone/locale/hu/LC_MESSAGES/keystone.po368
-rw-r--r--keystone/locale/id/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/it/LC_MESSAGES/keystone.po381
-rw-r--r--keystone/locale/it_IT/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/ja/LC_MESSAGES/keystone.po368
-rw-r--r--keystone/locale/ka_GE/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/keystone.pot359
-rw-r--r--keystone/locale/ko/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/ko_KR/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/ms/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/nb/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/nl_NL/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/pl_PL/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/pt/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/pt_BR/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/ro/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/ru/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/ru_RU/LC_MESSAGES/keystone.po848
-rw-r--r--keystone/locale/sl_SI/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/sw_KE/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/tl/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/tr_TR/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/uk/LC_MESSAGES/keystone.po848
-rw-r--r--keystone/locale/vi_VN/LC_MESSAGES/keystone.po366
-rw-r--r--keystone/locale/zh_CN/LC_MESSAGES/keystone.po378
-rw-r--r--keystone/locale/zh_HK/LC_MESSAGES/keystone.po847
-rw-r--r--keystone/locale/zh_TW/LC_MESSAGES/keystone.po378
-rw-r--r--keystone/middleware/s3_token.py56
-rw-r--r--keystone/test.py7
-rw-r--r--keystone/token/controllers.py10
-rw-r--r--keystone/token/providers/uuid.py4
-rw-r--r--test-requirements.txt5
-rw-r--r--tests/test_backend.py32
-rw-r--r--tests/test_keystoneclient.py2
-rw-r--r--tests/test_s3_token_middleware.py58
-rw-r--r--tests/test_sql_upgrade.py24
-rw-r--r--tests/test_token_provider.py1
-rw-r--r--tests/test_v3.py3
-rw-r--r--tests/test_v3_identity.py12
61 files changed, 22311 insertions, 1395 deletions
diff --git a/doc/source/_templates/.placeholder b/doc/source/_templates/.placeholder
deleted file mode 100644
index e69de29b..00000000
--- a/doc/source/_templates/.placeholder
+++ /dev/null
diff --git a/doc/source/_theme/layout.html b/doc/source/_theme/layout.html
deleted file mode 100644
index 750b7822..00000000
--- a/doc/source/_theme/layout.html
+++ /dev/null
@@ -1,83 +0,0 @@
-{% extends "basic/layout.html" %}
-{% set css_files = css_files + ['_static/tweaks.css'] %}
-{% set script_files = script_files + ['_static/jquery.tweet.js'] %}
-
-{%- macro sidebar() %}
- {%- if not embedded %}{% if not theme_nosidebar|tobool %}
- <div class="sphinxsidebar">
- <div class="sphinxsidebarwrapper">
- {%- block sidebarlogo %}
- {%- if logo %}
- <p class="logo"><a href="{{ pathto(master_doc) }}">
- <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
- </a></p>
- {%- endif %}
- {%- endblock %}
- {%- block sidebartoc %}
- {%- if display_toc %}
- <h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
- {{ toc }}
- {%- endif %}
- {%- endblock %}
- {%- block sidebarrel %}
- {%- if prev %}
- <h4>{{ _('Previous topic') }}</h4>
- <p class="topless"><a href="{{ prev.link|e }}"
- title="{{ _('previous chapter') }}">{{ prev.title }}</a></p>
- {%- endif %}
- {%- if next %}
- <h4>{{ _('Next topic') }}</h4>
- <p class="topless"><a href="{{ next.link|e }}"
- title="{{ _('next chapter') }}">{{ next.title }}</a></p>
- {%- endif %}
- {%- endblock %}
- {%- block sidebarsourcelink %}
- {%- if show_source and has_source and sourcename %}
- <h3>{{ _('This Page') }}</h3>
- <ul class="this-page-menu">
- <li><a href="{{ pathto('_sources/' + sourcename, true)|e }}"
- rel="nofollow">{{ _('Show Source') }}</a></li>
- </ul>
- {%- endif %}
- {%- endblock %}
- {%- if customsidebar %}
- {% include customsidebar %}
- {%- endif %}
- {%- block sidebarsearch %}
- {%- if pagename != "search" %}
- <div id="searchbox" style="display: none">
- <h3>{{ _('Quick search') }}</h3>
- <form class="search" action="{{ pathto('search') }}" method="get">
- <input type="text" name="q" size="18" />
- <input type="submit" value="{{ _('Go') }}" />
- <input type="hidden" name="check_keywords" value="yes" />
- <input type="hidden" name="area" value="default" />
- </form>
- <p class="searchtip" style="font-size: 90%">
- {{ _('Enter search terms or a module, class or function name.') }}
- </p>
- </div>
- <script type="text/javascript">$('#searchbox').show(0);</script>
- {%- endif %}
- {%- endblock %}
- </div>
- </div>
- {%- endif %}{% endif %}
-{%- endmacro %}
-
-{% block relbar1 %}{% endblock relbar1 %}
-
-{% block header %}
- <div id="header">
- <h1 id="logo"><a href="http://www.openstack.org/">OpenStack</a></h1>
- <ul id="navigation">
- <li><a href="http://www.openstack.org/" title="Go to the Home page" class="link">Home</a></li>
- <li><a href="http://www.openstack.org/projects/" title="Go to the OpenStack Projects page">Projects</a></li>
- <li><a href="http://www.openstack.org/user-stories/" title="Go to the User Stories page" class="link">User Stories</a></li>
- <li><a href="http://www.openstack.org/community/" title="Go to the Community page" class="link">Community</a></li>
- <li><a href="http://www.openstack.org/blog/" title="Go to the OpenStack Blog">Blog</a></li>
- <li><a href="http://wiki.openstack.org/" title="Go to the OpenStack Wiki">Wiki</a></li>
- <li><a href="http://docs.openstack.org/" title="Go to OpenStack Documentation" class="current">Documentation</a></li>
- </ul>
- </div>
-{% endblock %} \ No newline at end of file
diff --git a/doc/source/_theme/theme.conf b/doc/source/_theme/theme.conf
deleted file mode 100644
index 1cc40044..00000000
--- a/doc/source/_theme/theme.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[theme]
-inherit = basic
-stylesheet = nature.css
-pygments_style = tango
diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst
index 7ffaea4b..c3ddf0ce 100644
--- a/doc/source/architecture.rst
+++ b/doc/source/architecture.rst
@@ -178,7 +178,7 @@ interpolation)::
LDAP Backend
------------
-The LDAP backend stored Users and Tenents in separate Subtrees. Roles are recorded
+The LDAP backend stored Users and Tenants in separate Subtrees. Roles are recorded
as entries under the Tenants.
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 293edf44..cd585d68 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -28,21 +28,19 @@ sys.path.insert(0, os.path.abspath('../..'))
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
-#extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx',
-# 'sphinx.ext.todo', 'sphinx.ext.coverage']
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.todo',
- # 'sphinx.ect.intersphinx',
- 'sphinx.ext.coverage']
+ 'sphinx.ext.coverage',
+ 'oslo.sphinx',
+ ]
todo_include_todos = True
# Add any paths that contain templates here, relative to this directory.
-templates_path = []
-if os.getenv('HUDSON_PUBLISH_DOCS'):
- templates_path = ['_ga', '_templates']
-else:
- templates_path = ['_templates']
+# if os.getenv('HUDSON_PUBLISH_DOCS'):
+# templates_path = ['_ga', '_templates']
+# else:
+# templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
@@ -109,8 +107,8 @@ man_pages = [
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme_path = ["."]
-html_theme = '_theme'
+# html_theme_path = ["."]
+# html_theme = '_theme'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
diff --git a/keystone/common/environment/__init__.py b/keystone/common/environment/__init__.py
index ac93e24f..2993536a 100644
--- a/keystone/common/environment/__init__.py
+++ b/keystone/common/environment/__init__.py
@@ -59,6 +59,9 @@ def use_eventlet(monkeypatch_thread=None):
if monkeypatch_thread is None:
monkeypatch_thread = not os.getenv('STANDARD_THREADS')
+ # Raise the default from 8192 to accommodate large tokens
+ eventlet.wsgi.MAX_HEADER_LINE = 16384
+
eventlet.patcher.monkey_patch(all=False, socket=True, time=True,
thread=monkeypatch_thread)
diff --git a/keystone/common/sql/migrate_repo/versions/020_migrate_metadata_table_roles.py b/keystone/common/sql/migrate_repo/versions/020_migrate_metadata_table_roles.py
index 35110df4..a0c6ddbc 100644
--- a/keystone/common/sql/migrate_repo/versions/020_migrate_metadata_table_roles.py
+++ b/keystone/common/sql/migrate_repo/versions/020_migrate_metadata_table_roles.py
@@ -23,11 +23,9 @@ def upgrade(migrate_engine):
session = sql.orm.sessionmaker(bind=migrate_engine)()
for metadata in session.query(old_metadata_table):
+ data = json.loads(metadata.data)
if config.CONF.member_role_id not in metadata.data:
- data = json.loads(metadata.data)
data['roles'].append(config.CONF.member_role_id)
- else:
- data = metadata.data
r = session.query(new_metadata_table).filter_by(
user_id=metadata.user_id,
diff --git a/keystone/common/wsgi.py b/keystone/common/wsgi.py
index 87636dbe..f47cde13 100644
--- a/keystone/common/wsgi.py
+++ b/keystone/common/wsgi.py
@@ -283,8 +283,7 @@ class Application(BaseApplication):
def assert_admin(self, context):
if not context['is_admin']:
try:
- user_token_ref = self.token_api.get_token(
- token_id=context['token_id'])
+ user_token_ref = self.token_api.get_token(context['token_id'])
except exception.TokenNotFound as e:
raise exception.Unauthorized(e)
diff --git a/keystone/contrib/ec2/core.py b/keystone/contrib/ec2/core.py
index adba7e74..8f72e431 100644
--- a/keystone/contrib/ec2/core.py
+++ b/keystone/contrib/ec2/core.py
@@ -188,9 +188,7 @@ class Ec2Controller(controller.V2Controller):
for role_id in roles]
catalog_ref = self.catalog_api.get_catalog(
- user_id=user_ref['id'],
- tenant_id=tenant_ref['id'],
- metadata=metadata_ref)
+ user_ref['id'], tenant_ref['id'], metadata_ref)
auth_token_data = dict(user=user_ref,
tenant=tenant_ref,
diff --git a/keystone/locale/bg_BG/LC_MESSAGES/keystone.po b/keystone/locale/bg_BG/LC_MESSAGES/keystone.po
index ef61d876..c6890424 100644
--- a/keystone/locale/bg_BG/LC_MESSAGES/keystone.po
+++ b/keystone/locale/bg_BG/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Bulgarian (Bulgaria) "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/bs/LC_MESSAGES/keystone.po b/keystone/locale/bs/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..8aee9ca5
--- /dev/null
+++ b/keystone/locale/bs/LC_MESSAGES/keystone.po
@@ -0,0 +1,848 @@
+# Bosnian translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Bosnian "
+"(http://www.transifex.com/projects/p/openstack/language/bs/)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/ca/LC_MESSAGES/keystone.po b/keystone/locale/ca/LC_MESSAGES/keystone.po
index 3d83598f..110ea54c 100644
--- a/keystone/locale/ca/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ca/LC_MESSAGES/keystone.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2012-11-03 03:08+0000\n"
"Last-Translator: Sergi Almacellas <pokoli@gmail.com>\n"
"Language-Team: ca <LL@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,79 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, fuzzy, python-format
-msgid "Unable to lookup user %s"
-msgstr "No es pot afegir el token a la llista d'usuaris."
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr ""
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-#, fuzzy
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, fuzzy, python-format
+msgid "Unable to lookup user %s"
msgstr "No es pot afegir el token a la llista d'usuaris."
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -171,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -207,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -458,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -511,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -522,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -553,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -597,3 +803,55 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "No es pot afegir el token a la llista de revocats."
+#: keystone/token/providers/pki.py:43
+#, fuzzy
+msgid "Unable to sign token."
+msgstr "No es pot afegir el token a la llista d'usuaris."
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/cs/LC_MESSAGES/keystone.po b/keystone/locale/cs/LC_MESSAGES/keystone.po
index 60948581..75cddd40 100644
--- a/keystone/locale/cs/LC_MESSAGES/keystone.po
+++ b/keystone/locale/cs/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Czech "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/da/LC_MESSAGES/keystone.po b/keystone/locale/da/LC_MESSAGES/keystone.po
index ed07f63b..4243c60f 100644
--- a/keystone/locale/da/LC_MESSAGES/keystone.po
+++ b/keystone/locale/da/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Danish "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/de/LC_MESSAGES/keystone.po b/keystone/locale/de/LC_MESSAGES/keystone.po
index b47004fb..eb3b905d 100644
--- a/keystone/locale/de/LC_MESSAGES/keystone.po
+++ b/keystone/locale/de/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-22 03:45+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: German "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,81 +38,225 @@ msgstr "%(property_name)s sollte nicht größer als %(max_length)s Zeichen sein.
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr "%s wurde nicht ausgecheckt"
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr "Nicht gewährte Rolle kann nicht entfernt werden, %s"
+
+#: keystone/assignment/backends/ldap.py:418
#, python-format
msgid "Role %s not found"
msgstr "Rolle %s nicht gefunden"
-#: keystone/assignment/backends/sql.py:244
-#, python-format
-msgid "Cannot remove role that has not been granted, %s"
-msgstr "Nicht gewährte Rolle kann nicht entfernt werden, %s"
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr "Projekt ist inaktiviert: %s"
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr "Domäne ist inaktiviert: %s"
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr "Benutzer ist inaktiviert: %s"
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr "Scoping sowohl auf 'domain' als auch auf 'project' ist nicht zulässig"
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr "Scoping sowohl auf 'domain' als auch auf 'trust' ist nicht zulässig"
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr "Scoping sowohl auf 'project' als auch auf 'trust' ist nicht zulässig"
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr "Suche nach Benutzer %s nicht möglich"
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr "Benutzer nicht gefunden"
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr "Benutzer hat keinen Zugriff auf Projekt"
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr "Benutzer hat keinen Zugriff auf Domäne"
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
-msgstr "Token kann nicht unterzeichnet werden."
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+msgid "Unable to lookup user %s"
+msgstr "Suche nach Benutzer %s nicht möglich"
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
-"Ungültiger Wert für 'token_format': %s. Zulässige Werte sind PKI oder "
-"UUID."
#: keystone/catalog/core.py:38
#, python-format
@@ -178,34 +322,34 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr "Rollenbasierte Zugriffssteuerung: Ungültiges Token"
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr "Rollenbasierte Zugriffssteuerung: Ungültiger Benutzer"
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr "Rollenbasierte Zugriffssteuerung: Fortfahren ohne Projekt"
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr "Rollenbasierte Zugriffssteuerung: Fortsetzung ohne Nutzer"
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr "Rollenbasierte Zugriffssteuerung: Umgehen von Autorisierung"
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr "Rollenbasierte Zugriffssteuerung: Autorisierung erteilt"
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
"Rollenbasierte Zugriffssteuerung: Hinzufügen von Abfragefilterparametern "
"(%s)"
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr "Ungültiges Token in 'normalize_domain_id'"
@@ -216,17 +360,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr "arg_dict: %s"
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, fuzzy, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr "Autorisierung fehlgeschlagen. %s von %s"
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr "Die Ressource konnte nicht gefunden werden."
@@ -473,11 +648,11 @@ msgstr "FakeLdap-Suche fehlgeschlagen: dn für 'SCOPE_BASE' nicht gefunden"
msgid "Search scope %s not implemented."
msgstr "Suchbereich %s nicht implementiert."
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -528,7 +703,7 @@ msgstr "Rolle %s Benutzer %s auf Nutzer %s zuweisen"
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr "Erstellen von EC2-Berechtigungsnachweis für Benutzer %s und Nutzer %s"
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -539,18 +714,18 @@ msgstr ""
msgid "User not found in group"
msgstr "Benutzer nicht in Gruppe gefunden"
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr "Änderung von Namen wird von LDAP nicht unterstützt"
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, fuzzy, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr "Benutzer %s ist bereits Mitglied der Gruppe %s."
@@ -570,27 +745,57 @@ msgstr "Kein Handler für Übereinstimmungen des Typs %s"
msgid "Failed to understand rule %(rule)r"
msgstr "Regel '%(rule)r' konnte nicht verstanden werden"
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr "Token gehört nicht zu angegebenem Nutzer."
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
-msgstr "Nicht-Standard-Domäne wird nicht unterstützt"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
-msgstr "Bereichsorientiertes Token der Domäne wird nicht unterstützt"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
#: keystone/token/backends/memcache.py:144
#, python-format
@@ -614,3 +819,56 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "Token kann nicht zu Widerrufsliste hinzugefügt werden."
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr "Token kann nicht unterzeichnet werden."
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr "Nicht-Standard-Domäne wird nicht unterstützt"
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr "Bereichsorientiertes Token der Domäne wird nicht unterstützt"
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr "Benutzer hat keinen Zugriff auf Projekt"
+
+#~ msgid "User have no access to domain"
+#~ msgstr "Benutzer hat keinen Zugriff auf Domäne"
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+#~ "Ungültiger Wert für 'token_format': %s. "
+#~ "Zulässige Werte sind PKI oder UUID."
+
diff --git a/keystone/locale/en_AU/LC_MESSAGES/keystone.po b/keystone/locale/en_AU/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..65c1161c
--- /dev/null
+++ b/keystone/locale/en_AU/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# English (Australia) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (Australia) "
+"(http://www.transifex.com/projects/p/openstack/language/en_AU/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/en_GB/LC_MESSAGES/keystone.po b/keystone/locale/en_GB/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..73b4dbef
--- /dev/null
+++ b/keystone/locale/en_GB/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# English (United Kingdom) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (United Kingdom) "
+"(http://www.transifex.com/projects/p/openstack/language/en_GB/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/en_US/LC_MESSAGES/keystone.po b/keystone/locale/en_US/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..c440b653
--- /dev/null
+++ b/keystone/locale/en_US/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# English (United States) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: English (United States) "
+"(http://www.transifex.com/projects/p/openstack/language/en_US/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/es/LC_MESSAGES/keystone.po b/keystone/locale/es/LC_MESSAGES/keystone.po
index 7f1d56a4..b97acbc8 100644
--- a/keystone/locale/es/LC_MESSAGES/keystone.po
+++ b/keystone/locale/es/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-21 09:13+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: Spanish "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,81 +38,225 @@ msgstr "%(property_name)s no debe tener más de %(max_length)s caracteres."
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr "No se ha podido extraer %s"
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr "No se puede eliminar un rol que no se ha otorgado, %s"
+
+#: keystone/assignment/backends/ldap.py:418
#, python-format
msgid "Role %s not found"
msgstr "No se ha encontrado el rol %s"
-#: keystone/assignment/backends/sql.py:244
-#, python-format
-msgid "Cannot remove role that has not been granted, %s"
-msgstr "No se puede eliminar un rol que no se ha otorgado, %s"
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr "El proyecto está inhabilitado: %s"
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr "El dominio está inhabilitado: %s"
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr "El usuario está inhabilitado: %s"
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr "El ámbito para dominio y proyecto no está permitido"
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr "El ámbito para dominio y confianza no está permitido"
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr "El ámbito para proyecto y confianza no está permitido"
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr "No se ha podido buscar el usuario %s"
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr "Usuario no encontrado"
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr "El usuario no tiene acceso al proyecto"
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr "El usuario no tiene acceso al dominio"
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
-msgstr "No se ha podido firmar la señal."
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+msgid "Unable to lookup user %s"
+msgstr "No se ha podido buscar el usuario %s"
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
-"Valor no válido para token_format: %s. Los valores permitidos son PKI o "
-"UUID."
#: keystone/catalog/core.py:38
#, python-format
@@ -182,32 +326,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr "RBAC: Señal no válida"
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr "RBAC: Usuario no válido"
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr "RBAC: continuando sin proyecto"
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr "RBAC: Continuando sin arrendatario"
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr "RBAC: Eludiendo autorización"
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr "RBAC: Autorización otorgada"
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr "RBAC: añadiendo parámetros de filtro de consultas (%s)"
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr "Señal no válida en normalize_domain_id"
@@ -218,17 +362,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr "arg_dict: %s"
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, fuzzy, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr "Ha fallado la autorización. %s de %s"
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr "El recurso no se ha podido encontrar."
@@ -482,11 +657,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr "Ámbito de búsqueda %s no implementado."
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr "Se ha notificado que mysql server ha desaparecido: %s"
@@ -535,7 +710,7 @@ msgstr "Asignar el rol %s al usuario %s en el arrendatario %s"
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr "Creando credencial ec2 para el usuario %s y el arrendatario %s"
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -546,18 +721,18 @@ msgstr ""
msgid "User not found in group"
msgstr "Usuario no encontrado en grupo"
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr "LDAP no soporta el cambio de nombre"
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, fuzzy, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr "El usuario %s ya es miembro del grupo %s"
@@ -577,27 +752,57 @@ msgstr "No hay manejador para coincidencias de clase %s"
msgid "Failed to understand rule %(rule)r"
msgstr "No se ha podido comprender la regla %(rule)r"
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr "La señal no pertenece al arrendatario especificado."
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
-msgstr "El dominio no predeterminado no está soportado"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
-msgstr "La señal con ámbito de dominio no está soportada"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
#: keystone/token/backends/memcache.py:144
#, python-format
@@ -621,3 +826,57 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "No se puede añadir señal a lista de revocación. "
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr "No se ha podido firmar la señal."
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr "El dominio no predeterminado no está soportado"
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr "La señal con ámbito de dominio no está soportada"
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr "El usuario no tiene acceso al proyecto"
+
+#~ msgid "User have no access to domain"
+#~ msgstr "El usuario no tiene acceso al dominio"
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+#~ "Valor no válido para token_format: %s."
+#~ " Los valores permitidos son PKI o "
+#~ "UUID."
+
diff --git a/keystone/locale/fi_FI/LC_MESSAGES/keystone.po b/keystone/locale/fi_FI/LC_MESSAGES/keystone.po
index 1f8b79e2..cda26e08 100644
--- a/keystone/locale/fi_FI/LC_MESSAGES/keystone.po
+++ b/keystone/locale/fi_FI/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Finnish (Finland) "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/fr/LC_MESSAGES/keystone.po b/keystone/locale/fr/LC_MESSAGES/keystone.po
index 61e4adde..d2aced78 100644
--- a/keystone/locale/fr/LC_MESSAGES/keystone.po
+++ b/keystone/locale/fr/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: French "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/hr/LC_MESSAGES/keystone.po b/keystone/locale/hr/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..8c5e03f5
--- /dev/null
+++ b/keystone/locale/hr/LC_MESSAGES/keystone.po
@@ -0,0 +1,848 @@
+# Croatian translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Croatian "
+"(http://www.transifex.com/projects/p/openstack/language/hr/)\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/hu/LC_MESSAGES/keystone.po b/keystone/locale/hu/LC_MESSAGES/keystone.po
index ca656d2e..c8942c5b 100644
--- a/keystone/locale/hu/LC_MESSAGES/keystone.po
+++ b/keystone/locale/hu/LC_MESSAGES/keystone.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2012-12-15 14:14+0000\n"
"Last-Translator: kelemeng <kelemeng@gnome.hu>\n"
"Language-Team: hu <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -39,79 +39,224 @@ msgstr "%(property_name)s nem lehet több, mint %(max_length)s karakter."
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr "%(property_name)s nem %(display_expected_type)s"
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr "Nem sikerült %s kiiktatása"
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, fuzzy, python-format
-msgid "Unable to lookup user %s"
-msgstr "Nem vehető fel a token felhasználólistája."
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr ""
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-#, fuzzy
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, fuzzy, python-format
+msgid "Unable to lookup user %s"
msgstr "Nem vehető fel a token felhasználólistája."
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -174,32 +319,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -210,17 +355,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr "arg_dict: %s"
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, fuzzy, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr "Hitelesítés sikertelen. %s innen: %s"
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr "Az erőforrás nem található."
@@ -465,11 +641,11 @@ msgstr "FakeLdap keresés sikertelen: a dn nem található a SCOPE_BASE-hez"
msgid "Search scope %s not implemented."
msgstr "A(z) %s keresési hatókör nincs megvalósítva."
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr "A kapott MySQL szerver eltűnt: %s"
@@ -518,7 +694,7 @@ msgstr "%s szerep hozzárendelése %s felhasználóhoz %s bérlőben"
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr "EC2 hitelesítési adatok létrehozása %s felhasználóhoz és %s bérlőhöz"
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -529,18 +705,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -560,26 +736,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -604,3 +810,55 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "A token nem adható a visszavonási listához."
+#: keystone/token/providers/pki.py:43
+#, fuzzy
+msgid "Unable to sign token."
+msgstr "Nem vehető fel a token felhasználólistája."
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/id/LC_MESSAGES/keystone.po b/keystone/locale/id/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..1d5650b6
--- /dev/null
+++ b/keystone/locale/id/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Indonesian translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Indonesian "
+"(http://www.transifex.com/projects/p/openstack/language/id/)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/it/LC_MESSAGES/keystone.po b/keystone/locale/it/LC_MESSAGES/keystone.po
index 790166b4..89f965ee 100644
--- a/keystone/locale/it/LC_MESSAGES/keystone.po
+++ b/keystone/locale/it/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Italian "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,81 +38,225 @@ msgstr "%(property_name)s non può essere superiore a %(max_length)s caratteri."
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr "Impossibile eseguire il checkout %s"
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr "Impossibile rimuovere un ruolo che non è stato concesso, %s"
+
+#: keystone/assignment/backends/ldap.py:418
#, python-format
msgid "Role %s not found"
msgstr "Ruolo %s non trovato"
-#: keystone/assignment/backends/sql.py:244
-#, python-format
-msgid "Cannot remove role that has not been granted, %s"
-msgstr "Impossibile rimuovere un ruolo che non è stato concesso, %s"
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr "Il progetto è disabilitato: %s"
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr "Il dominio è disabilitato: %s"
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr "L'utente è disabilitato: %s"
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr "Il controllo sia del dominio che del progetto non è consentito"
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr "Il controllo sia del dominio che di trust non è consentito"
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr "Il controllo sia delprogetto che di trust non è consentito"
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr "Impossibile eseguire la ricerca dell'utente %s"
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr "Utente non trovato"
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr "L'utente non ha accesso al progetto"
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr "L'utente non ha accesso al dominio"
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
-msgstr "Impossibile firmare il token."
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+msgid "Unable to lookup user %s"
+msgstr "Impossibile eseguire la ricerca dell'utente %s"
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
-"Valore non valido per token_format: %s. I valori consentiti sono PKI o "
-"UUID."
#: keystone/catalog/core.py:38
#, python-format
@@ -178,32 +322,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr "RBAC: token non valido"
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr "RBAC: utente non valido"
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr "RBAC: si procede senza progetto"
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr "RBAC: si procede senza tenant"
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr "RBAC: autorizzazione oltrepassata"
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr "RBAC: autorizzazione concessa"
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr "RBAC: aggiunta parametri del filtro della query (%s)"
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr "Token non valido in normalize_domain_id"
@@ -214,17 +358,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr "arg_dict: %s"
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, fuzzy, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr "Autorizzazione non riuscita. %s da %s"
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr "Impossibile trovare la risorsa."
@@ -471,11 +646,11 @@ msgstr "FakeLdap ricerca non riuscita: dn non trovato per SCOPE_BASE"
msgid "Search scope %s not implemented."
msgstr "Ambito di ricerca %s non implementato."
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr "Ricevuto messaggio di interruzione della connessione del server mysql: %s"
@@ -524,7 +699,7 @@ msgstr "Assegna il ruolo %s all'utente %s nel tenant %s"
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr "Creazione credenziale ec2 per l'utente %s e del tenant %s"
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -535,18 +710,18 @@ msgstr ""
msgid "User not found in group"
msgstr "Utente non trovato nel gruppo"
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr "Modifica nome non supportato da LDAP"
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, fuzzy, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr "L'utente %s è già membro del gruppo %s"
@@ -566,27 +741,57 @@ msgstr "Nessun gestore per le corrispondenze di tipo %s"
msgid "Failed to understand rule %(rule)r"
msgstr "Impossibile comprendere la regola %(rule)r"
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr "Il token non appartiene al tenant specificato."
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
-msgstr "Il dominio non predefinito non è supportato"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
-msgstr "L'ambito del dominio token non è supportato"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
#: keystone/token/backends/memcache.py:144
#, python-format
@@ -610,3 +815,57 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "Impossibile aggiungere un token ad un elenco di revoca."
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr "Impossibile firmare il token."
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr "Il dominio non predefinito non è supportato"
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr "L'ambito del dominio token non è supportato"
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr "L'utente non ha accesso al progetto"
+
+#~ msgid "User have no access to domain"
+#~ msgstr "L'utente non ha accesso al dominio"
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+#~ "Valore non valido per token_format: %s."
+#~ " I valori consentiti sono PKI o "
+#~ "UUID."
+
diff --git a/keystone/locale/it_IT/LC_MESSAGES/keystone.po b/keystone/locale/it_IT/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..7b8e76da
--- /dev/null
+++ b/keystone/locale/it_IT/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Italian (Italy) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Italian (Italy) "
+"(http://www.transifex.com/projects/p/openstack/language/it_IT/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/ja/LC_MESSAGES/keystone.po b/keystone/locale/ja/LC_MESSAGES/keystone.po
index bd31a1d3..a8f0bb69 100644
--- a/keystone/locale/ja/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ja/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2012-11-03 01:25+0000\n"
"Last-Translator: Tomoyuki KATO <tomo@dream.daynight.jp>\n"
"Language-Team: Japanese "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,79 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, fuzzy, python-format
-msgid "Unable to lookup user %s"
-msgstr "ユーザーリストにトークンを追加できません。"
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr ""
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-#, fuzzy
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, fuzzy, python-format
+msgid "Unable to lookup user %s"
msgstr "ユーザーリストにトークンを追加できません。"
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -171,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -207,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -458,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -511,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -522,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -553,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -597,3 +803,55 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "失効リストにトークンを追加できません。"
+#: keystone/token/providers/pki.py:43
+#, fuzzy
+msgid "Unable to sign token."
+msgstr "ユーザーリストにトークンを追加できません。"
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/ka_GE/LC_MESSAGES/keystone.po b/keystone/locale/ka_GE/LC_MESSAGES/keystone.po
index 090bf2e2..8d998614 100644
--- a/keystone/locale/ka_GE/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ka_GE/LC_MESSAGES/keystone.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: ka_GE <LL@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
#, python-format
msgid "Role %s not found"
msgstr "როლი %s ვერ მოიძებნა"
-#: keystone/assignment/backends/sql.py:244
-#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr "დომენი გათიშულია: %s"
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr "მომხმარებელი ვერ მოიძებნა"
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr "მომხმარებელს არ აქვს წვდომა პროექტზე"
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr "მომხმარებელს არ აქვს წვდომა პროექტზე"
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/keystone.pot b/keystone/locale/keystone.pot
index b5773f2e..718b35c8 100644
--- a/keystone/locale/keystone.pot
+++ b/keystone/locale/keystone.pot
@@ -7,16 +7,16 @@
msgid ""
msgstr ""
"Project-Id-Version: keystone "
-"jenkins.keystone.propose.translation.update.258\n"
+"jenkins.keystone.propose.translation.update.280\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
-msgstr ""
-
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,45 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/ko/LC_MESSAGES/keystone.po b/keystone/locale/ko/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..cb047f5f
--- /dev/null
+++ b/keystone/locale/ko/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Korean translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Korean "
+"(http://www.transifex.com/projects/p/openstack/language/ko/)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/ko_KR/LC_MESSAGES/keystone.po b/keystone/locale/ko_KR/LC_MESSAGES/keystone.po
index 47659fa0..733aef75 100644
--- a/keystone/locale/ko_KR/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ko_KR/LC_MESSAGES/keystone.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-03-21 18:34+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: ko_KR <LL@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/ms/LC_MESSAGES/keystone.po b/keystone/locale/ms/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..576761b9
--- /dev/null
+++ b/keystone/locale/ms/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Malay translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Malay "
+"(http://www.transifex.com/projects/p/openstack/language/ms/)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/nb/LC_MESSAGES/keystone.po b/keystone/locale/nb/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..d7a13243
--- /dev/null
+++ b/keystone/locale/nb/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Norwegian Bokmål translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Norwegian Bokmål "
+"(http://www.transifex.com/projects/p/openstack/language/nb/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/nl_NL/LC_MESSAGES/keystone.po b/keystone/locale/nl_NL/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..6bbb3ab3
--- /dev/null
+++ b/keystone/locale/nl_NL/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Dutch (Netherlands) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Dutch (Netherlands) "
+"(http://www.transifex.com/projects/p/openstack/language/nl_NL/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/pl_PL/LC_MESSAGES/keystone.po b/keystone/locale/pl_PL/LC_MESSAGES/keystone.po
index 960d8df6..1971b675 100644
--- a/keystone/locale/pl_PL/LC_MESSAGES/keystone.po
+++ b/keystone/locale/pl_PL/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-06-28 06:06+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: Polish (Poland) "
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -39,78 +39,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -171,32 +317,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -207,17 +353,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -458,11 +635,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -511,7 +688,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -522,18 +699,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -553,26 +730,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -597,3 +804,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/pt/LC_MESSAGES/keystone.po b/keystone/locale/pt/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..7f09b091
--- /dev/null
+++ b/keystone/locale/pt/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Portuguese translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Portuguese "
+"(http://www.transifex.com/projects/p/openstack/language/pt/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/pt_BR/LC_MESSAGES/keystone.po b/keystone/locale/pt_BR/LC_MESSAGES/keystone.po
index fed29df8..c580894d 100644
--- a/keystone/locale/pt_BR/LC_MESSAGES/keystone.po
+++ b/keystone/locale/pt_BR/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2012-11-02 18:30+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese (Brazil) "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/ro/LC_MESSAGES/keystone.po b/keystone/locale/ro/LC_MESSAGES/keystone.po
index e1b5889a..b55073b6 100644
--- a/keystone/locale/ro/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ro/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-06-08 07:51+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: Romanian "
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -39,78 +39,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -171,32 +317,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -207,17 +353,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -458,11 +635,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -511,7 +688,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -522,18 +699,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -553,26 +730,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -597,3 +804,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/ru/LC_MESSAGES/keystone.po b/keystone/locale/ru/LC_MESSAGES/keystone.po
index 5a1f5c36..db8fe633 100644
--- a/keystone/locale/ru/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ru/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Russian "
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -39,78 +39,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -171,32 +317,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -207,17 +353,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -458,11 +635,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -511,7 +688,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -522,18 +699,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -553,26 +730,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -597,3 +804,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/ru_RU/LC_MESSAGES/keystone.po b/keystone/locale/ru_RU/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..4782ae4a
--- /dev/null
+++ b/keystone/locale/ru_RU/LC_MESSAGES/keystone.po
@@ -0,0 +1,848 @@
+# Russian (Russia) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Russian (Russia) "
+"(http://www.transifex.com/projects/p/openstack/language/ru_RU/)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/sl_SI/LC_MESSAGES/keystone.po b/keystone/locale/sl_SI/LC_MESSAGES/keystone.po
index 4066e381..8c044ca8 100644
--- a/keystone/locale/sl_SI/LC_MESSAGES/keystone.po
+++ b/keystone/locale/sl_SI/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-06-28 06:06+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: Slovenian (Slovenia) "
@@ -17,7 +17,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -39,78 +39,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -171,32 +317,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -207,17 +353,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -458,11 +635,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -511,7 +688,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -522,18 +699,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -553,26 +730,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -597,3 +804,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/sw_KE/LC_MESSAGES/keystone.po b/keystone/locale/sw_KE/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..f3a77803
--- /dev/null
+++ b/keystone/locale/sw_KE/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Swahili (Kenya) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Swahili (Kenya) "
+"(http://www.transifex.com/projects/p/openstack/language/sw_KE/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/tl/LC_MESSAGES/keystone.po b/keystone/locale/tl/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..b1186d54
--- /dev/null
+++ b/keystone/locale/tl/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Filipino (Philippines) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Tagalog "
+"(http://www.transifex.com/projects/p/openstack/language/tl/)\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 1.3\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/tr_TR/LC_MESSAGES/keystone.po b/keystone/locale/tr_TR/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..866c94eb
--- /dev/null
+++ b/keystone/locale/tr_TR/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Turkish (Turkey) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Turkish (Turkey) "
+"(http://www.transifex.com/projects/p/openstack/language/tr_TR/)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/uk/LC_MESSAGES/keystone.po b/keystone/locale/uk/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..4d8e5cef
--- /dev/null
+++ b/keystone/locale/uk/LC_MESSAGES/keystone.po
@@ -0,0 +1,848 @@
+# Ukrainian translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Ukrainian "
+"(http://www.transifex.com/projects/p/openstack/language/uk/)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/vi_VN/LC_MESSAGES/keystone.po b/keystone/locale/vi_VN/LC_MESSAGES/keystone.po
index 20fbd476..a7f3d30c 100644
--- a/keystone/locale/vi_VN/LC_MESSAGES/keystone.po
+++ b/keystone/locale/vi_VN/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-17 16:06+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
"Language-Team: Vietnamese (Viet Nam) "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,78 +38,224 @@ msgstr ""
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
#, python-format
-msgid "Role %s not found"
+msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/assignment/backends/sql.py:244
+#: keystone/assignment/backends/ldap.py:418
#, python-format
-msgid "Cannot remove role that has not been granted, %s"
+msgid "Role %s not found"
msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr ""
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr ""
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr ""
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
msgstr ""
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
-#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
msgstr ""
#: keystone/catalog/core.py:38
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr ""
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr ""
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr ""
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr ""
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr ""
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr ""
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr ""
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr ""
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr ""
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr ""
@@ -457,11 +634,11 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -510,7 +687,7 @@ msgstr ""
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr ""
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr ""
@@ -552,26 +729,56 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
msgstr ""
#: keystone/token/backends/memcache.py:144
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr ""
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr ""
+
+#~ msgid "User have no access to domain"
+#~ msgstr ""
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr ""
+
diff --git a/keystone/locale/zh_CN/LC_MESSAGES/keystone.po b/keystone/locale/zh_CN/LC_MESSAGES/keystone.po
index b3d557a1..8d69a376 100644
--- a/keystone/locale/zh_CN/LC_MESSAGES/keystone.po
+++ b/keystone/locale/zh_CN/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-21 06:08+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: Chinese (China) "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,79 +38,225 @@ msgstr "%(property_name)s 不应该超过 %(max_length)s 个字符。"
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr "未能检出 %s"
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr "无法除去尚未授予的角色 %s"
+
+#: keystone/assignment/backends/ldap.py:418
#, python-format
msgid "Role %s not found"
msgstr "找不到角色 %s"
-#: keystone/assignment/backends/sql.py:244
-#, python-format
-msgid "Cannot remove role that has not been granted, %s"
-msgstr "无法除去尚未授予的角色 %s"
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr "项目已禁用:%s"
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr "域已禁用:%s"
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr "用户已禁用:%s"
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr "不允许同时将作用域限定到域和项目"
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr "不允许同时将作用域限定到域和信任"
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr "不允许同时将作用域限定到项目和信任"
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr "无法查找用户 %s"
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr "找不到用户"
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr "用户对项目没有任何访问权限"
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr "用户对域没有任何访问权限"
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
-msgstr "无法对令牌进行签名。"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
-msgstr "token_format 的值 %s 无效。允许值是 PKI 或 UUID。"
+msgid "Unable to lookup user %s"
+msgstr "无法查找用户 %s"
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
#: keystone/catalog/core.py:38
#, python-format
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr "RBAC:令牌无效"
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr "RBAC:用户无效"
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr "RBAC:正在没有项目的情况下继续"
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr "RBAC:正在没有租户的情况下继续"
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr "RBAC:正在绕过授权"
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr "RBAC:已授予权限"
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr "RBAC:正在添加查询过滤器参数 (%s)"
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr "normalize_domain_id 中的令牌无效"
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr "arg_dict:%s"
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, fuzzy, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr "授权失败。%s 来自 %s"
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr "找不到该资源。"
@@ -457,11 +634,11 @@ msgstr "FakeLdap search 失败:对于 SCOPE_BASE,找不到 dn"
msgid "Search scope %s not implemented."
msgstr "未实现搜索范围 %s。"
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr "mysql 服务器已不存在:%s"
@@ -510,7 +687,7 @@ msgstr "请将角色 %s 分配给用户 %s(在租户 %s 上)"
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr "正在为用户 %s 和租户 %s 创建 ec2 凭证"
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr "在组中找不到用户"
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr "更改名称不受 LDAP 支持"
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, fuzzy, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr "用户 %s 已是组 %s 的成员"
@@ -552,27 +729,57 @@ msgstr "对于类型为 %s 的匹配项,不存在任何处理程序"
msgid "Failed to understand rule %(rule)r"
msgstr "未能理解规则 %(rule)r"
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr "令牌不属于指定的租户。"
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
-msgstr "非缺省域不受支持"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
-msgstr "作用域限定到域的令牌不受支持"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
#: keystone/token/backends/memcache.py:144
#, python-format
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "无法将令牌添加至撤销列表。"
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr "无法对令牌进行签名。"
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr "非缺省域不受支持"
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr "作用域限定到域的令牌不受支持"
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr "用户对项目没有任何访问权限"
+
+#~ msgid "User have no access to domain"
+#~ msgstr "用户对域没有任何访问权限"
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr "token_format 的值 %s 无效。允许值是 PKI 或 UUID。"
+
diff --git a/keystone/locale/zh_HK/LC_MESSAGES/keystone.po b/keystone/locale/zh_HK/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..be48e5f5
--- /dev/null
+++ b/keystone/locale/zh_HK/LC_MESSAGES/keystone.po
@@ -0,0 +1,847 @@
+# Chinese (Traditional, Hong Kong SAR China) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
+"PO-Revision-Date: 2013-07-29 22:01+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Chinese (Hong Kong) "
+"(http://www.transifex.com/projects/p/openstack/language/zh_HK/)\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"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr ""
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr ""
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/assignment/core.py:529
+#, python-format
+msgid "Expected dict or list: %s"
+msgstr ""
+
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/assignment/backends/ldap.py:418
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
+
+#: keystone/auth/controllers.py:71
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:262
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:353
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
+
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr ""
+
+#: keystone/common/cms.py:26
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:118
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:122
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:89
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:107
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:18
+#, python-format
+msgid "RBAC: Authorizing %(action)s(%(kwargs)s)"
+msgstr ""
+
+#: keystone/common/controller.py:25
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:45
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:65
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:134
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:322
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/utils.py:233
+msgid ""
+"Error setting up the debug environment. Verify that the option --debug-"
+"url has the format <host>:<port> and that a debugger processes is "
+"listening on that port."
+msgstr ""
+
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:243
+#, python-format
+msgid "Authorization failed. %(exception)s from %(remote_addr)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:487
+msgid "The resource could not be found."
+msgstr ""
+
+#: keystone/common/environment/__init__.py:37
+#, python-format
+msgid "Environment configured as: %s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:51
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/environment/eventlet_server.py:113
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP TLS certs option: %(option). Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:99
+#, python-format
+msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:189
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:195
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%(item)s\". Value "
+"\"%(attr_map)s\" must use one of %(keys)s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:279 keystone/identity/backends/kvs.py:177
+#: keystone/identity/backends/kvs.py:205
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289 keystone/identity/backends/kvs.py:170
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:294
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:372
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:405
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:430
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:431
+#, python-format
+msgid ""
+"LDAP init: use_tls=%(use_tls)s\n"
+"tls_cacertfile=%(tls_cacertfile)s\n"
+"tls_cacertdir=%(tls_cacertdir)s\n"
+"tls_req_cert=%(tls_req_cert)s\n"
+"tls_avail=%(tls_avail)s\n"
+msgstr ""
+
+#: keystone/common/ldap/core.py:450
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:454
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:464
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:483
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:497
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:508
+#, python-format
+msgid "LDAP add: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:514
+#, python-format
+msgid ""
+"LDAP search: dn=%(dn)s, scope=%(scope)s, query=%(query)s, "
+"attrs=%(attrlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:567
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:584
+#, python-format
+msgid "LDAP modify: dn=%(dn)s, modlist=%(modlist)s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:590
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:595
+#, python-format
+msgid "LDAP delete_ext: dn=%(dn)s, serverctrls=%(serverctrls)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%(dn)s, attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:193
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:207 keystone/common/ldap/fakeldap.py:221
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:211 keystone/common/ldap/fakeldap.py:225
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:240
+#, python-format
+msgid "FakeLdap modify item: dn=%(dn)s attrs=%(attrs)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:245
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:262
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:273
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%(k)s\" with value "
+"\"%(v)s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:279
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:281
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:300
+#, python-format
+msgid "FakeLdap search at dn=%(dn)s scope=%(scope)s query=%(query)s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:306
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:320
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:119
+msgid "Global engine callback raised."
+msgstr ""
+
+#: keystone/common/sql/core.py:233
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:188
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr ""
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:65
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:82
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:91
+#, python-format
+msgid "Add user %(user_id)s to tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:100
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:107
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:117
+#, python-format
+msgid "Assign role %(role_id)s to user %(user_id)s on tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:136
+#, python-format
+msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
+msgstr ""
+
+#: keystone/identity/controllers.py:952
+#, python-format
+msgid ""
+"Group %(group)s not found for role-assignment - %(target)s with Role: "
+"%(role)s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:126 keystone/identity/backends/kvs.py:135
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:189
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:334
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap.py:347
+#, python-format
+msgid "User %(user_id)s is already a member of group %(group_id)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr ""
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %(action)s: %(credentials)s"
+msgstr ""
+
+#: keystone/token/controllers.py:378
+#, python-format
+msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
+msgstr ""
+
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:144
+#, python-format
+msgid ""
+"Successful set of token-index-list for user-key \"%(user_key)s\", "
+"#%(count)d records"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:154
+#, python-format
+msgid ""
+"Failed to set token-index-list for user-key \"%(user_key)s\". Attempt "
+"%(cas_retry)d of %(cas_retry_max)d"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:163
+msgid "Unable to add token user list"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:172
+msgid "Unable to add token to revocation list."
+msgstr ""
+
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
diff --git a/keystone/locale/zh_TW/LC_MESSAGES/keystone.po b/keystone/locale/zh_TW/LC_MESSAGES/keystone.po
index ae04c15a..45af1114 100644
--- a/keystone/locale/zh_TW/LC_MESSAGES/keystone.po
+++ b/keystone/locale/zh_TW/LC_MESSAGES/keystone.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-07-11 17:05+0000\n"
+"POT-Creation-Date: 2013-08-02 17:05+0000\n"
"PO-Revision-Date: 2013-05-22 03:11+0000\n"
"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
"Language-Team: Chinese (Taiwan) "
@@ -16,7 +16,7 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
#: keystone/clean.py:23
#, python-format
@@ -38,79 +38,225 @@ msgstr "%(property_name)s 不應超過 %(max_length)s 個字元。"
msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:106
+#: keystone/exception.py:48
+msgid "missing exception kwargs (programmer error)"
+msgstr ""
+
+#: keystone/exception.py:65
+#, python-format
+msgid ""
+"Expecting to find %(attribute)s in %(target)s. The server could not "
+"comply with the request since it is either malformed or otherwise "
+"incorrect. The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:74
+#, python-format
+msgid ""
+"String length exceeded.The length of string '%(string)s' exceeded the "
+"limit of column %(type)s(CHAR(%(length)d))."
+msgstr ""
+
+#: keystone/exception.py:80
+#, python-format
+msgid ""
+"Request attribute %(attribute)s must be less than or equal to %(size)i. "
+"The server could not comply with the request because the attribute size "
+"is invalid (too large). The client is assumed to be in error."
+msgstr ""
+
+#: keystone/exception.py:101
+msgid "The request you have made requires authentication."
+msgstr ""
+
+#: keystone/exception.py:107
+msgid "Authentication plugin error."
+msgstr ""
+
+#: keystone/exception.py:115
+msgid "Attempted to authenticate with an unsupported method."
+msgstr ""
+
+#: keystone/exception.py:123
+msgid "Additional authentications steps required."
+msgstr ""
+
+#: keystone/exception.py:131
+msgid "You are not authorized to perform the requested action."
+msgstr ""
+
+#: keystone/exception.py:138
+#, python-format
+msgid "You are not authorized to perform the requested action, %(action)s."
+msgstr ""
+
+#: keystone/exception.py:143
+#, python-format
+msgid "Could not find, %(target)s."
+msgstr ""
+
+#: keystone/exception.py:149
+#, python-format
+msgid "Could not find endpoint, %(endpoint_id)s."
+msgstr ""
+
+#: keystone/exception.py:156
+msgid "An unhandled exception has occurred: Could not find metadata."
+msgstr ""
+
+#: keystone/exception.py:161
+#, python-format
+msgid "Could not find policy, %(policy_id)s."
+msgstr ""
+
+#: keystone/exception.py:165
+#, python-format
+msgid "Could not find role, %(role_id)s."
+msgstr ""
+
+#: keystone/exception.py:169
+#, python-format
+msgid "Could not find service, %(service_id)s."
+msgstr ""
+
+#: keystone/exception.py:173
+#, python-format
+msgid "Could not find domain, %(domain_id)s."
+msgstr ""
+
+#: keystone/exception.py:177
+#, python-format
+msgid "Could not find project, %(project_id)s."
+msgstr ""
+
+#: keystone/exception.py:181
+#, python-format
+msgid "Could not find token, %(token_id)s."
+msgstr ""
+
+#: keystone/exception.py:185
+#, python-format
+msgid "Could not find user, %(user_id)s."
+msgstr ""
+
+#: keystone/exception.py:189
+#, python-format
+msgid "Could not find group, %(group_id)s."
+msgstr ""
+
+#: keystone/exception.py:193
+#, python-format
+msgid "Could not find trust, %(trust_id)s."
+msgstr ""
+
+#: keystone/exception.py:197
+#, python-format
+msgid "Could not find credential, %(credential_id)s."
+msgstr ""
+
+#: keystone/exception.py:201
+#, python-format
+msgid "Could not find version, %(version)s."
+msgstr ""
+
+#: keystone/exception.py:205
+#, python-format
+msgid "Conflict occurred attempting to store %(type)s. %(details)s"
+msgstr ""
+
+#: keystone/exception.py:212
+msgid "Request is too large."
+msgstr ""
+
+#: keystone/exception.py:218
+#, python-format
+msgid ""
+"An unexpected error prevented the server from fulfilling your request. "
+"%(exception)s"
+msgstr ""
+
+#: keystone/exception.py:225
+#, python-format
+msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details."
+msgstr ""
+
+#: keystone/exception.py:230
+msgid "The action you have requested has not been implemented."
+msgstr ""
+
+#: keystone/exception.py:237
+#, python-format
+msgid "The Keystone paste configuration file %(config_file)s could not be found."
+msgstr ""
+
+#: keystone/test.py:117
#, python-format
msgid "Failed to checkout %s"
msgstr "無法移出 %s"
-#: keystone/assignment/backends/ldap.py:110
+#: keystone/assignment/core.py:529
#, python-format
msgid "Expected dict or list: %s"
msgstr ""
-#: keystone/assignment/backends/ldap.py:456
-#: keystone/identity/backends/ldap.py:433
+#: keystone/assignment/backends/kvs.py:138
+#: keystone/assignment/backends/sql.py:285
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr "無法移除尚未授權的角色,%s"
+
+#: keystone/assignment/backends/ldap.py:418
#, python-format
msgid "Role %s not found"
msgstr "找不到角色 %s"
-#: keystone/assignment/backends/sql.py:244
-#, python-format
-msgid "Cannot remove role that has not been granted, %s"
-msgstr "無法移除尚未授權的角色,%s"
+#: keystone/assignment/backends/sql.py:114
+msgid "Inherited roles can only be assigned to domains"
+msgstr ""
-#: keystone/auth/controllers.py:72
+#: keystone/auth/controllers.py:71
#, python-format
msgid "Project is disabled: %s"
msgstr "已停用專案:%s"
-#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:38
+#: keystone/auth/controllers.py:77 keystone/auth/plugins/password.py:38
#, python-format
msgid "Domain is disabled: %s"
msgstr "已停用網域:%s"
-#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:44
+#: keystone/auth/controllers.py:83 keystone/auth/plugins/password.py:44
#, python-format
msgid "User is disabled: %s"
msgstr "已停用使用者:%s"
-#: keystone/auth/controllers.py:259
+#: keystone/auth/controllers.py:262
msgid "Scoping to both domain and project is not allowed"
msgstr "不容許將範圍同時設定為網域及專案"
-#: keystone/auth/controllers.py:262
+#: keystone/auth/controllers.py:265
msgid "Scoping to both domain and trust is not allowed"
msgstr "不容許將範圍同時設定為網域及信任"
-#: keystone/auth/controllers.py:265
+#: keystone/auth/controllers.py:268
msgid "Scoping to both project and trust is not allowed"
msgstr "不容許將範圍同時設定為專案及信任"
-#: keystone/auth/controllers.py:325
-#, python-format
-msgid "Unable to lookup user %s"
-msgstr "無法查閱使用者 %s"
-
-#: keystone/auth/controllers.py:355
+#: keystone/auth/controllers.py:353
msgid "User not found"
msgstr "找不到使用者"
-#: keystone/auth/token_factory.py:79
-msgid "User have no access to project"
-msgstr "使用者無法存取專案"
-
-#: keystone/auth/token_factory.py:94
-msgid "User have no access to domain"
-msgstr "使用者無法存取網域"
-
-#: keystone/auth/token_factory.py:311 keystone/token/controllers.py:119
-msgid "Unable to sign token."
-msgstr "無法簽署記號。"
+#: keystone/auth/plugins/external.py:36 keystone/auth/plugins/external.py:66
+msgid "No authenticated user"
+msgstr ""
-#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:122
+#: keystone/auth/plugins/external.py:49 keystone/auth/plugins/external.py:86
#, python-format
-msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
-msgstr "token_format 的值無效:%s。接受的值為 PKI 或 UUID。"
+msgid "Unable to lookup user %s"
+msgstr "無法查閱使用者 %s"
+
+#: keystone/auth/plugins/password.py:112
+msgid "Invalid username or password"
+msgstr ""
#: keystone/catalog/core.py:38
#, python-format
@@ -170,32 +316,32 @@ msgstr ""
msgid "RBAC: Invalid token"
msgstr "RBAC:無效的記號"
-#: keystone/common/controller.py:35 keystone/common/controller.py:56
+#: keystone/common/controller.py:39 keystone/common/controller.py:60
msgid "RBAC: Invalid user"
msgstr "RBAC:無效的使用者"
-#: keystone/common/controller.py:41
+#: keystone/common/controller.py:45
msgid "RBAC: Proceeding without project"
msgstr "RBAC:在沒有專案的情況下繼續作業"
-#: keystone/common/controller.py:61
+#: keystone/common/controller.py:65
msgid "RBAC: Proceeding without tenant"
msgstr "RBAC:在沒有 Tenant 的情況下繼續作業"
-#: keystone/common/controller.py:91 keystone/common/controller.py:142
+#: keystone/common/controller.py:95 keystone/common/controller.py:146
msgid "RBAC: Bypassing authorization"
msgstr "RBAC:正在略過授權"
-#: keystone/common/controller.py:100 keystone/common/controller.py:140
+#: keystone/common/controller.py:104 keystone/common/controller.py:144
msgid "RBAC: Authorization granted"
msgstr "RBAC:已授與權限"
-#: keystone/common/controller.py:130
+#: keystone/common/controller.py:134
#, python-format
msgid "RBAC: Adding query filter params (%s)"
msgstr "RBAC:正在新增查詢過濾器參數 (%s)"
-#: keystone/common/controller.py:318
+#: keystone/common/controller.py:322
msgid "Invalid token in normalize_domain_id"
msgstr "normalize_domain_id 中的記號無效"
@@ -206,17 +352,48 @@ msgid ""
"listening on that port."
msgstr ""
-#: keystone/common/wsgi.py:162
+#: keystone/common/wsgi.py:95
+msgid "No bind information present in token"
+msgstr ""
+
+#: keystone/common/wsgi.py:99
+#, python-format
+msgid "Named bind mode %s not in bind information"
+msgstr ""
+
+#: keystone/common/wsgi.py:105
+msgid "Kerberos credentials required and not present"
+msgstr ""
+
+#: keystone/common/wsgi.py:109
+msgid "Kerberos credentials do not match those in bind"
+msgstr ""
+
+#: keystone/common/wsgi.py:112
+msgid "Kerberos bind authentication successful"
+msgstr ""
+
+#: keystone/common/wsgi.py:115
+#, python-format
+msgid "Ignoring unknown bind for permissive mode: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:119
+#, python-format
+msgid "Couldn't verify unknown bind: {%(bind_type)s: %(identifier)s}"
+msgstr ""
+
+#: keystone/common/wsgi.py:211
#, python-format
msgid "arg_dict: %s"
msgstr "arg_dict:%s"
-#: keystone/common/wsgi.py:188
+#: keystone/common/wsgi.py:243
#, fuzzy, python-format
msgid "Authorization failed. %(exception)s from %(remote_addr)s"
msgstr "授權失敗。%s(自 %s)"
-#: keystone/common/wsgi.py:431
+#: keystone/common/wsgi.py:487
msgid "The resource could not be found."
msgstr "找不到資源。"
@@ -457,11 +634,11 @@ msgstr "FakeLdap 搜尋失敗:找不到 SCOPE_BASE 的 DN"
msgid "Search scope %s not implemented."
msgstr "未實作搜尋範圍 %s。"
-#: keystone/common/sql/core.py:126
+#: keystone/common/sql/core.py:119
msgid "Global engine callback raised."
msgstr ""
-#: keystone/common/sql/core.py:240
+#: keystone/common/sql/core.py:233
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr "已取得 mysql 伺服器已斷線的訊息:%s"
@@ -510,7 +687,7 @@ msgstr "將角色 %s 指派給使用者 %s(在 Tenant %s 上)"
msgid "Creating ec2 cred for user %(user_id)s and tenant %(tenant_id)s"
msgstr "正在給使用者 %s 及 Tenant %s 建立 EC2 Cred"
-#: keystone/identity/controllers.py:878
+#: keystone/identity/controllers.py:952
#, python-format
msgid ""
"Group %(group)s not found for role-assignment - %(target)s with Role: "
@@ -521,18 +698,18 @@ msgstr ""
msgid "User not found in group"
msgstr "在群組中找不到使用者"
-#: keystone/identity/backends/ldap.py:192
+#: keystone/identity/backends/ldap.py:189
#, python-format
msgid ""
"Group member '%(user_dn)s' not found in '%(group_id)s'. The user should "
"be removed from the group. The user will be ignored."
msgstr ""
-#: keystone/identity/backends/ldap.py:621
+#: keystone/identity/backends/ldap.py:334
msgid "Changing Name not supported by LDAP"
msgstr "LDAP 不支援變更名稱"
-#: keystone/identity/backends/ldap.py:634
+#: keystone/identity/backends/ldap.py:347
#, fuzzy, python-format
msgid "User %(user_id)s is already a member of group %(group_id)s"
msgstr "使用者 %s 已是群組 %s 的成員"
@@ -552,27 +729,57 @@ msgstr "類型為 %s 的相符項沒有處理程式"
msgid "Failed to understand rule %(rule)r"
msgstr "無法理解規則 %(rule)r"
+#: keystone/openstack/common/crypto/utils.py:29
+msgid "An unknown error occurred in crypto utils."
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:36
+#, python-format
+msgid "Block size of %(given)d is too big, max = %(maximum)d"
+msgstr ""
+
+#: keystone/openstack/common/crypto/utils.py:45
+#, python-format
+msgid "Length of %(given)d is too long, max = %(maximum)d"
+msgstr ""
+
#: keystone/policy/backends/rules.py:93
#, python-format
msgid "enforce %(action)s: %(credentials)s"
msgstr ""
-#: keystone/token/controllers.py:396
+#: keystone/token/controllers.py:378
#, python-format
msgid "User %(u_id)s is unauthorized for tenant %(t_id)s"
msgstr ""
-#: keystone/token/controllers.py:413 keystone/token/controllers.py:416
+#: keystone/token/controllers.py:395 keystone/token/controllers.py:398
msgid "Token does not belong to specified tenant."
msgstr "記號不屬於所指定的 Tenant。"
-#: keystone/token/controllers.py:423
-msgid "Non-default domain is not supported"
-msgstr "不支援非預設網域"
+#: keystone/token/provider.py:76
+msgid ""
+"keystone.conf [signing] token_format (deprecated) conflicts with "
+"keystone.conf [token] provider"
+msgstr ""
-#: keystone/token/controllers.py:431
-msgid "Domain scoped token is not supported"
-msgstr "不支援網域範圍的記號"
+#: keystone/token/provider.py:84
+msgid ""
+"keystone.conf [signing] token_format is deprecated in favor of "
+"keystone.conf [token] provider"
+msgstr ""
+
+#: keystone/token/provider.py:94
+msgid ""
+"Unrecognized keystone.conf [signing] token_format: expected either 'UUID'"
+" or 'PKI'"
+msgstr ""
+
+#: keystone/token/backends/kvs.py:37
+msgid ""
+"kvs token backend is DEPRECATED. Use keystone.token.backends.sql or "
+"keystone.token.backend.memcache instead."
+msgstr ""
#: keystone/token/backends/memcache.py:144
#, python-format
@@ -596,3 +803,54 @@ msgstr ""
msgid "Unable to add token to revocation list."
msgstr "無法將記號新增至撤銷清冊。"
+#: keystone/token/providers/pki.py:43
+msgid "Unable to sign token."
+msgstr "無法簽署記號。"
+
+#: keystone/token/providers/uuid.py:193
+msgid "Trustor is disabled."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:238
+msgid "Trustee has no delegated roles."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:247
+#, python-format
+msgid "User %(user_id)s has no access to project %(project_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:252
+#, python-format
+msgid "User %(user_id)s has no access to domain %(domain_id)s"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:303
+msgid "User is not a trustee."
+msgstr ""
+
+#: keystone/token/providers/uuid.py:457
+msgid "Non-default domain is not supported"
+msgstr "不支援非預設網域"
+
+#: keystone/token/providers/uuid.py:465
+msgid "Domain scoped token is not supported"
+msgstr "不支援網域範圍的記號"
+
+#: keystone/token/providers/uuid.py:528
+msgid "Failed to validate token"
+msgstr ""
+
+#: keystone/token/providers/uuid.py:566 keystone/token/providers/uuid.py:576
+msgid "Failed to verify token"
+msgstr ""
+
+#~ msgid "User have no access to project"
+#~ msgstr "使用者無法存取專案"
+
+#~ msgid "User have no access to domain"
+#~ msgstr "使用者無法存取網域"
+
+#~ msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+#~ msgstr "token_format 的值無效:%s。接受的值為 PKI 或 UUID。"
+
diff --git a/keystone/middleware/s3_token.py b/keystone/middleware/s3_token.py
index 2b7f99a0..b346893b 100644
--- a/keystone/middleware/s3_token.py
+++ b/keystone/middleware/s3_token.py
@@ -34,14 +34,62 @@ This WSGI component:
"""
import httplib
+import urllib
import webob
-from swift.common import utils as swift_utils
-
+from keystone.common import logging
from keystone.openstack.common import jsonutils
PROTOCOL_NAME = 'S3 Token Authentication'
+LOG = logging.getLogger(__name__)
+
+
+# TODO(kun): remove it after oslo merge this.
+def split_path(path, minsegs=1, maxsegs=None, rest_with_last=False):
+ """Validate and split the given HTTP request path.
+
+ **Examples**::
+
+ ['a'] = split_path('/a')
+ ['a', None] = split_path('/a', 1, 2)
+ ['a', 'c'] = split_path('/a/c', 1, 2)
+ ['a', 'c', 'o/r'] = split_path('/a/c/o/r', 1, 3, True)
+
+ :param path: HTTP Request path to be split
+ :param minsegs: Minimum number of segments to be extracted
+ :param maxsegs: Maximum number of segments to be extracted
+ :param rest_with_last: If True, trailing data will be returned as part
+ of last segment. If False, and there is
+ trailing data, raises ValueError.
+ :returns: list of segments with a length of maxsegs (non-existant
+ segments will return as None)
+ :raises: ValueError if given an invalid path
+ """
+ if not maxsegs:
+ maxsegs = minsegs
+ if minsegs > maxsegs:
+ raise ValueError('minsegs > maxsegs: %d > %d' % (minsegs, maxsegs))
+ if rest_with_last:
+ segs = path.split('/', maxsegs)
+ minsegs += 1
+ maxsegs += 1
+ count = len(segs)
+ if (segs[0] or count < minsegs or count > maxsegs or
+ '' in segs[1:minsegs]):
+ raise ValueError('Invalid path: %s' % urllib.quote(path))
+ else:
+ minsegs += 1
+ maxsegs += 1
+ segs = path.split('/', maxsegs)
+ count = len(segs)
+ if (segs[0] or count < minsegs or count > maxsegs + 1 or
+ '' in segs[1:minsegs] or
+ (count == maxsegs + 1 and segs[maxsegs])):
+ raise ValueError('Invalid path: %s' % urllib.quote(path))
+ segs = segs[1:maxsegs]
+ segs.extend([None] * (maxsegs - 1 - len(segs)))
+ return segs
class ServiceError(Exception):
@@ -54,7 +102,7 @@ class S3Token(object):
def __init__(self, app, conf):
"""Common initialization code."""
self.app = app
- self.logger = swift_utils.get_logger(conf, log_route='s3token')
+ self.logger = LOG
self.logger.debug('Starting the %s component' % PROTOCOL_NAME)
self.reseller_prefix = conf.get('reseller_prefix', 'AUTH_')
# where to find the auth service (we use this to validate tokens)
@@ -119,7 +167,7 @@ class S3Token(object):
self.logger.debug('Calling S3Token middleware.')
try:
- parts = swift_utils.split_path(req.path, 1, 4, True)
+ parts = split_path(req.path, 1, 4, True)
version, account, container, obj = parts
except ValueError:
msg = 'Not a path query, skipping.'
diff --git a/keystone/test.py b/keystone/test.py
index 5d1ad505..9118b2ea 100644
--- a/keystone/test.py
+++ b/keystone/test.py
@@ -272,7 +272,12 @@ class TestCase(NoModule, unittest.TestCase):
# identity driver.
for manager in [identity, assignment, catalog, credential, ec2, policy,
token, token_provider, trust]:
- manager_name = '%s_api' % manager.__name__.split('.')[-1]
+ # manager.__name__ is like keystone.xxx[.yyy],
+ # converted to xxx[_yyy]
+ manager_name = ('%s_api' %
+ manager.__name__.replace('keystone.', '').
+ replace('.', '_'))
+
setattr(self, manager_name, manager.Manager())
dependency.resolve_future_dependencies()
diff --git a/keystone/token/controllers.py b/keystone/token/controllers.py
index d2b7d9fd..9ebc29fe 100644
--- a/keystone/token/controllers.py
+++ b/keystone/token/controllers.py
@@ -91,9 +91,7 @@ class Auth(controller.V2Controller):
if tenant_ref:
catalog_ref = self.catalog_api.get_catalog(
- user_id=user_ref['id'],
- tenant_id=tenant_ref['id'],
- metadata=metadata_ref)
+ user_ref['id'], tenant_ref['id'], metadata_ref)
else:
catalog_ref = {}
@@ -457,9 +455,9 @@ class Auth(controller.V2Controller):
catalog_ref = None
if token_ref.get('tenant'):
catalog_ref = self.catalog_api.get_catalog(
- user_id=token_ref['user']['id'],
- tenant_id=token_ref['tenant']['id'],
- metadata=token_ref['metadata'])
+ token_ref['user']['id'],
+ token_ref['tenant']['id'],
+ token_ref['metadata'])
return Auth.format_endpoint_list(catalog_ref)
diff --git a/keystone/token/providers/uuid.py b/keystone/token/providers/uuid.py
index 94896920..acfa9372 100644
--- a/keystone/token/providers/uuid.py
+++ b/keystone/token/providers/uuid.py
@@ -438,7 +438,7 @@ class Provider(token.provider.Provider):
def _verify_token(self, token_id, belongs_to=None):
"""Verify the given token and return the token_ref."""
- token_ref = self.token_api.get_token(token_id=token_id)
+ token_ref = self.token_api.get_token(token_id)
assert token_ref
if belongs_to:
assert (token_ref['tenant'] and
@@ -518,7 +518,7 @@ class Provider(token.provider.Provider):
catalog_ref = self.catalog_api.get_catalog(
token_ref['user']['id'],
token_ref['tenant']['id'],
- metadata=metadata_ref)
+ metadata_ref)
token_data = self.v2_token_data_helper.get_token_data(
token_ref=token_ref,
roles_ref=role_refs,
diff --git a/test-requirements.txt b/test-requirements.txt
index 4ecd2c62..48ac1280 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -38,9 +38,10 @@ httplib2
requests>=1.0.0
keyring
-# swift_auth test dependencies
-http://tarballs.openstack.org/swift/swift-master.tar.gz#egg=swift
netifaces
# For translations processing
Babel
+
+# For documentation
+oslo.sphinx
diff --git a/tests/test_backend.py b/tests/test_backend.py
index a43e92ae..7e4d820e 100644
--- a/tests/test_backend.py
+++ b/tests/test_backend.py
@@ -118,26 +118,25 @@ class IdentityTests(object):
self.assertEqual(unicode_name, ref['name'])
def test_get_project(self):
- tenant_ref = self.identity_api.get_project(
- tenant_id=self.tenant_bar['id'])
+ tenant_ref = self.identity_api.get_project(self.tenant_bar['id'])
self.assertDictEqual(tenant_ref, self.tenant_bar)
def test_get_project_404(self):
self.assertRaises(exception.ProjectNotFound,
self.identity_api.get_project,
- tenant_id=uuid.uuid4().hex)
+ uuid.uuid4().hex)
def test_get_project_by_name(self):
tenant_ref = self.identity_api.get_project_by_name(
- tenant_name=self.tenant_bar['name'],
- domain_id=DEFAULT_DOMAIN_ID)
+ self.tenant_bar['name'],
+ DEFAULT_DOMAIN_ID)
self.assertDictEqual(tenant_ref, self.tenant_bar)
def test_get_project_by_name_404(self):
self.assertRaises(exception.ProjectNotFound,
self.identity_api.get_project_by_name,
- tenant_name=uuid.uuid4().hex,
- domain_id=DEFAULT_DOMAIN_ID)
+ uuid.uuid4().hex,
+ DEFAULT_DOMAIN_ID)
def test_get_project_users(self):
tenant_ref = self.identity_api.get_project_users(self.tenant_baz['id'])
@@ -152,10 +151,10 @@ class IdentityTests(object):
def test_get_project_users_404(self):
self.assertRaises(exception.ProjectNotFound,
self.identity_api.get_project_users,
- tenant_id=uuid.uuid4().hex)
+ uuid.uuid4().hex)
def test_get_user(self):
- user_ref = self.identity_api.get_user(user_id=self.user_foo['id'])
+ user_ref = self.identity_api.get_user(self.user_foo['id'])
# NOTE(termie): the password field is left in user_foo to make
# it easier to authenticate in tests, but should
# not be returned by the api
@@ -165,12 +164,12 @@ class IdentityTests(object):
def test_get_user_404(self):
self.assertRaises(exception.UserNotFound,
self.identity_api.get_user,
- user_id=uuid.uuid4().hex)
+ uuid.uuid4().hex)
def test_get_user_by_name(self):
user_ref = self.identity_api.get_user_by_name(
- user_name=self.user_foo['name'],
- domain_id=DEFAULT_DOMAIN_ID)
+ self.user_foo['name'], DEFAULT_DOMAIN_ID)
+
# NOTE(termie): the password field is left in user_foo to make
# it easier to authenticate in tests, but should
# not be returned by the api
@@ -180,19 +179,18 @@ class IdentityTests(object):
def test_get_user_by_name_404(self):
self.assertRaises(exception.UserNotFound,
self.identity_api.get_user_by_name,
- user_name=uuid.uuid4().hex,
- domain_id=DEFAULT_DOMAIN_ID)
+ uuid.uuid4().hex,
+ DEFAULT_DOMAIN_ID)
def test_get_role(self):
- role_ref = self.identity_api.get_role(
- role_id=self.role_admin['id'])
+ role_ref = self.identity_api.get_role(self.role_admin['id'])
role_ref_dict = dict((x, role_ref[x]) for x in role_ref)
self.assertDictEqual(role_ref_dict, self.role_admin)
def test_get_role_404(self):
self.assertRaises(exception.RoleNotFound,
self.identity_api.get_role,
- role_id=uuid.uuid4().hex)
+ uuid.uuid4().hex)
def test_create_duplicate_role_name_fails(self):
role = {'id': 'fake1',
diff --git a/tests/test_keystoneclient.py b/tests/test_keystoneclient.py
index a26d6595..38062d4b 100644
--- a/tests/test_keystoneclient.py
+++ b/tests/test_keystoneclient.py
@@ -18,7 +18,6 @@ import uuid
import webob
from keystone import test
-from keystone import token
from keystone import config
from keystone.openstack.common import jsonutils
@@ -40,7 +39,6 @@ class CompatTestCase(test.TestCase):
# started because the servers use the backends.
self.load_backends()
- self.token_provider_api = token.provider.Manager()
self.load_fixtures(default_fixtures)
# TODO(termie): add an admin user to the fixtures and use that user
diff --git a/tests/test_s3_token_middleware.py b/tests/test_s3_token_middleware.py
index c4d56dc9..ec31f2ac 100644
--- a/tests/test_s3_token_middleware.py
+++ b/tests/test_s3_token_middleware.py
@@ -14,32 +14,13 @@
# License for the specific language governing permissions and limitations
# under the License.
-import logging
-
-import stubout
import unittest2 as unittest
import webob
-from swift.common import utils as swift_utils
-
from keystone.middleware import s3_token
from keystone.openstack.common import jsonutils
-def setUpModule(self):
- self.stubs = stubout.StubOutForTesting()
- # Stub out swift_utils.get_logger. get_logger tries to configure
- # syslogging to '/dev/log', which will fail on OS X.
-
- def fake_get_logger(config, log_route=None):
- return logging.getLogger(log_route)
- self.stubs.Set(swift_utils, 'get_logger', fake_get_logger)
-
-
-def tearDownModule(self):
- self.stubs.UnsetAll()
-
-
class FakeHTTPResponse(object):
def __init__(self, status, body):
self.status = status
@@ -211,3 +192,42 @@ class S3TokenMiddlewareTestBad(S3TokenMiddlewareTestBase):
s3_invalid_req = self.middleware.deny_request('InvalidURI')
self.assertEqual(resp.body, s3_invalid_req.body)
self.assertEqual(resp.status_int, s3_invalid_req.status_int)
+
+
+class S3TokenMiddlewareTestUtil(unittest.TestCase):
+ def test_split_path_failed(self):
+ self.assertRaises(ValueError, s3_token.split_path, '')
+ self.assertRaises(ValueError, s3_token.split_path, '/')
+ self.assertRaises(ValueError, s3_token.split_path, '//')
+ self.assertRaises(ValueError, s3_token.split_path, '//a')
+ self.assertRaises(ValueError, s3_token.split_path, '/a/c')
+ self.assertRaises(ValueError, s3_token.split_path, '//c')
+ self.assertRaises(ValueError, s3_token.split_path, '/a/c/')
+ self.assertRaises(ValueError, s3_token.split_path, '/a//')
+ self.assertRaises(ValueError, s3_token.split_path, '/a', 2)
+ self.assertRaises(ValueError, s3_token.split_path, '/a', 2, 3)
+ self.assertRaises(ValueError, s3_token.split_path, '/a', 2, 3, True)
+ self.assertRaises(ValueError, s3_token.split_path, '/a/c/o/r', 3, 3)
+ self.assertRaises(ValueError, s3_token.split_path, '/a', 5, 4)
+
+ def test_split_path_success(self):
+ self.assertEquals(s3_token.split_path('/a'), ['a'])
+ self.assertEquals(s3_token.split_path('/a/'), ['a'])
+ self.assertEquals(s3_token.split_path('/a/c', 2), ['a', 'c'])
+ self.assertEquals(s3_token.split_path('/a/c/o', 3), ['a', 'c', 'o'])
+ self.assertEquals(s3_token.split_path('/a/c/o/r', 3, 3, True),
+ ['a', 'c', 'o/r'])
+ self.assertEquals(s3_token.split_path('/a/c', 2, 3, True),
+ ['a', 'c', None])
+ self.assertEquals(s3_token.split_path('/a/c/', 2), ['a', 'c'])
+ self.assertEquals(s3_token.split_path('/a/c/', 2, 3), ['a', 'c', ''])
+
+ def test_split_path_invalid_path(self):
+ try:
+ s3_token.split_path('o\nn e', 2)
+ except ValueError, err:
+ self.assertEquals(str(err), 'Invalid path: o%0An%20e')
+ try:
+ s3_token.split_path('o\nn e', 2, 3, True)
+ except ValueError, err:
+ self.assertEquals(str(err), 'Invalid path: o%0An%20e')
diff --git a/tests/test_sql_upgrade.py b/tests/test_sql_upgrade.py
index 1ac3506f..5975fb9d 100644
--- a/tests/test_sql_upgrade.py
+++ b/tests/test_sql_upgrade.py
@@ -646,6 +646,22 @@ class SqlUpgradeTests(SqlMigrateBase):
'data': json.dumps({"roles": [role2['id']]})}
session.execute(metadata_table.insert().values(role_grant))
+ # Create another user to test the case where member_role_id is already
+ # assigned.
+ user2 = {'id': uuid.uuid4().hex,
+ 'name': uuid.uuid4().hex,
+ 'domain_id': domain['id'],
+ 'password': uuid.uuid4().hex,
+ 'enabled': True,
+ 'extra': json.dumps({})}
+ session.execute(user_table.insert().values(user2))
+
+ # Grant CONF.member_role_id to User2
+ role_grant = {'user_id': user2['id'],
+ 'tenant_id': project['id'],
+ 'data': json.dumps({"roles": [CONF.member_role_id]})}
+ session.execute(metadata_table.insert().values(role_grant))
+
session.commit()
self.upgrade(17)
@@ -687,6 +703,14 @@ class SqlUpgradeTests(SqlMigrateBase):
'data': data}
cmd = user_project_metadata_table.insert().values(role_grant)
self.engine.execute(cmd)
+
+ # Create another conflicting user-project for User2
+ data = json.dumps({"roles": [role2['id']]})
+ role_grant = {'user_id': user2['id'],
+ 'project_id': project['id'],
+ 'data': data}
+ cmd = user_project_metadata_table.insert().values(role_grant)
+ self.engine.execute(cmd)
# End Scaffolding
session.commit()
diff --git a/tests/test_token_provider.py b/tests/test_token_provider.py
index ac0b0d6b..a7e92717 100644
--- a/tests/test_token_provider.py
+++ b/tests/test_token_provider.py
@@ -333,7 +333,6 @@ class TestTokenProvider(test.TestCase):
def setUp(self):
super(TestTokenProvider, self).setUp()
self.load_backends()
- self.token_provider_api = token.provider.Manager()
def test_get_token_version(self):
self.assertEqual(
diff --git a/tests/test_v3.py b/tests/test_v3.py
index 60a52d69..4f00de7d 100644
--- a/tests/test_v3.py
+++ b/tests/test_v3.py
@@ -5,7 +5,6 @@ from lxml import etree
import webtest
from keystone import test
-from keystone import token
from keystone import auth
from keystone.common import serializer
@@ -45,8 +44,6 @@ class RestfulTestCase(test_content_types.RestfulTestCase):
test.setup_test_database()
self.load_backends()
- self.token_provider_api = token.provider.Manager()
-
self.public_app = webtest.TestApp(
self.loadapp('keystone', name='main'))
self.admin_app = webtest.TestApp(
diff --git a/tests/test_v3_identity.py b/tests/test_v3_identity.py
index 891f0c6a..f1e19c42 100644
--- a/tests/test_v3_identity.py
+++ b/tests/test_v3_identity.py
@@ -270,19 +270,19 @@ class IdentityTestCase(test_v3.RestfulTestCase):
# Check all the domain2 relevant entities are gone
self.assertRaises(exception.DomainNotFound,
self.identity_api.get_domain,
- domain_id=self.domain2['id'])
+ self.domain2['id'])
self.assertRaises(exception.ProjectNotFound,
self.identity_api.get_project,
- tenant_id=self.project2['id'])
+ self.project2['id'])
self.assertRaises(exception.GroupNotFound,
self.identity_api.get_group,
- group_id=self.group2['id'])
+ self.group2['id'])
self.assertRaises(exception.UserNotFound,
self.identity_api.get_user,
- user_id=self.user2['id'])
+ self.user2['id'])
self.assertRaises(exception.CredentialNotFound,
self.credential_api.get_credential,
- credential_id=self.credential2['id'])
+ self.credential2['id'])
# ...and that all self.domain entities are still here
r = self.identity_api.get_domain(self.domain['id'])
@@ -523,7 +523,7 @@ class IdentityTestCase(test_v3.RestfulTestCase):
# that reference this project
self.assertRaises(exception.CredentialNotFound,
self.credential_api.get_credential,
- credential_id=self.credential['id'])
+ self.credential['id'])
# And the no tokens we remain valid
tokens = self.token_api.list_tokens(self.user['id'])
self.assertEquals(len(tokens), 0)