summaryrefslogtreecommitdiffstats
path: root/keystone/locale
diff options
context:
space:
mode:
authorOpenStack Jenkins <jenkins@openstack.org>2013-05-21 17:06:15 +0000
committerOpenStack Jenkins <jenkins@openstack.org>2013-05-21 17:06:15 +0000
commitcf0021af451376815cbf845c90a1254cfb52ffbc (patch)
treede1517b22168a40dc6b03a1245eff91ec0a2384e /keystone/locale
parent8d2b8e6457d5ae0ed1136091cb8c143a96abd614 (diff)
downloadkeystone-cf0021af451376815cbf845c90a1254cfb52ffbc.tar.gz
keystone-cf0021af451376815cbf845c90a1254cfb52ffbc.tar.xz
keystone-cf0021af451376815cbf845c90a1254cfb52ffbc.zip
Imported Translations from Transifex
Change-Id: I28403102c86512d1d934e6d1b065ef3b9e3949d6
Diffstat (limited to 'keystone/locale')
-rw-r--r--keystone/locale/bg_BG/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/ca/LC_MESSAGES/keystone.po553
-rw-r--r--keystone/locale/cs/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/da/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/es/LC_MESSAGES/keystone.po579
-rw-r--r--keystone/locale/fi_FI/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/fr/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/hu/LC_MESSAGES/keystone.po465
-rw-r--r--keystone/locale/it/LC_MESSAGES/keystone.po568
-rw-r--r--keystone/locale/ja/LC_MESSAGES/keystone.po555
-rw-r--r--keystone/locale/ka_GE/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/keystone.pot142
-rw-r--r--keystone/locale/ko_KR/LC_MESSAGES/keystone.po171
-rw-r--r--keystone/locale/pt_BR/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/ru/LC_MESSAGES/keystone.po555
-rw-r--r--keystone/locale/vi_VN/LC_MESSAGES/keystone.po554
-rw-r--r--keystone/locale/zh_CN/LC_MESSAGES/keystone.po554
17 files changed, 8351 insertions, 223 deletions
diff --git a/keystone/locale/bg_BG/LC_MESSAGES/keystone.po b/keystone/locale/bg_BG/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..5a9853e2
--- /dev/null
+++ b/keystone/locale/bg_BG/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Bulgarian (Bulgaria) 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Bulgarian (Bulgaria) "
+"(http://www.transifex.com/projects/p/openstack/language/bg_BG/)\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 0.9.6\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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/ca/LC_MESSAGES/keystone.po b/keystone/locale/ca/LC_MESSAGES/keystone.po
index 532a554a..e7596d8c 100644
--- a/keystone/locale/ca/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ca/LC_MESSAGES/keystone.po
@@ -1,4 +1,4 @@
-# Translations template for OpenStack Keystone.
+# Catalan translations for OpenStack Keystone.
# Copyright (C) 2012 OpenStack Foundation
# This file is distributed under the same license as the keystone project.
#
@@ -6,35 +6,556 @@
# Sergi Almacellas <pokoli@gmail.com>, 2012.
msgid ""
msgstr ""
-"Project-Id-Version: Keystone\n"
+"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2012-11-15 23:10+0000\n"
+"POT-Creation-Date: 2013-05-21 17:06+0000\n"
"PO-Revision-Date: 2012-11-03 03:08+0000\n"
"Last-Translator: Sergi Almacellas <pokoli@gmail.com>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: ca <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-"Language: ca\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: keystone/config.py:62
+#: 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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, 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:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+#, fuzzy
+msgid "Unable to sign token."
+msgstr "No es pot afegir el token a la llista d'usuaris."
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
msgid "Invalid syslog facility"
msgstr "Fitxer syslog invàlid"
-#: keystone/policy/backends/rules.py:34
-msgid "JSON file representing policy"
-msgstr "Fitxer JSON que repsenta la politica"
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
-#: keystone/policy/backends/rules.py:37
-msgid "Rule checked when requested rule is not found"
-msgstr "Marca la regla quan aquesta no es troba"
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
-#: keystone/token/backends/memcache.py:81
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
msgid "Unable to add token user list."
msgstr "No es pot afegir el token a la llista d'usuaris."
-#: keystone/token/backends/memcache.py:91
+#: keystone/token/backends/memcache.py:93
msgid "Unable to add token to revocation list."
msgstr "No es pot afegir el token a la llista de revocats."
+
+#~ msgid "JSON file representing policy"
+#~ msgstr "Fitxer JSON que repsenta la politica"
+
+#~ msgid "Rule checked when requested rule is not found"
+#~ msgstr "Marca la regla quan aquesta no es troba"
+
diff --git a/keystone/locale/cs/LC_MESSAGES/keystone.po b/keystone/locale/cs/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..777dabd6
--- /dev/null
+++ b/keystone/locale/cs/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Czech 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Czech "
+"(http://www.transifex.com/projects/p/openstack/language/cs/)\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\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"
+
+#: 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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/da/LC_MESSAGES/keystone.po b/keystone/locale/da/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..9fde70c8
--- /dev/null
+++ b/keystone/locale/da/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Danish 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Danish "
+"(http://www.transifex.com/projects/p/openstack/language/da/)\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 0.9.6\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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/es/LC_MESSAGES/keystone.po b/keystone/locale/es/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..d25c4bb1
--- /dev/null
+++ b/keystone/locale/es/LC_MESSAGES/keystone.po
@@ -0,0 +1,579 @@
+# Spanish 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-21 09:13+0000\n"
+"Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
+"Language-Team: Spanish "
+"(http://www.transifex.com/projects/p/openstack/language/es/)\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 0.9.6\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr "%s no puede estar vacío."
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr "%(property_name)s no puede tener menos de %(min_length)s caracteres."
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr "%(property_name)s no debe tener más de %(max_length)s caracteres."
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr "No se ha podido extraer %s"
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr "El proyecto está inhabilitado: %s"
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr "El dominio está inhabilitado: %s"
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr "El usuario está inhabilitado: %s"
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr "El ámbito para dominio y proyecto no está permitido"
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr "El ámbito para dominio y confianza no está permitido"
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr "El ámbito para proyecto y confianza no está permitido"
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr "No se ha podido buscar el usuario %s"
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr "Usuario no encontrado"
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr "El usuario no tiene acceso al proyecto"
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr "El usuario no tiene acceso al dominio"
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr "No se ha podido firmar la señal."
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+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."
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr ""
+"Punto final formado incorrectamente %(url)s - clave desconocida "
+"%(keyerror)s"
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+"Punto final con formato incorrecto %(url)s - clave desconocida "
+"%(keyerror)s (¿Faltan corchetes?)"
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+"Punto final con formato incorrecto %s - formato incompleto"
+" (¿Le falta un notificador de tipo?)"
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr "No se puede abrir el archivo de plantilla %s"
+
+#: keystone/common/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr "PERF HTTP: %(time).5f segundos en %(method)s %(host)s:%(port)s %(path)s)"
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr "Verificar error: %s"
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+"Error de firma: no se ha podido cargar el certificado; asegúrese de haber"
+" configurado la PKI con 'keystone-manage pki_setup'"
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr "Error de firma: %s"
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+"No se puede localizar el archivo de configuración de registro "
+"especificado: %s"
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr "Recurso syslog no válido"
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr "RBAC: Autorizando %s(%s)"
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr "RBAC: Señal no válida"
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr "RBAC: Usuario no válido"
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr "RBAC: continuando sin proyecto"
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr "RBAC: Continuando sin arrendatario"
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr "RBAC: Eludiendo autorización"
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr "RBAC: Autorización otorgada"
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr "RBAC: añadiendo parámetros de filtro de consultas (%s)"
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr "Señal no válida en normalize_domain_id"
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr "Iniciando %(arg0)s en %(host)s:%(port)s"
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr "Error de servidor"
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr "arg_dict: %s"
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr "Ha fallado la autorización. %s de %s"
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+msgstr "El recurso no se ha podido encontrar."
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr "Opción deref de LDAP no válida: %s. Elija una de las siguientes: "
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP tls certs option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr "Ámbito de LDAP no válido: %s. Elija uno de los siguientes: "
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr "Nombre duplicado, %s."
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr "ID duplicado, %s."
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr "Creación de LDAP %s"
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr "Actualización de LDAP %s"
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr "Supresión de LDAP %s"
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr "Inicialización de LDAP: url=%s"
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr "Enlace de LDAP: dn=%s"
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr "Adición de LDAP: dn=%s, attrs=%s"
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr "Búsqueda LDAP: dn=%s, scope=%s, query=%s, attrs=%s"
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+"El servidor LDAP no soporta la paginación. Inhabilite la paginación en "
+"keystone.conf para evitar este mensaje."
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr "Modificación de LDAP: dn=%s, modlist=%s"
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr "Supresión de LDAP: dn=%s"
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, serverctrls=%s"
+msgstr "LDAP delete_ext: dn=%s, serverctrls=%s"
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr "Inicialización de FakeLDAP url=%s"
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr "Enlace de FakeLDAP dn=%s"
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr "Error de enlace de FakeLDAP: dn=%s no encontrado"
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr "Error de enlace FakeLDAP: contraseña de dn=%s no encontrada"
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr "Error de enlace FakeLDAP: contraseña de dn=%s no coincide"
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%s, attrs=%s"
+msgstr "Añadir elemento de FakeLDAP: dn=%s, attrs=%s"
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+"Ha fallado la adición de elemento de FakeLDAP: dn=%s ya está en el "
+"almacén."
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr "Supresión de elemento de FakeLDAP: dn=%s"
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr "Ha fallado la supresión de elemento de FakeLDAP: dn=%s no encontrado."
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr "Modificación de elemento de FakeLDAP: dn=%s attrs=%s"
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr "Ha fallado la modificación de elemento de FakeLDAP: dn=%s no encontrado."
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+"Ha fallado la modificación de elemento de FakeLDAP: el elemento no tiene "
+"atributos \"%s\" a suprimir"
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+"Se ha encontrado un error en la modificación de elemento de FakeLdap: el "
+"elemento no tiene ningún atributo \"%s\" con el valor \"%s\" para "
+"suprimir"
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+"Ha fallado la modificación de elemento de FakeLDAP: mandato desconocido "
+"%s "
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr "Acción modify_s %s no implementada"
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr "Búsqueda de FakeLDAP en dn=%s scope=%s query=%s"
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+"Error de búsqueda de FakeLDAP: nombre distinguido no encontrado para "
+"SCOPE_BASE"
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr "Ámbito de búsqueda %s no implementado."
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr "Se ha notificado que mysql server ha desaparecido: %s"
+
+#: keystone/common/sql/legacy.py:180
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr "No se puede migrar la credencial EC2: %s "
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr "la versión debe ser un entero"
+
+#: keystone/common/sql/nova.py:62
+#, python-format
+msgid "Create tenant %s"
+msgstr "Crear el arrendatario %s"
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr "Crear el usuario %s"
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr "Añadir el usuario %s al arrendatario %s"
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr "Ignorando el rol existente %s"
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr "Crear el rol %s"
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr "Asignar el rol %s al usuario %s en el arrendatario %s"
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr "Creando credencial ec2 para el usuario %s y el arrendatario %s"
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr "Usuario no encontrado en grupo"
+
+#: keystone/identity/backends/sql.py:424
+#, 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/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr "No se ha encontrado el rol %s"
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr "LDAP no soporta el cambio de nombre"
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr "El usuario %s ya es miembro del grupo %s"
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr "No se ha podido comprender la regla %(rule)s"
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr "No hay manejador para coincidencias de clase %s"
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr "No se ha podido comprender la regla %(rule)r"
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr "imponer %s: %s"
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr "La señal no pertenece al arrendatario especificado."
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr "El dominio no predeterminado no está soportado"
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr "La señal con ámbito de dominio no está soportada"
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr "No se puede añadir lista de usuarios de señal."
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr "No se puede añadir señal a lista de revocación. "
+
diff --git a/keystone/locale/fi_FI/LC_MESSAGES/keystone.po b/keystone/locale/fi_FI/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..b7fc6e07
--- /dev/null
+++ b/keystone/locale/fi_FI/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Finnish (Finland) 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Finnish (Finland) "
+"(http://www.transifex.com/projects/p/openstack/language/fi_FI/)\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 0.9.6\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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/fr/LC_MESSAGES/keystone.po b/keystone/locale/fr/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..a03ebcf5
--- /dev/null
+++ b/keystone/locale/fr/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# French 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: French "
+"(http://www.transifex.com/projects/p/openstack/language/fr/)\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 0.9.6\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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/hu/LC_MESSAGES/keystone.po b/keystone/locale/hu/LC_MESSAGES/keystone.po
index 0abf77c8..c2d5f69f 100644
--- a/keystone/locale/hu/LC_MESSAGES/keystone.po
+++ b/keystone/locale/hu/LC_MESSAGES/keystone.po
@@ -1,24 +1,23 @@
-# Translations template for keystone.
+# Hungarian translations for keystone.
# Copyright (C) 2013 ORGANIZATION
# This file is distributed under the same license as the keystone project.
-#
+#
# Translators:
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
-# <kelemeng@gnome.hu>, 2012.
+# <kelemeng@gnome.hu>, 2012.
msgid ""
msgstr ""
-"Project-Id-Version: Keystone\n"
+"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-01-01 00:00+0000\n"
+"POT-Creation-Date: 2013-05-21 17:06+0000\n"
"PO-Revision-Date: 2012-12-15 14:14+0000\n"
"Last-Translator: kelemeng <kelemeng@gnome.hu>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: hu <LL@li.org>\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-"Language: hu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: keystone/clean.py:23
#, python-format
@@ -32,28 +31,72 @@ msgstr "%(property_name)s nem lehet kevesebb, mint %(min_length)s karakter."
#: keystone/clean.py:29
#, python-format
-msgid ""
-"%(property_name)s should not be greater than %(max_length)s characters."
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
msgstr "%(property_name)s nem lehet több, mint %(max_length)s karakter."
#: keystone/clean.py:36
-#, python-format
-msgid "%(property_name)s is not a%(display_expected_type)s"
+#, fuzzy, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr "%(property_name)s nem %(display_expected_type)s"
-#: keystone/config.py:44
+#: keystone/test.py:115
#, python-format
-msgid "Unable to locate specified logging config file: %s"
-msgstr "Nem található a megadott naplózásbeállító fájl: %s"
+msgid "Failed to checkout %s"
+msgstr "Nem sikerült %s kiiktatása"
-#: keystone/config.py:62
-msgid "Invalid syslog facility"
-msgstr "Érvénytelen rendszernapló szolgáltatás"
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
-#: keystone/test.py:103
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
#, python-format
-msgid "Failed to checkout %s"
-msgstr "Nem sikerült %s kiiktatása"
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, fuzzy, python-format
+msgid "Unable to lookup user %s"
+msgstr "Nem vehető fel a token felhasználólistája."
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+#, fuzzy
+msgid "Unable to sign token."
+msgstr "Nem vehető fel a token felhasználólistája."
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+msgstr ""
#: keystone/catalog/core.py:38
#, python-format
@@ -65,13 +108,15 @@ msgstr "Rosszul formázott végpont: %(url)s - ismeretlen kulcs: %(keyerror)s"
msgid ""
"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
"brackets ?)"
-msgstr "Rosszul formázott végpont: %(url)s - ismeretlen kulcs: %(keyerror)s (hiányoznak a zárójelek?)"
+msgstr ""
+"Rosszul formázott végpont: %(url)s - ismeretlen kulcs: %(keyerror)s "
+"(hiányoznak a zárójelek?)"
#: keystone/catalog/core.py:49
#, python-format
msgid ""
-"Malformed endpoint %s - incomplete format (are you missing"
-" a type notifier ?)"
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
msgstr "Rosszul formázott végpont: %s hiányos formátum (hiányzik egy típusjelölő?)"
#: keystone/catalog/backends/templated.py:109
@@ -81,233 +126,463 @@ msgstr "Nem nyitható meg a sablonfájl: %s"
#: keystone/common/bufferedhttp.py:102
#, python-format
-msgid ""
-"HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
-msgstr "HTTP PERF: %(time).5f másodperc eddig: %(method)s %(host)s:%(port)s %(path)s)"
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+"HTTP PERF: %(time).5f másodperc eddig: %(method)s %(host)s:%(port)s "
+"%(path)s)"
#: keystone/common/cms.py:44
#, python-format
msgid "Verify error: %s"
msgstr "Ellenőrzési hiba: %s"
-#: keystone/common/cms.py:134
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
#, python-format
msgid "Signing error: %s"
msgstr "Aláírási hiba: %s"
-#: keystone/common/utils.py:124
-msgid "using _calc_signature_2"
-msgstr "a _calc_signature_2 használata"
-
-#: keystone/common/utils.py:140
+#: keystone/common/config.py:93
#, python-format
-msgid "query string: %s"
-msgstr "lekérdezési karakterlánc: %s"
+msgid "Unable to locate specified logging config file: %s"
+msgstr "Nem található a megadott naplózásbeállító fájl: %s"
-#: keystone/common/utils.py:142
-#, python-format
-msgid "string_to_sign: %s"
-msgstr "string_to_sign: %s"
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr "Érvénytelen rendszernapló szolgáltatás"
-#: keystone/common/utils.py:145
+#: keystone/common/controller.py:19
#, python-format
-msgid "len(b64)=%d"
-msgstr "len(b64)=%d"
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
-#: keystone/common/utils.py:146
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
#, python-format
-msgid "base64 encoded digest: %s"
-msgstr "base64 kódolási kivonat: %s"
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
-#: keystone/common/wsgi.py:73
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
#, python-format
msgid "Starting %(arg0)s on %(host)s:%(port)s"
msgstr "%(arg0)s indítása ezen: %(host)s:%(port)s"
-#: keystone/common/wsgi.py:196
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
#, python-format
msgid "arg_dict: %s"
msgstr "arg_dict: %s"
-#: keystone/common/wsgi.py:217
+#: keystone/common/wsgi.py:267
#, python-format
msgid "Authorization failed. %s from %s"
msgstr "Hitelesítés sikertelen. %s innen: %s"
-#: keystone/common/wsgi.py:430
+#: keystone/common/wsgi.py:510
msgid "The resource could not be found."
msgstr "Az erőforrás nem található."
-#: keystone/common/ldap/core.py:171
+#: 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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
#, python-format
msgid "Duplicate name, %s."
msgstr "Többszörös név: %s."
-#: keystone/common/ldap/core.py:181
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
#, python-format
msgid "Duplicate ID, %s."
msgstr "Többszörös azonosító: %s."
-#: keystone/common/ldap/core.py:186
+#: keystone/common/ldap/core.py:289
#, python-format
-msgid "LDAP backend does not allow %s create"
-msgstr "Az LDAP háttérprogram nem engedélyezi %s létrehozását"
+msgid "LDAP %s create"
+msgstr ""
-#: keystone/common/ldap/core.py:293
+#: keystone/common/ldap/core.py:367
#, python-format
-msgid "LDAP backend does not allow %s update"
-msgstr "Az LDAP háttérprogram nem engedélyezi %s frissítését"
+msgid "LDAP %s update"
+msgstr ""
-#: keystone/common/ldap/core.py:321
+#: keystone/common/ldap/core.py:398
#, python-format
-msgid "LDAP backend does not allow %s delete"
-msgstr "Az LDAP háttérprogram nem engedélyezi %s törlését"
+msgid "LDAP %s delete"
+msgstr ""
-#: keystone/common/ldap/fakeldap.py:148
+#: keystone/common/ldap/core.py:423
+#, fuzzy, python-format
+msgid "LDAP init: url=%s"
+msgstr "FakeLdap előkészítési url=%s"
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, fuzzy, python-format
+msgid "LDAP bind: dn=%s"
+msgstr "FakeLdap bind dn=%s"
+
+#: keystone/common/ldap/core.py:501
+#, fuzzy, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr "FakeLdap elem hozzáadása: dn=%s, attrs=%s"
+
+#: keystone/common/ldap/core.py:506
+#, fuzzy, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr "FakeLdap keresés itt: dn=%s hatókör=%s lekérdezés=%s"
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, fuzzy, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr "FakeLdap elem módosítása: dn=%s attrs=%s"
+
+#: keystone/common/ldap/core.py:579
+#, fuzzy, python-format
+msgid "LDAP delete: dn=%s"
+msgstr "FakeLdap elem törlése: dn=%s"
+
+#: keystone/common/ldap/core.py:583
+#, fuzzy, python-format
+msgid "LDAP delete_ext: dn=%s, serverctrls=%s"
+msgstr "FakeLdap elem hozzáadása: dn=%s, attrs=%s"
+
+#: keystone/common/ldap/fakeldap.py:146
#, python-format
msgid "FakeLdap initialize url=%s"
msgstr "FakeLdap előkészítési url=%s"
-#: keystone/common/ldap/fakeldap.py:158
+#: keystone/common/ldap/fakeldap.py:156
#, python-format
msgid "FakeLdap bind dn=%s"
msgstr "FakeLdap bind dn=%s"
-#: keystone/common/ldap/fakeldap.py:165
+#: keystone/common/ldap/fakeldap.py:163
#, python-format
msgid "FakeLdap bind fail: dn=%s not found"
msgstr "FakeLdap bind hiba: dn=%s nem található"
-#: keystone/common/ldap/fakeldap.py:172
+#: keystone/common/ldap/fakeldap.py:170
#, python-format
msgid "FakeLdap bind fail: password for dn=%s not found"
msgstr "FakeLdap bind hiba: a jelszó nem található ehhez: dn=%s"
-#: keystone/common/ldap/fakeldap.py:177
+#: keystone/common/ldap/fakeldap.py:175
#, python-format
msgid "FakeLdap bind fail: password for dn=%s does not match"
msgstr "FakeLdap bind hiba: a jelszó nem egyezik ehhez: dn=%s"
-#: keystone/common/ldap/fakeldap.py:192
+#: keystone/common/ldap/fakeldap.py:190
#, python-format
msgid "FakeLdap add item: dn=%s, attrs=%s"
msgstr "FakeLdap elem hozzáadása: dn=%s, attrs=%s"
-#: keystone/common/ldap/fakeldap.py:194
+#: keystone/common/ldap/fakeldap.py:192
#, python-format
msgid "FakeLdap add item failed: dn=%s is already in store."
msgstr "FakeLdap elem hozzáadása sikertelen: dn=%s már a tárolóban van."
-#: keystone/common/ldap/fakeldap.py:208 keystone/common/ldap/fakeldap.py:222
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
#, python-format
msgid "FakeLdap delete item: dn=%s"
msgstr "FakeLdap elem törlése: dn=%s"
-#: keystone/common/ldap/fakeldap.py:212 keystone/common/ldap/fakeldap.py:226
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
#, python-format
msgid "FakeLdap delete item failed: dn=%s not found."
msgstr "FakeLdap elem törlése sikertelen: dn=%s nem található."
-#: keystone/common/ldap/fakeldap.py:241
+#: keystone/common/ldap/fakeldap.py:239
#, python-format
msgid "FakeLdap modify item: dn=%s attrs=%s"
msgstr "FakeLdap elem módosítása: dn=%s attrs=%s"
-#: keystone/common/ldap/fakeldap.py:245
+#: keystone/common/ldap/fakeldap.py:243
#, python-format
msgid "FakeLdap modify item failed: dn=%s not found."
msgstr "FakeLdap elem módosítása sikertelen: dn=%s nem található."
-#: keystone/common/ldap/fakeldap.py:262
+#: keystone/common/ldap/fakeldap.py:260
#, python-format
msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
-msgstr "FakeLdap elem módosítása sikertelen: az elemnek nincs törölhető „%s” attribútuma"
+msgstr ""
+"FakeLdap elem módosítása sikertelen: az elemnek nincs törölhető „%s” "
+"attribútuma"
-#: keystone/common/ldap/fakeldap.py:273
+#: keystone/common/ldap/fakeldap.py:271
#, python-format
msgid ""
-"FakeLdap modify item failed: item has no attribute \"%s\" with value \"%s\" "
-"to delete"
-msgstr "FakeLdap elem módosítása sikertelen: az elemnek nincs törölhető „%s” attribútuma „%s” értékkel"
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+"FakeLdap elem módosítása sikertelen: az elemnek nincs törölhető „%s” "
+"attribútuma „%s” értékkel"
-#: keystone/common/ldap/fakeldap.py:278
+#: keystone/common/ldap/fakeldap.py:276
#, python-format
msgid "FakeLdap modify item failed: unknown command %s"
msgstr "FakeLdap elem módosítása sikertelen: ismeretlen parancs: %s"
-#: keystone/common/ldap/fakeldap.py:280
+#: keystone/common/ldap/fakeldap.py:278
#, python-format
msgid "modify_s action %s not implemented"
msgstr "modify_s %s művelet nincs megvalósítva"
-#: keystone/common/ldap/fakeldap.py:298
+#: keystone/common/ldap/fakeldap.py:296
#, python-format
msgid "FakeLdap search at dn=%s scope=%s query=%s"
msgstr "FakeLdap keresés itt: dn=%s hatókör=%s lekérdezés=%s"
-#: keystone/common/ldap/fakeldap.py:304
+#: keystone/common/ldap/fakeldap.py:302
msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
msgstr "FakeLdap keresés sikertelen: a dn nem található a SCOPE_BASE-hez"
-#: keystone/common/ldap/fakeldap.py:318
+#: keystone/common/ldap/fakeldap.py:316
#, python-format
msgid "Search scope %s not implemented."
msgstr "A(z) %s keresési hatókör nincs megvalósítva."
-#: keystone/common/sql/core.py:163
+#: keystone/common/sql/core.py:207
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr "A kapott MySQL szerver eltűnt: %s"
-#: keystone/common/sql/legacy.py:174
+#: keystone/common/sql/legacy.py:180
#, python-format
msgid "Cannot migrate EC2 credential: %s"
msgstr "Nem migrálhatók az EC2 hitelesítési adatok: %s"
-#: keystone/common/sql/nova.py:58
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr ""
+
+#: keystone/common/sql/nova.py:62
#, python-format
msgid "Create tenant %s"
msgstr "%s bérlő létrehozása"
-#: keystone/common/sql/nova.py:74
+#: keystone/common/sql/nova.py:79
#, python-format
msgid "Create user %s"
msgstr "%s felhasználó létrehozása"
-#: keystone/common/sql/nova.py:83
+#: keystone/common/sql/nova.py:88
#, python-format
msgid "Add user %s to tenant %s"
msgstr "%s felhasználó hozzáadása %s bérlőhöz"
-#: keystone/common/sql/nova.py:91
+#: keystone/common/sql/nova.py:96
#, python-format
msgid "Ignoring existing role %s"
msgstr "Meglévő %s szerep figyelmen kívül hagyása"
-#: keystone/common/sql/nova.py:98
+#: keystone/common/sql/nova.py:103
#, python-format
msgid "Create role %s"
msgstr "%s szerep létrehozása"
-#: keystone/common/sql/nova.py:108
+#: keystone/common/sql/nova.py:113
#, python-format
msgid "Assign role %s to user %s on tenant %s"
msgstr "%s szerep hozzárendelése %s felhasználóhoz %s bérlőben"
-#: keystone/common/sql/nova.py:123
+#: keystone/common/sql/nova.py:128
#, python-format
msgid "Creating ec2 cred for user %s and tenant %s"
msgstr "EC2 hitelesítési adatok létrehozása %s felhasználóhoz és %s bérlőhöz"
-#: keystone/policy/backends/rules.py:95
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
#, python-format
msgid "enforce %s: %s"
msgstr "%s kikényszerítése: %s"
-#: keystone/token/backends/memcache.py:81
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
msgid "Unable to add token user list."
msgstr "Nem vehető fel a token felhasználólistája."
-#: keystone/token/backends/memcache.py:91
+#: keystone/token/backends/memcache.py:93
msgid "Unable to add token to revocation list."
msgstr "A token nem adható a visszavonási listához."
+
+#~ msgid "using _calc_signature_2"
+#~ msgstr "a _calc_signature_2 használata"
+
+#~ msgid "query string: %s"
+#~ msgstr "lekérdezési karakterlánc: %s"
+
+#~ msgid "string_to_sign: %s"
+#~ msgstr "string_to_sign: %s"
+
+#~ msgid "len(b64)=%d"
+#~ msgstr "len(b64)=%d"
+
+#~ msgid "base64 encoded digest: %s"
+#~ msgstr "base64 kódolási kivonat: %s"
+
+#~ msgid "LDAP backend does not allow %s create"
+#~ msgstr "Az LDAP háttérprogram nem engedélyezi %s létrehozását"
+
+#~ msgid "LDAP backend does not allow %s update"
+#~ msgstr "Az LDAP háttérprogram nem engedélyezi %s frissítését"
+
+#~ msgid "LDAP backend does not allow %s delete"
+#~ msgstr "Az LDAP háttérprogram nem engedélyezi %s törlését"
+
diff --git a/keystone/locale/it/LC_MESSAGES/keystone.po b/keystone/locale/it/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..2cd70075
--- /dev/null
+++ b/keystone/locale/it/LC_MESSAGES/keystone.po
@@ -0,0 +1,568 @@
+# Italian 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Italian "
+"(http://www.transifex.com/projects/p/openstack/language/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 0.9.6\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr "%s non può essere vuoto."
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr "%(property_name)s non può essere inferiore a %(min_length)s caratteri."
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr "%(property_name)s non può essere superiore a %(max_length)s caratteri."
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr "Impossibile eseguire il checkout %s"
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr "Il progetto è disabilitato: %s"
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr "Il dominio è disabilitato: %s"
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr "L'utente è disabilitato: %s"
+
+#: keystone/auth/controllers.py:265
+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:268
+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:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr "Il controllo sia delprogetto che di trust non è consentito"
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr "Impossibile eseguire la ricerca dell'utente %s"
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr "Utente non trovato"
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr "L'utente non ha accesso al progetto"
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr "L'utente non ha accesso al dominio"
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr "Impossibile firmare il token."
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+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."
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr "Endpoint %(url)s non valdio - chiave sconosciuta %(keyerror)s"
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr ""
+"Endpoint %(url)s non corretto - chiave sconosciuta %(keyerror)s(mancano "
+"le parentesi?)"
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr ""
+"Endpoint %s non corretto - formato non completo (manca "
+"un notifier del tipo ?)"
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr "Impossibile aprire il file di template %s"
+
+#: keystone/common/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr "HTTP PERF: %(time).5f secondi a %(method)s %(host)s:%(port)s %(path)s)"
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr "Verifica errore: %s"
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+"errore di firma: impossibile caricare il certificato - assicurarsi che "
+"sia stato configurato PKI con 'keystone-manage pki_setup'"
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr "Errore di firma: %s"
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr "Impossibile individuare il file config di registrazione specificato: %s"
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr "Funzione syslog non valida"
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr "RBAC: autorizzazione %s(%s)"
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr "RBAC: token non valido"
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr "RBAC: utente non valido"
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr "RBAC: si procede senza progetto"
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr "RBAC: si procede senza tenant"
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr "RBAC: autorizzazione oltrepassata"
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr "RBAC: autorizzazione concessa"
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr "RBAC: aggiunta parametri del filtro della query (%s)"
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr "Token non valido in normalize_domain_id"
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr "Avvio %(arg0)s in %(host)s:%(port)s"
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr "Errore del server"
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr "arg_dict: %s"
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr "Autorizzazione non riuscita. %s da %s"
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+msgstr "Impossibile trovare la risorsa."
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr "Opzione deref LDAP non valida: %s. Sceglierne una di: "
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP tls certs option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr "Ambito LDAP non valido: %s. Sceglierne uno di: "
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr "Nome duplicato, %s."
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr "ID duplicato, %s."
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr "LDAP %s crea"
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr "LDAP %s aggiorna"
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr "LDAP %s elimina"
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr "LDAP inizializza: url=%s"
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr "LDAP bind: dn=%s"
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr "LDAP aggiunge: dn=%s, attrs=%s"
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr "Ricerca LDAP: dn=%s, scope=%s, query=%s, attrs=%s"
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+"Il server LDAP non supporta la paginazione. Disabilitare la paginazione "
+"in keystone.conf per evitare questo messaggio."
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr "LDAP modifica: dn=%s, modlist=%s"
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr "LDAP elimina: dn=%s"
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, serverctrls=%s"
+msgstr "LDAP delete_ext: dn=%s, serverctrls=%s"
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr "FakeLdap inizializza url=%s"
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr "FakeLdap bind dn=%s"
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr "FakeLdap bind non riuscito: dn=%s non trovato"
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr "FakeLdap bind non riuscito: password per dn=%s non tovato"
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr "FakeLdap bind non riuscito: password per dn=%s non corrisponde"
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%s, attrs=%s"
+msgstr "FakeLdap aggiunge elemento: dn=%s, attrs=%s"
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr "FakeLdap aggiunta elemento non riuscita: dn=%s è già nell'archivio."
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr "FakeLdap elimina elemento: dn=%s"
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr "FakeLdap elimina elemento non riuscito: dn=%s non trovato."
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr "FakeLdap modifica elemento: dn=%s attrs=%s"
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr "FakeLdap modifica elemento: dn=%s non trovato."
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+"FakeLdap modifica elemento non riuscito: l'elemento non ha nessun "
+"attributo \"%s\" da eliminare"
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+"Modifica elemento FakeLdap non riuscita: l'elemento non ha nessun "
+"attributo \"%s\" con il valore \"%s\" da eliminare"
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr "FakeLdap modifica elemento non riuscito: comando %s sconosciuto"
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr "modify_s azione %s non implementata"
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr "FakeLdap ricerca in dn=%s scope=%s query=%s"
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr "FakeLdap ricerca non riuscita: dn non trovato per SCOPE_BASE"
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr "Ambito di ricerca %s non implementato."
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr "Ricevuto messaggio di interruzione della connessione del server mysql: %s"
+
+#: keystone/common/sql/legacy.py:180
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr "Impossibile migrare la credenziale EC2: %s"
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr "la versione deve essere un numero intero"
+
+#: keystone/common/sql/nova.py:62
+#, python-format
+msgid "Create tenant %s"
+msgstr "Crea tenant %s"
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr "Crea utente %s"
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr "Aggiungi utente %s al tenant %s"
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr "Il ruolo esistente viene ignorato %s"
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr "Crea ruolo %s"
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr "Assegna il ruolo %s all'utente %s nel tenant %s"
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr "Creazione credenziale ec2 per l'utente %s e del tenant %s"
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr "Utente non trovato nel gruppo"
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr "Impossibile rimuovere un ruolo che non è stato concesso, %s"
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr "Ruolo %s non trovato"
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr "Modifica nome non supportato da LDAP"
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr "L'utente %s è già membro del gruppo %s"
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr "Impossibile comprendere la regola %(rule)s"
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr "Nessun gestore per le corrispondenze di tipo %s"
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr "Impossibile comprendere la regola %(rule)r"
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr "applica %s: %s"
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr "Il token non appartiene al tenant specificato."
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr "Il dominio non predefinito non è supportato"
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr "L'ambito del dominio token non è supportato"
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr "Impossibile aggiungere un elenco utenti token."
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr "Impossibile aggiungere un token ad un elenco di revoca."
+
diff --git a/keystone/locale/ja/LC_MESSAGES/keystone.po b/keystone/locale/ja/LC_MESSAGES/keystone.po
index 20cbfdae..292c20dc 100644
--- a/keystone/locale/ja/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ja/LC_MESSAGES/keystone.po
@@ -1,4 +1,3 @@
-Translations template for OpenStack Keystone.
# Copyright (C) 2012 OpenStack Foundation
# This file is distributed under the same license as the keystone project.
#
@@ -6,35 +5,559 @@ Translations template for OpenStack Keystone.
# Tomoyuki KATO <tomo@dream.daynight.jp>, 2012.
msgid ""
msgstr ""
-"Project-Id-Version: Keystone\n"
+"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2012-11-15 23:10+0000\n"
+"POT-Creation-Date: 2013-05-21 17:06+0000\n"
"PO-Revision-Date: 2012-11-03 01:25+0000\n"
"Last-Translator: Tomoyuki KATO <tomo@dream.daynight.jp>\n"
-"Language-Team: Japanese (http://www.transifex.com/projects/p/openstack/language/ja/)\n"
+"Language-Team: Japanese "
+"(http://www.transifex.com/projects/p/openstack/language/ja/)\n"
+"Plural-Forms: nplurals=1; plural=0\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-"Language: ja\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-#: keystone/config.py:62
+#: 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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, fuzzy, python-format
+msgid "Unable to lookup user %s"
+msgstr "ユーザーリストにトークンを追加できません。"
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+#, fuzzy
+msgid "Unable to sign token."
+msgstr "ユーザーリストにトークンを追加できません。"
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
msgid "Invalid syslog facility"
msgstr "無効な syslog ファシリティ"
-#: keystone/policy/backends/rules.py:34
-msgid "JSON file representing policy"
-msgstr "\t\nJSON ファイル表現ポリシー"
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
-#: keystone/policy/backends/rules.py:37
-msgid "Rule checked when requested rule is not found"
-msgstr "要求されたルールが見つからないときにチェックされるルール"
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
-#: keystone/token/backends/memcache.py:81
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
msgid "Unable to add token user list."
msgstr "ユーザーリストにトークンを追加できません。"
-#: keystone/token/backends/memcache.py:91
+#: keystone/token/backends/memcache.py:93
msgid "Unable to add token to revocation list."
msgstr "失効リストにトークンを追加できません。"
+
+#~ msgid "JSON file representing policy"
+#~ msgstr ""
+#~ "\t\n"
+#~ "JSON ファイル表現ポリシー"
+
+#~ msgid "Rule checked when requested rule is not found"
+#~ msgstr "要求されたルールが見つからないときにチェックされるルール"
+
diff --git a/keystone/locale/ka_GE/LC_MESSAGES/keystone.po b/keystone/locale/ka_GE/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..748aaec5
--- /dev/null
+++ b/keystone/locale/ka_GE/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Georgian (Georgia) translations for keystone.
+# Copyright (C) 2013 ORGANIZATION
+# This file is distributed under the same license as the keystone project.
+#
+# Translators:
+# Nika Chkhikvishvili <frrrredo@gmail.com>, 2013
+msgid ""
+msgstr ""
+"Project-Id-Version: Keystone\n"
+"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
+"POT-Creation-Date: 2013-05-21 17:06+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"
+"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 0.9.6\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr "%s არ შეიძლება იყოს ცარიელი."
+
+#: 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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr "დომენი გათიშულია: %s"
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr "მომხმარებელი ვერ მოიძებნა"
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr "მომხმარებელს არ აქვს წვდომა პროექტზე"
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr "LDAP %s შექმნა"
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr "LDAP %s განახლება"
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr "LDAP %s წაშლა"
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr "მომხმარებლის შექმნა %s"
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr "როლი %s ვერ მოიძებნა"
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/keystone.pot b/keystone/locale/keystone.pot
index 95dba04c..1315d095 100644
--- a/keystone/locale/keystone.pot
+++ b/keystone/locale/keystone.pot
@@ -7,9 +7,9 @@
msgid ""
msgstr ""
"Project-Id-Version: keystone "
-"jenkins.keystone.propose.translation.update.148\n"
+"jenkins.keystone.propose.translation.update.208\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-03-22 00:02+0000\n"
+"POT-Creation-Date: 2013-05-21 17:06+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"
@@ -35,10 +35,10 @@ msgstr ""
#: keystone/clean.py:36
#, python-format
-msgid "%(property_name)s is not a%(display_expected_type)s"
+msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:112
+#: keystone/test.py:115
#, python-format
msgid "Failed to checkout %s"
msgstr ""
@@ -70,28 +70,28 @@ msgstr ""
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:332
+#: keystone/auth/controllers.py:333
#, python-format
msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/controllers.py:362
+#: keystone/auth/controllers.py:363
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:78
+#: keystone/auth/token_factory.py:81
msgid "User have no access to project"
msgstr ""
-#: keystone/auth/token_factory.py:93
+#: keystone/auth/token_factory.py:96
msgid "User have no access to domain"
msgstr ""
-#: keystone/auth/token_factory.py:264 keystone/token/controllers.py:121
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
msgid "Unable to sign token."
msgstr ""
-#: keystone/auth/token_factory.py:267 keystone/token/controllers.py:124
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
#, python-format
msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
msgstr ""
@@ -188,102 +188,155 @@ msgstr ""
msgid "Invalid token in normalize_domain_id"
msgstr ""
-#: keystone/common/wsgi.py:77
+#: keystone/common/wsgi.py:106
#, python-format
msgid "Starting %(arg0)s on %(host)s:%(port)s"
msgstr ""
-#: keystone/common/wsgi.py:137
+#: keystone/common/wsgi.py:166
msgid "Server error"
msgstr ""
-#: keystone/common/wsgi.py:216
+#: keystone/common/wsgi.py:245
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:238
+#: keystone/common/wsgi.py:267
#, python-format
msgid "Authorization failed. %s from %s"
msgstr ""
-#: keystone/common/wsgi.py:469
+#: keystone/common/wsgi.py:510
msgid "The resource could not be found."
msgstr ""
-#: keystone/common/ldap/core.py:74
+#: keystone/common/ldap/core.py:79
#, python-format
msgid "Invalid LDAP deref option: %s. Choose one of: "
msgstr ""
-#: keystone/common/ldap/core.py:82
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP tls certs option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
#, python-format
msgid "Invalid LDAP scope: %s. Choose one of: "
msgstr ""
-#: keystone/common/ldap/core.py:226 keystone/identity/backends/kvs.py:588
-#: keystone/identity/backends/kvs.py:616
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
#, python-format
msgid "Duplicate name, %s."
msgstr ""
-#: keystone/common/ldap/core.py:236 keystone/identity/backends/kvs.py:581
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
#, python-format
msgid "Duplicate ID, %s."
msgstr ""
-#: keystone/common/ldap/core.py:241
+#: keystone/common/ldap/core.py:289
#, python-format
msgid "LDAP %s create"
msgstr ""
-#: keystone/common/ldap/core.py:313
+#: keystone/common/ldap/core.py:367
#, python-format
msgid "LDAP %s update"
msgstr ""
-#: keystone/common/ldap/core.py:344
+#: keystone/common/ldap/core.py:398
#, python-format
msgid "LDAP %s delete"
msgstr ""
-#: keystone/common/ldap/core.py:367
+#: keystone/common/ldap/core.py:423
#, python-format
msgid "LDAP init: url=%s"
msgstr ""
-#: keystone/common/ldap/core.py:374
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
#, python-format
msgid "LDAP bind: dn=%s"
msgstr ""
-#: keystone/common/ldap/core.py:385
+#: keystone/common/ldap/core.py:501
#, python-format
msgid "LDAP add: dn=%s, attrs=%s"
msgstr ""
-#: keystone/common/ldap/core.py:390
+#: keystone/common/ldap/core.py:506
#, python-format
msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
msgstr ""
-#: keystone/common/ldap/core.py:441
+#: keystone/common/ldap/core.py:557
msgid ""
"LDAP Server does not support paging. Disable paging in keystone.conf to "
"avoid this message."
msgstr ""
-#: keystone/common/ldap/core.py:458
+#: keystone/common/ldap/core.py:574
#, python-format
msgid "LDAP modify: dn=%s, modlist=%s"
msgstr ""
-#: keystone/common/ldap/core.py:463
+#: keystone/common/ldap/core.py:579
#, python-format
msgid "LDAP delete: dn=%s"
msgstr ""
-#: keystone/common/ldap/core.py:467
+#: keystone/common/ldap/core.py:583
#, python-format
msgid "LDAP delete_ext: dn=%s, serverctrls=%s"
msgstr ""
@@ -379,7 +432,7 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:206
+#: keystone/common/sql/core.py:207
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -428,30 +481,37 @@ msgstr ""
msgid "Creating ec2 cred for user %s and tenant %s"
msgstr ""
-#: keystone/identity/backends/kvs.py:254 keystone/identity/backends/kvs.py:263
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/sql.py:427
+#: keystone/identity/backends/sql.py:424
#, python-format
msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/identity/backends/ldap/core.py:654
+#: keystone/identity/backends/ldap/core.py:659
#, python-format
msgid "Role %s not found"
msgstr ""
-#: keystone/identity/backends/ldap/core.py:874
-#: keystone/identity/backends/ldap/core.py:984
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap/core.py:888
+#: keystone/identity/backends/ldap/core.py:893
#, python-format
msgid "User %s is already a member of group %s"
msgstr ""
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
#: keystone/openstack/common/policy.py:394
#, python-format
msgid "Failed to understand rule %(rule)s"
@@ -472,15 +532,15 @@ msgstr ""
msgid "enforce %s: %s"
msgstr ""
-#: keystone/token/controllers.py:470 keystone/token/controllers.py:473
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:480
+#: keystone/token/controllers.py:476
msgid "Non-default domain is not supported"
msgstr ""
-#: keystone/token/controllers.py:488
+#: keystone/token/controllers.py:484
msgid "Domain scoped token is not supported"
msgstr ""
diff --git a/keystone/locale/ko_KR/LC_MESSAGES/keystone.po b/keystone/locale/ko_KR/LC_MESSAGES/keystone.po
index 00437797..947a15de 100644
--- a/keystone/locale/ko_KR/LC_MESSAGES/keystone.po
+++ b/keystone/locale/ko_KR/LC_MESSAGES/keystone.po
@@ -1,23 +1,22 @@
-# Translations template for keystone.
+# Korean (South Korea) translations for keystone.
# Copyright (C) 2013 ORGANIZATION
# This file is distributed under the same license as the keystone project.
-#
+#
# Translators:
# Sung Jin Gang <potopro@gmail.com>, 2013.
msgid ""
msgstr ""
-"Project-Id-Version: Keystone\n"
+"Project-Id-Version: Keystone\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n"
-"POT-Creation-Date: 2013-03-21 21:29+0000\n"
+"POT-Creation-Date: 2013-05-21 17:06+0000\n"
"PO-Revision-Date: 2013-03-21 18:34+0000\n"
"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language-Team: ko_KR <LL@li.org>\n"
+"Plural-Forms: nplurals=1; plural=0\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
-"Language: ko_KR\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
#: keystone/clean.py:23
#, python-format
@@ -31,16 +30,15 @@ msgstr ""
#: keystone/clean.py:29
#, python-format
-msgid ""
-"%(property_name)s should not be greater than %(max_length)s characters."
+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"
+msgid "%(property_name)s is not a %(display_expected_type)s"
msgstr ""
-#: keystone/test.py:112
+#: keystone/test.py:115
#, python-format
msgid "Failed to checkout %s"
msgstr ""
@@ -72,28 +70,28 @@ msgstr ""
msgid "Scoping to both project and trust is not allowed"
msgstr ""
-#: keystone/auth/controllers.py:332
+#: keystone/auth/controllers.py:333
#, python-format
msgid "Unable to lookup user %s"
msgstr ""
-#: keystone/auth/controllers.py:362
+#: keystone/auth/controllers.py:363
msgid "User not found"
msgstr ""
-#: keystone/auth/token_factory.py:78
+#: keystone/auth/token_factory.py:81
msgid "User have no access to project"
msgstr ""
-#: keystone/auth/token_factory.py:93
+#: keystone/auth/token_factory.py:96
msgid "User have no access to domain"
msgstr ""
-#: keystone/auth/token_factory.py:264 keystone/token/controllers.py:121
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
msgid "Unable to sign token."
msgstr ""
-#: keystone/auth/token_factory.py:267 keystone/token/controllers.py:124
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
#, python-format
msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
msgstr ""
@@ -113,8 +111,8 @@ msgstr ""
#: keystone/catalog/core.py:49
#, python-format
msgid ""
-"Malformed endpoint %s - incomplete format (are you missing"
-" a type notifier ?)"
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
msgstr ""
#: keystone/catalog/backends/templated.py:109
@@ -124,8 +122,7 @@ msgstr ""
#: keystone/common/bufferedhttp.py:102
#, python-format
-msgid ""
-"HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
msgstr ""
#: keystone/common/cms.py:44
@@ -191,102 +188,155 @@ msgstr ""
msgid "Invalid token in normalize_domain_id"
msgstr ""
-#: keystone/common/wsgi.py:77
+#: keystone/common/wsgi.py:106
#, python-format
msgid "Starting %(arg0)s on %(host)s:%(port)s"
msgstr ""
-#: keystone/common/wsgi.py:137
+#: keystone/common/wsgi.py:166
msgid "Server error"
msgstr ""
-#: keystone/common/wsgi.py:216
+#: keystone/common/wsgi.py:245
#, python-format
msgid "arg_dict: %s"
msgstr ""
-#: keystone/common/wsgi.py:238
+#: keystone/common/wsgi.py:267
#, python-format
msgid "Authorization failed. %s from %s"
msgstr ""
-#: keystone/common/wsgi.py:469
+#: keystone/common/wsgi.py:510
msgid "The resource could not be found."
msgstr ""
-#: keystone/common/ldap/core.py:74
+#: keystone/common/ldap/core.py:79
#, python-format
msgid "Invalid LDAP deref option: %s. Choose one of: "
msgstr ""
-#: keystone/common/ldap/core.py:82
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP tls certs option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
#, python-format
msgid "Invalid LDAP scope: %s. Choose one of: "
msgstr ""
-#: keystone/common/ldap/core.py:226 keystone/identity/backends/kvs.py:588
-#: keystone/identity/backends/kvs.py:616
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
#, python-format
msgid "Duplicate name, %s."
msgstr ""
-#: keystone/common/ldap/core.py:236 keystone/identity/backends/kvs.py:581
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
#, python-format
msgid "Duplicate ID, %s."
msgstr ""
-#: keystone/common/ldap/core.py:241
+#: keystone/common/ldap/core.py:289
#, python-format
msgid "LDAP %s create"
msgstr ""
-#: keystone/common/ldap/core.py:313
+#: keystone/common/ldap/core.py:367
#, python-format
msgid "LDAP %s update"
msgstr ""
-#: keystone/common/ldap/core.py:344
+#: keystone/common/ldap/core.py:398
#, python-format
msgid "LDAP %s delete"
msgstr ""
-#: keystone/common/ldap/core.py:367
+#: keystone/common/ldap/core.py:423
#, python-format
msgid "LDAP init: url=%s"
msgstr ""
-#: keystone/common/ldap/core.py:374
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
#, python-format
msgid "LDAP bind: dn=%s"
msgstr ""
-#: keystone/common/ldap/core.py:385
+#: keystone/common/ldap/core.py:501
#, python-format
msgid "LDAP add: dn=%s, attrs=%s"
msgstr ""
-#: keystone/common/ldap/core.py:390
+#: keystone/common/ldap/core.py:506
#, python-format
msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
msgstr ""
-#: keystone/common/ldap/core.py:441
+#: keystone/common/ldap/core.py:557
msgid ""
"LDAP Server does not support paging. Disable paging in keystone.conf to "
"avoid this message."
msgstr ""
-#: keystone/common/ldap/core.py:458
+#: keystone/common/ldap/core.py:574
#, python-format
msgid "LDAP modify: dn=%s, modlist=%s"
msgstr ""
-#: keystone/common/ldap/core.py:463
+#: keystone/common/ldap/core.py:579
#, python-format
msgid "LDAP delete: dn=%s"
msgstr ""
-#: keystone/common/ldap/core.py:467
+#: keystone/common/ldap/core.py:583
#, python-format
msgid "LDAP delete_ext: dn=%s, serverctrls=%s"
msgstr ""
@@ -354,8 +404,8 @@ msgstr ""
#: keystone/common/ldap/fakeldap.py:271
#, python-format
msgid ""
-"FakeLdap modify item failed: item has no attribute \"%s\" with value \"%s\" "
-"to delete"
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
msgstr ""
#: keystone/common/ldap/fakeldap.py:276
@@ -382,7 +432,7 @@ msgstr ""
msgid "Search scope %s not implemented."
msgstr ""
-#: keystone/common/sql/core.py:206
+#: keystone/common/sql/core.py:207
#, python-format
msgid "Got mysql server has gone away: %s"
msgstr ""
@@ -431,30 +481,37 @@ msgstr ""
msgid "Creating ec2 cred for user %s and tenant %s"
msgstr ""
-#: keystone/identity/backends/kvs.py:254 keystone/identity/backends/kvs.py:263
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
msgid "User not found in group"
msgstr ""
-#: keystone/identity/backends/sql.py:427
+#: keystone/identity/backends/sql.py:424
#, python-format
msgid "Cannot remove role that has not been granted, %s"
msgstr ""
-#: keystone/identity/backends/ldap/core.py:654
+#: keystone/identity/backends/ldap/core.py:659
#, python-format
msgid "Role %s not found"
msgstr ""
-#: keystone/identity/backends/ldap/core.py:874
-#: keystone/identity/backends/ldap/core.py:984
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
msgid "Changing Name not supported by LDAP"
msgstr ""
-#: keystone/identity/backends/ldap/core.py:888
+#: keystone/identity/backends/ldap/core.py:893
#, python-format
msgid "User %s is already a member of group %s"
msgstr ""
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
#: keystone/openstack/common/policy.py:394
#, python-format
msgid "Failed to understand rule %(rule)s"
@@ -475,15 +532,15 @@ msgstr ""
msgid "enforce %s: %s"
msgstr ""
-#: keystone/token/controllers.py:470 keystone/token/controllers.py:473
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
msgid "Token does not belong to specified tenant."
msgstr ""
-#: keystone/token/controllers.py:480
+#: keystone/token/controllers.py:476
msgid "Non-default domain is not supported"
msgstr ""
-#: keystone/token/controllers.py:488
+#: keystone/token/controllers.py:484
msgid "Domain scoped token is not supported"
msgstr ""
@@ -494,3 +551,7 @@ msgstr ""
#: keystone/token/backends/memcache.py:93
msgid "Unable to add token to revocation list."
msgstr ""
+
+#~ msgid "%(property_name)s is not a%(display_expected_type)s"
+#~ msgstr ""
+
diff --git a/keystone/locale/pt_BR/LC_MESSAGES/keystone.po b/keystone/locale/pt_BR/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..28a4c4a5
--- /dev/null
+++ b/keystone/locale/pt_BR/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Portuguese (Brazil) 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2012-11-02 18:30+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Portuguese (Brazil) "
+"(http://www.transifex.com/projects/p/openstack/language/pt_BR/)\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 0.9.6\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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/ru/LC_MESSAGES/keystone.po b/keystone/locale/ru/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..a6cc9455
--- /dev/null
+++ b/keystone/locale/ru/LC_MESSAGES/keystone.po
@@ -0,0 +1,555 @@
+# Russian 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Russian "
+"(http://www.transifex.com/projects/p/openstack/language/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 0.9.6\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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/vi_VN/LC_MESSAGES/keystone.po b/keystone/locale/vi_VN/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..116df755
--- /dev/null
+++ b/keystone/locale/vi_VN/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Vietnamese (Vietnam) 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-05-21 17:06+0000\n"
+"PO-Revision-Date: 2013-05-17 16:06+0000\n"
+"Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
+"Language-Team: Vietnamese (Viet Nam) "
+"(http://www.transifex.com/projects/p/openstack/language/vi_VN/)\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 0.9.6\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/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr ""
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr ""
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr ""
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr ""
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr ""
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr ""
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+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/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr ""
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr ""
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr ""
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr ""
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr ""
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr ""
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr ""
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr ""
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr ""
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr ""
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr ""
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr ""
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr ""
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr ""
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr ""
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr ""
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr ""
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr ""
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+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: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr ""
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr ""
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr ""
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr ""
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr ""
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, 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=%s, attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr ""
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr ""
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: keystone/common/sql/legacy.py:180
+#, 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:62
+#, python-format
+msgid "Create tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr ""
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr ""
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr ""
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr ""
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+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/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr ""
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr ""
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr ""
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr ""
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr ""
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr ""
+
diff --git a/keystone/locale/zh_CN/LC_MESSAGES/keystone.po b/keystone/locale/zh_CN/LC_MESSAGES/keystone.po
new file mode 100644
index 00000000..891ffe5e
--- /dev/null
+++ b/keystone/locale/zh_CN/LC_MESSAGES/keystone.po
@@ -0,0 +1,554 @@
+# Chinese (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-05-21 17:06+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) "
+"(http://www.transifex.com/projects/p/openstack/language/zh_CN/)\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 0.9.6\n"
+
+#: keystone/clean.py:23
+#, python-format
+msgid "%s cannot be empty."
+msgstr "%s 不能为空。"
+
+#: keystone/clean.py:25
+#, python-format
+msgid "%(property_name)s cannot be less than %(min_length)s characters."
+msgstr "%(property_name)s 不能少于 %(min_length)s 个字符。"
+
+#: keystone/clean.py:29
+#, python-format
+msgid "%(property_name)s should not be greater than %(max_length)s characters."
+msgstr "%(property_name)s 不应该超过 %(max_length)s 个字符。"
+
+#: keystone/clean.py:36
+#, python-format
+msgid "%(property_name)s is not a %(display_expected_type)s"
+msgstr ""
+
+#: keystone/test.py:115
+#, python-format
+msgid "Failed to checkout %s"
+msgstr "未能检出 %s"
+
+#: keystone/auth/controllers.py:72
+#, python-format
+msgid "Project is disabled: %s"
+msgstr "项目已禁用:%s"
+
+#: keystone/auth/controllers.py:78 keystone/auth/plugins/password.py:40
+#, python-format
+msgid "Domain is disabled: %s"
+msgstr "域已禁用:%s"
+
+#: keystone/auth/controllers.py:84 keystone/auth/plugins/password.py:46
+#, python-format
+msgid "User is disabled: %s"
+msgstr "用户已禁用:%s"
+
+#: keystone/auth/controllers.py:265
+msgid "Scoping to both domain and project is not allowed"
+msgstr "不允许同时将作用域限定到域和项目"
+
+#: keystone/auth/controllers.py:268
+msgid "Scoping to both domain and trust is not allowed"
+msgstr "不允许同时将作用域限定到域和信任"
+
+#: keystone/auth/controllers.py:271
+msgid "Scoping to both project and trust is not allowed"
+msgstr "不允许同时将作用域限定到项目和信任"
+
+#: keystone/auth/controllers.py:333
+#, python-format
+msgid "Unable to lookup user %s"
+msgstr "无法查找用户 %s"
+
+#: keystone/auth/controllers.py:363
+msgid "User not found"
+msgstr "找不到用户"
+
+#: keystone/auth/token_factory.py:81
+msgid "User have no access to project"
+msgstr "用户对项目没有任何访问权限"
+
+#: keystone/auth/token_factory.py:96
+msgid "User have no access to domain"
+msgstr "用户对域没有任何访问权限"
+
+#: keystone/auth/token_factory.py:314 keystone/token/controllers.py:121
+msgid "Unable to sign token."
+msgstr "无法对令牌进行签名。"
+
+#: keystone/auth/token_factory.py:317 keystone/token/controllers.py:124
+#, python-format
+msgid "Invalid value for token_format: %s. Allowed values are PKI or UUID."
+msgstr "token_format 的值 %s 无效。允许值是 PKI 或 UUID。"
+
+#: keystone/catalog/core.py:38
+#, python-format
+msgid "Malformed endpoint %(url)s - unknown key %(keyerror)s"
+msgstr "端点 %(url)s 的格式不正确 - 键 %(keyerror)s 未知"
+
+#: keystone/catalog/core.py:43
+#, python-format
+msgid ""
+"Malformed endpoint %(url)s - unknown key %(keyerror)s(are you missing "
+"brackets ?)"
+msgstr "端点 %(url)s 的格式不正确 - 键 %(keyerror)s 未知(您遗漏了方括号吗?)"
+
+#: keystone/catalog/core.py:49
+#, python-format
+msgid ""
+"Malformed endpoint %s - incomplete format (are you "
+"missing a type notifier ?)"
+msgstr "端点 %s 的格式不正确 - 格式不完整(您遗漏了类型通知器吗?)"
+
+#: keystone/catalog/backends/templated.py:109
+#, python-format
+msgid "Unable to open template file %s"
+msgstr "无法打开模板文件 %s"
+
+#: keystone/common/bufferedhttp.py:102
+#, python-format
+msgid "HTTP PERF: %(time).5f seconds to %(method)s %(host)s:%(port)s %(path)s)"
+msgstr "HTTP 性能:%(time).5f 秒,至 %(method)s %(host)s:%(port)s %(path)s)"
+
+#: keystone/common/cms.py:44
+#, python-format
+msgid "Verify error: %s"
+msgstr "发生验证错误:%s"
+
+#: keystone/common/cms.py:135
+msgid ""
+"Signing error: Unable to load certificate - ensure you've configured PKI "
+"with 'keystone-manage pki_setup'"
+msgstr "发生签名错误:无法装入证书 - 请确保您已使用“keystone-manage pki_setup”配置 PKI"
+
+#: keystone/common/cms.py:139
+#, python-format
+msgid "Signing error: %s"
+msgstr "发生签名错误:%s"
+
+#: keystone/common/config.py:93
+#, python-format
+msgid "Unable to locate specified logging config file: %s"
+msgstr "找不到指定的日志记录配置文件:%s"
+
+#: keystone/common/config.py:111
+msgid "Invalid syslog facility"
+msgstr "系统日志工具无效"
+
+#: keystone/common/controller.py:19
+#, python-format
+msgid "RBAC: Authorizing %s(%s)"
+msgstr "RBAC:正在授权 %s(%s)"
+
+#: keystone/common/controller.py:27
+msgid "RBAC: Invalid token"
+msgstr "RBAC:令牌无效"
+
+#: keystone/common/controller.py:37 keystone/common/controller.py:58
+msgid "RBAC: Invalid user"
+msgstr "RBAC:用户无效"
+
+#: keystone/common/controller.py:43
+msgid "RBAC: Proceeding without project"
+msgstr "RBAC:正在没有项目的情况下继续"
+
+#: keystone/common/controller.py:63
+msgid "RBAC: Proceeding without tenant"
+msgstr "RBAC:正在没有租户的情况下继续"
+
+#: keystone/common/controller.py:93 keystone/common/controller.py:145
+msgid "RBAC: Bypassing authorization"
+msgstr "RBAC:正在绕过授权"
+
+#: keystone/common/controller.py:102 keystone/common/controller.py:143
+msgid "RBAC: Authorization granted"
+msgstr "RBAC:已授予权限"
+
+#: keystone/common/controller.py:132
+#, python-format
+msgid "RBAC: Adding query filter params (%s)"
+msgstr "RBAC:正在添加查询过滤器参数 (%s)"
+
+#: keystone/common/controller.py:332
+msgid "Invalid token in normalize_domain_id"
+msgstr "normalize_domain_id 中的令牌无效"
+
+#: keystone/common/wsgi.py:106
+#, python-format
+msgid "Starting %(arg0)s on %(host)s:%(port)s"
+msgstr "正在 %(host)s:%(port)s 上启动 %(arg0)s"
+
+#: keystone/common/wsgi.py:166
+msgid "Server error"
+msgstr "服务器错误"
+
+#: keystone/common/wsgi.py:245
+#, python-format
+msgid "arg_dict: %s"
+msgstr "arg_dict:%s"
+
+#: keystone/common/wsgi.py:267
+#, python-format
+msgid "Authorization failed. %s from %s"
+msgstr "授权失败。%s 来自 %s"
+
+#: keystone/common/wsgi.py:510
+msgid "The resource could not be found."
+msgstr "找不到该资源。"
+
+#: keystone/common/ldap/core.py:79
+#, python-format
+msgid "Invalid LDAP deref option: %s. Choose one of: "
+msgstr "LDAP deref 选项 %s 无效。请选择下列其中一项:"
+
+#: keystone/common/ldap/core.py:87
+#, python-format
+msgid "Invalid LDAP tls certs option: %s. Choose one of: "
+msgstr ""
+
+#: keystone/common/ldap/core.py:96
+#, python-format
+msgid "Invalid LDAP scope: %s. Choose one of: "
+msgstr "LDAP 作用域 %s 无效。请选择下列其中一项:"
+
+#: keystone/common/ldap/core.py:185
+#, python-format
+msgid ""
+"Invalid additional attribute mapping: \"%s\". Format must be "
+"<ldap_attribute>:<keystone_attribute>"
+msgstr ""
+
+#: keystone/common/ldap/core.py:190
+#, 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:274 keystone/identity/backends/kvs.py:603
+#: keystone/identity/backends/kvs.py:631
+#, python-format
+msgid "Duplicate name, %s."
+msgstr "名称 %s 重复。"
+
+#: keystone/common/ldap/core.py:284 keystone/identity/backends/kvs.py:596
+#, python-format
+msgid "Duplicate ID, %s."
+msgstr "标识 %s 重复。"
+
+#: keystone/common/ldap/core.py:289
+#, python-format
+msgid "LDAP %s create"
+msgstr "LDAP %s 创建"
+
+#: keystone/common/ldap/core.py:367
+#, python-format
+msgid "LDAP %s update"
+msgstr "LDAP %s 更新"
+
+#: keystone/common/ldap/core.py:398
+#, python-format
+msgid "LDAP %s delete"
+msgstr "LDAP %s 删除"
+
+#: keystone/common/ldap/core.py:423
+#, python-format
+msgid "LDAP init: url=%s"
+msgstr "LDAP 初始化:url=%s"
+
+#: keystone/common/ldap/core.py:424
+#, 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:443
+msgid "Invalid TLS / LDAPS combination"
+msgstr ""
+
+#: keystone/common/ldap/core.py:447
+#, python-format
+msgid "Invalid LDAP TLS_AVAIL option: %s. TLSnot available"
+msgstr ""
+
+#: keystone/common/ldap/core.py:457
+#, python-format
+msgid "tls_cacertfile %s not found or is not a file"
+msgstr ""
+
+#: keystone/common/ldap/core.py:469
+#, python-format
+msgid "tls_cacertdir %s not found or is not a directory"
+msgstr ""
+
+#: keystone/common/ldap/core.py:476
+#, python-format
+msgid "LDAP TLS: invalid TLS_REQUIRE_CERT Option=%s"
+msgstr ""
+
+#: keystone/common/ldap/core.py:490
+#, python-format
+msgid "LDAP bind: dn=%s"
+msgstr "LDAP 绑定:dn=%s"
+
+#: keystone/common/ldap/core.py:501
+#, python-format
+msgid "LDAP add: dn=%s, attrs=%s"
+msgstr "LDAP 添加:dn=%s,attrs=%s"
+
+#: keystone/common/ldap/core.py:506
+#, python-format
+msgid "LDAP search: dn=%s, scope=%s, query=%s, attrs=%s"
+msgstr "LDAP 搜索:dn=%s,scope=%s,query=%s,attrs=%s"
+
+#: keystone/common/ldap/core.py:557
+msgid ""
+"LDAP Server does not support paging. Disable paging in keystone.conf to "
+"avoid this message."
+msgstr "LDAP 服务器不支持页面调度。请在 keystone.conf 中禁用页面调度以避免出现此消息。"
+
+#: keystone/common/ldap/core.py:574
+#, python-format
+msgid "LDAP modify: dn=%s, modlist=%s"
+msgstr "LDAP 修改:dn=%s,modlist=%s"
+
+#: keystone/common/ldap/core.py:579
+#, python-format
+msgid "LDAP delete: dn=%s"
+msgstr "LDAP 删除:dn=%s"
+
+#: keystone/common/ldap/core.py:583
+#, python-format
+msgid "LDAP delete_ext: dn=%s, serverctrls=%s"
+msgstr "LDAP delete_ext:dn=%s,serverctrls=%s"
+
+#: keystone/common/ldap/fakeldap.py:146
+#, python-format
+msgid "FakeLdap initialize url=%s"
+msgstr "FakeLdap initialize url=%s"
+
+#: keystone/common/ldap/fakeldap.py:156
+#, python-format
+msgid "FakeLdap bind dn=%s"
+msgstr "FakeLdap bind dn=%s"
+
+#: keystone/common/ldap/fakeldap.py:163
+#, python-format
+msgid "FakeLdap bind fail: dn=%s not found"
+msgstr "FakeLdap bind 失败:找不到 dn=%s"
+
+#: keystone/common/ldap/fakeldap.py:170
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s not found"
+msgstr "FakeLdap bind 失败:找不到 dn=%s 的密码"
+
+#: keystone/common/ldap/fakeldap.py:175
+#, python-format
+msgid "FakeLdap bind fail: password for dn=%s does not match"
+msgstr "FakeLdap bind 失败:dn=%s 的密码不匹配"
+
+#: keystone/common/ldap/fakeldap.py:190
+#, python-format
+msgid "FakeLdap add item: dn=%s, attrs=%s"
+msgstr "FakeLdap add item:dn=%s,attrs=%s"
+
+#: keystone/common/ldap/fakeldap.py:192
+#, python-format
+msgid "FakeLdap add item failed: dn=%s is already in store."
+msgstr "FakeLdap add item 失败:dn=%s 已在存储中。"
+
+#: keystone/common/ldap/fakeldap.py:206 keystone/common/ldap/fakeldap.py:220
+#, python-format
+msgid "FakeLdap delete item: dn=%s"
+msgstr "FakeLdap delete item:dn=%s"
+
+#: keystone/common/ldap/fakeldap.py:210 keystone/common/ldap/fakeldap.py:224
+#, python-format
+msgid "FakeLdap delete item failed: dn=%s not found."
+msgstr "FakeLdap delete item 失败:找不到 dn=%s。"
+
+#: keystone/common/ldap/fakeldap.py:239
+#, python-format
+msgid "FakeLdap modify item: dn=%s attrs=%s"
+msgstr "FakeLdap modify item:dn=%s attrs=%s"
+
+#: keystone/common/ldap/fakeldap.py:243
+#, python-format
+msgid "FakeLdap modify item failed: dn=%s not found."
+msgstr "FakeLdap modify item 失败:找不到 dn=%s。"
+
+#: keystone/common/ldap/fakeldap.py:260
+#, python-format
+msgid "FakeLdap modify item failed: item has no attribute \"%s\" to delete"
+msgstr "FakeLdap modify item 失败:项没有要删除的任何属性“%s”"
+
+#: keystone/common/ldap/fakeldap.py:271
+#, python-format
+msgid ""
+"FakeLdap modify item failed: item has no attribute \"%s\" with value "
+"\"%s\" to delete"
+msgstr "FakeLdap modify item 失败:项没有任何符合以下条件的属性“%s”:具有要删除的值“%s”"
+
+#: keystone/common/ldap/fakeldap.py:276
+#, python-format
+msgid "FakeLdap modify item failed: unknown command %s"
+msgstr "FakeLdap modify item 失败:命令 %s 未知"
+
+#: keystone/common/ldap/fakeldap.py:278
+#, python-format
+msgid "modify_s action %s not implemented"
+msgstr "未实现 modify_s 操作 %s"
+
+#: keystone/common/ldap/fakeldap.py:296
+#, python-format
+msgid "FakeLdap search at dn=%s scope=%s query=%s"
+msgstr "FakeLdap search(在以下位置:dn=%s scope=%s query=%s)"
+
+#: keystone/common/ldap/fakeldap.py:302
+msgid "FakeLdap search fail: dn not found for SCOPE_BASE"
+msgstr "FakeLdap search 失败:对于 SCOPE_BASE,找不到 dn"
+
+#: keystone/common/ldap/fakeldap.py:316
+#, python-format
+msgid "Search scope %s not implemented."
+msgstr "未实现搜索范围 %s。"
+
+#: keystone/common/sql/core.py:207
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr "mysql 服务器已不存在:%s"
+
+#: keystone/common/sql/legacy.py:180
+#, python-format
+msgid "Cannot migrate EC2 credential: %s"
+msgstr "无法迁移 EC2 凭证:%s"
+
+#: keystone/common/sql/migration.py:47
+msgid "version should be an integer"
+msgstr "版本应该为整数"
+
+#: keystone/common/sql/nova.py:62
+#, python-format
+msgid "Create tenant %s"
+msgstr "请创建租户 %s"
+
+#: keystone/common/sql/nova.py:79
+#, python-format
+msgid "Create user %s"
+msgstr "请创建用户 %s"
+
+#: keystone/common/sql/nova.py:88
+#, python-format
+msgid "Add user %s to tenant %s"
+msgstr "请将用户 %s 添加至租户 %s"
+
+#: keystone/common/sql/nova.py:96
+#, python-format
+msgid "Ignoring existing role %s"
+msgstr "正在忽略现有角色 %s"
+
+#: keystone/common/sql/nova.py:103
+#, python-format
+msgid "Create role %s"
+msgstr "请创建角色 %s"
+
+#: keystone/common/sql/nova.py:113
+#, python-format
+msgid "Assign role %s to user %s on tenant %s"
+msgstr "请将角色 %s 分配给用户 %s(在租户 %s 上)"
+
+#: keystone/common/sql/nova.py:128
+#, python-format
+msgid "Creating ec2 cred for user %s and tenant %s"
+msgstr "正在为用户 %s 和租户 %s 创建 ec2 凭证"
+
+#: keystone/identity/backends/kvs.py:257 keystone/identity/backends/kvs.py:266
+msgid "User not found in group"
+msgstr "在组中找不到用户"
+
+#: keystone/identity/backends/sql.py:424
+#, python-format
+msgid "Cannot remove role that has not been granted, %s"
+msgstr "无法除去尚未授予的角色 %s"
+
+#: keystone/identity/backends/ldap/core.py:659
+#, python-format
+msgid "Role %s not found"
+msgstr "找不到角色 %s"
+
+#: keystone/identity/backends/ldap/core.py:879
+#: keystone/identity/backends/ldap/core.py:995
+msgid "Changing Name not supported by LDAP"
+msgstr "更改名称不受 LDAP 支持"
+
+#: keystone/identity/backends/ldap/core.py:893
+#, python-format
+msgid "User %s is already a member of group %s"
+msgstr "用户 %s 已是组 %s 的成员"
+
+#: keystone/identity/backends/ldap/core.py:935
+#, python-format
+msgid ""
+"Group member '%(user_dn)s' not found in '%(group_dn)s'. The user should "
+"be removed from the group. The user will be ignored."
+msgstr ""
+
+#: keystone/openstack/common/policy.py:394
+#, python-format
+msgid "Failed to understand rule %(rule)s"
+msgstr "未能理解规则 %(rule)s"
+
+#: keystone/openstack/common/policy.py:404
+#, python-format
+msgid "No handler for matches of kind %s"
+msgstr "对于类型为 %s 的匹配项,不存在任何处理程序"
+
+#: keystone/openstack/common/policy.py:679
+#, python-format
+msgid "Failed to understand rule %(rule)r"
+msgstr "未能理解规则 %(rule)r"
+
+#: keystone/policy/backends/rules.py:93
+#, python-format
+msgid "enforce %s: %s"
+msgstr "请强制执行 %s:%s"
+
+#: keystone/token/controllers.py:466 keystone/token/controllers.py:469
+msgid "Token does not belong to specified tenant."
+msgstr "令牌不属于指定的租户。"
+
+#: keystone/token/controllers.py:476
+msgid "Non-default domain is not supported"
+msgstr "非缺省域不受支持"
+
+#: keystone/token/controllers.py:484
+msgid "Domain scoped token is not supported"
+msgstr "作用域限定到域的令牌不受支持"
+
+#: keystone/token/backends/memcache.py:83
+msgid "Unable to add token user list."
+msgstr "无法添加令牌用户列表。"
+
+#: keystone/token/backends/memcache.py:93
+msgid "Unable to add token to revocation list."
+msgstr "无法将令牌添加至撤销列表。"
+