From 92f7085cd32d168771ca667fe2503222ef885902 Mon Sep 17 00:00:00 2001 From: Marek Denis Date: Tue, 28 Jul 2015 16:23:07 +0200 Subject: [PATCH 1/4] Skip rows with empty remote_ids Federation migration scripts are trying to migrate identity_provider.remote_id columns to a separate table remote_idps and so 1:N relations are possible. We should, however do any DB operations on identity_providers's values that have non null remote_id values. Change-Id: Ifbb80896969986bafedf1c879bc7474832afca60 Closes-Bug: #1478961 --- .../versions/007_add_remote_id_table.py | 4 +- .../tests/unit/test_sql_migrate_extensions.py | 63 +++++++++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/keystone/contrib/federation/migrate_repo/versions/007_add_remote_id_table.py b/keystone/contrib/federation/migrate_repo/versions/007_add_remote_id_table.py index cd5712455d..77012aad33 100644 --- a/keystone/contrib/federation/migrate_repo/versions/007_add_remote_id_table.py +++ b/keystone/contrib/federation/migrate_repo/versions/007_add_remote_id_table.py @@ -32,7 +32,9 @@ def upgrade(migrate_engine): remote_id_table.create(migrate_engine, checkfirst=True) - select = orm.sql.select([idp_table.c.id, idp_table.c.remote_id]) + select = orm.sql.select([idp_table.c.id, idp_table.c.remote_id]).where( + idp_table.c.remote_id.isnot(None)) + for identity in migrate_engine.execute(select): remote_idp_entry = {'idp_id': identity.id, 'remote_id': identity.remote_id} diff --git a/keystone/tests/unit/test_sql_migrate_extensions.py b/keystone/tests/unit/test_sql_migrate_extensions.py index 87b3d48d9e..f498fe9475 100644 --- a/keystone/tests/unit/test_sql_migrate_extensions.py +++ b/keystone/tests/unit/test_sql_migrate_extensions.py @@ -180,6 +180,7 @@ class FederationExtension(test_sql_upgrade.SqlMigrateBase): self.federation_protocol = 'federation_protocol' self.service_provider = 'service_provider' self.mapping = 'mapping' + self.remote_id_table = 'idp_remote_ids' def repo_package(self): return federation @@ -310,6 +311,68 @@ class FederationExtension(test_sql_upgrade.SqlMigrateBase): self.assertEqual('', sp.auth_url) self.assertEqual('', sp.sp_url) + def test_propagate_remote_id_to_separate_column(self): + """Make sure empty remote_id is not propagated. + Test scenario: + - Upgrade database to version 6 where identity_provider table has a + remote_id column + - Add 3 identity provider objects, where idp1 and idp2 have valid + remote_id parameter set, and idp3 has it empty (None). + - Upgrade database to version 7 and expect migration scripts to + properly move data rom identity_provider.remote_id column into + separate table idp_remote_ids. + - In the idp_remote_ids table expect to find entries for idp1 and idp2 + and not find anything for idp3 (identitified by idp's id) + + """ + session = self.Session() + idp1 = {'id': uuid.uuid4().hex, + 'remote_id': uuid.uuid4().hex, + 'description': uuid.uuid4().hex, + 'enabled': True} + idp2 = {'id': uuid.uuid4().hex, + 'remote_id': uuid.uuid4().hex, + 'description': uuid.uuid4().hex, + 'enabled': True} + idp3 = {'id': uuid.uuid4().hex, + 'remote_id': None, + 'description': uuid.uuid4().hex, + 'enabled': True} + self.upgrade(6, repository=self.repo_path) + self.assertTableColumns(self.identity_provider, + ['id', 'description', 'enabled', 'remote_id']) + + self.insert_dict(session, self.identity_provider, idp1) + self.insert_dict(session, self.identity_provider, idp2) + self.insert_dict(session, self.identity_provider, idp3) + + session.close() + self.upgrade(7, repository=self.repo_path) + + self.assertTableColumns(self.identity_provider, + ['id', 'description', 'enabled']) + remote_id_table = sqlalchemy.Table(self.remote_id_table, + self.metadata, + autoload=True) + + session = self.Session() + self.metadata.clear() + + idp = session.query(remote_id_table).filter( + remote_id_table.c.idp_id == idp1['id'])[0] + self.assertEqual(idp1['remote_id'], idp.remote_id) + + idp = session.query(remote_id_table).filter( + remote_id_table.c.idp_id == idp2['id'])[0] + self.assertEqual(idp2['remote_id'], idp.remote_id) + + idp = session.query(remote_id_table).filter( + remote_id_table.c.idp_id == idp3['id']) + # NOTE(marek-denis): As idp3 had empty 'remote_id' attribute we expect + # not to find it in the 'remote_id_table' table, hence count should be + # 0.real + self.assertEqual(0, idp.count()) + def test_add_relay_state_column(self): self.upgrade(8, repository=self.repo_path) self.assertTableColumns(self.service_provider, From ec3ceb5956aa2bab5fe03107849a7ccde27ef87c Mon Sep 17 00:00:00 2001 From: OpenStack Proposal Bot Date: Thu, 1 Oct 2015 06:09:29 +0000 Subject: [PATCH 2/4] Imported Translations from Zanata For more information about this automatic import see: https://wiki.openstack.org/wiki/Translations/Infrastructure Change-Id: I621480e00e624575dd01138de260f246570aceee --- keystone/locale/de/LC_MESSAGES/keystone.po | 1304 +++++++++++++++++ keystone/locale/en_AU/LC_MESSAGES/keystone.po | 10 +- keystone/locale/es/LC_MESSAGES/keystone.po | 1293 ++++++++++++++++ keystone/locale/fr/LC_MESSAGES/keystone.po | 1292 ++++++++++++++++ keystone/locale/it/LC_MESSAGES/keystone.po | 1293 ++++++++++++++++ keystone/locale/ja/LC_MESSAGES/keystone.po | 1284 ++++++++++++++++ keystone/locale/keystone-log-warning.pot | 20 +- keystone/locale/keystone.pot | 138 +- keystone/locale/ko_KR/LC_MESSAGES/keystone.po | 1214 +++++++++++++++ keystone/locale/pt_BR/LC_MESSAGES/keystone.po | 944 +++++++++++- keystone/locale/ru/LC_MESSAGES/keystone.po | 1272 ++++++++++++++++ keystone/locale/tr_TR/LC_MESSAGES/keystone.po | 18 +- keystone/locale/zh_CN/LC_MESSAGES/keystone.po | 1152 +++++++++++++++ keystone/locale/zh_TW/LC_MESSAGES/keystone.po | 1150 +++++++++++++++ 14 files changed, 12290 insertions(+), 94 deletions(-) create mode 100644 keystone/locale/de/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/es/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/fr/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/it/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/ja/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/ko_KR/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/ru/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/zh_CN/LC_MESSAGES/keystone.po create mode 100644 keystone/locale/zh_TW/LC_MESSAGES/keystone.po diff --git a/keystone/locale/de/LC_MESSAGES/keystone.po b/keystone/locale/de/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..659b3b547f --- /dev/null +++ b/keystone/locale/de/LC_MESSAGES/keystone.po @@ -0,0 +1,1304 @@ +# German translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# Ettore Atalan , 2014 +# Robert Simai, 2014 +# Reik Keutterling , 2015 +# OpenStack Infra , 2015. #zanata +# Tom Cocozzello , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: de\n" +"Language-Team: German (http://www.transifex.com/openstack/keystone/language/" +"de/)\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s ist kein gültiges Benachrichtigungsereignis; erforderlich ist " +"%(actions)s" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s ist kein vertrauenswürdiger Dashboard-Host" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s bietet keine Datenbankmigrationen. Der Migrations-Repository-" +"Pfad unter %(path)s ist nicht vorhanden oder ist kein Verzeichnis." + +#, python-format +msgid "%(property_name)s cannot be less than %(min_length)s characters." +msgstr "%(property_name)s darf nicht kleiner als %(min_length)s Zeichen sein." + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s ist nicht %(display_expected_type)s" + +#, python-format +msgid "%(property_name)s should not be greater than %(max_length)s characters." +msgstr "%(property_name)s sollte nicht größer als %(max_length)s Zeichen sein." + +#, python-format +msgid "%s cannot be empty." +msgstr "%s darf nicht leer sein." + +#, python-format +msgid "%s extension does not exist." +msgstr "Erweiterung %s ist nicht vorhanden." + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "%s-Feld ist erforderlich und darf nicht leer sein" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "%s-Felder können nicht leer sein" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(Debugmodus inaktivieren, um diese Details zu unterdrücken.)" + +msgid "--all option cannot be mixed with other options" +msgstr "--all-Option kann nicht zusammen mit anderen Optionen verwendet werden" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "" +"Ein projektorientiertes Token ist zum Produzieren eines Servicekatalogs " +"erforderlich." + +msgid "Access token is expired" +msgstr "Zugriffstoken ist abgelaufen" + +msgid "Access token not found" +msgstr "Zugriffstoken nicht gefunden" + +msgid "Additional authentications steps required." +msgstr "Zusätzliche Authentifizierungsschritte sind notwendig." + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "" +"Beim Abrufen der Domänenkonfigurationen ist ein unerwarteter Fehler " +"aufgetreten" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "Beim Versuch, %s zu speichern, ist ein unerwarteter Fehler aufgetreten" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "" +"Wegen eines unerwarteten Fehlers konnte der Server Ihre Anforderung nicht " +"ausführen." + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"Wegen eines unerwarteten Fehlers konnte der Server Ihre Anforderung nicht " +"ausführen: %(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "" +"Eine nicht behandelte Ausnahme ist aufgetreten: Metadaten konnten nicht " +"gefunden werden." + +msgid "At least one option must be provided" +msgstr "Mindestens eine Option muss angegeben werden" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "" +"Mindestens eine Option muss angegeben werden. Verwenden Sie entweder --all " +"oder --domain-name" + +msgid "At least one role should be specified." +msgstr "Mindestens eine Rolle sollte angegeben werden." + +msgid "Attempted to authenticate with an unsupported method." +msgstr "Versuch einer Authentifizierung mit einer nicht unterstützten Methode." + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"Versuch, OS-FEDERATION-Token mit V2 Identity Service zu verwenden, verwenden " +"Sie v3- Authentifizierung" + +msgid "Authentication plugin error." +msgstr "Authentifizierung-Plug-in-Fehler" + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "" +"Anforderungstoken kann mit einem per Delegierung ausgegebenen Token nicht " +"autorisiert werden." + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "%(option_name)s %(attr)s kann nicht geändert werden" + +msgid "Cannot change Domain ID" +msgstr "Die Domänen-ID kann nicht geändert werden" + +msgid "Cannot change consumer secret" +msgstr "Konsumentengeheimnis kann nicht geändert werden" + +msgid "Cannot change user ID" +msgstr "Benutzer-ID kann nicht geändert werden" + +msgid "Cannot change user name" +msgstr "Benutzername kann nicht geändert werden" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "" +"Projekt kann nicht mit dem übergeordneten Element %(project_id)s erstellt " +"werden" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "Der Name %s kann nicht dupliziert werden." + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "" +"Anforderungstokens können mit einem per Delegierung ausgegebenen Token nicht " +"aufgelistet werden." + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "" +"Zertifikat %(cert_file)s kann nicht geöffnet werden. Ursache: %(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "Nicht gewährte Rolle kann nicht entfernt werden, %s" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"Abschneiden eines Treiberaufrufs ohne Hinweisliste als erstem Parameter nach " +"dem Treiber nicht möglich " + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"Die Abfrageparameter parents_as_list und parents_as_ids können nicht " +"gleichzeitig verwendet werden." + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"Die Abfrageparameter subtree_as_list und subtree_as_ids können nicht " +"gleichzeitig verwendet werden." + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "" +"Die Kombination von effektivem Filter und Gruppenfilter führt immer zu einer " +"leeren Liste." + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "" +"Die Kombination von effektivem Filter, Domänenfilter und vererbten Filtern " +"führt immer zu einer leeren Liste." + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "Konflikt beim Versuch, %(type)s zu speichern - %(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "" +"Angabe von Regions-IDs, die miteinander im Konflikt stehen: \"%(url_id)s\" !" +"= \"%(ref_id)s\"" + +msgid "Consumer not found" +msgstr "Kunde nicht gefunden" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "" +"Unveränderliche Attribute '%(attributes)s' konnten nicht geändert werden in " +"Ziel %(target)s" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"%(group_or_option)s konnte in der Domänenkonfiguration für Domäne " +"%(domain_id)s nicht gefunden werden" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "Endpunktgruppe konnte nicht gefunden werden: %(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "Identitätsprovider-ID konnte in der Umgebung nicht gefunden werden" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "Identitätsprovider %(idp_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "Service-Provider %(sp_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "Berechtigungsnachweis %(credential_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "Domäne %(domain_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "Endpunkt %(endpoint_id)s konnte nicht gefunden werden" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"Föderiertes Protokoll %(protocol_id)s konnte nicht gefunden werden für " +"Identitätsprovider: %(idp_id)s" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "Gruppe %(group_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "Zuordnung %(mapping_id)s konnte nicht gefunden werden" + +msgid "Could not find policy association" +msgstr "Richtlinienzuordnung konnte nicht gefunden werden" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "Richtlinie %(policy_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "Projekt %(project_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "Region %(region_id)s konnte nicht gefunden werden" + +msgid "Could not find role" +msgstr "Rolle konnte nicht gefunden werden" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"Rollenzuordnung mit Rolle: %(role_id)s, Benutzer oder Gruppe: %(actor_id)s, " +"Projekt oder Domäne: %(target_id)s, konnte nicht gefunden werden" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "Rolle %(role_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "Service %(service_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "Token %(token_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "Vertrauensbeziehung %(trust_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "Benutzer %(user_id)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "Version %(version)s konnte nicht gefunden werden" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "Konnte nicht gefunden werden: %(target)s" + +msgid "Could not validate the access token" +msgstr "Das Zugriffstoken konnte nicht geprüft werden" + +msgid "Credential belongs to another user" +msgstr "Berechtigungsnachweis gehört einem anderen Benutzer" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "Datenbank unter /domains/%s/config" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "" +"Eine Entität inaktivieren, in der das Attribut 'enable' ignoriert wird von " + +#, python-format +msgid "Domain (%s)" +msgstr "Domain (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "Domäne kann nicht mit %s benannt werden" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "Domäne kann nicht die ID %s haben" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "Domäne ist inaktiviert: %s" + +msgid "Domain metadata not supported by LDAP" +msgstr "Domänenmetadaten werden von LDAP nicht unterstützt" + +msgid "Domain scoped token is not supported" +msgstr "Bereichsorientiertes Token der Domäne wird nicht unterstützt" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"Domäne: für %(domain)s ist bereits eine Konfiguration definiert - Datei wird " +"ignoriert: %(file)s." + +msgid "Domains are read-only against LDAP" +msgstr "Domänen sind für LDAP schreibgeschützt" + +msgid "Duplicate Entry" +msgstr "Doppelter Eintrag" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "Doppelte ID, %s." + +#, python-format +msgid "Duplicate name, %s." +msgstr "Doppelter Name, %s." + +msgid "Enabled field must be a boolean" +msgstr "Das Feld 'Aktiviert' muss ein boolescher Wert sein" + +msgid "Enabled field should be a boolean" +msgstr "Das Feld 'Aktiviert' sollte ein boolescher Wert sein" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "Endpunkt %(endpoint_id)s nicht gefunden in Projekt %(project_id)s" + +msgid "Endpoint Group Project Association not found" +msgstr "Projektzuordnung für Endpunktgruppe nicht gefunden" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "" +"Stellen Sie sicher, dass die Konfigurationsoption idp_entity_id gesetzt ist. " + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "" +"Stellen Sie sicher, dass die Konfigurationsoption idp_sso_endpoint gesetzt " +"ist. " + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"Fehler bei der Auswertung der Konfigurationsdatei für Domäne: %(domain)s, " +"Datei: %(file)s." + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "Fehler beim Lesen der Metadatendatei, %(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "Verzeichnis oder Liste erwartet: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"Erwartete Signierzertifikate sind auf dem Server nicht verfügbar. Überprüfen " +"Sie die Keystone-Konfiguration." + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"Es wurde erwartet, %(attribute)s in %(target)s zu finden. Der Server konnte " +"die Anforderung nicht erfüllen, da ein fehlerhaftes Format oder ein anderer " +"Fehler vorliegt. Es wird angenommen, dass der Fehler beim Client liegt." + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "Fehler beim Starten des %(name)s-Servers" + +msgid "Failed to validate token" +msgstr "Token konnte nicht geprüft werden" + +msgid "Federation token is expired" +msgstr "Föderationstoken ist abgelaufen" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"Feld \"remaining_uses\" ist auf %(value)s festgelegt, es darf jedoch nicht " +"festgelegt werden, um eine Vertrauensbeziehung zu übertragen" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "" +"Ungültiges Token gefunden. Es ist sowohl projekt- als auch domänenorientiert." + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "" +"Gruppe %(group)s wird für domänenspezifische Konfigurationen nicht " +"unterstützt" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"Die von der Zuordnung %(mapping_id)s zurückgegebene Gruppe %(group_id)s " +"konnte im Back-End nicht gefunden werden." + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"Back-End-übergreifende Gruppenmitgliedschaft ist nicht zulässig, betroffene " +"Gruppe ist %(group_id)s, Benutzer ist %(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "ID-Attribut %(id_attr)s wurde in LDAP-Objekt %(dn)s nicht gefunden" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "Identitätsprovider %(idp)s ist inaktiviert" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "" +"Eingehende Identitätsprovider-ID ist nicht in den akzeptierten IDs enthalten." + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Ungültige LDAP-TLS-Zertifikatsoption: %(option)s. Wählen Sie aus: %(options)s" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "Ungültige LDAP TLS_AVAIL Option: %s. TLS nicht verfügbar" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Ungültige LDAP-TLS-deref-Option: %(option)s. Wählen Sie aus: %(options)s" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "Ungültiger LDAP Bereich: %(scope)s. Wählen Sie aus: %(options)s" + +msgid "Invalid TLS / LDAPS combination" +msgstr "Ungültige TLS /LDAPS Kombination" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "Ungültiger Datentyp für Prüfungsinformationen: %(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "Ungültiges Blob-Objekt im Berechtigungsnachweis" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"Ungültiger Domänenname: %(domain)s im Konfigurationsdateinamen gefunden: " +"%(file)s - diese Datei wird ignoriert." + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "Ungültige domänenspezifische Konfiguration: %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "Ungültige Eingabe für Feld '%(path)s'. Der Wert lautet '%(value)s'." + +msgid "Invalid limit value" +msgstr "Ungültiger Grenzwert" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"Ungültige Mischung von Entitäten für Richtlinienzuordnung - nur Endpunkt, " +"Service oder Region+Service zulässig. Anforderung war - Endpunkt: " +"%(endpoint_id)s, Service: %(service_id)s, Region: %(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"Ungültige Regel: %(identity_value)s. Die Suchbegriffe 'groups' und 'domain' " +"müssen angegeben sein." + +msgid "Invalid signature" +msgstr "Ungültige Signatur" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"Ungültiger Wert %s für ssl_cert_reqs, muss lauten \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" + +msgid "Invalid user / password" +msgstr "Ungültiger Benutzer / Passwort" + +msgid "Invalid username or password" +msgstr "Ungültiger Benutzername oder ungültiges Passwort." + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "KVS-Region %s ist bereits konfiguriert. Rekonfiguration nicht möglich." + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "Schlüsselwertspeicher nicht konfiguriert: %s" + +#, python-format +msgid "LDAP %s create" +msgstr "LDAP %s erstellen" + +#, python-format +msgid "LDAP %s delete" +msgstr "LDAP %s löschen" + +#, python-format +msgid "LDAP %s update" +msgstr "LDAP %s aktualisieren" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "Überschreitung der Sperrzeit aufgetreten für Schlüssel %(target)s" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "" +"Sperrschlüssel muss mit Zielschlüssel übereinstimmen: %(lock)s != %(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "" +"Fehlerhafte Endpunkt-URL (%(endpoint)s), siehe Details im FEHLER-Protokoll. " + +msgid "Marker could not be found" +msgstr "Marker konnte nicht gefunden werden" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "Maximale Anzahl an Sperrversuchen auf %s erfolgt." + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "Mitglied %(member)s ist bereits Mitglied der Gruppe %(group)s" + +#, python-format +msgid "Method not callable: %s" +msgstr "Methode kann nicht aufgerufen werden: %s" + +msgid "Missing entity ID from environment" +msgstr "Fehlende Entitäts-ID von Umgebung" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"Das Ändern von \"redelegation_count\" ist bei der Redelegation nicht " +"zulässig. Es wird empfohlen, diesen Parameter auszulassen." + +msgid "Multiple domains are not supported" +msgstr "Mehrere Domänen werden nicht unterstützt" + +msgid "Must be called within an active lock context." +msgstr "Aufruf innerhalb des Kontexts einer aktiven Sperre erforderlich." + +msgid "Must specify either domain or project" +msgstr "Entweder Domäne oder Projekt muss angegeben werden" + +msgid "Name field is required and cannot be empty" +msgstr "Namensfeld ist erforderlich und darf nicht leer sein" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"Keine Autorisierungskopfzeilen gefunden, zu OAuth zugehörige Aufrufe können " +"nicht fortgesetzt werden. Stellen Sie bei Ausführung unter HTTPd oder Apache " +"sicher, dass WSGIPassAuthorization auf 'On' gesetzt ist." + +msgid "No authenticated user" +msgstr "Kein authentifizierter Benutzer" + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"Keine Chiffrierschlüssel gefunden; Führen Sie keystone-manage fernet_setup " +"aus, um über Bootstrapping einen Schlüssel zu erhalten." + +msgid "No options specified" +msgstr "Keine Optionen angegeben" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "Endpunkt %(endpoint_id)s ist keine Richtlinie zugeordnet. " + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "Keine verbleibende Verwendung für Vertrauensbeziehung %(trust_id)s" + +msgid "Non-default domain is not supported" +msgstr "Nicht-Standard-Domäne wird nicht unterstützt" + +msgid "One of the trust agents is disabled or deleted" +msgstr "Einer der Vertrauensagenten wurde inaktiviert oder gelöscht" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"Option %(option)s ohne angegebene Gruppe gefunden, während die Domänen- " +"Konfigurationsanforderung geprüft wurde" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"Option %(option)s in Gruppe %(group)s wird für domänenspezifische " +"Konfigurationen nicht unterstützt" + +#, python-format +msgid "Project (%s)" +msgstr "Projekt (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "Projekt ist inaktiviert: %s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "Redelegation nur zulässig für im Vertrauen redelegierte" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"Verbleibende Redelegationstiefe von %(redelegation_depth)d aus dem " +"zulässigen Bereich von [0..%(max_count)d]" + +msgid "Request Token does not have an authorizing user id" +msgstr "Anforderungstoken weist keine autorisierte Benutzer-ID auf" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"Anforderungsattribut %(attribute)s muss kleiner-gleich %(size)i sein. Der " +"Server konnte die Anforderung nicht erfüllen, da die Attributgröße ungültig " +"ist (zu groß). Es wird angenommen, dass der Fehler beim Client liegt." + +msgid "Request must have an origin query parameter" +msgstr "Anforderung muss über einen ursprünglichen Abfrageparameter verfügen" + +msgid "Request token is expired" +msgstr "Anforderungstoken ist abgelaufen" + +msgid "Request token not found" +msgstr "Anforderungstoken nicht gefunden" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "" +"Angeforderte Ablaufzeit übersteigt die, die von der redelegierten " +"Vertrauensbeziehung bereitgestellt werden kann" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"Die angeforderte Redelegationstiefe von %(requested_count)d übersteigt den " +"zulässigen Wert von %(max_count)d" + +#, python-format +msgid "Role %s not found" +msgstr "Rolle %s nicht gefunden" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"Die Ausführung von Keystone über eventlet ist seit Kilo veraltet. " +"Stattdessen wird ein WSGI-Server (z. B. mod_wsgi) für die Ausführung " +"verwendet. Unterstützung für Keystone unter eventlet wird im \"M\"-Release " +"entfernt." + +msgid "Scoping to both domain and project is not allowed" +msgstr "Scoping sowohl auf 'domain' als auch auf 'project' ist nicht zulässig" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "Scoping sowohl auf 'domain' als auch auf 'trust' ist nicht zulässig" + +msgid "Scoping to both project and trust is not allowed" +msgstr "Scoping sowohl auf 'project' als auch auf 'trust' ist nicht zulässig" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "Service-Provider %(sp)s ist inaktiviert" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "" +"Einige angeforderte Rollen befinden sich nicht in einer redelegierten " +"Vertrauensbeziehung" + +msgid "Specify a domain or project, not both" +msgstr "Geben Sie eine Domäne oder ein Projekt an, nicht beides" + +msgid "Specify a user or group, not both" +msgstr "Geben Sie einen Benutzer oder eine Gruppe an, nicht beides" + +msgid "Specify one of domain or project" +msgstr "Entweder eine Domäne oder ein Projekt muss angegeben werden" + +msgid "Specify one of user or group" +msgstr "Entweder ein Benutzer oder eine Gruppe muss angegeben werden" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"Zeichenfolgelänge überschritten. Die Länge der Zeichenfolge '%(string)s' hat " +"den Grenzwert von Spalte %(type)s(CHAR(%(length)d)) überschritten." + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "" +"Die Option --all kann nicht zusammen mit der Option --domain-name verwendet " +"werden" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "" +"Die Keystone-Konfigurationsdatei %(config_file)s konnte nicht gefunden " +"werden." + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"Die domänenspezifische Keystone-Konfiguration hat mehrere SQL-Treiber " +"angegeben (nur einer ist zulässig): %(source)s." + +msgid "The action you have requested has not been implemented." +msgstr "Die von Ihnen angeforderte Aktion wurde nicht implementiert." + +msgid "The authenticated user should match the trustor." +msgstr "Der authentifizierte Benutzer sollte dem Trustor entsprechen." + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"Die Zertifikate, die Sie angefordert haben, sind nicht verfügbar. Es ist " +"wahrscheinlich, dass dieser Server keine PKI-Tokens verwendet; andernfalls " +"ist dies die Folge einer fehlerhaften Konfiguration." + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"Die Kennwortlänge muss kleiner-gleich %(size)i sein. Der Server konnte die " +"Anforderung nicht erfüllen, da das Kennwort ungültig ist." + +msgid "The request you have made requires authentication." +msgstr "Die von Ihnen gestellte Anfrage erfoderdert eine Authentifizierung." + +msgid "The resource could not be found." +msgstr "Die Ressource konnte nicht gefunden werden." + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"Der Aufruf zum Entziehen darf nicht sowohl domain_id als auch project_id " +"aufweisen. Dies ist ein Fehler im Keystone-Server. Die aktuelle Anforderung " +"wird abgebrochen. " + +msgid "The service you have requested is no longer available on this server." +msgstr "" +"Der Service, den Sie angefordert haben, ist auf diesem Server nicht mehr " +"verfügbar." + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "" +"Die angegebene übergeordnete Region %(parent_region_id)s würde eine " +"zirkuläre Regionshierarchie erstellen." + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "" +"Der Wert der Gruppe %(group)s, der in der Konfiguration angegeben ist, muss " +"ein Verzeichnis mit Optionen sein" + +msgid "There should not be any non-oauth parameters" +msgstr "Es sollten keine non-oauth-Parameter vorhanden sein" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "Dies ist keine anerkannte Fernet-Nutzdatenversion: %s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"Dies ist kein v2.0-Fernet-Token. Verwenden Sie v3 für Vertrauensbeziehungs-, " +"Domänen- oder föderierte Tokens." + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"Zeitmarke nicht im erwarteten Format. Der Server konnte der Anforderung " +"nicht nachkommen, da ein fehlerhaftes Format oder ein anderer Fehler " +"vorliegt. Es wird angenommen, dass der Fehler beim Client liegt." + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"Um ausführliche Informationen zu diesem Fehler zu erhalten, führen Sie " +"diesen Befehl für die angegebene Domäne erneut durch: keystone-manage " +"domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "Token gehört einem anderen Benutzer" + +msgid "Token does not belong to specified tenant." +msgstr "Token gehört nicht zu angegebenem Nutzer." + +msgid "Trustee has no delegated roles." +msgstr "Trustee hat keine beauftragten Rollen." + +msgid "Trustor is disabled." +msgstr "Trustor ist inaktiviert." + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"Es wird versucht, Gruppe %(group)s zu aktualisieren, damit nur diese Gruppe " +"in der Konfiguration angegeben werden muss" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"Es wird versucht, Option %(option)s in Gruppe %(group)s zu aktualisieren, " +"die angegebene Konfiguration enthält jedoch stattdessen Option " +"%(option_other)s" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"Es wird versucht, Option %(option)s in Gruppe %(group)s zu aktualisieren, " +"damit nur diese Option in der Konfiguration angegeben werden muss" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"Auf die Keystone-Datenbank kann nicht zugegriffen werden, überprüfen Sie, ob " +"sie ordnungsgemäß konfiguriert ist. " + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "" +"Vertrauensbeziehung %(trust_id)s kann nicht verarbeitet werden, Sperre kann " +"nicht angefordert werden." + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"Region %(region_id)s kann nicht gelöscht werden, da sie oder ihr " +"untergeordnete Regionen über zugeordnete Endpunkte verfügen. " + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "" +"Beim Verwenden der Zuordnung %(mapping_id)s können keine gültigen Gruppen " +"gefunden werden" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "" +"Verbindung konnte von Pool-ID %(id)s nach %(seconds)s nicht abgerufen " +"werden. " + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "Domänenkonfigurationsverzeichnis wurde nicht gefunden: %s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "Suche nach Benutzer %s nicht möglich" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"Identitätsattribut %(attribute)s kann nicht abgeglichen werden, da es die " +"kollidierenden Werte %(new)s und %(old)s aufweist" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"SAML-Zusicherung kann nicht signiert werden. Wahrscheinlich ist auf dem " +"Server xmlsec1 nicht installiert oder dies liegt an einer fehlerhaften " +"Konfiguration. Ursache: %(reason)s" + +msgid "Unable to sign token." +msgstr "Token kann nicht unterzeichnet werden." + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "Unerwarteter Zuordnungstyp: %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"Unerwartete Kombination von Grant-Attributen - Benutzer: %(user_id)s, " +"Gruppe: %(group_id)s, Projekt: %(project_id)s, Domäne: %(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "Unerwarteter Status für JSON-Home-Antwort angefordert, %s" + +msgid "Unknown Target" +msgstr "Unbekanntes Ziel" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "Unbekannte Domäne '%(name)s' angegeben durch --domain-name" + +#, python-format +msgid "Unknown token version %s" +msgstr "Unbekannte Tokenversion %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "Nicht registrierte Abhängigkeit: %(name)s für %(targets)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "Das Aktualisieren von 'parent_id' ist nicht zulässig." + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "" +"Verwenden Sie ein Projektumfangstoken, wenn Sie versuchen, eine SAML-" +"Zusicherung zu erstellen" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "Benutzer %(u_id)s ist nicht berechtigt für Nutzer %(t_id)s" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"Benutzer %(user_id)s verfügt bereits über die Rolle %(role_id)s in Nutzer " +"%(tenant_id)s" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "Benutzer %(user_id)s hat keinen Zugriff auf Domäne %(domain_id)s" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "Benutzer %(user_id)s hat keinen Zugriff auf Projekt %(project_id)s" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "Benutzer %(user_id)s ist bereits Mitglied der Gruppe %(group_id)s." + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "Benutzer '%(user_id)s' nicht gefunden in Gruppe '%(group_id)s'" + +msgid "User IDs do not match" +msgstr "Benutzerkennungen stimmen nicht überein" + +#, python-format +msgid "User is disabled: %s" +msgstr "Benutzer ist inaktiviert: %s" + +msgid "User is not a member of the requested project" +msgstr "Benutzer ist kein Mitglied des angeforderten Projekts" + +msgid "User is not a trustee." +msgstr "Benutzer ist kein Trustee." + +msgid "User not found" +msgstr "Benutzer nicht gefunden" + +#, python-format +msgid "User type %s not supported" +msgstr "Benutzertyp %s nicht unterstützt" + +msgid "You are not authorized to perform the requested action." +msgstr "" +"Sie sind nicht dazu autorisiert, die angeforderte Aktion durchzuführen." + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "" +"Sie sind nicht berechtigt, die angeforderte Aktion %(action)s auszuführen" + +msgid "`key_mangler` functions must be callable." +msgstr "`key_mangler`-Funktionen müssen aufrufbar sein." + +msgid "`key_mangler` option must be a function reference" +msgstr "Option `key_mangler` muss eine Funktionsreferenz sein" + +msgid "any options" +msgstr "beliebige Optionen" + +msgid "auth_type is not Negotiate" +msgstr "auth_type ist nicht 'Negotiate'" + +msgid "authorizing user does not have role required" +msgstr "Der autorisierte Benutzer verfügt nicht über die erforderliche Rolle" + +msgid "cache_collection name is required" +msgstr "Ein Name für cache_collection ist erforderlich" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "" +"kann kein Projekt in einer Niederlassung erstellen, die ein inaktiviertes " +"Projekt enthält: %s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "" +"kann kein Projekt innerhalb einer anderen Domäne als der der übergeordneten " +"Projekte erstellen." + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "" +"Eine aktivierte Domäne kann nicht gelöscht werden; inaktivieren Sie sie " +"zuerst." + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "" +"kann das Projekt %s nicht löschen, da es kein Blattelement in der Hierarchie " +"darstellt." + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"kann Projekt %s nicht inaktivieren, da die zugehörige untergeordnete " +"Baumstruktur aktivierte Projekte enthält" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "" +"kann Projekt %s nicht aktivieren, da es über inaktivierte übergeordnete " +"Projekte verfügt" + +msgid "database db_name is required" +msgstr "Die Datenbank db_name ist erforderlich" + +msgid "db_hosts value is required" +msgstr "Ein Wert für db_hosts ist erforderlich" + +msgid "delete the default domain" +msgstr "Standarddomäne löschen" + +#, python-format +msgid "group %(group)s" +msgstr "Gruppe %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type muss einer der folgenden Werte sein: technical, other, " +"support, administrative oder billing." + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "Ganzzahlwert für mongo_ttl_seconds erwartet" + +msgid "integer value expected for w (write concern attribute)" +msgstr "Ganzzahlwert für Attribut 'w' ('write concern'-Attribut) erwartet" + +#, python-format +msgid "invalid date format %s" +msgstr "ungültiges Datumsformat %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "für die %s-Niederlassung wurde die maximale Hierarchietiefe erreicht." + +msgid "no ssl support available" +msgstr "Keine SSL-Unterstützung verfügbar" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "Option %(option)s in Gruppe %(group)s" + +msgid "pad must be single character" +msgstr "Pad muss ein einzelnes Zeichen sein" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "base64url-Pad-Text muss ein Vielfaches von 4 Zeichen enthalten" + +msgid "provided consumer key does not match stored consumer key" +msgstr "" +"bereitgestellter Konsumentenschlüssel stimmt nicht mit dem gespeicherten " +"Konsumentenschlüssel überein" + +msgid "provided request key does not match stored request key" +msgstr "" +"bereitgestellter Anforderungsschlüssel stimmt nicht mit dem gespeicherten " +"Anforderungsschlüssel überein" + +msgid "provided verifier does not match stored verifier" +msgstr "" +"bereitgestellte Prüffunktion stimmt nicht mit gespeicherter Prüffunktion " +"überein" + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "Region weist nicht den Typ 'dogpile.cache.CacheRegion' auf" + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses muss eine positive Ganzzahl oder null sein." + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "" +"remaining_uses darf nicht festgelegt werden, wenn eine Redelegation zulässig " +"ist" + +msgid "replicaset_name required when use_replica is True" +msgstr "replicaset_name erforderlich, wenn use_replica 'True' ist" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"Anforderung zur Aktualisierung von Gruppe %(group)s, die angegebene " +"Konfiguration enthält jedoch stattdessen Gruppe %(group_other)s" + +msgid "rescope a scoped token" +msgstr "Bereich für bereichsorientierten Token ändern" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"Text ist ein Vielfaches von 4, aber Pad \"%s\" steht vor dem zweitletzten " +"Zeichen" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"Text ist ein Vielfaches von 4, aber Pad \"%s\" steht vor dem letzten Nicht-" +"Pad-Zeichen" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "Text ist kein Vielfaches von 4, aber enthält Pad \"%s\"" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "tls_cacertdir %s nicht gefunden oder ist kein Verzeichnis" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "tls_cacertfile %s wurde nicht gefunden oder ist keine Datei" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "Tokenreferenz muss vom Typ 'KeystoneToken' sein. Abgerufen wurde: %s" diff --git a/keystone/locale/en_AU/LC_MESSAGES/keystone.po b/keystone/locale/en_AU/LC_MESSAGES/keystone.po index dca5aa9bd0..7f08e39917 100644 --- a/keystone/locale/en_AU/LC_MESSAGES/keystone.po +++ b/keystone/locale/en_AU/LC_MESSAGES/keystone.po @@ -4,20 +4,22 @@ # # Translators: # Tom Fifield , 2013 +# OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: Keystone\n" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" -"POT-Creation-Date: 2015-08-06 06:28+0000\n" -"PO-Revision-Date: 2015-08-04 18:01+0000\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" "Last-Translator: openstackjenkins \n" +"Language: en_AU\n" "Language-Team: English (Australia) (http://www.transifex.com/openstack/" "keystone/language/en_AU/)\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.0\n" +"Generated-By: Babel 2.1.1\n" #, python-format msgid "%(property_name)s cannot be less than %(min_length)s characters." diff --git a/keystone/locale/es/LC_MESSAGES/keystone.po b/keystone/locale/es/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..bcfe92d42a --- /dev/null +++ b/keystone/locale/es/LC_MESSAGES/keystone.po @@ -0,0 +1,1293 @@ +# Spanish translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# Alberto Molina Coballes , 2014 +# dario hereñu , 2015 +# Guillermo Vitas Gil , 2014 +# Jose Enrique Ruiz Navarro , 2014 +# Jose Ramirez Garcia , 2014 +# Pablo Sanchez , 2015 +# OpenStack Infra , 2015. #zanata +# Tom Cocozzello , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: es\n" +"Language-Team: Spanish (http://www.transifex.com/openstack/keystone/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 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s no es u suceso de notificación válido, debe ser uno de: %(actions)s" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s no es un host de panel de control de confianza" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s no proporciona migración de base de datos. La vía de acceso de " +"repositorio de migración en %(path)s no existe o no es un directorio." + +#, 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." + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s no es una %(display_expected_type)s" + +#, 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." + +#, python-format +msgid "%s cannot be empty." +msgstr "%s no puede estar vacío." + +#, python-format +msgid "%s extension does not exist." +msgstr "La extensión %s no existe." + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "campo %s es necesario y no puede estar vacío" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "%s campo(s) no puede estar vacío" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(Inhabilite la modalidad de depuración para suprimir estos detalles.)" + +msgid "--all option cannot be mixed with other options" +msgstr "La opción --all no puede mezclarse con otras opciones" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "" +"Se necesita una señal con ámbito de proyecto para producir un catálogo de " +"servicio." + +msgid "Access token is expired" +msgstr "El token de acceso ha expirado" + +msgid "Access token not found" +msgstr "No se ha encontrado el token de acceso" + +msgid "Additional authentications steps required." +msgstr "Se precisan pasos adicionales de autenticación." + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "" +"Se ha producido un error inesperado al recuperar configuraciones de dominio" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "Un error inesperado ocurrió cuando se intentaba almacenar %s" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "" +"El servidor no ha podido completar su petición debido a un error inesperado." + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"Un error inesperado a impedido que el servidor complete su solicitud: " +"%(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "" +"Se ha producido una excepción no manejada: no se han podido encontrar los " +"metadatos." + +msgid "At least one option must be provided" +msgstr "Debe especificar al menos una opción" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "Debe proporcionarse al menos una opción, utilice --all o --domain-name" + +msgid "At least one role should be specified." +msgstr "Al menos debe especificarse un rol" + +msgid "Attempted to authenticate with an unsupported method." +msgstr "Se ha intentado autenticar con un método no compatible." + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"Intentando utilizar la señal OS-FEDERATION con el servicio de identidad V2, " +"utilice la autenticación V3 ." + +msgid "Authentication plugin error." +msgstr "Error en el complemento de autenticación " + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "" +"No se puede autorizar una señal de solicitud con una señal emitida mediante " +"delegación." + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "No se puede cambiar %(option_name)s %(attr)s" + +msgid "Cannot change Domain ID" +msgstr "No se puede cambiar el ID del Dominio" + +msgid "Cannot change consumer secret" +msgstr "No se puede cambiar el secreto de consumidor" + +msgid "Cannot change user ID" +msgstr "No se puede cambiar el ID de usuario" + +msgid "Cannot change user name" +msgstr "No se puede cambiar el nombre de usuario" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "No se puede crear el proyecto con padre: %(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "No se puede duplicar nombre %s" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "" +"No se pueden listar las señales de solicitud con una señal emitida mediante " +"delegación." + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "No se puede abrir el certificado %(cert_file)s. Razón: %(reason)s" + +#, 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" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"No se puede truncar una llamada de controlador si lista de sugerencias como " +"primer parámetro después de self " + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"No se pueden utilizar los parámetros de consulta parents_as_list y " +"parents_as_ids al mismo tiempo." + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"No se pueden utilizar los parámetros de consulta subtree_as_list y " +"subtree_as_ids al mismo tiempo." + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "" +"La combinación de filtro de grupo y efectivo dará siempre como resultado una " +"lista vacía." + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "" +"La combinación de filtros heredados, de dominio y efectivos dará siempre " +"como resultado una lista vacía." + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "Ha ocurrido un conflicto al intentar almacenar %(type)s - %(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "" +"Se han especificado ID de región conflictivos: \"%(url_id)s\" != \"%(ref_id)s" +"\"" + +msgid "Consumer not found" +msgstr "No se ha encontrado el consumidor" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "" +"No se pueden cambiar atributos inalterables '%(attributes)s' en el destino " +"%(target)s" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"No se ha podido encontrar %(group_or_option)s en la configuración de dominio " +"para el dominio %(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "No se ha encontrado un grupo de puntos finales: %(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "" +"No se ha podido encontrar el identificador del proveedor de identidad en el " +"entorno" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "No se ha podido encontrar el proveedor de identidad: %(idp_id)s" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "No se ha podido encontrar el proveedor de servicios: %(sp_id)s" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "No se ha podido encontrar la credencial: %(credential_id)s" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "No se ha podido encontrar el dominio: %(domain_id)s" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "No se ha podido encontrar : %(endpoint_id)s" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"No se ha podido encontrar el protocolo federado %(protocol_id)s para el " +"proveedor de identidad: %(idp_id)s" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "No se ha podido encontrar el grupo: %(group_id)s" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "No se ha podido encontrar la correlación: %(mapping_id)s" + +msgid "Could not find policy association" +msgstr "No se ha encontrado una asociación de política" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "No se ha podido encontrar : %(policy_id)s" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "No se ha podido encontrar el proyecto: %(project_id)s" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "No se ha podido encontrar la región: %(region_id)s" + +msgid "Could not find role" +msgstr "No se puede encontrar la función" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"No se ha podido encontrar la asignación de roles con el rol: %(role_id)s, " +"usuario o grupo: %(actor_id)s, proyecto o dominio: %(target_id)s" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "No se ha podido encontrar el rol: %(role_id)s" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "No se ha podido encontrar el servicio: %(service_id)s" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "No se ha podido encontrar la señal: %(token_id)s" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "No se ha podido encontrar la confianza: %(trust_id)s" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "No se ha podido encontrar el usuario: %(user_id)s" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "No se ha podido encontrar la versión: %(version)s" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "No se ha podido encontrar : %(target)s" + +msgid "Could not validate the access token" +msgstr "No se ha podido validar la señal de acceso" + +msgid "Credential belongs to another user" +msgstr "La credencial pertenece a otro usuario" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "Base de datos en /domains/%s/config" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "" +"Inhabilitando una entidad donde el atributo 'enable' se omite en la " +"configuración." + +#, python-format +msgid "Domain (%s)" +msgstr "Dominio (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "El dominio no se puede llamar %s" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "El dominio no puede tener el ID %s" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "El dominio está inhabilitado: %s" + +msgid "Domain metadata not supported by LDAP" +msgstr "Metadatos de dominio no soportados por LDAP" + +msgid "Domain scoped token is not supported" +msgstr "La señal con ámbito de dominio no está soportada" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"Dominio: %(domain)s ya tiene definida una configuración - ignorando el " +"archivo: %(file)s." + +msgid "Domains are read-only against LDAP" +msgstr "Los dominios son de sólo lectura para LDAP" + +msgid "Duplicate Entry" +msgstr "Entrada Duplicada " + +#, python-format +msgid "Duplicate ID, %s." +msgstr "ID duplicado, %s." + +#, python-format +msgid "Duplicate name, %s." +msgstr "Nombre duplicado, %s." + +msgid "Enabled field must be a boolean" +msgstr "El campo habilitado debe ser un booleano" + +msgid "Enabled field should be a boolean" +msgstr "El campo habilitado debe ser un booleano" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "" +"No se ha encontrado el punto final %(endpoint_id)s en el proyecto " +"%(project_id)s" + +msgid "Endpoint Group Project Association not found" +msgstr "" +"No se ha encontrado la asociación del proyecto del grupo de puntos finales" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "" +"Compruebe que se haya establecido la opción de configuración idp_entity_id." + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "" +"Compruebe que se haya establecido la opción de configuración " +"idp_sso_endpoint." + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"Error al analizar el archivo de configuración para el dominio: %(domain)s, " +"archivo: %(file)s." + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "Error al leer el archivo de metadatos, %(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "Se espera un diccionario o una lista: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"Los certificados para firmas esperados no están disponibles en el servidor. " +"Compruebe la configuración de Keystone." + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"Esperando encontrar %(attribute)s en %(target)s - el servidor no pudo " +"cumplir la solicitud porque está formada incorrectamente o de otra forma es " +"incorrecta. El cliente se asume en error." + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "No se ha podido iniciar el servidor %(name)s" + +msgid "Failed to validate token" +msgstr "Ha fallado la validación del token" + +msgid "Federation token is expired" +msgstr "La señal de federación ha caducado" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"El campo \"remaining_uses\" está establecido en %(value)s, pero no debe " +"estar establecido para poder redelegar una confianza" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "" +"Se ha encontrado una señal no válida: tiene un ámbito de proyecto y dominio." + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "" +"El grupo %(group)s no se admite para las configuraciones específicas de " +"dominio" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"El grupo %(group_id)s devuelto por la correlación %(mapping_id)s no se ha " +"encontrado en el programa de fondo." + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"La pertenencia a grupos en los límites del programa de fondo no está " +"permitida, el grupo en cuestión es %(group_id)s, el usuario es %(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "" +"No se ha encontrado el ID de atributo %(id_attr)s en el objeto LDAP %(dn)s" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "El proveedor de identidad %(idp)s está inhabilitado" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "" +"No se ha incluido el identificador del proveedor de identidad de entrada " +"entre los identificadores aceptados." + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "Opción de LDAP TLS no válida: %(option)s. Elegir uno de: %(options)s" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "Opción LDAP TLS_AVAIL inválida: %s. TLS no disponible" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "Opción deref LDAP no válida: %(option)s. Elija una de: %(options)s" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "" +"Ámbito LDAP incorrecto: %(scope)s. Selecciones una de las siguientes " +"opciones: %(options)s" + +msgid "Invalid TLS / LDAPS combination" +msgstr "Combinación TLS/LDAPS no válida" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "" +"Tipo de datos de información de auditoría no válido: %(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "Blob no válido en credencial" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"Nombre de dominio no válido: %(domain)s encontrado en el nombre de archivo " +"de configuración: %(file)s - ignorando este archivo." + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "Configuración específica de dominio no válida: %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "Entrada no válida para el campo '%(path)s'. El valor es '%(value)s'." + +msgid "Invalid limit value" +msgstr "Valor de límite no válido" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"Combinación no válida de entidades para la asociación de políticas: solo se " +"permite Punto final, Servicio o Región + Servicio. La solicitud fue: Punto " +"final: %(endpoint_id)s, Servicio: %(service_id)s, Región: %(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"Regla no válida: %(identity_value)s. Se deben especificar las palabras clave " +"'grupos' y 'dominio ." + +msgid "Invalid signature" +msgstr "Firma no válida" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"Valor ssl_cert_reqs no válido de %s, debe ser uno de \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" + +msgid "Invalid user / password" +msgstr "Usuario / contraseña no válidos" + +msgid "Invalid username or password" +msgstr "Usuario o contraseña no válidos" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "La región KVS %s ya se ha configurado. No se puede reconfigurar." + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "Almacén de valor de clave no configurado: %s" + +#, python-format +msgid "LDAP %s create" +msgstr "Creación de LDAP %s" + +#, python-format +msgid "LDAP %s delete" +msgstr "Supresión de LDAP %s" + +#, python-format +msgid "LDAP %s update" +msgstr "Actualización de LDAP %s" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "Se ha producido tiempo de espera de bloqueo para la clave, %(target)s" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "" +"La clave de bloqueo debe coincidir con la clave de destino: %(lock)s != " +"%(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "" +"URL de punto final formado incorrectamente (%(endpoint)s), vea el registro " +"de ERROR para obtener detalles." + +msgid "Marker could not be found" +msgstr "No se ha podido encontrar el marcador" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "Se han producido los intentos de bloqueo máximos en %s." + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "El miembro %(member)s ya es miembro del grupo %(group)s" + +#, python-format +msgid "Method not callable: %s" +msgstr "Método no invocable: %s" + +msgid "Missing entity ID from environment" +msgstr "Falta el ID de entidad del entorno" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"La modificación de \"redelegation_count\" tras la redelegación está " +"prohibida. Se recomienda omitir este parámetro." + +msgid "Multiple domains are not supported" +msgstr "No se admiten varios dominios" + +msgid "Must be called within an active lock context." +msgstr "Se debe llamar dentro de un contexto de bloqueo activo." + +msgid "Must specify either domain or project" +msgstr "Debe especificar dominio o proyecto" + +msgid "Name field is required and cannot be empty" +msgstr "El nombre de campo es necesario y no puede estar vacío" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"No se han encontrado cabeceras de autorización, no se puede continuar con " +"las llamadas relacionadas OAuth, si se están ejecutando bajo HTTPd o Apache, " +"asegúrese de que WSGIPassAuthorization se establece en activada." + +msgid "No authenticated user" +msgstr "Ningún usuario autenticado " + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"No se han encontrado claves de cifrado; ejecute keystone-manage fernet_setup " +"para el programa de arranque uno." + +msgid "No options specified" +msgstr "No se especificaron opciones" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "No hay ninguna política asociada con el punto final %(endpoint_id)s." + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "No quedan usos para la confianza: %(trust_id)s" + +msgid "Non-default domain is not supported" +msgstr "El dominio no predeterminado no está soportado" + +msgid "One of the trust agents is disabled or deleted" +msgstr "Uno de los agentes de confianza está inhabilitado o se ha suprimido" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"Se ha encontrado la opción %(option)s sin grupo especificado al comprobar la " +"solicitud de configuración del dominio" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"La opción %(option)s del grupo %(group)s no se admite para las " +"configuraciones específicas del dominio" + +#, python-format +msgid "Project (%s)" +msgstr "Proyecto (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "El proyecto está inhabilitado: %s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "Sólo se permite volver a delegar un delegado por confianza" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"La profundidad de redelegación restante de %(redelegation_depth)d está fuera " +"del rango permitido de [0..%(max_count)d]" + +msgid "Request Token does not have an authorizing user id" +msgstr "El token de solicitud no tiene un id de usuario de autorización" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"El atributo de solicitud %(attribute)s debe ser menor que o igual a " +"%(size)i. El servidor no pudo cumplir con la solicitud debido al tamaño del " +"atributo no es válido (demasiado grande). El cliente se asume en error." + +msgid "Request must have an origin query parameter" +msgstr "La solicitud debe tener un parámetro de consulta de origen" + +msgid "Request token is expired" +msgstr "El token solicitado ha expirado" + +msgid "Request token not found" +msgstr "No se ha encontrado el token solicitado" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "" +"El tiempo de caducidad solicitado es mayor que el que puede proporcionar la " +"confianza redelegada" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"La profundidad de redelegación solicitada de %(requested_count)d es mayor " +"que la permitida %(max_count)d" + +#, python-format +msgid "Role %s not found" +msgstr "No se ha encontrado el rol %s" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"La ejecución de keystone a través de eventlet está en desuso a partir de " +"Kilo sustituyéndose por la ejecución en un servidor WSGI (por ejemplo, " +"mod_wsgi). El soporte para keystone bajo eventlet se eliminará en \"M\"-" +"Release." + +msgid "Scoping to both domain and project is not allowed" +msgstr "El ámbito para dominio y proyecto no está permitido" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "El ámbito para dominio y confianza no está permitido" + +msgid "Scoping to both project and trust is not allowed" +msgstr "El ámbito para proyecto y confianza no está permitido" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "El proveedor de servicios %(sp)s está inhabilitado" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "Algunos roles solicitados no están en la confianza redelegada" + +msgid "Specify a domain or project, not both" +msgstr "Especifique un dominio o proyecto, no ambos" + +msgid "Specify a user or group, not both" +msgstr "Especifique un usuario o grupo, no ambos" + +msgid "Specify one of domain or project" +msgstr "Especifique un dominio o proyecto" + +msgid "Specify one of user or group" +msgstr "Especifique un usuario o grupo" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"La longitud de la serie se ha excedido. La longitud de la serie '%(string)s' " +"ha excedido el límite de la columna %(type)s(CHAR(%(length)d))." + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "La opción --all no se puede utilizar con la opción --domain-name" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "" +"El archivo de configuración de Keystone %(config_file)s no se ha podido " +"encontrar." + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"La configuración específica del dominio Keystone ha especificado más de un " +"controlador SQL (sólo se permite uno): %(source)s." + +msgid "The action you have requested has not been implemented." +msgstr "La acción que ha solicitado no ha sido implemento" + +msgid "The authenticated user should match the trustor." +msgstr "El usuario autenticado debe coincidir con el fideicomitente." + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"Los certificados que ha solicitado no están disponibles. Es probable que " +"este servidor no utilice señales PKI, de lo contrario este es el resultado " +"de una configuración incorrecta." + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"La longitud de la contraseña debe ser menor o igual que %(size)i. El " +"servidor no pudo cumplir la solicitud porque la contraseña no es válida." + +msgid "The request you have made requires authentication." +msgstr "La solicitud que ha hecho requiere autenticación." + +msgid "The resource could not be found." +msgstr "El recurso no se ha podido encontrar." + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"La llamada de revocación debe tener un id_dominio y un id_proyecto. Esto es " +"un error del servidor de Keystone. La solicitud actual ha terminado " +"anormalmente." + +msgid "The service you have requested is no longer available on this server." +msgstr "El servicio que ha solicitado ya no está disponible en este servidor." + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "" +"La región padre %(parent_region_id)s especificada crearía una jerarquía de " +"regiones circular." + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "" +"El valor de grupo %(group)s especificado en la configuración debe ser un " +"diccionario de opciones" + +msgid "There should not be any non-oauth parameters" +msgstr "Solo puede haber parámetros de oauth" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "Esta no es una versión de carga útil Fernet reconocida: %s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"Esta no es una señal v2.0 Fernet. Utilice v3 para señales de confianza, " +"dominio o federadas ." + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"La indicación de fecha y hora no está en el formato esperado. El servidor no " +"ha podido satisfacer la solicitud porque tiene un formato incorrecto o es " +"incorrecta de alguna otra forma. Se supone que el cliente es erróneo." + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"Para obtener información más detallada sobre este error, vuelva a ejecutar " +"este mandato para el dominio especificado, por ejemplo: keystone-manage " +"domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "El token pertenece a otro usuario" + +msgid "Token does not belong to specified tenant." +msgstr "La señal no pertenece al arrendatario especificado." + +msgid "Trustee has no delegated roles." +msgstr "La entidad de confianza no tiene roles delegados." + +msgid "Trustor is disabled." +msgstr "Trustor está deshabilitado." + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"Intentando actualizar el grupo %(group)s, para que ese, y sólo ese grupo se " +"especifique en la configuración" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"Intentando actualizar la opción %(option)s en el grupo %(group)s, pero la " +"configuración proporcionada contiene la opción %(option_other)s en su lugar" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"Intentando actualizar la opción %(option)s en el grupo %(group)s, para que " +"esa, y solo esa opción, se especifique en la configuración" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"No se puede acceder a la base de datos de keystone, compruebe si está " +"configurada correctamente." + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "" +"No se puede consumir la confianza %(trust_id)s, no se puede adquirir el " +"bloqueo." + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"No se puede suprimir la región %(region_id)s porque sus regiones secundarias " +"tienen puntos finales asociados." + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "" +"No se pueden encontrar grupos válidos mientras se utiliza la correlación " +"%(mapping_id)s" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "" +"No se puede obtener una conexión del ID de agrupación %(id)s después de " +"%(seconds)s segundos." + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "No se ha podido localizar el directorio config de dominio: %s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "No se ha podido buscar el usuario %s" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"No se puede reconciliar el atributo de identidad %(attribute)s porque tiene " +"los valores en conflicto %(new)s y %(old)s" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"No se puede firmar la aserción SAML. Es probable que este servidor no tenga " +"xmlsec1 instalado o que sea el resultado de una configuración incorrecta. " +"Razón %(reason)s" + +msgid "Unable to sign token." +msgstr "No se ha podido firmar la señal." + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "Se ha encontrado un tipo de asignación inesperado, %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"Combinación no esperada de atributos de otorgamiento - Usuario: %(user_id)s, " +"Grupo: %(group_id)s, Proyecto: %(project_id)s, Dominio: %(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "Estado inesperado solicitado para la respuesta de JSON Home, %s" + +msgid "Unknown Target" +msgstr "Destino desconocido" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "Dominio desconocido '%(name)s' especificado por --domain-name" + +#, python-format +msgid "Unknown token version %s" +msgstr "Versión de señal desconocida %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "Dependencia no registrada: %(name)s para %(targets)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "No se permite la actualización de `parent_id`." + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "" +"Utilice un token de ámbito de proyecto cuando intente crear una aserción SAML" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "El usuario %(u_id)s no está autorizado en el proyecto %(t_id)s" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"El usuario %(user_id)s ya tiene el rol %(role_id)s en el arrendatario " +"%(tenant_id)s" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "El usuario %(user_id)s no tiene acceso al Dominio %(domain_id)s" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "El usuario %(user_id)s no tiene acceso al proyecto %(project_id)s" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "El usuario %(user_id)s ya es miembro del grupo %(group_id)s" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "Usuario '%(user_id)s' no encontrado en el grupo '%(group_id)s'" + +msgid "User IDs do not match" +msgstr "ID de usuario no coinciden" + +#, python-format +msgid "User is disabled: %s" +msgstr "El usuario está inhabilitado: %s" + +msgid "User is not a member of the requested project" +msgstr "El usuario no es miembro del proyecto solicitado" + +msgid "User is not a trustee." +msgstr "El usuario no es de confianza." + +msgid "User not found" +msgstr "Usuario no encontrado" + +#, python-format +msgid "User type %s not supported" +msgstr "El tipo de usuario %s no está soportado" + +msgid "You are not authorized to perform the requested action." +msgstr "No está autorizado para realizar la acción solicitada." + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "No está autorizado para realizar la acción solicitada: %(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "Las funciones `key_mangler` se deben poder llamar." + +msgid "`key_mangler` option must be a function reference" +msgstr "La opción `key_mangler` debe ser una referencia de función" + +msgid "any options" +msgstr "cualquier opción" + +msgid "auth_type is not Negotiate" +msgstr "auth_type no es Negotiate" + +msgid "authorizing user does not have role required" +msgstr "el usuario de autorización no tiene la función requerida" + +msgid "cache_collection name is required" +msgstr "el nombre de cache_collection es necesario" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "" +"No se puede crear un proyecto en una rama que contiene un proyecto " +"inhabilitado: %s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "" +"No se puede crear un proyecto dentro de un dominio distinto al de sus padres." + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "" +"no se puede suprimir un dominio que está habilitado, inhabilítelo primero." + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "" +"No se puede suprimir el proyecto %s, ya que no es una hoja en la jerarquía." + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"No se puede inhabilitar el proyecto %s, ya que su subárbol contiene " +"proyectos habilitados" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "" +"No se puede habilitar el proyecto %s, ya que tiene padres inhabilitados" + +msgid "database db_name is required" +msgstr "base de datos db_name es necesario" + +msgid "db_hosts value is required" +msgstr "El valor db_hosts es necesario" + +msgid "delete the default domain" +msgstr "suprimir el dominio predeterminado" + +#, python-format +msgid "group %(group)s" +msgstr "grupo %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type debe ser una de estas opciones: [técnico, otros, soporte, " +"administrativo o facturación." + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "se esperaba un valor entero para mongo_ttl_seconds" + +msgid "integer value expected for w (write concern attribute)" +msgstr "se esperaba un valor entero para w (atributo en cuestión write)" + +#, python-format +msgid "invalid date format %s" +msgstr "formato de fecha no válido %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "Se ha alcanzado la profundidad máxima de jerarquía en la rama %s." + +msgid "no ssl support available" +msgstr "Soporte SSL no disponible." + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "opción %(option)s en el grupo %(group)s" + +msgid "pad must be single character" +msgstr "el relleno debe ser un único carácter" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "el texto base64url rellenado debe ser múltiplo de 4 caracteres" + +msgid "provided consumer key does not match stored consumer key" +msgstr "" +"la clave de consumidor proporcionada no coincide con la clave de consumidor " +"almacenada" + +msgid "provided request key does not match stored request key" +msgstr "" +"la clave de solicitud proporcionada no coincide con la clave de solicitud " +"almacenada" + +msgid "provided verifier does not match stored verifier" +msgstr "el verificador proporcionado no coincide con el verificador almacenado" + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "región no tipo dogpile.cache.CacheRegion" + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses debe ser un entero positivo o nulo." + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "remaining_uses no se debe establecer si se permite la redelegación" + +msgid "replicaset_name required when use_replica is True" +msgstr "se necesita replicaset_name cuando use_replica es True (verdadero)" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"solicitud para actualizar el grupo %(group)s, pero la configuración " +"proporcionada contiene el grupo %(group_other)s en su lugar" + +msgid "rescope a scoped token" +msgstr "Volver a establecer el ámbito de una señal con ámbito" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"el texto es múltiplo de 4, pero el relleno \"%s\" aparece antes del " +"penúltimo carácter" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"el texto es múltiplo de 4, pero el relleno \"%s\" aparece antes del último " +"carácter no de relleno" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "el texto no es un múltiplo de 4, pero contiene el relleno \"%s\"" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "No se ha encontrado o no es un directorio tls_cacertdir %s" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "No se ha encontrado o no es un fichero tls_cacertfile %s" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "" +"la referencia de señal debe ser un tipo KeystoneToken, se ha obtenido: %s" diff --git a/keystone/locale/fr/LC_MESSAGES/keystone.po b/keystone/locale/fr/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..775d51b596 --- /dev/null +++ b/keystone/locale/fr/LC_MESSAGES/keystone.po @@ -0,0 +1,1292 @@ +# French translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# Fries , 2014 +# Maxime COQUEREL , 2014 +# Andrew Melim , 2014 +# Olivier Perrin , 2013 +# Rémi Le Trocquer , 2014 +# OpenStack Infra , 2015. #zanata +# Tom Cocozzello , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: fr\n" +"Language-Team: French (http://www.transifex.com/openstack/keystone/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 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s n'est pas un événement de notification valide, doit être l'une des " +"options suivantes : %(actions)s" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s n'est pas un hôte de tableau de bord digne de confiance" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s ne permet pas les migrations de base de données. Le chemin du " +"référentiel de migration %(path)s n'existe pas ou n'est pas un répertoire." + +#, python-format +msgid "%(property_name)s cannot be less than %(min_length)s characters." +msgstr "" +"%(property_name)s ne peut pas contenir moins de %(min_length)s caractères." + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s n'est pas du type %(display_expected_type)s" + +#, python-format +msgid "%(property_name)s should not be greater than %(max_length)s characters." +msgstr "" +"%(property_name)s ne doit pas contenir plus de %(max_length)s caractères." + +#, python-format +msgid "%s cannot be empty." +msgstr "%s ne peut pas être vide." + +#, python-format +msgid "%s extension does not exist." +msgstr "extension %s n'existe pas." + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "La zone %s est obligatoire et ne peut pas être vide" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "%s zone(s) ne peut(peuvent) pas être vide(s)" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(Désactivez le mode de débogage pour supprimer ces informations.)" + +msgid "--all option cannot be mixed with other options" +msgstr "-all option ne peut pas être mélanger avec d'autres options." + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "Un jeton de projet est requis pour produire un catalogue de service." + +msgid "Access token is expired" +msgstr "Token d'accès est expiré" + +msgid "Access token not found" +msgstr "Token d'accès non trouvé" + +msgid "Additional authentications steps required." +msgstr "Authentifications étapes supplémentaires sont nécessaires ." + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "" +"Une erreur inattendue est survenue lors de l'extraction des configurations " +"de domaine" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "" +"Une erreur inattendue est survenue lors de la tentative de stockage de %s" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "Une erreur inattendue a empêché le serveur de traiter votre requête." + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"Une erreur inattendue a empêché le serveur de traiter votre requête: " +"%(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "Une exception non gérée s'est produite : métadonnées introuvables." + +msgid "At least one option must be provided" +msgstr "Au moins une option doit être fourni" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "" +"Au moins une option doit être indiquée. Utilisez --all ou --domain-name" + +msgid "At least one role should be specified." +msgstr "Au moins un rôle doit être indiqué." + +msgid "Attempted to authenticate with an unsupported method." +msgstr "Tentative d'authentification avec une méthode non prise en charge ." + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"Tentative d'utilisation du jeton OS-FEDERATION avec V2 Identity Service, " +"utilisez l'authentification V3" + +msgid "Authentication plugin error." +msgstr "Erreur d'authentification du plugin." + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "" +"Impossible d'autoriser un jeton de requête avec un jeton émis par " +"l'intermédiaire de la délégation." + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "Impossible de modifier %(option_name)s %(attr)s" + +msgid "Cannot change Domain ID" +msgstr "Ne peut pas changer l'identifiant du domaine" + +msgid "Cannot change consumer secret" +msgstr "Impossible de changer le secret du client" + +msgid "Cannot change user ID" +msgstr "Impossible de modifier l'id de l'utilisateur" + +msgid "Cannot change user name" +msgstr "Impossible de changer le nom d'utilisateur" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "Impossible de créer le projet %(project_id)s avec le parent" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "Impossible de dupliquer le nom %s" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "" +"Impossible de répertorier des jetons de requête avec un jeton émis par " +"l'intermédiaire de la délégation." + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "Impossible d'ouvrir le certificat %(cert_file)s. Raison: %(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "Impossible de retirer le rôle qui n'est pas accordé, %s" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"Impossible de tronquer un appel de pilote sans avoir hints list comme " +"premier paramètre après self " + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"Impossible d'utiliser les paramètres d'interrogation parents_as_list et " +"parents_as_ids en même temps." + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"Impossible d'utiliser les paramètres d'interrogation subtree_as_list et " +"subtree_as_ids en même temps." + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "" +"Le fait de combiner un filtre effectif et un filtre de groupes donnera " +"toujours une liste vide." + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "" +"Le fait de combiner des filtres effectifs, de domaine et hérités donnera " +"toujours une liste vide." + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "" +"Un conflit s'est produit lors de la tentative de stockage de %(type)s - " +"%(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "" +"ID de région contradictoires indiqués : \"%(url_id)s\" != \"%(ref_id)s\"" + +msgid "Consumer not found" +msgstr "Client non trouvé" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "" +"Impossible de modifier le(s) attribut(s) non modifiable(s) '%(attributes)s' " +"dans la cible %(target)s" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"%(group_or_option)s introuvable dans la configuration de domaine pour le " +"domaine %(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "Groupe de points finals introuvable : %(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "" +"L'identificateur de fournisseur d'identité est introuvable dans " +"l'environnement." + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "Impossible de trouver l'identité du Provider: %(idp_id)s" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "Le fournisseur de services %(sp_id)s est introuvable" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "Impossible de trouver les paramètres du compte: %(credential_id)s" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "Impossible de trouver le domaine: %(domain_id)s" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "Noeud final %(endpoint_id)s introuvable." + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"Protocole fédéré %(protocol_id)s introuvable pour le fournisseur " +"d'identité : %(idp_id)s" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "Impossible de trouver le groupe: %(group_id)s" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "Mappage %(mapping_id)s introuvable." + +msgid "Could not find policy association" +msgstr "Association de règle introuvable." + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "Règle %(policy_id)s introuvable." + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "Impossible de trouver le projet: %(project_id)s" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "Impossible de trouver la région: %(region_id)s" + +msgid "Could not find role" +msgstr "Ne peut pas trouvé le role" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"Affectation de rôle avec le rôle : %(role_id)s, l'utilisateur ou le groupe : " +"%(actor_id)s, le projet ou le domaine : %(target_id)s introuvable" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "Impossible de trouver le rôle: %(role_id)s" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "Impossible de trouver le service: %(service_id)s" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "Impossible de trouver le token: %(token_id)s" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "Confiance %(trust_id)s introuvable." + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "Impossible de trouver l'utilisateur: %(user_id)s" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "Impossible de trouver la version: %(version)s" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "N'est pas trouvé: %(target)s" + +msgid "Could not validate the access token" +msgstr "Ne peut pas valider l'acces du token" + +msgid "Credential belongs to another user" +msgstr "Les données d'identification appartiennent à un autre utilisateur" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "Base de données dans /domains/%s/config" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "" +"Désactivation d'une entité dont l'attribut 'enable' est ignoré par la " +"configuration." + +#, python-format +msgid "Domain (%s)" +msgstr "Domaine (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "Le domaine ne peut pas s'appeler %s" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "Le domaine ne peut pas posséder l'ID %s" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "Domaine désactivé : %s" + +msgid "Domain metadata not supported by LDAP" +msgstr "Les métadata du domaine ne sont pas supporté par LDAP" + +msgid "Domain scoped token is not supported" +msgstr "Le jeton de périmètre du domaine n'est pas pris en charge" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"Le domaine : %(domain)s possède déjà une configuration définie - ce fichier " +"sera ignoré : %(file)s." + +msgid "Domains are read-only against LDAP" +msgstr "Les domaines sont en lecture seule pour LDAP" + +msgid "Duplicate Entry" +msgstr "Entrée en double" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "ID en double, %s." + +#, python-format +msgid "Duplicate name, %s." +msgstr "Nom en double, %s." + +msgid "Enabled field must be a boolean" +msgstr "La zone activée doit être un booléen" + +msgid "Enabled field should be a boolean" +msgstr "La zone activée devrait être un booléen" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "Noeud final %(endpoint_id)s introuvable dans le projet %(project_id)s" + +msgid "Endpoint Group Project Association not found" +msgstr "Association de projets du groupe de points finals introuvable" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "Assurez-vous que l'option de configuration idp_entity_id est définie." + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "" +"Assurez-vous que l'option de configuration idp_sso_endpoint est définie." + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"Erreur lors de l'analyse syntaxique du fichier de configuration pour le " +"domaine : %(domain)s, fichier : %(file)s." + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "Erreur durant la lecteur des méta data du fichier, %(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "Type dictionnaire ou liste attendu: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"Les certificats signataires attendus sont indisponibles sur le serveur. " +"Veuillez vérifier la configuration de Keystone." + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"%(attribute)s recherché dans %(target)s - le serveur n'a pas pu se conformer " +"à la requête puisqu'elle est mal formée ou incorrecte. Par défaut, le client " +"est en erreur." + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "Impossible de démarrer le serveur %(name)s" + +msgid "Failed to validate token" +msgstr "Echec de validation du token" + +msgid "Federation token is expired" +msgstr "La fédération du toke est expiré" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"La zone \"remaining_uses\" est définie sur %(value)s alors qu'elle ne doit " +"pas être définie pour redéléguer une fiducie" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "Jeton non valide trouvé : portée de projet et de domaine." + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "" +"Le groupe %(group)s n'est pas pris en charge pour les configurations " +"spécifiques au domaine" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"Groupe %(group_id)s renvoyé par le mappage %(mapping_id)s introuvable dans " +"le backend." + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"Appartenance au groupe entre frontières dorsales interdite, le groupe en " +"question est %(group_id)s, l'utilisateur est %(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "L'attribut ID %(id_attr)s est introuvable dans l'objet LDAP %(dn)s" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "Le fournisseur d'identité %(idp)s est désactivé" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "" +"L'identificateur entrant du fournisseur d'identité ne fait pas partie des " +"identificateurs acceptés." + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Option de certificat TLS LDAP non valide : %(option)s. Choisissez l'une des " +"options : %(options)s" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "Mauvaise option LDAP TLS_AVAIL: %s. TLS n'est pas disponible" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Option déréférencée LDAP non valide : %(option)s. Choisir l'une des options " +"suivantes : %(options)s" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "Portée LDAP invalide: %(scope)s. Choisissez parmi: %(options)s" + +msgid "Invalid TLS / LDAPS combination" +msgstr "Combinaison TLS / LDAPS invalide" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "Type de données d'information d'audit non valide : %(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "Blob non valide dans les informations d'identification" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"Nom de domaine non valide : %(domain)s trouvé dans le nom du fichier de " +"configuration : %(file)s - ce fichier sera ignoré." + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "Configuration spécifique au domaine non valide : %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "" +"Valeur d'entrée incorrecte pour la zone '%(path)s'. La valeur est " +"'%(value)s'." + +msgid "Invalid limit value" +msgstr "Limite de valeur non valide" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"Combinaison non valide d'entités pour l'association de règle. Seules les " +"entités Point final, Service ou Région+Service sont autorisées. La demande " +"était Point final : %(endpoint_id)s, Service : %(service_id)s, Région : " +"%(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"Règle non valide : %(identity_value)s. Les mots clés 'groups' et 'domain' " +"doivent être spécifiés." + +msgid "Invalid signature" +msgstr "Signature non valide" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"Valeur de ssl_cert_reqs non valide (%s), doit être l'une des valeurs " +"suivantes : \"NONE\", \"OPTIONAL\", \"REQUIRED\"" + +msgid "Invalid user / password" +msgstr "Login / Mot de passe non valide" + +msgid "Invalid username or password" +msgstr "Nom d'utilisateur ou mot de passe invalide" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "KVS region %s est déjà configuré. Ne peut pas être reconfiguré." + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "La valeur de la clé du magasin n'est pas configuré: %s" + +#, python-format +msgid "LDAP %s create" +msgstr "Création LDAP %s" + +#, python-format +msgid "LDAP %s delete" +msgstr "Suppression LDAP %s" + +#, python-format +msgid "LDAP %s update" +msgstr "Mise à jour LDAP %s" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "Le délai de verrouillage s'est produit pour la clé, %(target)s" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "" +"La clé de verrouillage doit correspondre à la clé cible : %(lock)s != " +"%(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "" +"Un caractère est mal formé dans URL (%(endpoint)s), regarder le log d'erreur " +"pour plus de détails." + +msgid "Marker could not be found" +msgstr "Le marqueur ne peut pas être trouvé" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "Le nombre maximal de tentatives de verrouillage sur %s est atteint." + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "Le membre %(member)s est déjà membre du groupe %(group)s" + +#, python-format +msgid "Method not callable: %s" +msgstr "Impossible d'appeler la méthode %s" + +msgid "Missing entity ID from environment" +msgstr "IP d'entité manquant de l'environnement" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"La modification de \"redelegation_count\" lors de la redélégation est " +"interdite. Il est conseillé d'omettre ce paramètre." + +msgid "Multiple domains are not supported" +msgstr "Les multiples domaines ne sont pas supporté" + +msgid "Must be called within an active lock context." +msgstr "Doit être appelé dans un contexte de verrou actif." + +msgid "Must specify either domain or project" +msgstr "Indiquer obligatoirement un domaine ou un projet" + +msgid "Name field is required and cannot be empty" +msgstr "La zone de nom est requise et ne peut pas être vide" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"Aucun en-tête d'autorisation trouvé, impossible de procéder aux appels liés " +"à OAuth, en cas d'exécution sous HTTPd ou Apache, vérifiez que " +"WSGIPassAuthorization est défini sur Activé." + +msgid "No authenticated user" +msgstr "Aucun utilisateur authentifié" + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"Aucune clé de chiffrement trouvée ; exécutez keystone-manage fernet_setup " +"pour en amorcer une." + +msgid "No options specified" +msgstr "Aucune option spécifiée" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "Aucune règle n'est associée au point final %(endpoint_id)s." + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "Aucune utilisation restante pour la confiance : %(trust_id)s" + +msgid "Non-default domain is not supported" +msgstr "Le domaine non par défaut n'est pas pris en charge" + +msgid "One of the trust agents is disabled or deleted" +msgstr "L'un des agents de confiance est désactivé ou supprimé" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"Option %(option)s trouvée avec aucun groupe spécifié lors de la vérification " +"de la demande de configuration du domaine" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"L'option %(option)s dans le groupe %(group)s n'est pas prise en charge pour " +"les configurations spécifiques au domaine" + +#, python-format +msgid "Project (%s)" +msgstr "Projet (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "Projet désactivé : %s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "Redélégation autorisée pour une délégation par fiducie uniquement" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"Profondeur de redélégation restante %(redelegation_depth)d par rapport à la " +"plage admise [0..%(max_count)d]" + +msgid "Request Token does not have an authorizing user id" +msgstr "Le jeton de la demande ne possède pas d'ID utilisateur d'autorisation" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"La valeur de l'attribut %(attribute)s de la demande doit être inférieure ou " +"égale à %(size)i. Il se peut que le serveur ne soit pas conforme à la " +"demande car la taille de l'attribut est incorrecte (excessive). Par défaut, " +"le client est en erreur." + +msgid "Request must have an origin query parameter" +msgstr "La demande doit avoir un paramètre de requête d'origine" + +msgid "Request token is expired" +msgstr "La requete du token est expiré" + +msgid "Request token not found" +msgstr "Token de requete non trouvé" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "" +"Le délai d'expiration demandé dépasse celui que la fiducie redéléguée peut " +"fournir" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"La profondeur de redélégation demandée %(requested_count)d est supérieure à " +"la limite autorisée %(max_count)d" + +#, python-format +msgid "Role %s not found" +msgstr "Rôle %s non trouvé" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"Exécution de keystone via eventlet est obsolète depuis Kilo et remplacée par " +"l'exécution dans un serveur WSGI (par exemple, mod_wsgi). La prise en charge " +"pour keystone sous l'eventlet sera supprimée dans \"M\"-Release." + +msgid "Scoping to both domain and project is not allowed" +msgstr "La configuration du domaine et du projet n'est pas autorisée" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "" +"La configuration du domaine et du certificat de confiance n'est pas autorisée" + +msgid "Scoping to both project and trust is not allowed" +msgstr "" +"La configuration du projet et du certificat de confiance n'est pas autorisée" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "Le fournisseur de services %(sp)s est désactivé" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "Certains rôles demandés ne font pas partie de la fiducie redéléguée" + +msgid "Specify a domain or project, not both" +msgstr "Spécifier un domaine ou un projet, pas les deux" + +msgid "Specify a user or group, not both" +msgstr "Spécifier un utilisateur ou groupe, pas les deux" + +msgid "Specify one of domain or project" +msgstr "Indiquez un domaine ou un projet" + +msgid "Specify one of user or group" +msgstr "Indiquez un utilisateur ou un groupe" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"Longueur de chaîne dépassée. La longueur de la chaîne '%(string)s a dépassé " +"la valeur maximale de colonne %(type)s(CHAR(%(length)d))." + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "L'option --all ne peut pas être utilisée avec l'option --domain-name" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "" +"Le fichier de configuration Keystone %(config_file)s ne peut pas être trouvé." + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"La configuration spécifique au domaine keystone a spécifié plusieurs pilotes " +"SQL (un seul est autorisé) : %(source)s." + +msgid "The action you have requested has not been implemented." +msgstr "L'action que vous avez demandée n'a pas été implémentée." + +msgid "The authenticated user should match the trustor." +msgstr "L'utilisateur authentifié doit correspondre au fiduciant." + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"Les certificats que vous avez demandés sont indisponibles. Il est probable " +"que ce serveur n'utilise pas les jetons PKI ; sinon, c'est le résultat d'un " +"problème de configuration." + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"La longueur du mot de passe doit être inférieure ou égale à %(size)i. n'est " +"pas conforme à la demande car le mot de passe est incorrect." + +msgid "The request you have made requires authentication." +msgstr "La demande que vous avez fait requiert une authentification." + +msgid "The resource could not be found." +msgstr "La ressource est introuvable." + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"L'appel de révocation ne doit pas contenir à la fois domain_id et " +"project_id. Il s'agit d'un bogue dans le serveur Keystone. La demande en " +"cours est abandonnée." + +msgid "The service you have requested is no longer available on this server." +msgstr "Le service que vous avez demandé n'est plus disponible sur ce serveur." + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "" +"La région parent spécifiée %(parent_region_id)s risque de créer une " +"hiérarchie de région circulaire." + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "" +"La valeur du groupe %(group)s spécifié dans la configuration doit être un " +"dictionnaire d'options" + +msgid "There should not be any non-oauth parameters" +msgstr "Aucun paramètre non-oauth ne doit être utilisé" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "Il ne s'agit pas d'une version de contenu Fernet reconnue : %s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"Il ne s'agit pas d'un jeton v2.0 Fernet. Utilisez v3 pour les jetons de " +"confiance, de domaine ou fédérés." + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"Horodatage n'est pas au format attendu. Le serveur n'a pas pu se conformer à " +"la demande car elle est incorrectement formée ou incorrecte. Le client est " +"considéré comme étant à l'état d'erreur." + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"Pour obtenir des informations plus détaillées sur cette erreur, réexécutez " +"cette commande pour le domaine spécifique, par exemple : keystone-manage " +"domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "Le jeton appartient à un autre utilisateur" + +msgid "Token does not belong to specified tenant." +msgstr "Le jeton n'appartient pas au titulaire spécifié." + +msgid "Trustee has no delegated roles." +msgstr "Le fiduciaire n'a aucun rôle délégué." + +msgid "Trustor is disabled." +msgstr "Trustor est désactivé. " + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"Tentative de mise à jour du groupe %(group)s, de sorte que le groupe soit " +"spécifié dans la configuration uniquement" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"Tentative de mise à jour de l'option %(option)s dans le groupe %(group)s, " +"mais la configuration fournie contient l'option %(option_other)s à la place" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"Tentative de mise à jour de l'option %(option)s dans le groupe %(group)s, de " +"sorte que l'option soit spécifiée dans la configuration uniquement" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"Impossible d'accéder à la base de données keystone, vérifiez qu'elle est " +"configurée correctement." + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "" +"Impossible de consommer la confiance %(trust_id)s et d'acquérir un verrou." + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"Impossible de supprimer la région %(region_id)s car la région ou ses régions " +"enfant ont des noeuds finals associés." + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "" +"Impossible de trouver des groupes valides en utilisant le mappage " +"%(mapping_id)s" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "" +"Impossible d'établir une connexion à partir de l'ID de pool %(id)s après " +"%(seconds)s secondes." + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "Impossible de localiser le répertoire de configuration domaine: %s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "Impossible de rechercher l'utilisateur %s" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"Impossible de rapprocher l'attribut d'identité %(attribute)s car il possède " +"des valeurs en conflit : %(new)s et %(old)s" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"Impossible de signer l'assertion SAML. Il est probable que xmlsec1 ne soit " +"pas installé sur ce serveur ; sinon, cela est dû à un problème de " +"configuration. Raison : %(reason)s" + +msgid "Unable to sign token." +msgstr "Impossible de signer le jeton" + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "Type inattendu d'affectation, %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"Combinaison inattendue d'attributs d'octroi - Utilisateur : %(user_id)s. " +"Groupe : %(group_id)s. Projet : %(project_id)s. Domaine : %(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "Statut inattendu demandé pour la réponse JSON Home, %s" + +msgid "Unknown Target" +msgstr "Cible inconnu" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "Domaine inconnu '%(name)s' spécifié par --domain-name" + +#, python-format +msgid "Unknown token version %s" +msgstr "Version du token inconnu %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "Dépendance désenregistrée : %(name)s pour %(targets)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "La mise à jour de `parent_id` est interdite." + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "" +"Utilisez un jeton dont la portée est un projet lorsque vous essayez de créer " +"une assertion SAML" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "L'utilisateur %(u_id)s n'est pas autorisé pour le locataire %(t_id)s" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"L'utilisateur %(user_id)s possède déjà le rôle %(role_id)s dans le locataire " +"%(tenant_id)s" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "L'utilisateur %(user_id)s n'a pas accès au domaine %(domain_id)s" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "L'utilisateur %(user_id)s n'a pas accès au projet %(project_id)s" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "L'utilisateur %(user_id)s est déjà membre du groupe %(group_id)s" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "Utilisateur '%(user_id)s' non trouvé dans le groupe '%(group_id)s'" + +msgid "User IDs do not match" +msgstr "Les ID utilisateur ne correspondent pas." + +#, python-format +msgid "User is disabled: %s" +msgstr "Utilisateur désactivé : %s" + +msgid "User is not a member of the requested project" +msgstr "L'utilisateur n'est pas membre du projet demandé" + +msgid "User is not a trustee." +msgstr "L'utilisateur n'est pas administrateur." + +msgid "User not found" +msgstr "Utilisateur introuvable" + +#, python-format +msgid "User type %s not supported" +msgstr "Type d'utilisateur %s non pris en charge" + +msgid "You are not authorized to perform the requested action." +msgstr "Vous n'êtes pas autorisé à effectuer l'action demandée" + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "Vous n'êtes pas autorisé à effectuer l'action demandée: %(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "Les fonctions `key_mangler` doivent pouvoir être appelées." + +msgid "`key_mangler` option must be a function reference" +msgstr "L'option `key_mangler` doit être une référence de fonction" + +msgid "any options" +msgstr "toute option" + +msgid "auth_type is not Negotiate" +msgstr "auth_type n'est pas négocié" + +msgid "authorizing user does not have role required" +msgstr "un rôle est facultatif pour l'utilisateur d'autorisation" + +msgid "cache_collection name is required" +msgstr "Nom cache_collection est requis" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "" +"Impossible de créer un projet dans une branche qui contient un projet " +"désactivé : %s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "" +"Impossible de créer un projet dans un domaine qui diffère de celui-ci de ses " +"parents." + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "" +"Impossible de supprimer un domaine activé, s'il vous plait le désactiver en " +"premier." + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "" +"Impossible de supprimer le projet %s car il ne s'agit pas d'une feuille dans " +"la hiérarchie." + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"Impossible de désactiver le projet %s car son sous-arbre contient des " +"projets activés" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "Impossible d'activer le projet %s car ses parents sont désactivés" + +msgid "database db_name is required" +msgstr "db_name database est requis" + +msgid "db_hosts value is required" +msgstr "Valeur db_hosts est requis" + +msgid "delete the default domain" +msgstr "Suppression du domaine par défaut" + +#, python-format +msgid "group %(group)s" +msgstr "groupe %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type doit avoir l'une des valeurs suivantes : [technical, other, " +"support, administrative ou billing." + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "valeur entière attendue pour mongo_ttl_seconds" + +msgid "integer value expected for w (write concern attribute)" +msgstr "valeur entière attendue pour w (attribut d'écriture)" + +#, python-format +msgid "invalid date format %s" +msgstr "Format de date invalid %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "La profondeur maximale de hiérarchie est atteinte pour la branche %s." + +msgid "no ssl support available" +msgstr "pas de support du ssl" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "option %(option)s dans le groupe %(group)s" + +msgid "pad must be single character" +msgstr "pad doit etre un seul caractère" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "Le texte base64url rempli doit être un multiple de 4 caractères" + +msgid "provided consumer key does not match stored consumer key" +msgstr "la clé du client fournie ne correspond pas à la clé du client stockée" + +msgid "provided request key does not match stored request key" +msgstr "" +"la clé de la demande fournie ne correspond pas à la clé de la demande stockée" + +msgid "provided verifier does not match stored verifier" +msgstr "le vérificateur fourni ne correspond pas au vérificateur stocké" + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "la région n'est pas de type dogpile.cache.CacheRegion" + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses doit être un entier positif ou nul." + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "" +"remaining_uses ne doit pas être défini si la redélégation est autorisée" + +msgid "replicaset_name required when use_replica is True" +msgstr "replicaset_name requis si use_replica a la valeur True" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"demande de mise à jour du groupe %(group)s, mais la configuration fournie " +"contient le groupe %(group_other)s à la place" + +msgid "rescope a scoped token" +msgstr "Redéfinir la portée d'un jeton" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"le texte est un multiple de 4, mais le remplissage \"%s\" se produit avant " +"l'avant-dernier caractère" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"le texte est un multiple de 4, mais le remplissage \"%s\" se produit avant " +"le dernier caractère qui n'est pas de remplissage" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "" +"le texte n'est pas un multiple de 4, mais contient le remplissage \"%s\"" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "tls_cacertdir %s introuvable ou n'est pas un répertoire" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "tls_cacertfile %s introuvable ou n'est pas un fichier" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "La référence de jeton doit être un type KeystoneToken, obtenu : %s" diff --git a/keystone/locale/it/LC_MESSAGES/keystone.po b/keystone/locale/it/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..72233e5dc2 --- /dev/null +++ b/keystone/locale/it/LC_MESSAGES/keystone.po @@ -0,0 +1,1293 @@ +# Italian translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# OpenStack Infra , 2015. #zanata +# Tom Cocozzello , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: it\n" +"Language-Team: Italian (http://www.transifex.com/openstack/keystone/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 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s non è un evento di notifica valido, deve essere uno tra: " +"%(actions)s" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s non è un host di dashboard attendibile" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s non fornisce le migrazioni del database. Il percorso del " +"repository di migrazione in %(path)s non esiste o non è una directory." + +#, 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." + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s non è un %(display_expected_type)s" + +#, 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." + +#, python-format +msgid "%s cannot be empty." +msgstr "%s non può essere vuoto." + +#, python-format +msgid "%s extension does not exist." +msgstr "L'estensione %s non esiste." + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "Il campo %s è obbligatorio e non può essere vuoto" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "i campi %s non possono essere vuoti" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(Disabilitare la modalità di debug per eliminare questi dettagli.)" + +msgid "--all option cannot be mixed with other options" +msgstr "--l'opzione all non può essere combinata con altre opzioni" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "" +"È necessario un token in ambito progetto per produrre un catalogo del " +"servizio." + +msgid "Access token is expired" +msgstr "Il token di accesso è scaduto" + +msgid "Access token not found" +msgstr "Token di accesso non trovato" + +msgid "Additional authentications steps required." +msgstr "Sono richiesti ulteriori passi per le autenticazioni." + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "" +"Si è verificato un errore non previsto durante il richiamo delle " +"configurazioni del dominio" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "Si è verificato un errore quando si tenta di archiviare %s" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "" +"Si è verificato un errore non previsto che ha impedito al server di " +"soddisfare la richiesta." + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"Si è verificato un errore imprevisto che impedisce al server di soddisfare " +"la richiesta: %(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "" +"Si è verificata un'eccezione non gestita: impossibile trovare i metadati." + +msgid "At least one option must be provided" +msgstr "È necessario fornire almeno un'opzione" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "" +"È necessario fornire almeno un'opzione, utilizzare --all o --domain-name" + +msgid "At least one role should be specified." +msgstr "Specificare almeno un ruolo." + +msgid "Attempted to authenticate with an unsupported method." +msgstr "Tentativo di autenticazione con un metodo non supportato." + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"Tentativo di utilizzare il token OS-FEDERATION con il servizio identità V2, " +"utilizzare l'autenticazione V3" + +msgid "Authentication plugin error." +msgstr "errore di autenticazione plugin." + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "" +"Impossibile autorizzare un token di richiesta con un token emesso mediante " +"delega." + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "Impossibile modificare %(option_name)s %(attr)s" + +msgid "Cannot change Domain ID" +msgstr "Impossibile modificare l'ID dominio" + +msgid "Cannot change consumer secret" +msgstr "Impossibile modificare il segreto del consumer" + +msgid "Cannot change user ID" +msgstr "Impossibile modificare l'ID utente" + +msgid "Cannot change user name" +msgstr "Impossibile modificare il nome utente" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "Impossibile creare il progetto con l'elemento parent: %(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "Impossibile duplicare il nome %s" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "" +"Impossibile elencare i token della richiesta con un token emesso mediante " +"delega." + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "Impossibile aprire il certificato %(cert_file)s. Motivo: %(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "Impossibile rimuovere un ruolo che non è stato concesso, %s" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"Impossibile troncare una chiamata al driver senza hints list come primo " +"parametro dopo self " + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"Impossibile utilizzare i parametri della query parents_as_list e " +"parents_as_ids contemporaneamente." + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"Impossibile utilizzare i parametri della query subtree_as_list e " +"subtree_as_ids contemporaneamente." + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "" +"La combinazione del filtro operativo e di gruppo avrà sempre come risultato " +"un elenco vuoto." + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "" +"La combinazione di filtri operativi, di dominio ed ereditati avrà sempre " +"come risultato un elenco vuoto." + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "" +"Si è verificato un conflitto nel tentativo di archiviare %(type)s - " +"%(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "" +"Sono stati specificati ID regione in conflitto: \"%(url_id)s\" != " +"\"%(ref_id)s\"" + +msgid "Consumer not found" +msgstr "Consumer non trovato" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "" +"Impossibile modificare gli attributi non modificabili '%(attributes)s' nella " +"destinazione %(target)s" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"Impossibile trovare %(group_or_option)s nella configurazione del dominio per " +"il dominio %(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "Impossibile trovare il gruppo di endpoint: %(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "" +"Impossibile trovare l'identificativo del provider identità nell'ambiente" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "Impossibile trovare il provider identità: %(idp_id)s" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "Impossibile trovare il provider del servizio: %(sp_id)s" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "Impossibile trovare la credenziale: %(credential_id)s" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "Impossibile trovare il dominio: %(domain_id)s" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "Impossibile trovare l'endpoint: %(endpoint_id)s" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"Impossibile trovare il protocollo federato %(protocol_id)s per il provider " +"identità: %(idp_id)s" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "Impossibile trovare il gruppo: %(group_id)s" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "Impossibile trovare l'associazione: %(mapping_id)s" + +msgid "Could not find policy association" +msgstr "Impossibile trovare l'associazione della politica" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "Impossibile trovare la politica: %(policy_id)s" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "Impossibile trovare il progetto: %(project_id)s" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "Impossibile trovare la regione: %(region_id)s" + +msgid "Could not find role" +msgstr "Impossibile trovare il ruolo" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"Impossibile trovare l'assegnazione ruolo con il ruolo: %(role_id)s, utente o " +"gruppo: %(actor_id)s, progetto o dominio: %(target_id)s" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "Impossibile trovare il ruolo: %(role_id)s" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "Impossibile trovare il servizio: %(service_id)s" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "Impossibile trovare il token: %(token_id)s" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "Impossibile trovare il trust: %(trust_id)s" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "Impossibile trovare l'utente: %(user_id)s" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "Impossibile trovare la versione: %(version)s" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "Impossibile trovare: %(target)s" + +msgid "Could not validate the access token" +msgstr "Impossibile convalidare il token di accesso" + +msgid "Credential belongs to another user" +msgstr "La credenziale appartiene ad un altro utente" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "Database presso /domains/%s/config" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "" +"Disabilitazione di un'entità in cui l'attributo 'enable' è ignorato dalla " +"configurazione." + +#, python-format +msgid "Domain (%s)" +msgstr "Dominio (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "Il dominio non può essere denominato %s" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "Il dominio non può avere l'ID %s" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "Il dominio è disabilitato: %s" + +msgid "Domain metadata not supported by LDAP" +msgstr "I metadati del dominio non sono supportati da LDAP" + +msgid "Domain scoped token is not supported" +msgstr "L'ambito del dominio token non è supportato" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"Il dominio: %(domain)s dispone già di una configurazione definita - si sta " +"ignorando il file: %(file)s." + +msgid "Domains are read-only against LDAP" +msgstr "I domini sono di sola lettura rispetto a LDAP" + +msgid "Duplicate Entry" +msgstr "Duplica voce" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "ID duplicato, %s." + +#, python-format +msgid "Duplicate name, %s." +msgstr "Nome duplicato, %s." + +msgid "Enabled field must be a boolean" +msgstr "Il campo Abilitato deve essere un valore booleano" + +msgid "Enabled field should be a boolean" +msgstr "Il campo Abilitato deve essere un valore booleano" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "Endpoint %(endpoint_id)s non trovato nel progetto %(project_id)s" + +msgid "Endpoint Group Project Association not found" +msgstr "Associazione al progetto del gruppo di endpoint non trovata" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "" +"Accertarsi che l'opzione di configurazione idp_entity_id sia impostata." + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "" +"Accertarsi che l'opzione di configurazione idp_sso_endpoint sia impostata." + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"Errore durante l'analisi del file di configurazione per il dominio: " +"%(domain)s, file: %(file)s." + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "Errore durante le lettura del file di metadati, %(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "Previsto dict o list: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"I certificati di firma previsti non sono disponibili sul server. Controllare " +"la configurazione Keystone." + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"previsto di trovare %(attribute)s in %(target)s - il server non è in grado " +"di soddisfare la richiesta perché non è valido o non è corretto. Si ritiene " +"che il client sia in errore." + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "Impossibile avviare il server %(name)s" + +msgid "Failed to validate token" +msgstr "Impossibile convalidare il token" + +msgid "Federation token is expired" +msgstr "Il token comune è scaduto" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"Il campo \"remaining_uses\" è impostato su %(value)s mentre non deve essere " +"impostato per assegnare una nuova delega ad un trust" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "trovato token non valido: in ambito sia di progetto che di dominio." + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "" +"Il gruppo %(group)s non è supportato per le configurazioni specifiche del " +"dominio" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"Il gruppo %(group_id)s restituito dall'associazione %(mapping_id)s non è " +"stato trovato nel backend." + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"L'appartenenza al gruppo tra i limiti di backend non è consentita, il gruppo " +"in questione è %(group_id)s, l'utente è %(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "Attributo ID %(id_attr)s non trovato nell'oggetto LDAP %(dn)s" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "Il provider identità %(idp)s è disabilitato" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "" +"L'identificativo del provider identità in entrata non è incluso tra gli " +"identificativi accettati." + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Opzione certificazioni (certs) LDAP TLS non valida: %(option)s. Scegliere " +"una delle seguenti: %(options)s" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "Opzione LDAP TLS_AVAIL non valida: %s. TLS non disponibile" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Opzione deref LDAP non valida: %(option)s. Scegliere una tra: %(options)s" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "" +"Ambito LDAP non valido: %(scope)s. Scegliere uno dei seguenti: %(options)s" + +msgid "Invalid TLS / LDAPS combination" +msgstr "Combinazione TLS / LDAPS non valida" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "" +"Tipo di dati delle informazioni di verifica non valido: %(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "Blob non valido nella credenziale" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"Nome dominio non valido: %(domain)s trovato nel nome file di configurazione: " +"%(file)s - si sta ignorando questo file." + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "Configurazione specifica del dominio non valida: %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "Input non valido per il campo '%(path)s'. Il valore è '%(value)s'." + +msgid "Invalid limit value" +msgstr "Valore del limite non valido" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"combinazione di entità non valida per l'associazione della politica - È " +"consentito solo endpoint, servizio o regione+servizio. La richiesta era - " +"Endpoint: %(endpoint_id)s, Servizio: %(service_id)s, Regione: %(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"Regola non valida: %(identity_value)s. Entrambi le parole chiave 'groups' e " +"'domain' devono essere specificate." + +msgid "Invalid signature" +msgstr "Firma non valida" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"Valore ssl_cert_reqs di %s non valido; deve essere uno tra \"NONE\", " +"\"OPTIONAL\", \"REQUIRED\"" + +msgid "Invalid user / password" +msgstr "Utente/password non validi" + +msgid "Invalid username or password" +msgstr "username o password non validi" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "La regione KVS %s è già configurata. Impossibile riconfigurare." + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "KVS (Key Value Store) non configurato: %s" + +#, python-format +msgid "LDAP %s create" +msgstr "LDAP %s crea" + +#, python-format +msgid "LDAP %s delete" +msgstr "LDAP %s elimina" + +#, python-format +msgid "LDAP %s update" +msgstr "LDAP %s aggiorna" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "Si è verificato un timeout di blocco per la chiave, %(target)s" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "" +"La chiave di blocco deve corrispondere alla chiave di destinazione: " +"%(lock)s != %(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "" +"Url dell'endpoint non corretto (%(endpoint)s), consultare il log ERROR per " +"ulteriori dettagli." + +msgid "Marker could not be found" +msgstr "Impossibile trovare l'indicatore" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "È stato raggiunto il numero massimo di tentativi di blocco su %s." + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "Il membro %(member)s è già un membro del gruppo %(group)s" + +#, python-format +msgid "Method not callable: %s" +msgstr "Metodo non richiamabile: %s" + +msgid "Missing entity ID from environment" +msgstr "ID entità mancante dall'ambiente" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"La modifica di \"redelegation_count\" dopo la riassegnazione della delega " +"non è consentita. Si consiglia di omettere questo parametro." + +msgid "Multiple domains are not supported" +msgstr "Non sono supportati più domini" + +msgid "Must be called within an active lock context." +msgstr "Deve essere richiamato all'interno di un contesto di blocco attivo." + +msgid "Must specify either domain or project" +msgstr "È necessario specificare il dominio o il progetto" + +msgid "Name field is required and cannot be empty" +msgstr "Il campo relativo al nome è obbligatorio e non può essere vuoto" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"Nessuna intestazione di autorizzazione trovata, impossibile procedere con le " +"chiamate correlate a OAuth, se l'esecuzione avviene in ambito HTTPd o " +"Apache, assicurarsi che WSGIPassAuthorization sia impostato su Attivo." + +msgid "No authenticated user" +msgstr "Nessun utente autenticato" + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"Nessuna chiave di codifica trovata; eseguire keystone-manage fernet_setup " +"per eseguire un avvio." + +msgid "No options specified" +msgstr "Nessuna opzione specificata" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "Nessuna politica associata all'endpoint %(endpoint_id)s." + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "Nessun utilizzo residuo per trust: %(trust_id)s" + +msgid "Non-default domain is not supported" +msgstr "Il dominio non predefinito non è supportato" + +msgid "One of the trust agents is disabled or deleted" +msgstr "Uno degli agent trust è disabilitato o eliminato" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"L'opzione %(option)s è stato trovato senza alcun gruppo specificato durante " +"il controllo della richiesta di configurazione del dominio" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"L'opzione %(option)s nel gruppo %(group)s non è supportata per le " +"configurazioni specifiche del dominio" + +#, python-format +msgid "Project (%s)" +msgstr "Progetto (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "Il progetto è disabilitato: %s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "" +"Assegnazione di una nuova delega consentita solo per i delegati dal trust" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"profondità di riassegnazione della delega rimanente %(redelegation_depth)d " +"non compresa nell'intervallo consentito [0..%(max_count)d]" + +msgid "Request Token does not have an authorizing user id" +msgstr "" +"Il token della richiesta non dispone di un id utente per l'autorizzazione" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"L'attributo della richiesta %(attribute)s deve essere minore o uguale a " +"%(size)i. Il server non è riuscito a soddisfare la richiesta poiché la " +"dimensione dell'attributo non è valido (troppo grande). Si ritiene che il " +"client sia in errore." + +msgid "Request must have an origin query parameter" +msgstr "La richiesta deve avere un parametro della query di origine" + +msgid "Request token is expired" +msgstr "Il token della richiesta è scaduto" + +msgid "Request token not found" +msgstr "token della richiesta non trovata" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "" +"Il tempo di scadenza richiesto è maggiore di quello che può essere fornito " +"dal trust con delega riassegnata" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"La profondità di riassegnazione della delega richiesta %(requested_count)d è " +"maggiore del valore consentito %(max_count)d" + +#, python-format +msgid "Role %s not found" +msgstr "Ruolo %s non trovato" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"L'esecuzione del keystone via eventlet è obsoleta in Kilo, rispetto " +"all'esecuzione in un server WSGI (ad esempio mod_wsgi). Il supporto per il " +"keystone in eventlet verrà rimosso in \"M\"-Release." + +msgid "Scoping to both domain and project is not allowed" +msgstr "Il controllo sia del dominio che del progetto non è consentito" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "Il controllo sia del dominio che di trust non è consentito" + +msgid "Scoping to both project and trust is not allowed" +msgstr "Il controllo sia delprogetto che di trust non è consentito" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "Il Provider del servizio %(sp)s è disabilitato" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "" +"Alcuni dei ruoli richiesti non sono presenti nel trust con delega riassegnata" + +msgid "Specify a domain or project, not both" +msgstr "Specificare un dominio o un progetto, non entrambi" + +msgid "Specify a user or group, not both" +msgstr "Specificare un utente o un gruppo, non entrambi" + +msgid "Specify one of domain or project" +msgstr "Specificare uno valore di dominio o progetto" + +msgid "Specify one of user or group" +msgstr "Specificare un valore di utente o gruppo" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"È stata superata la lunghezza della stringa. La lunghezza della stringa " +"'%(string)s' ha superato il limite della colonna %(type)s(CHAR(%(length)d))." + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "L'opzione --all non può essere utilizzata con l'opzione --domain-name" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "" +"Impossibile trovare il file di configurazione Keystone %(config_file)s." + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"La configurazione specifica del dominio keystone ha specificato più di un " +"driver SQL (solo uno è consentito): %(source)s." + +msgid "The action you have requested has not been implemented." +msgstr "L'azione richiesta non è stata implementata." + +msgid "The authenticated user should match the trustor." +msgstr "L'utente autenticato deve corrispondere al ruolo trustor." + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"I certificati richiesti non sono disponibili. È probabile che questo server " +"non utilizzi i token PKI, altrimenti questo è il risultato di una " +"configurazione errata." + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"La lunghezza della password deve essere minore o uguale a %(size)i. Il " +"server non è in grado di soddisfare la richiesta perché la password non è " +"valida." + +msgid "The request you have made requires authentication." +msgstr "La richiesta che è stata fatta richiede l'autenticazione." + +msgid "The resource could not be found." +msgstr "Impossibile trovare la risorsa." + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"La chiamata di revoca non deve avere entrambi domain_id e project_id. Questo " +"è un bug nel server Keystone. La richiesta corrente è stata interrotta." + +msgid "The service you have requested is no longer available on this server." +msgstr "Il servizio richiesto non è più disponibile su questo server." + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "" +"La regione parent specificata %(parent_region_id)s crea una gerarchia di " +"regione circolare." + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "" +"Il valore del gruppo %(group)s specificato nella configurazione deve essere " +"un dizionario di opzioni" + +msgid "There should not be any non-oauth parameters" +msgstr "Non deve essere presente nessun parametro non-oauth" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "Questa non è una versione di payload Fernet riconosciuta: %s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"Questo non è un token Fernet v2.0. Utilizzare v3 per token attendibili, di " +"dominio o federati." + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"Data/ora non nel formato previsto. Il server non è riuscito a rispettare la " +"richiesta perché è in formato errato o non corretta. Il client viene " +"considerato in errore." + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"Per ottenere informazioni più dettagliate su questo errore, eseguire di " +"nuovo questo comando per il dominio specificato, ad esempio: keystone-manage " +"domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "Il token appartiene ad un altro utente" + +msgid "Token does not belong to specified tenant." +msgstr "Il token non appartiene al tenant specificato." + +msgid "Trustee has no delegated roles." +msgstr "Trustee non ha ruoli delegati." + +msgid "Trustor is disabled." +msgstr "Trustor è disabilitato." + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"Tentativo di aggiornare il gruppo %(group)s, pertanto, solo quel gruppo deve " +"essere specificato nella configurazione" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"Tentativo di aggiornare l'opzione %(option)s nel gruppo %(group)s, ma la " +"configurazione fornita contiene l'opzione %(option_other)s" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"Tentativo di aggiornare l'opzione %(option)s nel gruppo %(group)s, pertanto, " +"solo quell'opzione deve essere specificata nella configurazione" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"Impossibile accedere al database del keystone, controllare se è configurato " +"correttamente." + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "" +"Impossibile utilizzare trust %(trust_id)s, impossibile acquisire il blocco." + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"Impossibile eliminare la regione %(region_id)s perché la regione o le " +"relative regioni child hanno degli endpoint associati." + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "" +"Impossibile trovare i gruppi validi durante l'utilizzo dell'associazione " +"%(mapping_id)s" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "" +"Impossibile ottenere una connessione dall'ID pool %(id)s dopo %(seconds)s " +"secondi." + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "Impossibile individuare la directory config del dominio: %s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "Impossibile eseguire la ricerca dell'utente %s" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"Impossibile riconciliare l'attributo identity %(attribute)s poiché ha " +"valori in conflitto tra i %(new)s e i %(old)s" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"Impossibile firmare l'asserzione SAML. Probabilmente questo server non " +"dispone di xmlsec1 installato o è il risultato di una configurazione " +"sbagliata. Motivo %(reason)s" + +msgid "Unable to sign token." +msgstr "Impossibile firmare il token." + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "È stato rilevato un tipo di assegnazione non previsto, %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"Combinazione non prevista degli attributi di autorizzazione - Utente: " +"%(user_id)s, Gruppo: %(group_id)s, Progetto: %(project_id)s, Dominio: " +"%(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "Stato non previsto richiesto per la risposta JSON Home, %s" + +msgid "Unknown Target" +msgstr "Destinazione sconosciuta" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "Dominio sconosciuto '%(name)s' specificato da --domain-name" + +#, python-format +msgid "Unknown token version %s" +msgstr "Versione di token sconosciuta %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "Dipendenza non registrata: %(name)s per %(targets)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "Aggiornamento di `parent_id` non consentito." + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "" +"Utilizzare un token nell'ambito del progetto quando si tenta di creare " +"un'asserzione SAML" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "L'utente %(u_id)s non è autorizzato per il tenant %(t_id)s" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"L'utente %(user_id)s ha già un ruolo %(role_id)s nel conduttore (tenant) " +"%(tenant_id)s" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "L'utente %(user_id)s non ha accesso al dominio %(domain_id)s" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "L'utente %(user_id)s non ha accesso al progetto %(project_id)s" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "L'utente %(user_id)s è già membro del gruppo %(group_id)s" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "L'utente '%(user_id)s' non è stato trovato nel gruppo '%(group_id)s'" + +msgid "User IDs do not match" +msgstr "Gli ID utente non corrispondono" + +#, python-format +msgid "User is disabled: %s" +msgstr "L'utente è disabilitato: %s" + +msgid "User is not a member of the requested project" +msgstr "L'utente non è un membro del progetto richiesto" + +msgid "User is not a trustee." +msgstr "L'utente non è un amministratore." + +msgid "User not found" +msgstr "Utente non trovato" + +#, python-format +msgid "User type %s not supported" +msgstr "Tipo utente %s non supportato" + +msgid "You are not authorized to perform the requested action." +msgstr "Non si possiede l'autorizzazione per eseguire l'operazione richiesta." + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "L'utente non è autorizzato ad eseguire l'azione richiesta: %(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "Le funzioni `key_mangler` devono essere disponibili per la chiamata." + +msgid "`key_mangler` option must be a function reference" +msgstr "L'opzione `key_mangler` deve essere un riferimento funzione" + +msgid "any options" +msgstr "qualsiasi opzione" + +msgid "auth_type is not Negotiate" +msgstr "auth_type non è Negotiate" + +msgid "authorizing user does not have role required" +msgstr "l'utente per l'autorizzazione non dispone del ruolo richiesto" + +msgid "cache_collection name is required" +msgstr "Il nome cache_collection è obbligatorio" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "" +"impossibile creare un progetto in un ramo che contiene un progetto " +"disabilitato: %s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "" +"impossibile creare un progetto all'interno di un dominio diverso da quello " +"dei relativi elementi parent." + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "" +"impossibile eliminare un dominio abilitato; è necessario prima disabilitarlo." + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "" +"impossibile eliminare il progetto %s perché non è una foglia nella gerarchia." + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"impossibile disabilitare il progetto %s perché la relativa struttura ad " +"albero secondaria contiene progetti abilitati" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "" +"impossibile abilitare il progetto %s perché dispone di elementi parent " +"disabilitati" + +msgid "database db_name is required" +msgstr "Il database db_name è obbligatorio" + +msgid "db_hosts value is required" +msgstr "Il valore db_hosts è obbligatorio" + +msgid "delete the default domain" +msgstr "eliminare il dominio predefinito" + +#, python-format +msgid "group %(group)s" +msgstr "gruppo %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type deve essere uno tra: [tecnico, altro, supporto, " +"amministrativo o di fatturazione." + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "valore intero previsto per mongo_ttl_seconds" + +msgid "integer value expected for w (write concern attribute)" +msgstr "valore intero previsto per w (attributo di scrittura)" + +#, python-format +msgid "invalid date format %s" +msgstr "formato data non valido %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "profondità massima della gerarchia raggiunta per il ramo %s." + +msgid "no ssl support available" +msgstr "nessun supporto ssl disponibile" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "opzione %(option)s nel gruppo %(group)s" + +msgid "pad must be single character" +msgstr "il riempimento deve essere un carattere singolo" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "il testo base64url con riempimento deve essere multiplo di 4 caratteri" + +msgid "provided consumer key does not match stored consumer key" +msgstr "" +"La chiave consumer fornita non corrisponde alla chiave consumer memorizzata" + +msgid "provided request key does not match stored request key" +msgstr "" +"La chiave della richiesta fornita non corrisponde alla chiave della " +"richiesta memorizzata" + +msgid "provided verifier does not match stored verifier" +msgstr "il verificatore fornito non corrisponde al verificatore memorizzato" + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "regione non tipo dogpile.cache.CacheRegion" + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses deve essere un numero intero positivo o nullo." + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "" +"remaining_uses non deve essere impostato se è consentita la riassegnazione " +"della delega" + +msgid "replicaset_name required when use_replica is True" +msgstr "replicaset_name è obbligatorio quando use_replica è True" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"Richiesta di aggiornamento del gruppo %(group)s, ma la configurazione " +"fornita contiene il gruppo %(group_other)s" + +msgid "rescope a scoped token" +msgstr "riassegna ambito a token con ambito" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"il testo è multiplo di 4, ma il riempimento \"%s\" si verifica prima del " +"penultimo carattere" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"il testo è multiplo di 4, ma il riempimento \"%s\" si verifica prima " +"dell'ultimo carattere non di riempimento" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "il testo non è un multiplo di 4, ma contiene il riempimento \"%s\"" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "Impossibile trovare tls_cacertdir %s o non è una directory" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "Impossibile trovare tls_cacertfile %s o non è un file" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "" +"il riferimento al token deve essere un tipo KeystoneToken, ottenuto: %s" diff --git a/keystone/locale/ja/LC_MESSAGES/keystone.po b/keystone/locale/ja/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..1aa0f9033a --- /dev/null +++ b/keystone/locale/ja/LC_MESSAGES/keystone.po @@ -0,0 +1,1284 @@ +# Japanese translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# Tomoyuki KATO , 2012-2013 +# Akihiro Motoki , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-27 10:27+0000\n" +"Last-Translator: Akihiro Motoki \n" +"Language: ja\n" +"Language-Team: Japanese (http://www.transifex.com/openstack/keystone/" +"language/ja/)\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 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s は有効な通知イベントではありません。%(actions)s のいずれかでなけれ" +"ばなりません。" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s は信頼されたダッシュボードホストではありません" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s はデータベースマイグレーションを提供していません。%(path)s のマ" +"イグレーションリポジトリーのパスが存在しないか、ディレクトリーではないかのい" +"ずれかです。" + +#, python-format +msgid "%(property_name)s cannot be less than %(min_length)s characters." +msgstr "%(property_name)s は %(min_length)s 文字より短くできません。" + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s が %(display_expected_type)s ではありません。" + +#, python-format +msgid "%(property_name)s should not be greater than %(max_length)s characters." +msgstr "%(property_name)s は %(max_length)s 文字より長くできません。" + +#, python-format +msgid "%s cannot be empty." +msgstr "%s は空にはできません。" + +#, python-format +msgid "%s extension does not exist." +msgstr "%s 拡張が存在しません。" + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "フィールド %s は必須フィールドであるため、空にできません" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "フィールド %s を空にすることはできません" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(これらの詳細出力を抑制するには、デバッグモードを無効にします。)" + +msgid "--all option cannot be mixed with other options" +msgstr "--all オプションを他のオプションと組み合わせて使用することはできません" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "" +"サービスカタログを生成するには、プロジェクトにスコープが設定されたトークンが" +"必要です。" + +msgid "Access token is expired" +msgstr "アクセストークンの有効期限が切れています" + +msgid "Access token not found" +msgstr "アクセストークンが見つかりません" + +msgid "Additional authentications steps required." +msgstr "追加認証手順が必要です。" + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "ドメイン設定の取得中に予期しないエラーが発生しました" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "%s の保存中に予期しないエラーが発生しました" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "予期しないエラーが発生したため、サーバーが要求を完了できませんでした。" + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"予期しないエラーが発生したため、サーバーが要求を完了できませんでした: " +"%(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "処理できない例外が発生しました。メタデータが見つかりませんでした。" + +msgid "At least one option must be provided" +msgstr "少なくとも 1 つはオプションを指定する必要があります" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "" +"少なくとも 1 つのオプションを指定する必要があります。--all または --domain-" +"name を使用してください" + +msgid "At least one role should be specified." +msgstr "少なくとも 1 つのロールを指定する必要があります。" + +msgid "Attempted to authenticate with an unsupported method." +msgstr "サポートされていないメソッドを使用して認証を行おうとしました。" + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"V2 Identity Service で OS-FEDERATION トークンを使用しようとしています。V3 認" +"証を使用してください" + +msgid "Authentication plugin error." +msgstr "認証プラグインエラー。" + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "" +"委任によって発行されたトークンを使用して要求トークンを許可することはできませ" +"ん。" + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "%(option_name)s %(attr)s を変更できません" + +msgid "Cannot change Domain ID" +msgstr "ドメイン ID を変更できません" + +#, fuzzy +msgid "Cannot change consumer secret" +msgstr "コンシューマーの秘密を変更できません" + +msgid "Cannot change user ID" +msgstr "ユーザー ID を変更できません" + +msgid "Cannot change user name" +msgstr "ユーザー名を変更できません" + +#, fuzzy, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "親を持つプロジェクトを作成できません: %(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "名前 %s は重複してはなりません" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "" +"委任によって発行されたトークンを使用して要求トークンをリストすることはできま" +"せん。" + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "証明書 %(cert_file)s を開くことができません。理由: %(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "許可されていないロールを削除できません、%s" + +#, fuzzy +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"セルフの後に最初のパラメーターとしてヒントリストなしでドライバー呼び出しを切" +"り捨てることはできません" + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"問い合わせパラメーター parents_as_list と parents_as_ids を同時に使用すること" +"はできません。" + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"問い合わせパラメーター subtree_as_list と subtree_as_ids を同時に使用すること" +"はできません。" + +#, fuzzy +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "" +"有効フィルターとグループフィルターの組み合わせは常に空のリストになります。" + +#, fuzzy +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "" +"有効フィルター、ドメインフィルター、および継承フィルターの組み合わせは常に空" +"のリストになります。" + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "%(type)s を保存するときに競合が発生しました - %(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "" +"矛盾するリージョン ID が指定されました: \"%(url_id)s\" != \"%(ref_id)s\"" + +msgid "Consumer not found" +msgstr "コンシューマーが見つかりません" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "" +"ターゲット %(target)s の変更不可の属性 '%(attributes)s' を変更できませんでし" +"た" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"%(group_or_option)s がドメイン %(domain_id)s のドメイン設定に見つかりませんで" +"した" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "エンドポイントグループ %(endpoint_group_id)s が見つかりませんでした" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "Identity Provider ID が環境情報内に見つかりませんでした" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "ID プロバイダー %(idp_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "サービスプロバイダー %(sp_id)s が見つかりませんでした" + +#, fuzzy, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "資格情報が見つかりませんでした: %(credential_id)s" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "ドメイン %(domain_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "エンドポイント %(endpoint_id)sが見つかりませんでした" + +#, fuzzy, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"Identity Provider の統合プロトコル %(protocol_id)s が見つかりませんでした: " +"%(idp_id)s" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "グループ %(group_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "マッピング %(mapping_id)s が見つかりませんでした" + +msgid "Could not find policy association" +msgstr "ポリシー関連付けが見つかりませんでした" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "ポリシー %(policy_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "プロジェクト %(project_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "リージョン %(region_id)s が見つかりませんでした" + +msgid "Could not find role" +msgstr "ロールが見つかりませんでした" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"ロール %(role_id)s を持つ割り当てが見つかりませんでした。ユーザーまたはグルー" +"プは %(actor_id)s で、プロジェクトまたはドメインが %(target_id)s です" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "ロール %(role_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "サービス %(service_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "トークン %(token_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "トラスト %(trust_id)s が見つかりませんでした" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "ユーザー %(user_id)s が見つかりませんでした:" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "バージョン %(version)s が見つかりませんでした" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "%(target)s が見つかりませんでした" + +msgid "Could not validate the access token" +msgstr "アクセストークンを検証できませんでした" + +#, fuzzy +msgid "Credential belongs to another user" +msgstr "資格情報が別のユーザーに属しています" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "/domains/%s/config のデータベース" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "" +"「enable」属性が設定によって無視されているエンティティーを無効化中です。" + +#, python-format +msgid "Domain (%s)" +msgstr "ドメイン (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "ドメインに %s という名前を付けることはできません" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "ドメインに %s という ID を付けることはできません" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "ドメイン %s が無効になっています" + +msgid "Domain metadata not supported by LDAP" +msgstr "ドメインメタデータは LDAP ではサポートされません" + +msgid "Domain scoped token is not supported" +msgstr "ドメインをスコープにしたトークンはサポートされていません" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"ドメイン %(domain)s には既に定義された設定があります。ファイル %(file)s は無" +"視されます。" + +msgid "Domains are read-only against LDAP" +msgstr "LDAP の場合はドメインは読み取り専用です" + +msgid "Duplicate Entry" +msgstr "重複する項目" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "重複した ID、%s。" + +#, python-format +msgid "Duplicate name, %s." +msgstr "重複した名前、%s。" + +msgid "Enabled field must be a boolean" +msgstr "「有効」フィールドはブール値でなければなりません" + +msgid "Enabled field should be a boolean" +msgstr "「有効」フィールドはブール値でなければなりません" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "" +"エンドポイント %(endpoint_id)s がプロジェクト %(project_id)s に見つかりません" + +msgid "Endpoint Group Project Association not found" +msgstr "エンドポイントグループとプロジェクトの関連付けが見つかりません" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "設定オプション idp_entity_id が設定されていることを確認してください。" + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "" +"設定オプション idp_sso_endpoint が設定されていることを確認してください。" + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"ドメイン: %(domain)s、ファイル: %(file)s の設定ファイルの構文解析エラー。" + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "メタデータファイルの読み取り中にエラーが発生しました。%(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "期待される辞書またはリスト: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"想定された署名証明書がサーバーにありません。Keystone の設定を確認してくださ" +"い。" + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"%(target)s に %(attribute)s があることが想定されています。要求の形式が不正も" +"しくは正しくないため、サーバーは要求に応じることができませんでした。クライア" +"ントでエラーが発生していると考えられます。" + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "%(name)s サーバーの起動に失敗しました" + +msgid "Failed to validate token" +msgstr "トークンの検証に失敗しました" + +#, fuzzy +msgid "Federation token is expired" +msgstr "連合トークンの有効期限が切れています" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"フィールド \"remaining_uses\" は %(value)s になっていますが、トラストを再委任" +"するにはこのフィールドが設定されていてはなりません" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "" +"無効なトークンが見つかりました: スコープがプロジェクトとドメインの両方に対し" +"て設定されています。" + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "ドメイン固有の設定ではグループ %(group)s はサポートされません" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"マッピング %(mapping_id)s が返したグループ %(group_id)s がバックエンドにあり" +"ませんでした。" + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"バックエンド境界をまたぐグループメンバーシップは許可されていません。問題と" +"なっているグループは %(group_id)s、ユーザーは %(user_id)s です" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "ID 属性 %(id_attr)s が LDAP オブジェクト %(dn)s に見つかりません" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "ID プロバイダー %(idp)s は無効になっています" + +#, fuzzy +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "着信 ID プロバイダー ID が受諾 ID に含まれていませんでした。" + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "" +"無効な LDAP TLS 証明書オプション %(option)s です。 %(options)s のいずれかを選" +"択してください" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "無効な LDAP TLS_AVAIL オプション %s です。TLS が利用できません。" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "" +"無効な LDAP deref オプション %(option)s です。%(options)s のいずれかを選択し" +"てください" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "" +"無効な LDAP スコープ %(scope)s です。 %(options)s のいずれかを選んでくださ" +"い: " + +msgid "Invalid TLS / LDAPS combination" +msgstr "無効な TLS / LDAPS の組み合わせです" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "無効な監査情報データタイプ %(data)s (%(type)s) です" + +#, fuzzy +msgid "Invalid blob in credential" +msgstr "資格情報内の blob が無効です" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"無効なドメイン名 %(domain)s が設定ファイル名 %(file)s に見つかりました。この" +"ファイルは無視されます。" + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "無効なドメイン固有の設定です: %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "フィールド '%(path)s' の入力が無効です。値は '%(value)s' です。" + +#, fuzzy +msgid "Invalid limit value" +msgstr "制限値が無効です" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"ポリシー関連付けのエンティティーの組み合わせが無効です。エンドポイント、サー" +"ビス、または領域とサービスのみ許可されています。要求 - エンドポイント: " +"%(endpoint_id)s、サービス: %(service_id)s、領域: %(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"無効なルール: %(identity_value)s。「グループ」と「ドメイン」の両方のキーワー" +"ドを指定する必要があります。" + +msgid "Invalid signature" +msgstr "シグニチャーが無効です" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"%s の ssl_cert_reqs 値が無効です。「NONE」、「OPTIONAL」、「REQUIRED」のいず" +"れかでなければなりません" + +msgid "Invalid user / password" +msgstr "ユーザー/パスワードが無効です" + +msgid "Invalid username or password" +msgstr "無効なユーザー名かパスワード" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "KVS 領域 %s は既に構成されています。再構成はできません。" + +#, fuzzy, python-format +msgid "Key Value Store not configured: %s" +msgstr "キー値ストアが構成されていません: %s" + +#, python-format +msgid "LDAP %s create" +msgstr "LDAP %s の作成" + +#, python-format +msgid "LDAP %s delete" +msgstr "LDAP %s の削除" + +#, python-format +msgid "LDAP %s update" +msgstr "LDAP %s の更新" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "キー %(target)s についてロックタイムアウトが発生しました" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "" +"ロックキーはターゲットキーと一致しなければなりません: %(lock)s != %(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "" +"エンドポイント URL (%(endpoint)s) の形式が正しくありません。詳しくはエラーロ" +"グを参照してください。" + +msgid "Marker could not be found" +msgstr "マーカーが見つかりませんでした" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "%s に対してロックが最大回数まで試みられました。" + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "メンバー %(member)s は既にグループ %(group)s のメンバーです" + +#, python-format +msgid "Method not callable: %s" +msgstr "メソッドが呼び出し可能ではありません: %s" + +msgid "Missing entity ID from environment" +msgstr "環境情報にエンティティー ID が見つかりません" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"再委任時の「redelegation_count」の変更は禁止されています。このパラメーターは" +"指定しないでください。" + +msgid "Multiple domains are not supported" +msgstr "複数のドメインはサポートされていません" + +msgid "Must be called within an active lock context." +msgstr "アクティブなロックコンテキスト内で呼び出されなければなりません。" + +msgid "Must specify either domain or project" +msgstr "ドメインまたはプロジェクトのいずれかを指定する必要があります" + +msgid "Name field is required and cannot be empty" +msgstr "「名前」フィールドは必須フィールドであり、空にできません" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"認可に使用するヘッダーが見つからず、OAuth 関連の呼び出しを続行できません。" +"HTTPd または Apache の下で実行している場合は、WSGIPassAuthorization が On に" +"設定されていることを確認してください。" + +msgid "No authenticated user" +msgstr "認証されていないユーザー" + +#, fuzzy +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"暗号鍵が見つかりません。keystone 管理 fernet_setup を実行してブートストラップ" +"を行ってください。" + +msgid "No options specified" +msgstr "オプションが指定されていません" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "" +"エンドポイント %(endpoint_id)s に関連付けられているポリシーはありません。" + +#, fuzzy, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "トラスト %(trust_id)s には使用が残っていません" + +msgid "Non-default domain is not supported" +msgstr "デフォルト以外のドメインはサポートされません" + +msgid "One of the trust agents is disabled or deleted" +msgstr "トラストエージェントの 1 つが無効になっているか削除されています" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"ドメイン設定要求の検査中に、グループが指定されていないオプション %(option)s " +"が見つかりました" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"ドメイン固有の設定ではグループ %(group)s のオプション %(option)s はサポートさ" +"れていません" + +#, python-format +msgid "Project (%s)" +msgstr "プロジェクト (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "プロジェクト %s が無効になっています" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "再委任はトラストによる委任にのみ許可されます" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"%(redelegation_depth)d の残りの再委任の深さが、許可された範囲 [0.." +"%(max_count)d] を超えています" + +msgid "Request Token does not have an authorizing user id" +msgstr "要求されたトークンに許可ユーザー ID が含まれていません" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"要求された属性 %(attribute)s のサイズは %(size)i 以下でなければなりません。属" +"性のサイズが無効である (大きすぎる) ため、サーバーは要求に応じることができま" +"せんでした。クライアントでエラーが発生していると考えられます。" + +#, fuzzy +msgid "Request must have an origin query parameter" +msgstr "要求には起点照会パラメーターが必要です" + +msgid "Request token is expired" +msgstr "要求トークンの有効期限が切れています" + +msgid "Request token not found" +msgstr "要求されたトークンが見つかりません" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "要求された有効期限は再委任されたトラストが提供可能な期間を超えています" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"要求された再委任の深さ %(requested_count)d が、許可された上限 %(max_count)d " +"を超えています" + +#, python-format +msgid "Role %s not found" +msgstr "ロール %s が見つかりませんでした" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"eventlet を介した keystone の実行は Kilo 以降では推奨されておらず、WSGI サー" +"バー (mod_wsgi など) での実行が推奨されています。eventlet 下での keystone の" +"サポートは「M」リリースで削除される予定です。" + +msgid "Scoping to both domain and project is not allowed" +msgstr "ドメインとプロジェクトの両方にスコープを設定することはできません" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "ドメインとトラストの両方にスコープを設定することはできません" + +msgid "Scoping to both project and trust is not allowed" +msgstr "プロジェクトとトラストの両方にスコープを設定することはできません" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "サービスプロバイダー %(sp)s は無効になっています" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "要求されたロールの一部が再委任されたトラスト内にありません" + +msgid "Specify a domain or project, not both" +msgstr "ドメインかプロジェクトを指定してください。両方は指定しないでください" + +msgid "Specify a user or group, not both" +msgstr "ユーザーかグループを指定してください。両方は指定しないでください" + +msgid "Specify one of domain or project" +msgstr "ドメインまたはプロジェクトのいずれかを指定してください" + +msgid "Specify one of user or group" +msgstr "ユーザーまたはグループのいずれかを指定してください" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"文字列が長過ぎます。文字列 %(string)s' の長さが列 %(type)s(CHAR(%(length)d)) " +"の制限を超えました。" + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "--all オプションを --domain-name オプションと併用することはできません" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "Keystone 設定ファイル %(config_file)s が見つかりませんでした。" + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"keystone ドメイン固有設定で複数の SQL ドライバーが指定されています (1 つしか" +"指定できません): %(source)s。" + +msgid "The action you have requested has not been implemented." +msgstr "要求したアクションは実装されていません。" + +#, fuzzy +msgid "The authenticated user should match the trustor." +msgstr "認証ユーザーは委託者と一致している必要があります。" + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"要求された証明書がありません。このサーバーでは PKI トークンが使用されていない" +"か、そうでない場合は設定が間違っていると考えられます。 " + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"パスワードの長さは %(size)i 以下でなければなりません。パスワードが無効である" +"ため、サーバーは要求に応じることができませんでした。" + +msgid "The request you have made requires authentication." +msgstr "実行された要求には認証が必要です。" + +msgid "The resource could not be found." +msgstr "リソースが見つかりませんでした。" + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"取り消し呼び出しに domain_id と project_id の両方を使用することはできません。" +"これは、Keystone サーバーにおけるバグです。現在の要求は打ち切られます。" + +msgid "The service you have requested is no longer available on this server." +msgstr "要求したサービスは現在このサーバーでは使用できません。" + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "" +"指定された親リージョン %(parent_region_id)s では、リージョン階層構造でループ" +"が発生してしまいます。" + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "" +"設定で指定されたグループ %(group)s の値はオプションの辞書にする必要があります" + +msgid "There should not be any non-oauth parameters" +msgstr "oauth 関連以外のパラメーターが含まれていてはいけません" + +#, fuzzy, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "これは認識された Fernet ペイロードバージョンではありません: %s" + +#, fuzzy +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"これは v2.0 Fernet トークンではありません。トラストトークン、ドメイントーク" +"ン、または統合トークンには v3 を使用してください。" + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"タイムスタンプが想定された形式になっていません。要求の形式が不正もしくは正し" +"くないため、サーバーは要求に応じることができませんでした。クライアントでエ" +"ラーが発生していると考えられます。" + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"このエラーに関する詳細を得るには、特定ドメインに対してこのコマンドを再実行し" +"てください: keystone-manage domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "トークンが別のユーザーに属しています" + +msgid "Token does not belong to specified tenant." +msgstr "トークンが指定されたテナントに所属していません。" + +#, fuzzy +msgid "Trustee has no delegated roles." +msgstr "受託者に委任されたロールがありません。" + +#, fuzzy +msgid "Trustor is disabled." +msgstr "委託者は無効です。" + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"グループ %(group)s を更新しようとしていますが、その場合は設定でグループのみを" +"指定する必要があります" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"グループ %(group)s のオプション %(option)s を更新しようとしましたが、指定され" +"た設定には代わりにオプション %(option_other)s が含まれています" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"グループ %(group)s のオプション %(option)s を更新しようとしていますが、その場" +"合は設定でオプションのみを指定する必要があります" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"keystone データベースにアクセスできません。このデータベースが正しく設定されて" +"いるかどうかを確認してください。" + +#, fuzzy, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "トラスト %(trust_id)s を消費できず、ロックを取得できません。" + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"リージョン %(region_id)s またはその子リージョンがエンドポイントに関連付けられ" +"ているため、このリージョンを削除できません。" + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "" +"マッピング %(mapping_id)s を使用する際に、有効なグループが見つかりませんでし" +"た" + +#, fuzzy, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "" +"%(seconds)s 秒が経過した時点で、プール ID %(id)s からの接続がありません。" + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "ドメイン設定ディレクトリーが見つかりません: %s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "ユーザー %s を検索できません" + +#, fuzzy, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"ID 属性 %(attribute)s に競合する値 %(new)s と %(old)s が含まれているため、調" +"整できません" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"SAML アサーションに署名できません。このサーバーに xmlsec1 がインストールされ" +"ていないか、設定が誤っているためと考えられます。理由: %(reason)s" + +msgid "Unable to sign token." +msgstr "トークンに署名できません。" + +#, fuzzy, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "無効な割り当てタイプ %s が検出されました" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"認可属性 の組み合わせ (ユーザー: %(user_id)s、グループ: %(group_id)s、プロ" +"ジェクト: %(project_id)s、ドメイン: %(domain_id)s) が正しくありません。" + +#, fuzzy, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "JSON ホーム応答に対して予期しない状況が要求されました。%s" + +msgid "Unknown Target" +msgstr "不明なターゲット" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "不明なドメイン '%(name)s' が --domain-name で指定されました" + +#, python-format +msgid "Unknown token version %s" +msgstr "トークンバージョン %s は不明です" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "未登録の依存関係: %(targets)s に対する %(name)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "\"parent_id\" の更新は許可されていません。" + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "" +"SAML アサーションの作成を行うときは、プロジェクトにスコープが設定されたトーク" +"ンを使用してください" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "ユーザー %(u_id)s はテナント %(t_id)s のアクセス権限がありません。" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"ユーザー %(user_id)s にはすでにテナント %(tenant_id)s でロール %(role_id)s が" +"割り当てられています。" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "" +"ユーザー %(user_id)s はドメイン %(domain_id)s へのアクセス権限がありません" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "" +"ユーザー %(user_id)s はプロジェクト %(project_id)s へのアクセス権限がありませ" +"ん" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "ユーザー %(user_id)s はすでにグループ %(group_id)s のメンバーです" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "ユーザー '%(user_id)s' がグループ '%(group_id)s' で見つかりません" + +msgid "User IDs do not match" +msgstr "ユーザー ID が一致しません" + +#, python-format +msgid "User is disabled: %s" +msgstr "ユーザーが無効になっています: %s" + +msgid "User is not a member of the requested project" +msgstr "ユーザーは、要求されたプロジェクトのメンバーではありません" + +#, fuzzy +msgid "User is not a trustee." +msgstr "ユーザーは受託者ではありません。" + +msgid "User not found" +msgstr "ユーザーが見つかりません" + +#, fuzzy, python-format +msgid "User type %s not supported" +msgstr "ユーザー型 %s はサポートされていません" + +msgid "You are not authorized to perform the requested action." +msgstr "要求されたアクションを実行する許可がありません。" + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "要求されたアクションを実行する許可がありません: %(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "`key_mangler` 関数は呼び出し可能でなければなりません。" + +msgid "`key_mangler` option must be a function reference" +msgstr "`key_mangler` オプションは関数参照でなければなりません" + +msgid "any options" +msgstr "任意のオプション" + +#, fuzzy +msgid "auth_type is not Negotiate" +msgstr "auth_type は折衝されていません" + +msgid "authorizing user does not have role required" +msgstr "ユーザーを認可するのに必要なロールがありません" + +#, fuzzy +msgid "cache_collection name is required" +msgstr "cache_collection name は必須です" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "" +"無効になっているプロジェクトを含むブランチにプロジェクトを作成することはでき" +"ません: %s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "プロジェクトは親とは別のドメイン内には作成できません。" + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "" +"有効になっているドメインは削除できません。最初にそのドメインを無効にしてくだ" +"さい。" + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "プロジェクト %s は階層内の末端ではないため、削除できません。" + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"プロジェクト %s のサブツリーには有効になっているプロジェクトが含まれているた" +"め、このプロジェクトは無効にできません" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "親が無効になっているプロジェクト %s は有効にできません" + +#, fuzzy +msgid "database db_name is required" +msgstr "database db_name は必須です" + +msgid "db_hosts value is required" +msgstr "db_hosts 値は必須です" + +msgid "delete the default domain" +msgstr "デフォルトドメインを削除してください" + +#, python-format +msgid "group %(group)s" +msgstr "グループ %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type は technical、other、support、administrative、billing のいず" +"れかでなければなりません。" + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "mongo_ttl_seconds には整数値が必要です" + +msgid "integer value expected for w (write concern attribute)" +msgstr "w (書き込み関連属性) には整数値が必要です" + +#, python-format +msgid "invalid date format %s" +msgstr "日付形式 %s は無効です" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "%s ブランチに到達する最大の階層の深さ。" + +msgid "no ssl support available" +msgstr "使用可能な SSL サポートがありません" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "グループ %(group)s のオプション %(option)s" + +#, fuzzy +msgid "pad must be single character" +msgstr "埋め込みは単一文字でなければなりません" + +#, fuzzy +msgid "padded base64url text must be multiple of 4 characters" +msgstr "埋め込まれた base64url テキストは 4 の倍数の文字数でなければなりません" + +msgid "provided consumer key does not match stored consumer key" +msgstr "" +"指定されたコンシューマー鍵は保存されているコンシューマー鍵と一致しません" + +msgid "provided request key does not match stored request key" +msgstr "指定された要求鍵は保管されている要求鍵と一致しません" + +#, fuzzy +msgid "provided verifier does not match stored verifier" +msgstr "指定されたベリファイヤーは保存されているベリファイヤーと一致しません" + +#, fuzzy +msgid "region not type dogpile.cache.CacheRegion" +msgstr "領域のタイプが dogpile.cache.CacheRegion ではありません" + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses は正整数またはヌルでなければなりません。" + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "再委任が許可されている場合は remaining_uses を設定してはなりません" + +msgid "replicaset_name required when use_replica is True" +msgstr "use_replica が True の場合は replicaset_name が必要です" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"グループ %(group)s の更新を要求しましたが、指定された設定には代わりにグルー" +"プ %(group_other)s が含まれています" + +msgid "rescope a scoped token" +msgstr "スコープが設定されたトークンのスコープを設定し直します" + +#, fuzzy, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"テキストは 4 の倍数ですが、最後から2 つ目の文字の前に埋め込み \"%s\" あります" + +#, fuzzy, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"テキストは 4 の倍数ですが、埋め込みではない最後の文字の前に埋め込み \"%s\" あ" +"ります" + +#, fuzzy, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "テキストは 4 の倍数ではありませんが、埋め込み \"%s\" が含まれています" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "" +"tls_cacertdir %s が見つからない、もしくは、ディレクトリではありません。" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "tls_cacertfile %s が見つからない、もしくは、ファイルではありません。" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "トークン参照は KeystoneToken 型である必要があります。%s を受信しました" diff --git a/keystone/locale/keystone-log-warning.pot b/keystone/locale/keystone-log-warning.pot index de991d61c6..3beb3a2475 100644 --- a/keystone/locale/keystone-log-warning.pot +++ b/keystone/locale/keystone-log-warning.pot @@ -6,16 +6,16 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: keystone 8.0.0.0b4.dev56\n" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" -"POT-Creation-Date: 2015-09-21 06:08+0000\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.0\n" +"Generated-By: Babel 2.1.1\n" #: keystone/exception.py:48 msgid "missing exception kwargs (programmer error)" @@ -178,17 +178,17 @@ msgstr "" msgid "Unable to add user %(user)s to %(tenant)s." msgstr "" -#: keystone/identity/core.py:122 +#: keystone/identity/core.py:137 #, python-format msgid "Invalid domain name (%s) found in config file name" msgstr "" -#: keystone/identity/core.py:160 +#: keystone/identity/core.py:175 #, python-format msgid "Unable to locate domain config directory: %s" msgstr "" -#: keystone/identity/core.py:603 +#: keystone/identity/core.py:692 #, python-format msgid "" "Found multiple domains being mapped to a driver that does not support " @@ -201,7 +201,7 @@ msgid "" "for authorization instead of creating a new one." msgstr "" -#: keystone/resource/core.py:1253 +#: keystone/resource/core.py:1254 #, python-format msgid "" "Found what looks like an unmatched config option substitution reference -" @@ -210,7 +210,7 @@ msgid "" "added?" msgstr "" -#: keystone/resource/core.py:1260 +#: keystone/resource/core.py:1261 #, python-format msgid "" "Found what looks like an incorrectly constructed config option " @@ -218,6 +218,10 @@ msgid "" "%(option)s, value: %(value)s." msgstr "" +#: keystone/server/common.py:42 +msgid "debug is enabled so responses may include sensitive information." +msgstr "" + #: keystone/token/persistence/core.py:225 #, python-format msgid "" diff --git a/keystone/locale/keystone.pot b/keystone/locale/keystone.pot index 4ba1bbe12b..ce32fa88c2 100644 --- a/keystone/locale/keystone.pot +++ b/keystone/locale/keystone.pot @@ -6,16 +6,16 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: keystone 8.0.0.0b4.dev16\n" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" -"POT-Creation-Date: 2015-09-08 06:08+0000\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.0\n" +"Generated-By: Babel 2.1.1\n" #: keystone/exception.py:78 #, python-format @@ -287,95 +287,95 @@ msgid "" "%(domain_id)s" msgstr "" -#: keystone/exception.py:361 +#: keystone/exception.py:368 #, python-format msgid "Conflict occurred attempting to store %(type)s - %(details)s" msgstr "" -#: keystone/exception.py:369 +#: keystone/exception.py:376 msgid "An unexpected error prevented the server from fulfilling your request." msgstr "" -#: keystone/exception.py:372 +#: keystone/exception.py:379 #, python-format msgid "" "An unexpected error prevented the server from fulfilling your request: " "%(exception)s" msgstr "" -#: keystone/exception.py:395 +#: keystone/exception.py:402 #, python-format msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." msgstr "" -#: keystone/exception.py:400 +#: keystone/exception.py:407 msgid "" "Expected signing certificates are not available on the server. Please " "check Keystone configuration." msgstr "" -#: keystone/exception.py:406 +#: keystone/exception.py:413 #, python-format msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." msgstr "" -#: keystone/exception.py:411 +#: keystone/exception.py:418 #, python-format msgid "" "Group %(group_id)s returned by mapping %(mapping_id)s was not found in " "the backend." msgstr "" -#: keystone/exception.py:416 +#: keystone/exception.py:423 #, python-format msgid "Error while reading metadata file, %(reason)s" msgstr "" -#: keystone/exception.py:420 +#: keystone/exception.py:427 #, python-format msgid "" "Unexpected combination of grant attributes - User: %(user_id)s, Group: " "%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" msgstr "" -#: keystone/exception.py:427 +#: keystone/exception.py:434 msgid "The action you have requested has not been implemented." msgstr "" -#: keystone/exception.py:434 +#: keystone/exception.py:441 msgid "The service you have requested is no longer available on this server." msgstr "" -#: keystone/exception.py:441 +#: keystone/exception.py:448 #, python-format msgid "The Keystone configuration file %(config_file)s could not be found." msgstr "" -#: keystone/exception.py:446 +#: keystone/exception.py:453 msgid "" "No encryption keys found; run keystone-manage fernet_setup to bootstrap " "one." msgstr "" -#: keystone/exception.py:451 +#: keystone/exception.py:458 #, python-format msgid "" "The Keystone domain-specific configuration has specified more than one " "SQL driver (only one is permitted): %(source)s." msgstr "" -#: keystone/exception.py:458 +#: keystone/exception.py:465 #, python-format msgid "" "%(mod_name)s doesn't provide database migrations. The migration " "repository path at %(path)s doesn't exist or isn't a directory." msgstr "" -#: keystone/exception.py:465 +#: keystone/exception.py:472 msgid "Token version is unrecognizable or unsupported." msgstr "" -#: keystone/exception.py:470 +#: keystone/exception.py:477 #, python-format msgid "" "Unable to sign SAML assertion. It is likely that this server does not " @@ -383,26 +383,26 @@ msgid "" " %(reason)s" msgstr "" -#: keystone/exception.py:478 +#: keystone/exception.py:485 msgid "" "No Authorization headers found, cannot proceed with OAuth related calls, " "if running under HTTPd or Apache, ensure WSGIPassAuthorization is set to " "On." msgstr "" -#: keystone/exception.py:486 +#: keystone/exception.py:493 #, python-format msgid "" "Could not determine Identity Provider ID. The configuration option " "%(issuer_attribute)s was not found in the request environment." msgstr "" -#: keystone/notifications.py:273 +#: keystone/notifications.py:274 #, python-format msgid "%(event)s is not a valid notification event, must be one of: %(actions)s" msgstr "" -#: keystone/notifications.py:282 +#: keystone/notifications.py:283 #, python-format msgid "Method not callable: %s" msgstr "" @@ -449,17 +449,17 @@ msgstr "" msgid "Must specify either domain or project" msgstr "" -#: keystone/assignment/core.py:870 +#: keystone/assignment/core.py:873 #, python-format msgid "Project (%s)" msgstr "" -#: keystone/assignment/core.py:872 +#: keystone/assignment/core.py:875 #, python-format msgid "Domain (%s)" msgstr "" -#: keystone/assignment/core.py:874 +#: keystone/assignment/core.py:877 msgid "Unknown Target" msgstr "" @@ -512,7 +512,7 @@ msgid "" "conflicting values %(new)s and %(old)s" msgstr "" -#: keystone/auth/controllers.py:344 keystone/middleware/core.py:226 +#: keystone/auth/controllers.py:344 keystone/middleware/core.py:227 msgid "Scoping to both domain and project is not allowed" msgstr "" @@ -647,7 +647,7 @@ msgstr "" msgid "Error while parsing line: '%(line)s': %(err)s" msgstr "" -#: keystone/common/authorization.py:47 keystone/common/wsgi.py:66 +#: keystone/common/authorization.py:57 keystone/common/wsgi.py:66 #, python-format msgid "token reference must be a KeystoneToken type, got: %s" msgstr "" @@ -695,27 +695,27 @@ msgstr "" msgid "%(property_name)s is not a %(display_expected_type)s" msgstr "" -#: keystone/common/controller.py:229 keystone/common/controller.py:245 +#: keystone/common/controller.py:230 keystone/common/controller.py:246 #: keystone/token/providers/common.py:638 msgid "Non-default domain is not supported" msgstr "" -#: keystone/common/controller.py:328 keystone/common/controller.py:357 -#: keystone/identity/core.py:507 keystone/resource/core.py:787 +#: keystone/common/controller.py:329 keystone/common/controller.py:358 +#: keystone/identity/core.py:596 keystone/resource/core.py:788 #: keystone/resource/backends/ldap.py:66 keystone/resource/backends/ldap.py:74 #, python-format msgid "Expected dict or list: %s" msgstr "" -#: keystone/common/controller.py:370 +#: keystone/common/controller.py:371 msgid "Marker could not be found" msgstr "" -#: keystone/common/controller.py:381 +#: keystone/common/controller.py:382 msgid "Invalid limit value" msgstr "" -#: keystone/common/controller.py:689 +#: keystone/common/controller.py:690 msgid "Cannot change Domain ID" msgstr "" @@ -986,20 +986,20 @@ msgstr "" msgid "Use a project scoped token when attempting to create a SAML assertion" msgstr "" -#: keystone/contrib/federation/idp.py:476 +#: keystone/contrib/federation/idp.py:477 #, python-format msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" msgstr "" -#: keystone/contrib/federation/idp.py:543 +#: keystone/contrib/federation/idp.py:544 msgid "Ensure configuration option idp_entity_id is set." msgstr "" -#: keystone/contrib/federation/idp.py:546 +#: keystone/contrib/federation/idp.py:547 msgid "Ensure configuration option idp_sso_endpoint is set." msgstr "" -#: keystone/contrib/federation/idp.py:566 +#: keystone/contrib/federation/idp.py:567 msgid "" "idp_contact_type must be one of: [technical, other, support, " "administrative or billing." @@ -1031,12 +1031,12 @@ msgid "" "must be specified." msgstr "" -#: keystone/contrib/federation/utils.py:773 +#: keystone/contrib/federation/utils.py:766 #, python-format msgid "Identity Provider %(idp)s is disabled" msgstr "" -#: keystone/contrib/federation/utils.py:781 +#: keystone/contrib/federation/utils.py:774 #, python-format msgid "Service Provider %(sp)s is disabled" msgstr "" @@ -1141,31 +1141,37 @@ msgstr "" msgid "Enabled field should be a boolean" msgstr "" -#: keystone/identity/core.py:112 +#: keystone/identity/core.py:127 #, python-format msgid "Database at /domains/%s/config" msgstr "" -#: keystone/identity/core.py:189 +#: keystone/identity/core.py:271 #, python-format -msgid "" -"Domain specific sql drivers are not supported via the Identity API. One " -"is specified in /domains/%s/config" +msgid "Config API entity at /domains/%s/config" msgstr "" -#: keystone/identity/core.py:362 keystone/identity/backends/ldap.py:58 +#: keystone/identity/core.py:277 +#, python-format +msgid "" +"Exceeded attempts to register domain %(domain)s to use the SQL driver, " +"the last domain that appears to have had it is %(last_domain)s, giving " +"up" +msgstr "" + +#: keystone/identity/core.py:451 keystone/identity/backends/ldap.py:58 #: keystone/identity/backends/ldap.py:60 keystone/identity/backends/ldap.py:66 #: keystone/identity/backends/ldap.py:68 keystone/identity/backends/sql.py:104 #: keystone/identity/backends/sql.py:106 msgid "Invalid user / password" msgstr "" -#: keystone/identity/core.py:772 +#: keystone/identity/core.py:861 #, python-format msgid "User is disabled: %s" msgstr "" -#: keystone/identity/core.py:814 +#: keystone/identity/core.py:903 msgid "Cannot change user ID" msgstr "" @@ -1277,78 +1283,78 @@ msgstr "" msgid "cannot delete a domain that is enabled, please disable it first." msgstr "" -#: keystone/resource/core.py:875 +#: keystone/resource/core.py:876 msgid "No options specified" msgstr "" -#: keystone/resource/core.py:881 +#: keystone/resource/core.py:882 #, python-format msgid "" "The value of group %(group)s specified in the config should be a " "dictionary of options" msgstr "" -#: keystone/resource/core.py:905 +#: keystone/resource/core.py:906 #, python-format msgid "" "Option %(option)s found with no group specified while checking domain " "configuration request" msgstr "" -#: keystone/resource/core.py:912 +#: keystone/resource/core.py:913 #, python-format msgid "Group %(group)s is not supported for domain specific configurations" msgstr "" -#: keystone/resource/core.py:919 +#: keystone/resource/core.py:920 #, python-format msgid "" "Option %(option)s in group %(group)s is not supported for domain specific" " configurations" msgstr "" -#: keystone/resource/core.py:972 +#: keystone/resource/core.py:973 msgid "An unexpected error occurred when retrieving domain configs" msgstr "" -#: keystone/resource/core.py:1051 keystone/resource/core.py:1135 -#: keystone/resource/core.py:1206 keystone/resource/config_backends/sql.py:70 +#: keystone/resource/core.py:1052 keystone/resource/core.py:1136 +#: keystone/resource/core.py:1207 keystone/resource/config_backends/sql.py:76 #, python-format msgid "option %(option)s in group %(group)s" msgstr "" -#: keystone/resource/core.py:1054 keystone/resource/core.py:1140 -#: keystone/resource/core.py:1202 +#: keystone/resource/core.py:1055 keystone/resource/core.py:1141 +#: keystone/resource/core.py:1203 #, python-format msgid "group %(group)s" msgstr "" -#: keystone/resource/core.py:1056 +#: keystone/resource/core.py:1057 msgid "any options" msgstr "" -#: keystone/resource/core.py:1100 +#: keystone/resource/core.py:1101 #, python-format msgid "" "Trying to update option %(option)s in group %(group)s, so that, and only " "that, option must be specified in the config" msgstr "" -#: keystone/resource/core.py:1105 +#: keystone/resource/core.py:1106 #, python-format msgid "" "Trying to update group %(group)s, so that, and only that, group must be " "specified in the config" msgstr "" -#: keystone/resource/core.py:1114 +#: keystone/resource/core.py:1115 #, python-format msgid "" "request to update group %(group)s, but config provided contains group " "%(group_other)s instead" msgstr "" -#: keystone/resource/core.py:1121 +#: keystone/resource/core.py:1122 #, python-format msgid "" "Trying to update option %(option)s in group %(group)s, but config " @@ -1465,11 +1471,11 @@ msgid "" "tokens." msgstr "" -#: keystone/token/providers/fernet/token_formatters.py:80 +#: keystone/token/providers/fernet/token_formatters.py:83 msgid "This is not a recognized Fernet token" msgstr "" -#: keystone/token/providers/fernet/token_formatters.py:228 +#: keystone/token/providers/fernet/token_formatters.py:246 #, python-format msgid "This is not a recognized Fernet payload version: %s" msgstr "" diff --git a/keystone/locale/ko_KR/LC_MESSAGES/keystone.po b/keystone/locale/ko_KR/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..e4b340816b --- /dev/null +++ b/keystone/locale/ko_KR/LC_MESSAGES/keystone.po @@ -0,0 +1,1214 @@ +# Korean (South Korea) translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# Sungjin Kang , 2013 +# Lucas Palm , 2015. #zanata +# OpenStack Infra , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: ko_KR\n" +"Language-Team: Korean (Korea) (http://www.transifex.com/openstack/keystone/" +"language/ko_KR/)\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 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s은(는) 올바른 알림 이벤트가 아니며 %(actions)s 중 하나여야 합니다." + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s이(가) 신뢰 대시보드 호스트가 아님" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s은(는) 데이터베이스 마이그레이션을 제공하지 않습니다. 마이그레이" +"션 저장소 경로가 %(path)s에 존재하지 않거나 디렉토리가 아닙니다." + +#, python-format +msgid "%(property_name)s cannot be less than %(min_length)s characters." +msgstr "%(property_name)s은(는) %(min_length)s자 미만일 수 없습니다. " + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s이(가) %(display_expected_type)s이(가) 아님" + +#, python-format +msgid "%(property_name)s should not be greater than %(max_length)s characters." +msgstr "%(property_name)s은(는) %(max_length)s자 이하여야 합니다. " + +#, python-format +msgid "%s cannot be empty." +msgstr "%s은(는) 공백일 수 없습니다. " + +#, python-format +msgid "%s extension does not exist." +msgstr "%s 확장자가 존재하지 않습니다." + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "%s 필드가 필요하며 비어 있을 수 없음" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "%s 필드는 비어 있을 수 없음" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "" +"(이러한 세부사항을 억제하려면 디버그 모드를 사용 안함으로 설정하십시오.)" + +msgid "--all option cannot be mixed with other options" +msgstr "--all 옵션은 다른 옵션과 함께 사용할 수 없음" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "서비스 카탈로그를 생성하려면 프로젝트 범위 토큰이 필요합니다." + +msgid "Access token is expired" +msgstr "액세스 토큰이 만료됨" + +msgid "Access token not found" +msgstr "액세스 토큰을 찾을 수 없음" + +msgid "Additional authentications steps required." +msgstr "추가 인증 단계가 필요합니다." + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "도메인 구성 검색 중 예상치 못한 오류 발생" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "%s을(를) 저장하려 할 때 예기치 않은 오류가 발생했음" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "예상치 않은 오류가 발생하여 서버가 사용자 요청을 이행하지 못함." + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"예상치 않은 오류가 발생하여 서버가 사용자 요청을 이행하지 못함:%(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "처리되지 않은 예외가 발생함: 메타데이터를 찾을 수 없음." + +msgid "At least one option must be provided" +msgstr "하나 이상의 옵션을 제공해야 함" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "" +"하나 이상의 옵션을 제공해야 합니다. --all 또는 --domain-name을 사용하십시오. " + +msgid "At least one role should be specified." +msgstr "최소한 하나의 역할을 지정해야 합니다." + +msgid "Attempted to authenticate with an unsupported method." +msgstr "지원되지 않는 방법으로 인증을 시도했습니다." + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"V2 ID 서비스에서 OS-FEDERATION 토큰을 사용할 경우 V3 인증을 사용하십시오." + +msgid "Authentication plugin error." +msgstr "인증 플러그인 오류." + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "위임을 통해 발행된 토큰으로 요청 토큰에 권한을 부여할 수 없습니다." + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "%(option_name)s %(attr)s을(를) 변경할 수 없음" + +msgid "Cannot change Domain ID" +msgstr "도메인 ID를 변경할 수 없음" + +msgid "Cannot change consumer secret" +msgstr "이용자 본인확인정보를 변경할 수 없음" + +msgid "Cannot change user ID" +msgstr "사용자 ID를 변경할 수 없음" + +msgid "Cannot change user name" +msgstr "사용자 이름을 변경할 수 없음" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "상위로 프로젝트를 작성할 수 없음: %(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "%s 이름을 복제할 수 없습니다." + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "위임을 통해 발행된 토큰으로 요청 토큰을 나열할 수 없습니다." + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "%(cert_file)s 인증서를 열수 없습니다. 이유: %(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "권한이 부여되지 않은 역할을 제거할 수 없음: %s" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"자신 뒤의 첫 번째 매개변수와 같은 힌트 목록 없이 드라이버 호출을 자를 수 없음" + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"parents_as_list 및 parents_as_ids 조회 매개변수를 동시에 사용할 수 없습니다." + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"subtree_as_list 및 subtree_as_ids 조회 매개변수를 동시에 사용할 수 없습니다." + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "결합에 효율적인 그룹 필터는 항상 빈 목록을 생성합니다." + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "결합에 효율적인 도메인과 상속 필터는 항상 빈 목록을 생성합니다." + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "%(type)s을(를) 저장하는 중에 충돌이 발생함 - %(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "지정된 리젼 ID가 충돌함: \"%(url_id)s\" != \"%(ref_id)s\"" + +msgid "Consumer not found" +msgstr "이용자를 찾을 수 없음" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "%(target)s 대상에서 불변 속성 '%(attributes)s'을(를) 변경할 수 없음" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"다음 도메인의 도메인 구성에서 %(group_or_option)s을(를) 찾을 수 없습니다. " +"%(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "엔드포인트 그룹을 찾을 수 없음: %(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "환경에서 ID 제공자의 ID를 찾을 수 없음" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "%(idp_id)s ID 제공자를 찾을 수 없음" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "서비스 제공자를 찾을 수 없음: %(sp_id)s" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "%(credential_id)s 신임 정보를 찾을 수 없음" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "%(domain_id)s 도메인을 찾을 수 없음" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "%(endpoint_id)s 엔드포인트를 찾을 수 없음" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"ID 제공자 %(idp_id)s에 대한 연합 프로토콜 %(protocol_id)s을(를) 찾을 수 없음" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "%(group_id)s 그룹을 찾을 수 없음" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "%(mapping_id)s 맵핑을 찾을 수 없음" + +msgid "Could not find policy association" +msgstr "정책 연관을 찾을 수 없음" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "%(policy_id)s 정책을 찾을 수 없음" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "%(project_id)s 프로젝트를 찾을 수 없음" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "%(region_id)s 리젼을 찾을 수 없음" + +msgid "Could not find role" +msgstr "역할을 찾을 수 없음" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"%(role_id)s 역할에 대한 역할 지정을 찾을 수 없음. 사용자 또는 그룹: " +"%(actor_id)s, 프로젝트 또는 도메인: %(target_id)s" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "%(role_id)s 규칙을 찾을 수 없음" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "%(service_id)s 서비스를 찾을 수 없음" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "%(token_id)s 토큰을 찾을 수 없음" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "%(trust_id)s 신뢰를 찾을 수 없음" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "%(user_id)s 사용자를 찾을 수 없음" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "%(version)s 버전을 찾을 수 없음" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "%(target)s을(를) 찾을 수 없음" + +msgid "Could not validate the access token" +msgstr "액세스 토큰을 유효성 검증할 수 없음" + +msgid "Credential belongs to another user" +msgstr "신임 정보가 다른 사용자에 속함" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "/domains/%s/config의 데이터베이스" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "구성에서 'enable' 속성이 있는 엔티티의 사용 안함 설정을 무시합니다." + +#, python-format +msgid "Domain (%s)" +msgstr "도메인(%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "도메인 이름은 %s일 수 없음" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "도메인 ID가 %s일 수 없음" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "도메인을 사용 안함: %s" + +msgid "Domain metadata not supported by LDAP" +msgstr "도메인 메타데이터가 LDAP에 의해 지원되지 않음" + +msgid "Domain scoped token is not supported" +msgstr "도메인 범위 지정 토큰은 지원되지 않음" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"%(domain)s 도메인에 이미 정의된 구성이 있음 - 다음 파일을 무시하십시오. " +"%(file)s." + +msgid "Domains are read-only against LDAP" +msgstr "LDAP에 대한 도메인이 읽기 전용입니다." + +msgid "Duplicate Entry" +msgstr "중복 항목" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "중복 ID, %s." + +#, python-format +msgid "Duplicate name, %s." +msgstr "중복 이름, %s." + +msgid "Enabled field must be a boolean" +msgstr "사용으로 설정된 필드는 부울이어야 함" + +msgid "Enabled field should be a boolean" +msgstr "사용으로 설정된 필드는 부울이어야 함" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "%(endpoint_id)s 엔드포인트가 %(project_id)s 프로젝트에 없음 " + +msgid "Endpoint Group Project Association not found" +msgstr "엔드포인트 그룹 프로젝트 연관을 찾을 수 없음" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "구성 옵션 idp_entity_id가 설정되어 있는지 확인하십시오." + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "구성 옵션 idp_sso_endpoint가 설정되어 있는지 확인하십시오." + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"%(domain)s 도메인에 대한 구성 파일을 구문 분석하는 중 오류 발생. 파일: " +"%(file)s." + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "메타데이터 파일을 읽는 중에 오류 발생, %(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "예상된 사전 또는 목록: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"예상 서명 인증서를 서버에서 사용할 수 없습니다. 키스톤 구성을 확인하십시오." + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"%(target)s에 %(attribute)s이(가) 있어야 합니다- 서버의 형식이나 다른 항목이 " +"올바르지 않기 때문에 서버가 요청을 준수할 수 없습니다. 클라이언트가 오류 상태" +"로 간주됩니다." + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "%(name)s 서버를 시작하지 못함" + +msgid "Failed to validate token" +msgstr "토큰을 유효성 검증하지 못했음" + +msgid "Federation token is expired" +msgstr "연합 토큰이 만료됨" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"필드 \"remaining_uses\"가 %(value)s(으)로 설정되었으나 신뢰를 재위임하려면 설" +"정하지 않아야 함" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "" +"올바르지 않은 토큰이 있습니다. 프로젝트와 도메인 둘 다 범위에 포함됩니다." + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "도메인 특정 구성에 대해 %(group)s 그룹이 지원되지 않음" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"맵핑 %(mapping_id)s별로 리턴된 그룹 %(group_id)s을(를) 백엔드에서 찾지 못했습" +"니다." + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"경계를 초월한 그룹 멤버십이 허용되지 않습니다. 관련 그룹은 %(group_id)s이고 " +"사용자는 %(user_id)s입니다." + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "ID 속성 %(id_attr)s을(를) LDAP 오브젝트 %(dn)s에서 찾을 수 없음" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "ID 제공자 %(idp)s이(가) 사용 안함으로 설정됨" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "승인 ID에 수신 ID 제공자가 포함되지 않습니다." + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "" +"올바르지 않은 LDAP TLS 인증 옵션: %(option)s. 다음 중 하나 선택: %(options)s" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "올바르지 않은 LDAP TLS_AVAIL 옵션: %s. TLS를 사용할 수 없음" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "" +"올바르지 않은 LDAP deref 옵션: %(option)s. 다음 중 하나 선택: %(options)s" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "올바르지 않은 LDAP 범위: %(scope)s. 다음 중 하나를 선택: %(options)s" + +msgid "Invalid TLS / LDAPS combination" +msgstr "잘못된 TLS / LDAPS 결합." + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "올바르지 않은 감사 정보 데이터 유형: %(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "신임 정보에 올바르지 blob가 있음" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"구성 파일 이름에 올바르지 않은 도메인 이름 %(domain)s이(가) 있음: %(file)s - " +"이 파일을 무시하십시오." + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "올바르지 않은 도메인 특정 구성: %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "'%(path)s' 필드에 올바르지 않은 입력입니다. 값은 '%(value)s'입니다." + +msgid "Invalid limit value" +msgstr "올바르지 않은 한계 값" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"정책 연관에 대한 엔티티의 올바르지 않은 조합인 엔드포인트, 서비스 또는 리젼" +"+서비스가 허용되었습니다. 요청은 엔드포인트: %(endpoint_id)s, 서비스: " +"%(service_id)s, 리젼: %(region_id)s입니다." + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"올바르지 않은 규칙: %(identity_value)s. 'groups' 및 'domain' 키워드가 둘 다 " +"지정되어야 합니다." + +msgid "Invalid signature" +msgstr "올바르지 않은 서명" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"%s의 ssl_cert_reqs 값이 올바르지 않음, \"NONE\", \"OPTIONAL\", \"REQUIRED\" " +"중 하나여야 함 " + +msgid "Invalid user / password" +msgstr "올바르지 않은 사용자 / 비밀번호" + +msgid "Invalid username or password" +msgstr "올바르지 않은 사용자 이름 또는 비밀번호" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "KVS 리젼 %s이(가) 이미 구성되어 있습니다. 재구성할 수 없습니다." + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "키 값 저장소가 구성되지 않음: %s" + +#, python-format +msgid "LDAP %s create" +msgstr "LDAP %s 작성" + +#, python-format +msgid "LDAP %s delete" +msgstr "LDAP %s 삭제" + +#, python-format +msgid "LDAP %s update" +msgstr "LDAP %s 업데이트" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "키 %(target)s에 대해 잠금 제한시간 초과가 발생함" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "잠금 키가 대상 키와 일치해야 함: %(lock)s != %(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "" +"잘못된 형식의 엔드포인트 URL(%(endpoint)s). 세부사항은 오류 로그를 참조하십시" +"오." + +msgid "Marker could not be found" +msgstr "마커를 찾을 수 없음" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "%s에서 최대 잠금 시도가 발생했습니다." + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "%(member)s 구성원은 이미 %(group)s 그룹의 구성원임" + +#, python-format +msgid "Method not callable: %s" +msgstr "메소드를 호출할 수 없음: %s" + +msgid "Missing entity ID from environment" +msgstr "환경에서 엔티티 ID가 누락됨" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"재위임 시 \"redelegation_count\"를 수정할 수 없습니다. 이 매개변수는 생략하" +"는 것이 좋습니다." + +msgid "Multiple domains are not supported" +msgstr "여러 도메인이 지원되지 않음" + +msgid "Must be called within an active lock context." +msgstr "활성 잠금 컨텍스트 내에서 호출되어야 합니다." + +msgid "Must specify either domain or project" +msgstr "도메인 프로젝트 중 하나를 지정해야 함" + +msgid "Name field is required and cannot be empty" +msgstr "이름 필드가 필요하며 비어 있을 수 없음" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"권한 부여 헤더를 찾을 수 없습니다. HTTPd 또는 Apache에서 실행 중인 경우 " +"OAuth 관련 호출을 사용하여 계속 진행할 수 없습니다. WSGIPassAuthorization이 " +"On으로 설정되어 있는지 확인하십시오." + +msgid "No authenticated user" +msgstr "인증된 사용자가 없음" + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"암호화 키를 찾을 수 없음: keystone-manage fernet_setup을 부트스트랩 1로 실행" +"하십시오." + +msgid "No options specified" +msgstr "지정된 옵션 없음" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "엔드포인트 %(endpoint_id)s과(와) 연관된 정책이 없습니다." + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "신뢰 %(trust_id)s에 대해 남아 있는 사용이 없음" + +msgid "Non-default domain is not supported" +msgstr "기본이 아닌 도메인은 지원되지 않음" + +msgid "One of the trust agents is disabled or deleted" +msgstr "신뢰 에이전트 중 하나가 사용 안함으로 설정되었거나 삭제됨" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"%(option)s 옵션은 도메인 구성 요청 확인 중에 지정된 그룹이 없음을 발견함" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"도메인 특정 구성에 대해 %(group)s 그룹의 %(option)s 옵션이 지원되지않음" + +#, python-format +msgid "Project (%s)" +msgstr "프로젝트(%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "프로젝트를 사용 안함: %s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "신뢰에서 위임한 경우에만 재위임 허용" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"%(redelegation_depth)d의 나머지 재위임 깊이가 허용 범위 [0..%(max_count)d]을" +"(를) 벗어남" + +msgid "Request Token does not have an authorizing user id" +msgstr "요청 토큰에 인증하는 사용자 ID가 없음" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"요청 속성 %(attribute)s이(가) %(size)i 이하여야 합니다. 속성 크기가 올바르지 " +"않기 때문에(너무 큼) 서버가 요청을 준수할 수 없습니다. 클라이언트가 오류 상태" +"로 간주됩니다." + +msgid "Request must have an origin query parameter" +msgstr "요청에는 원본 조회 매개변수가 있어야 함" + +msgid "Request token is expired" +msgstr "요청 토큰이 만료됨" + +msgid "Request token not found" +msgstr "요청 토큰을 찾을 수 없음" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "요청된 만기 시간이 재위임된 신뢰에서 제공할 수 있는 시간보다 큼" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"%(requested_count)d의 요청된 재위임 깊이가 허용되는 %(max_count)d보다 깊음" + +#, python-format +msgid "Role %s not found" +msgstr "%s 역할을 찾을 수 없음" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"eventlet을 통한 키스톤 실행은 WSGI 서버 실행의 플레이버에 있는 Kilo부터 더 " +"이상 사용되지 않습니다(예: mod_wsgi). eventlet 아래의 키스톤에 대한 지원은 " +"\"M\"-릴리스에서 제거됩니다." + +msgid "Scoping to both domain and project is not allowed" +msgstr "도메인과 프로젝트에 대한 범위 지정이 허용되지 않음" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "도메인과 신뢰에 대한 범위 지정이 허용되지 않음" + +msgid "Scoping to both project and trust is not allowed" +msgstr "프로젝트와 신뢰에 대한 범위 지정이 허용되지 않음" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "서비스 제공자 %(sp)s이(가) 사용 안함으로 설정됨" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "요청된 일부 역할이 재위임된 신뢰에 없음" + +msgid "Specify a domain or project, not both" +msgstr "도메인 또는 프로젝트 중 하나 지정" + +msgid "Specify a user or group, not both" +msgstr "사용자 또는 그룹 중 하나 지정" + +msgid "Specify one of domain or project" +msgstr "도메인 또는 프로젝트 중 하나 지정" + +msgid "Specify one of user or group" +msgstr "사용자 또는 그룹 중 하나 지정" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"문자열 길이 제한을 초과합니다. '%(string)s' 문자열 길이가 열의 한도 " +"%(type)s(CHAR(%(length)d))을(를) 초과합니다." + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "--all 옵션은 --domain-name 옵션과 함께 사용할 수 없습니다." + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "키스톤 구성 파일 %(config_file)s을(를) 찾을 수 없습니다." + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"키스톤 도메인 특정 구성에 하나 이상의 SQL 드라이버가 지정됨(하나만 허용됨): " +"%(source)s." + +msgid "The action you have requested has not been implemented." +msgstr "요청한 조치가 구현되지 않았습니다." + +msgid "The authenticated user should match the trustor." +msgstr "인증된 사용자는 trustor와 일치해야 합니다." + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"요청한 인증서를 사용할 수 없습니다. 서버가 PKI 토큰을 사용하지 않거나 잘못된 " +"구성의 결과로 인해 발생했을 수 있습니다." + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"비밀번호 길이는 %(size)i 이하여야 합니다. 비밀번호가 올바르지 않아 서버가 요" +"청을 준수할 수 없습니다." + +msgid "The request you have made requires authentication." +msgstr "요청에 인증이 필요합니다." + +msgid "The resource could not be found." +msgstr "자원을 찾을 수 없습니다. " + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"취소 호출은 domain_id와 project_id가 둘 다 있으면 안됩니다.키스톤 서버에서 이" +"는 버그입니다. 현재 요청이 중단됩니다." + +msgid "The service you have requested is no longer available on this server." +msgstr "요청한 서비스를 더 이상 이 서버에서 사용할 수 없습니다." + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "지정된 상위 리젼 %(parent_region_id)s에서 순환 리젼 계층을 작성합니다." + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "구성에 지정된 %(group)s 그룹의 값은 옵션의 사전이어야 함" + +msgid "There should not be any non-oauth parameters" +msgstr "non-oauth 매개변수가 없어야 함" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "인식되는 Fernet 페이로드 버전이 아님: %s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"이는 v2.0 Fernet 토큰이 아닙니다. 신뢰, 도메인 또는 연합 토큰의 경우 v3를 사" +"용하십시오." + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"시간소인이 예상된 형식이 아닙니다. 잘못 구성되었거나 올바르지 않으므로 서버" +"가 요청을 준수할 수 없습니다. 클라이언트가 오류 상태로 간주됩니다." + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"이 오류에 대한 자세한 정보를 보려면 특정 도메인에 대해 이 명령을 다시 실행하" +"십시오. 예: keystone-manage domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "토큰이 다른 사용자에 속함" + +msgid "Token does not belong to specified tenant." +msgstr "토큰이 지정된 테넌트에 속하지 않습니다." + +msgid "Trustee has no delegated roles." +msgstr "Trustee에 위임된 역할이 없습니다. " + +msgid "Trustor is disabled." +msgstr "Trustor를 사용하지 않습니다. " + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "구성에서 그룹만 지정되도록 %(group)s 그룹을 업데이트하려고 합니다. " + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"%(group)s 그룹에서 %(option)s 옵션을 업데이트하려고 했지만 제공된 구성에 " +"%(option_other)s 옵션이 대신 포함되어 있습니다." + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"구성에서 옵션만 지정되도록 %(group)s 그룹에서 %(option)s 옵션을 업데이트하려" +"고 합니다." + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"키스톤 데이터베이스를 액세스할 수 없습니다. 데이터베이스가 제대로 구성되어 있" +"는지 확인하십시오. " + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "%(trust_id)s 신뢰를 이용할 수 없어서 잠금을 획득할 수 없습니다." + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"리젼 %(region_id)s 또는 하위 리젼에 연관된 엔드포인트가 있어 삭제할 수 없습니" +"다." + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "%(mapping_id)s 맵핑을 사용하는 중에 올바른 그룹을 찾을 수 없음 " + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "풀 id %(id)s에서 %(seconds)s분 후에 연결할 수 없습니다." + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "%s: 도메인 설정 디렉토리를 찾을 수 없습니다." + +#, python-format +msgid "Unable to lookup user %s" +msgstr "%s 사용자를 검색할 수 없음" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"ID 속성 %(attribute)s에 서로 충돌하는 %(new)s 및 %(old)s 값이 있으므로 이 ID " +"속성을 조정할 수 없음" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"SAML 어설션에 서명할 수 없습니다. 이 서버에 xmlsec1이 설치되지 않았거나 잘못 " +"구성된 결과입니다. 이유%(reason)s" + +msgid "Unable to sign token." +msgstr "토큰을 부호화할 수 없습니다." + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "예상치 못한 지정 유형 발생, %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"grant 속성의 예상치 못한 조합 - 사용자: %(user_id)s, 그룹: %(group_id)s, 프로" +"젝트: %(project_id)s, 도메인: %(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "JSON 홈 응답에 대해 예상치 못한 상태가 요청됨. %s" + +msgid "Unknown Target" +msgstr "알 수 없는 대상" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "--domain-name으로 알 수 없는 도메인 '%(name)s'을(를) 지정했음" + +#, python-format +msgid "Unknown token version %s" +msgstr "알 수 없는 토큰 버전 %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "등록되지 않은 종속성: %(targets)s의 %(name)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "`parent_id` 업데이트가 허용되지 않습니다." + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "SAML 어설션을 작성할 때 프로젝트 범위 지정 토큰 사용" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "사용자 %(u_id)s이(는) 테넌트 %(t_id)s에 대한 권한이 없습니다. " + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"사용자 %(user_id)s이(가) 테넌트 %(tenant_id)s에서 역할 %(role_id)s을(를) 이" +"미 가집니다. " + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "" +"%(user_id)s 사용자는 %(domain_id)s 도메인에 대한 액세스 권한이 없습니다. " + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "" +"%(user_id)s 사용자는 %(project_id)s 프로젝트에 대한 액세스 권한이 없습니다. " + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "%(user_id)s 사용자는 이미 %(group_id)s 그룹의 구성원임" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "'%(group_id)s' 그룹에 '%(user_id)s' 사용자가 없음" + +msgid "User IDs do not match" +msgstr "사용자 ID가 일치하지 않음" + +#, python-format +msgid "User is disabled: %s" +msgstr "사용자를 사용 안함: %s" + +msgid "User is not a member of the requested project" +msgstr "사용자가 요청한 프로젝트의 구성원이 아님" + +msgid "User is not a trustee." +msgstr "사용자는 trustee가 아닙니다." + +msgid "User not found" +msgstr "사용자를 찾을 수 없음" + +#, python-format +msgid "User type %s not supported" +msgstr "사용자 유형 %s이(가) 지원되지 않음" + +msgid "You are not authorized to perform the requested action." +msgstr "요청한 조치를 수행할 권한이 없습니다." + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "요청한 조치(%(action)s)를 수행할 권한이 없습니다." + +msgid "`key_mangler` functions must be callable." +msgstr "`key_mangler` 기능을 호출할 수 있어야 합니다." + +msgid "`key_mangler` option must be a function reference" +msgstr "`key_mangler` 옵션은 기능 참조여야 함" + +msgid "any options" +msgstr "옵션" + +msgid "auth_type is not Negotiate" +msgstr "auth_type이 Negotiate가 아님" + +msgid "authorizing user does not have role required" +msgstr "인증하는 사용자에게 필요한 역할이 없음" + +msgid "cache_collection name is required" +msgstr "cache_collection 이름이 필요함" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "" +"사용 안함으로 설정된 프로젝트가 포함된 분기에 프로젝트를 작성할 수 없습니다. " +"%s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "상위와 다른 도메인 내에 프로젝트를 작성할 수 없습니다." + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "" +"사용으로 설정된 도메인을 삭제할 수 없습니다. 먼저 해당 도메인을 사용 안함으" +"로 설정하십시오." + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "계층 내의 리프가 아니므로 프로젝트 %s을(를) 삭제할 수 없습니다." + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"서브트리에 사용 설정된 프로젝트가 있어서 프로젝트 %s을(를) 사용 안함으로 설정" +"할 수 없음" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "프로젝트 %s에 사용 안함으로 설정된 상위가 있어서 이를 사용할 수 없음" + +msgid "database db_name is required" +msgstr "database db_name이 필요함" + +msgid "db_hosts value is required" +msgstr "db_hosts 값이 필요함" + +msgid "delete the default domain" +msgstr "기본 도메인 삭제" + +#, python-format +msgid "group %(group)s" +msgstr "%(group)s 그룹" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type은 [기술, 기타, 지원, 관리 또는 비용 청구 중 하나여야 합니다." + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "mongo_ttl_seconds에 대해 정수 값이 예상됨 " + +msgid "integer value expected for w (write concern attribute)" +msgstr "w(write concern 속성)에 대해 정수 값이 예상됨" + +#, python-format +msgid "invalid date format %s" +msgstr "올바르지 않은 날짜 형식 %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "%s 분기에 대한 최대 계층 깊이에 도달했습니다." + +msgid "no ssl support available" +msgstr "사용 가능한 ssl 지원이 없음" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "%(group)s 그룹의 %(option)s 옵션" + +msgid "pad must be single character" +msgstr "패드는 단일 문자여야 함" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "채워진 base64url 텍스트는 4의 배수여야 함" + +msgid "provided consumer key does not match stored consumer key" +msgstr "제공된 이용자 키가 저장된 이용자 키와 일치하지 않음" + +msgid "provided request key does not match stored request key" +msgstr "제공된 요청 키가 저장된 요청 키와 일치하지 않음" + +msgid "provided verifier does not match stored verifier" +msgstr "제공된 확인자가 저장된 확인자와 일치하지 않음 " + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "리젼이 dogpile.cache.CacheRegion 유형이 아님 " + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses는 양의 정수 또는 널이어야 합니다." + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "재위임을 허용하는 경우 remaining_uses를 설정하지 않아야 함" + +msgid "replicaset_name required when use_replica is True" +msgstr "use_replica가 True인 경우 replicaset_name이 필요함 " + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"%(group)s 그룹을 업데이트하도록 요청했지만 제공된 구성에 %(group_other)s 그룹" +"이 대신 포함되어 있습니다." + +msgid "rescope a scoped token" +msgstr "범위 지정된 토큰의 범위 재지정" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"텍스트가 4의 배수이지만 패드 \"%s\"이(가) 두 번째 앞에서부터 마지막 문자까지 " +"발생함" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"텍스트가 4의 배수이지만 패드 \"%s\"이(가) 비패드 마지막 문자 앞에서 발생함" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "텍스트가 4의 배수이지만 패드 \"%s\"을(를) 포함함" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "tls_cacertdir %s를 찾을 수 없으며, 이 디렉토리에 존재하지 않습니다." + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "tls_cacertfile %s를 찾을 수 없스며, 그런 파일이 없습니다." + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "토큰 참조는 KeystoneToken 유형이어야 합니다. %s을(를) 가져왔습니다." diff --git a/keystone/locale/pt_BR/LC_MESSAGES/keystone.po b/keystone/locale/pt_BR/LC_MESSAGES/keystone.po index 02ff0550e5..9e373bfe55 100644 --- a/keystone/locale/pt_BR/LC_MESSAGES/keystone.po +++ b/keystone/locale/pt_BR/LC_MESSAGES/keystone.po @@ -6,20 +6,49 @@ # Gabriel Wainer, 2013 # Lucas Ribeiro , 2014 # Volmar Oliveira Junior , 2013 +# Lucas Palm , 2015. #zanata +# OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: Keystone\n" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" -"POT-Creation-Date: 2015-08-06 06:28+0000\n" -"PO-Revision-Date: 2015-08-04 18:01+0000\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" "Last-Translator: openstackjenkins \n" +"Language: pt_BR\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/openstack/" "keystone/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 2.0\n" +"Generated-By: Babel 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s não é um evento de notificação válido, deve ser um de: %(actions)s" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s não é um host do painel confiável" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s não fornece migrações de banco de dados. O caminho do " +"repositório de migração %(path)s não existe ou não é um diretório." #, python-format msgid "%(property_name)s cannot be less than %(min_length)s characters." @@ -37,6 +66,29 @@ msgstr "%(property_name)s não deve ter mais de %(max_length)s caracteres." msgid "%s cannot be empty." msgstr "%s não pode estar vazio." +#, python-format +msgid "%s extension does not exist." +msgstr "Extensão %s não existe." + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "campo %s é obrigatório e não pode estar vazio" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "%s campo(s) não podem estar vazios" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(Desative o modo de depuração para suprimir esses detalhes.)" + +msgid "--all option cannot be mixed with other options" +msgstr "A opção --all não pode ser combinada com outras opções" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "" +"Um token de projeto com escopo é necessário para produzir um catálogo de " +"serviços." + msgid "Access token is expired" msgstr "Token de acesso expirou" @@ -46,46 +98,300 @@ msgstr "Token de acesso não encontrado" msgid "Additional authentications steps required." msgstr "Passos de autenticação adicionais requeridos." +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "Ocorreu um erro inesperado ao recuperar as configurações de domínio" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "Ocorreu um erro inesperado ao tentar armazenar %s" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "Um erro inesperado evitou que o servidor cumprisse sua solicitação." + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"Um erro inesperado evitou que o servidor cumprisse sua solicitação: " +"%(exception)s" + msgid "An unhandled exception has occurred: Could not find metadata." msgstr "Uma exceção não tratada ocorreu: Não foi possível encontrar metadados." +msgid "At least one option must be provided" +msgstr "Pelo menos uma opção deve ser fornecida" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "Pelo menos uma opção deve ser fornecida, use --all ou --domain-name" + +msgid "At least one role should be specified." +msgstr "Pelo menos uma função deve ser especificada." + msgid "Attempted to authenticate with an unsupported method." msgstr "Tentativa de autenticação com um método não suportado." +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"Ao tentar usar o token OS-FEDERATION com Serviço de identidade V2, use " +"autenticação V3" + msgid "Authentication plugin error." msgstr "Erro do plugin de autenticação." +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "" +"Não é possível autorizar um token de solicitação com um token emitido por " +"meio de delegação." + #, python-format msgid "Cannot change %(option_name)s %(attr)s" msgstr "Não é possível alterar %(option_name)s %(attr)s" +msgid "Cannot change Domain ID" +msgstr "Não é possível alterar o ID do Domínio" + msgid "Cannot change consumer secret" msgstr "Não é possível alterar segredo do consumidor" +msgid "Cannot change user ID" +msgstr "Não é possível alterar o ID do usuário" + +msgid "Cannot change user name" +msgstr "Não é possível alterar o nome de usuário" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "Não é possível criar o projeto com o pai: %(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "Não é possível duplicar o nome %s" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "" +"Não é possível listar os tokens de solicitação com um token emitido por meio " +"de delegação." + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "Não é possível abrir o certificado %(cert_file)s. Motivo: %(reason)s" + #, python-format msgid "Cannot remove role that has not been granted, %s" msgstr "Não é possível remover role que não foi concedido, %s" +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"Não é possível truncar uma chamada de driver sem lista de sugestões como " +"primeiro parâmetro após self " + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"Não é possível usar parâmetros de consulta parents_as_list e parents_as_ids " +"ao mesmo tempo." + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"Não é possível usar parâmetros de consulta subtree_as_list e subtree_as_ids " +"ao mesmo tempo." + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "" +"Combinar efetivo e filtro de grupo sempre resultará em uma lista vazia." + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "" +"Combinar efetivo, domínio e filtros herdados sempre resultará em uma lista " +"vazia." + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "Ocorreu um conflito ao tentar armazenar %(type)s -%(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "" +"IDs de região de conflito especificados: \"%(url_id)s\" != \"%(ref_id)s\"" + msgid "Consumer not found" msgstr "Consumidor não encontrado" +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "" +"Não foi possível alterar o atributo imutável '%(attributes)s' no destino " +"%(target)s" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"Não foi possível localizar %(group_or_option)s na configuração de domínio " +"para o domínio %(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "Não foi possível localizar o Grupo do Terminal: %(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "" +"Não foi possível localizar o identificador do Provedor de Identidade no " +"ambiente" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "Não foi possível localizar o Provedor de Identidade: %(idp_id)s" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "Não foi possível localizar o Provedor de Serviços: %(sp_id)s" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "Não foi possível localizar a credencial: %(credential_id)s" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "Não foi possível localizar o domínio: %(domain_id)s" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "Não foi possível localizar terminal: %(endpoint_id)s" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"Não foi possível localizar o protocolo federado %(protocol_id)s para o " +"Provedor de Identidade: %(idp_id)s" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "Não foi possível localizar o grupo: %(group_id)s" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "Não foi possível localizar o mapeamento: %(mapping_id)s" + +msgid "Could not find policy association" +msgstr "Não foi possível localizar a associação de política" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "Não foi possível localizar a política: %(policy_id)s" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "Não foi possível localizar o projeto: %(project_id)s" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "Não foi possível localizar a região: %(region_id)s" + msgid "Could not find role" msgstr "Não é possível encontrar role" +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"Não foi possível localizar a designação de função com a função: %(role_id)s, " +"usuário ou grupo: %(actor_id)s, projeto ou domínio: %(target_id)s" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "Não foi possível localizar a função: %(role_id)s" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "Não foi possível localizar o serviço: %(service_id)s" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "Não foi possível localizar o token: %(token_id)s" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "Não foi possível localizar a confiança: %(trust_id)s" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "Não foi possível localizar o usuário: %(user_id)s" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "Não foi possível localizar a versão: %(version)s" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "Não foi possível localizar: %(target)s" + +msgid "Could not validate the access token" +msgstr "Não foi possível validar o token de acesso" + msgid "Credential belongs to another user" msgstr "A credencial pertence à outro usuário" +#, python-format +msgid "Database at /domains/%s/config" +msgstr "Banco de dados em /domains/%s/config" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "" +"A desativação de uma entidade em que o atributo ‘enable' é ignorado pelo " +"configuração." + #, python-format msgid "Domain (%s)" msgstr "Domínio (%s)" +#, python-format +msgid "Domain cannot be named %s" +msgstr "O domínio não pode ser chamado %s" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "O domínio não pode ter o ID de %s" + #, python-format msgid "Domain is disabled: %s" msgstr "O domínio está desativado: %s" +msgid "Domain metadata not supported by LDAP" +msgstr "Metadados de domínio não suportados por LDAP" + msgid "Domain scoped token is not supported" msgstr "O token de escopo de domínio não é suportado" +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"Domínio: %(domain)s já possui uma configuração definida - ignorando arquivo: " +"%(file)s." + +msgid "Domains are read-only against LDAP" +msgstr "Domínios são somente leitura no LDAP" + +msgid "Duplicate Entry" +msgstr "Entrada Duplicada" + #, python-format msgid "Duplicate ID, %s." msgstr "ID duplicado, %s." @@ -104,13 +410,104 @@ msgstr "Campo habilitado deve ser um booleano" msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" msgstr "Endpoint %(endpoint_id)s não encontrado no projeto %(project_id)s" +msgid "Endpoint Group Project Association not found" +msgstr "Associação de Projeto do Grupo do Terminal não localizada" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "Assegure que a opção de configuração idp_entity_id esteja definida." + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "Assegure que a opção de configuração idp_sso_endpoint esteja definida." + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"Erro ao analisar o arquivo de configuração para o domínio: %(domain)s, " +"arquivo: %(file)s." + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "Erro ao ler arquivo de metadados, %(reason)s" + #, python-format msgid "Expected dict or list: %s" msgstr "Esperado dict ou list: %s" +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"Certificados de assinatura esperados não estão disponíveis no servidor. " +"Verifique configuração de Keystone." + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"Esperando localizar %(attribute)s em %(target)s - o servidor não pôde " +"obedecer à solicitação porque ela está malformada ou de alguma maneira " +"incorreta. O cliente deve estar em erro." + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "Falha ao iniciar o servidor do %(name)s" + msgid "Failed to validate token" msgstr "Falha ao validar token" +msgid "Federation token is expired" +msgstr "O token de federação está expirado" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"O campo \"remaining_uses\" está configurado como %(value)s enquanto ele não " +"deve ser configurado para delegar novamente uma confiança" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "Token inválido encontrado: escopo para ambos o projeto e o domínio." + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "" +"O grupo %(group)s não é suportado para configurações específicas do domínio" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"Grupo %(group_id)s retornou mapeando %(mapping_id)s não foi localizado no " +"backend." + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"Associação ao grupo pelos limites de backend não é permitida, o grupo em " +"questão é %(group_id)s, o usuário é %(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "Atributo do ID %(id_attr)s não localizado no objeto LDAP %(dn)s" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "O Provedor de Identidade %(idp)s está desativado" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "" +"O identificador do provedor de identidade recebido não está incluído entre " +"os identificadores aceitos." + #, python-format msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" msgstr "" @@ -121,6 +518,10 @@ msgstr "" msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" msgstr "Opção LDAP TLS_AVAIL inválida: %s. TLS não dsponível" +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "Opção deref LDAP inválida: %(option)s. Escolha uma destas: %(options)s" + #, python-format msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" msgstr "Escopo LDAP inválido: %(scope)s. Escolha um de: %(options)s" @@ -128,15 +529,76 @@ msgstr "Escopo LDAP inválido: %(scope)s. Escolha um de: %(options)s" msgid "Invalid TLS / LDAPS combination" msgstr "Combinação TLS / LADPS inválida" +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "" +"Tipo de dados de informações de auditoria inválido: %(data)s (%(type)s)" + msgid "Invalid blob in credential" msgstr "BLOB inválido na credencial" +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"Nome de domínio inválido: %(domain)s localizado no nome do arquivo de " +"configuração: %(file)s - ignorando este arquivo." + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "Configuração específica de domínio inválida: %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "Entrada inválida para o campo '%(path)s'. O valor é '%(value)s'." + msgid "Invalid limit value" msgstr "Valor limite inválido" +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"Combinação de entidades inválida para associação de política - somente " +"Terminal, Serviço ou Região+Serviço permitido. A solicitação foi - Terminal: " +"%(endpoint_id)s, Serviço: %(service_id)s, Região: %(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"Regra inválida: %(identity_value)s. As palavras-chave 'groups' e 'domain' " +"devem ser especificadas." + +msgid "Invalid signature" +msgstr "Assinatura inválida" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"valor ssl_cert_reqs inválido de %s, deve ser um de \"NONE\", \"OPTIMAL\", " +"\"REQUIRED\"" + +msgid "Invalid user / password" +msgstr "Usuário / senha inválido" + msgid "Invalid username or password" msgstr "Nome de usuário ou senha inválidos" +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "Região KVS %s já está configurado. Não é possível reconfigurar." + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "Armazenamento do Valor da Chave não configurado: %s" + #, python-format msgid "LDAP %s create" msgstr "Criação de LDAP %s" @@ -149,6 +611,15 @@ msgstr "Exclusão de LDAP %s" msgid "LDAP %s update" msgstr "Atualização de LDAP %s" +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "Ocorreu um tempo limite de bloqueio para a chave, %(target)s" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "" +"Chave de bloqueio deve corresponder à chave de destino: %(lock)s !=%(target)s" + #, python-format msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." msgstr "" @@ -158,18 +629,90 @@ msgstr "" msgid "Marker could not be found" msgstr "Marcador não pôde ser encontrado" +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "Máximo de tentativas de bloqueio em %s ocorreu." + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "O membro %(member)s já é membro do grupo %(group)s" + +#, python-format +msgid "Method not callable: %s" +msgstr "Método não pode ser chamado: %s" + +msgid "Missing entity ID from environment" +msgstr "ID da entidade ausente a partir do ambiente" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"A modificação de \"redelegation_count\" é proibida. É recomendado omitir " +"este parâmetro." + +msgid "Multiple domains are not supported" +msgstr "Múltiplos domínios não são suportados" + +msgid "Must be called within an active lock context." +msgstr "Deve ser chamado dentro de um contexto de bloqueio ativo." + +msgid "Must specify either domain or project" +msgstr "Deve especificar o domínio ou projeto" + msgid "Name field is required and cannot be empty" msgstr "Campo nome é requerido e não pode ser vazio" +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"Nenhum cabeçalho de autorização foi localizado, não é possível continuar com " +"chamadas relacionadas OAuth, se estiver executando sob HTTPd ou Apache, se " +"WSGIPassAuthorization for configurado para Ligado." + msgid "No authenticated user" msgstr "Nenhum usuário autenticado" +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"Nenhuma chave de criptografia foi localizada; execute keystone-manage " +"fernet_setup para autoinicialização um." + msgid "No options specified" msgstr "Nenhuma opção especificada" +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "Nenhuma política associada ao terminal %(endpoint_id)s." + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "Nenhum uso restante para confiança: %(trust_id)s" + msgid "Non-default domain is not supported" msgstr "O domínio não padrão não é suportado" +msgid "One of the trust agents is disabled or deleted" +msgstr "Um dos agentes de confiança está desativado ou excluído" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"A opção %(option)s localizada sem grupo especificado durante a verificação " +"de domínio solicitação de configuração" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"A opção %(option)s no grupo %(group)s não é suportada para configurações " +"específicas de domínio" + #, python-format msgid "Project (%s)" msgstr "Projeto (%s)" @@ -178,6 +721,17 @@ msgstr "Projeto (%s)" msgid "Project is disabled: %s" msgstr "O projeto está desativado: %s" +msgid "Redelegation allowed for delegated by trust only" +msgstr "Nova delegação permitida para delegado pela confiança somente" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"Profundidade da redelegação restante do %(redelegation_depth)d fora do " +"intervalo permitido de [0..%(max_count)d]" + msgid "Request Token does not have an authorizing user id" msgstr "Token de Requisição não possui um ID de usuário autorizado" @@ -191,16 +745,41 @@ msgstr "" "servidor não pôde atender a requisição porque o tamanho do atributo é " "inválido (muito grande). Assume-se que o cliente está em erro." +msgid "Request must have an origin query parameter" +msgstr "A solicitação deve ter um parâmetro de consulta de origem" + msgid "Request token is expired" msgstr "Token de requisição expirou" msgid "Request token not found" msgstr "Token de requisição não encontrado" +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "" +"Prazo de expiração solicitado é maior do que a confiança delegada novamente " +"pode fornecer" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"Profundidade da nova delegação solicitada de %(requested_count)d é maior que " +"a %(max_count)d permitida" + #, python-format msgid "Role %s not found" msgstr "Role %s não localizada" +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"Executar o keystone via eventlet foi descontinuado como Kilo em favor de " +"executar em um servidor WSGI (por exemplo, mod_wsgi). Suporte para o " +"keystone sob eventlet será removida no \"M\"-Release." + msgid "Scoping to both domain and project is not allowed" msgstr "A definição de escopo para o domínio e o projeto não é permitida" @@ -210,12 +789,25 @@ msgstr "A definição de escopo para o domínio e a trust não é permitida" msgid "Scoping to both project and trust is not allowed" msgstr "A definição de escopo para o projeto e a trust não é permitida" +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "O Provedor de Serviços %(sp)s está desativado" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "Algumas funções de confiança não estão na confiança da nova delegação" + msgid "Specify a domain or project, not both" msgstr "Especifique um domínio ou projeto, não ambos" msgid "Specify a user or group, not both" msgstr "Epecifique um usuário ou grupo, não ambos" +msgid "Specify one of domain or project" +msgstr "Especifique um domínio ou projeto" + +msgid "Specify one of user or group" +msgstr "Especifique um usuário ou grupo" + #, python-format msgid "" "String length exceeded.The length of string '%(string)s' exceeded the limit " @@ -224,18 +816,92 @@ msgstr "" "Comprimento de string excedido. O comprimento de string '%(string)s' excedeu " "o limite da coluna %(type)s(CHAR(%(length)d))." +msgid "The --all option cannot be used with the --domain-name option" +msgstr "A opção --all não pode ser usada com a opção --domain-name" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "" +"O arquivo de configuração do Keystone %(config_file)s não pôde ser " +"localizado." + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"A configuração específica de domínio Keystone especificou mais de um driver " +"SQL (somente um é permitido): %(source)s." + msgid "The action you have requested has not been implemented." msgstr "A ação que você solicitou não foi implementada." +msgid "The authenticated user should match the trustor." +msgstr "O usuário autenticado deve corresponder à confiança." + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"Os certificados que você solicitou não estão disponíveis. É provável que " +"esse servidor não utiliza tokens PKI, caso contrário, este é o resultado de " +"configuração incorreta." + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"O comprimento da senha deve ser menor ou igual a %(size)i. O servidor não " +"pôde obedecer à solicitação porque a senha é inválida." + msgid "The request you have made requires authentication." msgstr "A requisição que você fez requer autenticação." msgid "The resource could not be found." msgstr "O recurso não pôde ser localizado." +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"A chamada de revogação não deve ter ambos domain_id e project_id. Esse é um " +"erro no servidor do Keystone. A solicitação atual foi interrompida." + +msgid "The service you have requested is no longer available on this server." +msgstr "O serviço que você solicitou não está mais disponível neste servidor." + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "" +"A região pai especificada %(parent_region_id)s criaria uma hierarquia de " +"região circular." + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "" +"O valor do grupo %(group)s especificado na configuração deverá ser um " +"dicionário de opções" + msgid "There should not be any non-oauth parameters" msgstr "Não deve haver nenhum parâmetro não oauth" +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "Esta não é uma versão de carga útil do Fernet reconhecida: %s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"Este não é um token Fernet v2.0. Use v3 para tokens de confiança, domínio, " +"ou federados." + msgid "" "Timestamp not in expected format. The server could not comply with the " "request since it is either malformed or otherwise incorrect. The client is " @@ -245,6 +911,16 @@ msgstr "" "requisição pois ela está mal formada ou incorreta. Assume-se que o cliente " "está com erro." +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"Para obter uma obter informações mais detalhadas sobre este erro, execute " +"novamente este comando para o domínio específico, ou seja: keystone-manage " +"domain_config_upload --domain-name %s" + msgid "Token belongs to another user" msgstr "O token pertence à outro usuário" @@ -257,6 +933,64 @@ msgstr "Fiador não possui roles delegados." msgid "Trustor is disabled." msgstr "O fiador está desativado." +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"Tentando atualizar o grupo %(group)s de modo que, e apenas que, o grupo deve " +"ser especificado na configuração" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"Tentando atualizar a opção %(option)s no grupo %(group)s, mas a configuração " +"fornecida contém %(option_other)s ao invés" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"Tentando atualizar a opção %(option)s no grupo %(group)s, de modo que, e " +"apenas que, a opção deve ser especificada na configuração" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"Não é possível acessar o banco de dados keystone, verifique se ele está " +"configurado corretamente." + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "" +"Não é possível consumir a confiança %(trust_id)s, não é possível adquirir o " +"bloqueio." + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"Não foi possível excluir a região %(region_id)s, uma vez que ela ou suas " +"regiões filhas possuem terminais associados." + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "" +"Não é possível localizar os grupos válidos ao utilizar o mapeamento " +"%(mapping_id)s" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "" +"Não é possível obter uma conexão do ID do conjunto %(id)s após %(seconds)s " +"segundos." + #, python-format msgid "Unable to locate domain config directory: %s" msgstr "Não é possível localizar diretório de configuração de domínio: %s" @@ -265,16 +999,74 @@ msgstr "Não é possível localizar diretório de configuração de domínio: %s msgid "Unable to lookup user %s" msgstr "Não é possível consultar o usuário %s" +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"Não é possível reconciliar o atributo de identidade %(attribute)s, pois ele " +"possui valores conflitantes %(new)s e %(old)s" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"Não é possível assinar asserção SAML. Provavelmente esse servidor não possui " +"o xmlsec1 instalado, ou isso é o resultado de uma configuração incorreta. " +"Motivo %(reason)s" + msgid "Unable to sign token." msgstr "Não é possível assinar o token." +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "Tipo de designação inesperada encontrada, %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"Combinação inesperada de atributos de concessão – Usuário: %(user_id)s, " +"Grupo: %(group_id)s, Projeto: %(project_id)s, Domínio: %(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "Status inesperado solicitado para resposta JSON Home, %s" + msgid "Unknown Target" msgstr "Alvo Desconhecido" +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "Domínio desconhecido '%(name)s' especificado pelo --domain-name" + +#, python-format +msgid "Unknown token version %s" +msgstr "Versão de token desconhecida %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "Dependência não registrada: %(name)s para %(targets)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "Atualização de ‘parent_id’ não é permitida." + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "" +"Use um token com escopo definido do projeto ao tentar criar uma asserção SAML" + #, python-format msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" msgstr "Usuário %(u_id)s não está autorizado para o tenant %(t_id)s" +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"Usuário %(user_id)s já possui a função %(role_id)s no locatário %(tenant_id)s" + #, python-format msgid "User %(user_id)s has no access to domain %(domain_id)s" msgstr "O usuário %(user_id)s não tem acesso ao domínio %(domain_id)s" @@ -287,6 +1079,10 @@ msgstr "O usuário %(user_id)s não tem acesso ao projeto %(project_id)s" msgid "User %(user_id)s is already a member of group %(group_id)s" msgstr "Usuário %(user_id)s já é membro do grupo %(group_id)s" +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "Usuário '%(user_id)s' não localizado no grupo '%(group_id)s'" + msgid "User IDs do not match" msgstr "ID de usuário não confere" @@ -303,12 +1099,111 @@ msgstr "Usuário não é confiável." msgid "User not found" msgstr "Usuário não localizado" +#, python-format +msgid "User type %s not supported" +msgstr "Tipo de usuário %s não suportado" + msgid "You are not authorized to perform the requested action." msgstr "Você não está autorizado à realizar a ação solicitada." +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "Você não está autorizado a executar a ação solicitada: %(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "Funções `key_mangler` devem ser chamáveis." + +msgid "`key_mangler` option must be a function reference" +msgstr "opção `key_mangler` deve ser uma referência de função" + +msgid "any options" +msgstr "quaisquer opções" + +msgid "auth_type is not Negotiate" +msgstr "auth_type não é Negotiate" + msgid "authorizing user does not have role required" msgstr "Usuário autorizado não possui o role necessário" +msgid "cache_collection name is required" +msgstr "nome cache_collection é necessário" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "" +"não é possível criar um projeto em uma ramificação que contém um projeto " +"desativado: %s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "não é possível criar um projeto em um domínio diferente de seus pais." + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "" +"não é possível excluir um domínio que esteja ativado, desative-o primeiro." + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "" +"não é possível excluir o projeto %s, pois ele não é uma folha na hierarquia." + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"não é possível desativar o projeto %s desde que sua subárvore contenha " +"projetos ativados" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "" +"não é possível ativar o projeto %s desde que ele tenha pais desativados" + +msgid "database db_name is required" +msgstr "banco de dados db_name é necessário" + +msgid "db_hosts value is required" +msgstr "valor db_hosts é necessário" + +msgid "delete the default domain" +msgstr "excluir o domínio padrão" + +#, python-format +msgid "group %(group)s" +msgstr "grupo %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type deve ser uma dessas opções: [técnico, outro, suporte, " +"administrativo ou faturamento." + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "valor de número inteiro esperado para mongo_ttl_seconds" + +msgid "integer value expected for w (write concern attribute)" +msgstr "valor inteiro esperado para w (atributo relativo a gravação)" + +#, python-format +msgid "invalid date format %s" +msgstr "formato de data inválido %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "profundidade máx. de hierarquia atingida para a ramificação %s." + +msgid "no ssl support available" +msgstr "suporte ssl não disponível" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "opção %(option)s no grupo %(group)s" + +msgid "pad must be single character" +msgstr "preenchimento deve ser caractere único" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "texto base64url preenchido deve ser múltiplo de 4 caracteres" + msgid "provided consumer key does not match stored consumer key" msgstr "" "Chave de consumidor fornecida não confere com a chave de consumidor " @@ -325,6 +1220,43 @@ msgstr "Verificador fornecido não confere com o verificador armazenado" msgid "region not type dogpile.cache.CacheRegion" msgstr "região não é do tipo dogpile.cache.CacheRegion" +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses deve ser um número inteiro positivo ou nulo." + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "" +"remaining_uses não deverá ser definido se a nova delegação for permitida" + +msgid "replicaset_name required when use_replica is True" +msgstr "replicaset_name necessário quando use_replica for True" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"solicite atualizar o grupo %(group)s, mas a configuração fornecida contém o " +"grupo %(group_other)s ao invés" + +msgid "rescope a scoped token" +msgstr "Defina novamente um escopo de um token com escopo" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"texto é múltiplo de 4, mas preenchimento \"%s\" ocorre antes do penúltimo " +"caractere" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"texto é múltiplo de 4, mas preenchimento \"%s\" ocorre antes do último " +"caractere de não preenchimento" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "texto não é um múltiplo de 4, mas contém preenchimento \"%s\"" + #, python-format msgid "tls_cacertdir %s not found or is not a directory" msgstr "tls_cacertdir %s não encontrado ou não é um diretório" @@ -332,3 +1264,7 @@ msgstr "tls_cacertdir %s não encontrado ou não é um diretório" #, python-format msgid "tls_cacertfile %s not found or is not a file" msgstr "tls_cacertfile %s não encontrada ou não é um arquivo" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "referência de token deve ser um tipo KeystoneToken, obteve: %s" diff --git a/keystone/locale/ru/LC_MESSAGES/keystone.po b/keystone/locale/ru/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..9b6d9eb63a --- /dev/null +++ b/keystone/locale/ru/LC_MESSAGES/keystone.po @@ -0,0 +1,1272 @@ +# Russian translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# kogamatranslator49 , 2015 +# sher , 2013 +# Lucas Palm , 2015. #zanata +# OpenStack Infra , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/openstack/keystone/language/" +"ru/)\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "" +"%(event)s не является допустимым событием уведомления, требуется одно из " +"значений: %(actions)s" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s не является надежным хостом сводных панелей" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s не обеспечивает перенос баз данных. Путь к хранилищу миграции " +"%(path)s не существует или не является каталогом." + +#, python-format +msgid "%(property_name)s cannot be less than %(min_length)s characters." +msgstr "%(property_name)s не может быть короче %(min_length)s символов." + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s не принадлежит к типу %(display_expected_type)s" + +#, python-format +msgid "%(property_name)s should not be greater than %(max_length)s characters." +msgstr "%(property_name)s не должен быть длинее %(max_length)s символов." + +#, python-format +msgid "%s cannot be empty." +msgstr "%s не может быть пуст." + +#, python-format +msgid "%s extension does not exist." +msgstr "Расширение %s не существует" + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "Поле %s является обязательным и не может быть пустым" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "Поле %s не может быть пустым" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "" +" \t\n" +"(Отключить режим отладки, чтобы подавить эти детали.)" + +msgid "--all option cannot be mixed with other options" +msgstr "опцию --all нельзя указывать вместе с другими опциями" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "Для создания каталога службы необходим маркер уровня проекта." + +msgid "Access token is expired" +msgstr "Срок действия ключа доступа истек" + +msgid "Access token not found" +msgstr "Ключ доступа не найден" + +msgid "Additional authentications steps required." +msgstr "Требуются дополнительные действия для идентификации." + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "Возникла непредвиденная ошибка при получении конфигураций доменов" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "При попытке сохранить %s произошла непредвиденная ошибка" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "Из-за непредвиденной ошибки ваш запрос не был выполнен сервером." + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "" +"Из-за непредвиденной ошибки ваш запрос не был выполнен сервером: " +"%(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "" +"Возникла необработанная исключительная ситуация: не удалось найти метаданные." + +msgid "At least one option must be provided" +msgstr "Необходимо указать хотя бы одну опцию" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "" +"Должен быть указан хотя бы один параметр. Укажите --all или --domain-name" + +msgid "At least one role should be specified." +msgstr "Необходимо указать по крайней мере одну роль." + +msgid "Attempted to authenticate with an unsupported method." +msgstr "Попытка идентификации с использованием неподдерживаемого метода." + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"Попытка использовать маркер OS-FEDERATION со службой идентификации версии 2. " +"Следует использовать идентификацию версии 3" + +msgid "Authentication plugin error." +msgstr "Ошибка модуля идентификации." + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "" +"Предоставить права доступа маркеру запроса с маркером, выданным посредством " +"делегирования, невозможно." + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "Невозможно изменить %(option_name)s %(attr)s" + +msgid "Cannot change Domain ID" +msgstr "Невозможно изменить ИД домена" + +msgid "Cannot change consumer secret" +msgstr "Невозможно изменить секретный ключ приемника" + +msgid "Cannot change user ID" +msgstr "Невозможно изменить ИД пользователя" + +msgid "Cannot change user name" +msgstr "Невозможно изменить имя пользователя" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "Не удается создать проект с родительским объектом: %(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "Невозможно копировать имя %s" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "" +"Показать список маркеров запросов с маркером, выданным посредством " +"делегирования, невозможно." + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "Не удалось открыть сертификат %(cert_file)s. Причина: %(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "Удалить роль, которая не была предоставлена, нельзя: %s" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"Невозможно отсечь вызов драйвера без списка подсказок в качестве первого " +"параметра после самого себя " + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "" +"Нельзя использовать параметры запроса parents_as_list и parents_as_ids " +"одновременно." + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "" +"Нельзя использовать параметры запроса subtree_as_list и subtree_as_ids " +"одновременно." + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "" +"Сочетание действующего фильтра и фильтра группы всегда дает пустой список." + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "" +"Сочетание действующего фильтра, фильтра домена и унаследованного фильтра " +"всегда дает пустой список." + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "При попытке сохранить %(type)s возник конфликт - %(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "Указаны конфликтующие ИД регионов: \"%(url_id)s\" != \"%(ref_id)s\"" + +msgid "Consumer not found" +msgstr "Приемник не найден" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "" +"Изменить постоянный атрибут '%(attributes)s' в цели %(target)s невозможно" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "" +"Не найден пользователь/группа %(group_or_option)s в конфигурации домена " +"%(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "Не найдена группа конечных точек: %(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "Не удалось найти идентификатор поставщика идентификаторов в среде" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "Поставщик идентификаторов %(idp_id)s не найден" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "Не удалось найти поставщик служб %(sp_id)s" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "Идентификационные данные %(credential_id)s не найдены" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "Домен %(domain_id)s не найден" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "Конечная точка %(endpoint_id)s не найдена" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "" +"Объединенный протокол %(protocol_id)s для поставщика идентификаторов " +"%(idp_id)s не найден" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "Группа %(group_id)s не найдена" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "Отображение %(mapping_id)s не найдено" + +msgid "Could not find policy association" +msgstr "Не найдена связь стратегии" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "Стратегия %(policy_id)s не найдена" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "Проект %(project_id)s не найден" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "Регион %(region_id)s не найден" + +msgid "Could not find role" +msgstr "Не удалось найти роль" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"Не найдено присвоение роли %(role_id)s, пользователь/группа: %(actor_id)s, " +"проект/домен: %(target_id)s" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "Роль %(role_id)s не найдена" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "Служба %(service_id)s не найдена" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "Ключ %(token_id)s не найден" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "Группа доверия %(trust_id)s не найдена" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "Пользователь %(user_id)s не найден" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "Версия %(version)s не найдена" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "%(target)s не найдена" + +msgid "Could not validate the access token" +msgstr "Не удалось проверить ключ доступа" + +msgid "Credential belongs to another user" +msgstr "Разрешение принадлежит другому пользователю" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "База данных в каталоге /domains/%s/config" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "" +"Отключение сущности, при котором атрибут 'enable' в конфигурации " +"игнорируется." + +#, python-format +msgid "Domain (%s)" +msgstr "Домен (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "Домену нельзя присвоить имя %s" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "Домен не может иметь идентификатор %s" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "Домен отключен: %s" + +msgid "Domain metadata not supported by LDAP" +msgstr "Метаданные домена не поддерживаются LDAP" + +msgid "Domain scoped token is not supported" +msgstr "Маркер, область которого - домен, не поддерживается" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "" +"У домена %(domain)s уже определена конфигурация - файл пропущен: %(file)s." + +msgid "Domains are read-only against LDAP" +msgstr "Домены доступны только для чтения в LDAP" + +msgid "Duplicate Entry" +msgstr "Дубликат записи" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "Повторяющийся идентификатор, %s." + +#, python-format +msgid "Duplicate name, %s." +msgstr "Повторяющееся имя, %s." + +msgid "Enabled field must be a boolean" +msgstr "Активное поле должно быть булевским значением" + +msgid "Enabled field should be a boolean" +msgstr "Активное поле должно быть булевским значением" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "Конечная точка %(endpoint_id)s не найдена в проекте %(project_id)s" + +msgid "Endpoint Group Project Association not found" +msgstr "Не найдена связь проекта группы конечных точек" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "Убедитесь, что указан параметр конфигурации idp_entity_id." + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "Убедитесь, что указан параметр конфигурации idp_sso_endpoint." + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "" +"Ошибка анализа файла конфигурации для домена %(domain)s, файл: %(file)s." + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "Ошибка чтения файла метаданных: %(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "Ожидается dict или list: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "" +"Ожидаемые сертификаты подписания недоступны на сервере. Рекомендуется " +"проверить конфигурацию Keystone." + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"Ожидается %(attribute)s в %(target)s - серверу не удалось удовлетворить " +"запрос, поскольку его формат является неверным, либо запрос некорректен по " +"другой причине. Предположительно, клиент находится в состоянии ошибки." + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "Не удалось запустить сервер %(name)s" + +msgid "Failed to validate token" +msgstr "Проверить маркер не удалось" + +msgid "Federation token is expired" +msgstr "Срок действия ключа объединения истек" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"Полю \"remaining_uses\" присвоено значение %(value)s, хотя поле не может " +"быть задано для изменения делегирования группы доверия" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "" +"Обнаружен недопустимый маркер: он относится и к уровню проекта, и к уровню " +"домена." + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "" +"Группа %(group)s не поддерживается для определенных конфигураций домена" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "" +"Группа %(group_id)s, возвращенная преобразованием %(mapping_id)s, не найдена " +"в на базовом сервере." + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"Членство в группе не может распространяться через границы базовых систем, " +"группа под вопросом - %(group_id)s, пользователь - %(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "Атрибут ИД %(id_attr)s не найден в объекте LDAP %(dn)s" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "Поставщик идентификаторов %(idp)s отключен" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "" +"Входящий идентификатор поставщика идентификаторов не включен в принятые " +"идентификаторы." + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Недопустимая опция certs TLS LDAP: %(option)s. Выберите одно из следующих " +"значений: %(options)s" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "Недопустимая опция TLS_AVAIL LDAP: %s. TLS недоступен" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "" +"Недопустимая опция deref LDAP: %(option)s. Выберите одно из следующих " +"значений: %(options)s" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "" +"Недопустимая область LDAP: %(scope)s. Выберите одно из следующих значений: " +"%(options)s" + +msgid "Invalid TLS / LDAPS combination" +msgstr "Недопустимое сочетание TLS/LDAPS" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "Недопустимый тип данных в информации контроля: %(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "Недопустимый большой двоичный объект в разрешении" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"Обнаружено недопустимое имя домена %(domain)s в файле конфигурации %(file)s " +"- файл пропущен." + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "Недопустимая конфигурация для домена: %(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "Недопустимый ввод для поля '%(path)s'. Значение - '%(value)s'." + +msgid "Invalid limit value" +msgstr "Недопустимое значение ограничения" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"Недопустимое смешение сущностей для связывания стратегии. Только Конечная " +"точка, Служба и Регион+Служба разрешены. В запросе было: Конечная точка " +"%(endpoint_id)s, Служба %(service_id)s, Регион %(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "" +"Недопустимое правило: %(identity_value)s. Ключевые слова 'groups' и 'domain' " +"должны быть указаны." + +msgid "Invalid signature" +msgstr "Недопустимая подпись" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"Недопустимое значение ssl_cert_reqs, %s, необходимо указать одно из " +"значений: \"NONE\", \"OPTIONAL\", \"REQUIRED\"" + +msgid "Invalid user / password" +msgstr "Недопустимый пользователь / пароль" + +msgid "Invalid username or password" +msgstr "Недопустимое имя пользователя или пароль" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "Регион KVS %s уже настроен. Изменение конфигурации невозможно." + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "Хранилище значений ключей не настроено: %s" + +#, python-format +msgid "LDAP %s create" +msgstr "LDAP %s создание" + +#, python-format +msgid "LDAP %s delete" +msgstr "LDAP %s удаление" + +#, python-format +msgid "LDAP %s update" +msgstr "LDAP %s обновление" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "Наступил тайм-аут блокировки для ключа, %(target)s" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "" +"Блокировка должна соответствовать целевому ключу: %(lock)s != %(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "" +"Неверный формат URL конечной точки (%(endpoint)s), подробную информацию см. " +"в протоколе ОШИБОК." + +msgid "Marker could not be found" +msgstr "Не удалось найти маркер" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "Выполнено максимальное число попыток блокировки в %s." + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "Элемент %(member)s уже является участником группы %(group)s" + +#, python-format +msgid "Method not callable: %s" +msgstr "Вызов метода невозможен: %s" + +msgid "Missing entity ID from environment" +msgstr "В среде отсутствует ИД сущности" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "" +"Изменение параметра \"redelegation_count\" во время изменения делегирования " +"запрещено. Возможен пропуск этого параметра." + +msgid "Multiple domains are not supported" +msgstr "Множественные домены не поддерживаются" + +msgid "Must be called within an active lock context." +msgstr "Требуется вызов в контексте активной блокировки." + +msgid "Must specify either domain or project" +msgstr "Необходимо указать домен или проект" + +msgid "Name field is required and cannot be empty" +msgstr "Поле имени является обязательным и не может быть пустым" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"Не найдены заголовки предоставления доступа - вызовы, связанные с OAuth, " +"невозможны при выполнении под управлением HTTPd или Apache. Убедитесь, что " +"параметру WSGIPassAuthorization присвоено значение On." + +msgid "No authenticated user" +msgstr "Нет идентифицированного пользователя" + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"Не найдены ключи шифрования. Выполните команду keystone-manage fernet_setup, " +"чтобы создать ключ." + +msgid "No options specified" +msgstr "Параметры не указаны" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "С конечной точкой %(endpoint_id)s не связано ни одной стратегии." + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "Вариантов использования группы доверия %(trust_id)s не осталось" + +msgid "Non-default domain is not supported" +msgstr "Домен, отличный от применяемого по умолчанию, не поддерживается" + +msgid "One of the trust agents is disabled or deleted" +msgstr "Один из доверенных агентов отключен или удален" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "" +"Обнаружен параметр %(option)s без указанной группы во время проверки запроса " +"на настройку домена" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "" +"Параметр %(option)s в группе %(group)s не поддерживается для определенных " +"конфигураций домена" + +#, python-format +msgid "Project (%s)" +msgstr "Проект (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "Проект отключен: %s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "Изменение делегирования разрешено только для доверенного пользователя" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"Оставшаяся глубина изменения делегирования %(redelegation_depth)d выходит за " +"пределы разрешенного диапазона [0..%(max_count)d]" + +msgid "Request Token does not have an authorizing user id" +msgstr "" +"Маркер запроса не содержит ИД пользователя для предоставления прав доступа" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"Атрибут запроса %(attribute)s не может быть больше %(size)i. Серверу не " +"удалось удовлетворить запрос, поскольку размер атрибута является " +"недопустимым (слишком большой). Предположительно, клиент находится в " +"состоянии ошибки." + +msgid "Request must have an origin query parameter" +msgstr "Запрос должен содержать параметр origin" + +msgid "Request token is expired" +msgstr "Срок действия маркера запроса истек" + +msgid "Request token not found" +msgstr "Маркер запроса не найден" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "" +"Запрошенное время истечения срока действия превышает значение, которое может " +"указать доверенный пользователь" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "" +"Запрошенная глубина изменения делегирования %(requested_count)d превышает " +"разрешенную %(max_count)d" + +#, python-format +msgid "Role %s not found" +msgstr "Роль %s не найдена" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"Выполнение Keystone через библиотеку eventlet устарело начиная с выпуска " +"Kilo. Следует выполнять на сервере WSGI (например, mod_wsgi). Поддержка " +"keystone в библиотеке eventlet будет убрана в выпуске \"M\"." + +msgid "Scoping to both domain and project is not allowed" +msgstr "Назначать и домен, и проект в качестве области нельзя" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "Назначать и домен, и группу доверия в качестве области нельзя" + +msgid "Scoping to both project and trust is not allowed" +msgstr "Назначать и проект, и группу доверия в качестве области нельзя" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "Поставщик службы %(sp)s отключен" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "" +"Некоторые из запрошенных ролей не относятся к доверенному пользователю с " +"измененными полномочиями" + +msgid "Specify a domain or project, not both" +msgstr "Укажите домен или проект, но не то и другое" + +msgid "Specify a user or group, not both" +msgstr "Укажите пользователя или группу, но не то и другое" + +msgid "Specify one of domain or project" +msgstr "Укажите один домен или проект" + +msgid "Specify one of user or group" +msgstr "Укажите одного пользователя или группу" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"Превышена длина строки. Длина строки '%(string)s' превышает ограничение " +"столбца %(type)s(CHAR(%(length)d))." + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "Параметр --all нельзя указывать вместе с параметром --domain-name" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "Не удалось найти файл конфигурации Keystone %(config_file)s." + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"В конфигурации для домена Keystone указано несколько драйверов SQL (допустим " +"только один): %(source)s." + +msgid "The action you have requested has not been implemented." +msgstr "Запрошенное действие не реализовано." + +msgid "The authenticated user should match the trustor." +msgstr "Идентифицированный пользователь должен соответствовать доверителю." + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"Запрошенные сертификаты недоступны. Вероятно, данный сервер не использует " +"маркеры PKI, в противном случае, это является следствием ошибки в " +"конфигурации." + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "" +"Длина пароля не должна превышать %(size)i. Сервер не может выполнить запрос, " +"поскольку пароль недопустим." + +msgid "The request you have made requires authentication." +msgstr "Выданный запрос требует идентификации." + +msgid "The resource could not be found." +msgstr "Ресурс не найден." + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"В вызове revoke должны быть указаны domain_id и project_id. Это ошибка в " +"коде сервера Keystone. Текущий запрос прерван." + +msgid "The service you have requested is no longer available on this server." +msgstr "Запрошенная служба более не доступна на данном сервере." + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "" +"Заданная родительская область %(parent_region_id)s создаст круговую " +"структуру области." + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "" +"Значение группы %(group)s, указанное в конфигурации, должно быть словарем " +"параметров" + +msgid "There should not be any non-oauth parameters" +msgstr "Не допускаются параметры, отличные от oauth" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "Это не распознанная версия полезной нагрузки Fernet: %s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "" +"Это не маркер Fernet версии 2.0. Следует использовать версию 3 для надежных, " +"доменных или объединенных маркеров." + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"Метка в неожиданном формате. Сервер не может выполнить запрос, поскольку он " +"либо искажен или неправилен. Клиент, как предполагается, является ошибочным." + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"Для получения дополнительной информации об этой ошибке еще раз выполните эту " +"команду для конкретного домена. Пример: keystone-manage domain_config_upload " +"--domain-name %s" + +msgid "Token belongs to another user" +msgstr "Маркер принадлежит другому пользователю" + +msgid "Token does not belong to specified tenant." +msgstr "Маркер не принадлежит указанному арендатору." + +msgid "Trustee has no delegated roles." +msgstr "У доверенного лица нет делегированных ролей." + +msgid "Trustor is disabled." +msgstr "Доверитель отключен." + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"Изменение группы %(group)s, чтобы группа должна была указываться только в " +"конфигурации" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"Изменение параметра %(option)s в группе %(group)s, однако переданная " +"конфигурация содержит параметр %(option_other)s вместо него" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"Изменение параметра %(option)s в группе %(group)s, чтобы параметр должен был " +"указываться только в конфигурации" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "" +"Нет доступа к базе данных Keystone. Убедитесь, что она настроена правильно." + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "Принять группу доверия %(trust_id)s и захватить блокировку невозможно." + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "" +"Не удалось удалить регион %(region_id)s: регион или его дочерние регионы " +"имеют связанные конечные точки." + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "" +"Невозможно найти допустимые группы при использовании преобразования " +"%(mapping_id)s" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "" +"Не удалось получить соединение из пула с ИД %(id)s за %(seconds)s секунд." + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "Не удалось найти каталог конфигурации домена: %s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "Найти пользователя %s невозможно" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"Согласовать атрибут идентификатора, %(attribute)s, невозможно, поскольку он " +"содержит конфликтующие значения %(new)s и %(old)s" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"Не удалось подписать утверждение SAML. Вероятно, на этом сервере не " +"установлена программа xmlsec1 или это результат неправильной настройки. " +"Причина: %(reason)s" + +msgid "Unable to sign token." +msgstr "Подписать маркер невозможно." + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "Обнаружен непредвиденный тип назначения, %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"Непредвиденная комбинация атрибутов предоставления доступа - пользователь: " +"%(user_id)s, группа: %(group_id)s, проект: %(project_id)s, домен: " +"%(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "Запрошено неожиданное состояние для ответа JSON Home, %s" + +msgid "Unknown Target" +msgstr "Неизвестный целевой объект" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "В опции --domain-name указано неизвестное имя домена '%(name)s'" + +#, python-format +msgid "Unknown token version %s" +msgstr "Неизвестная версия маркера %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "Незарегистрированная зависимость %(name)s для %(targets)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "Обновление `parent_id` не разрешено." + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "Использовать локальный ключ проекта при создании утверждения SAML" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "У пользователя %(u_id)s нет доступа к арендатору %(t_id)s" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "" +"Пользователю %(user_id)s уже присвоена роль %(role_id)s в арендаторе " +"%(tenant_id)s" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "У пользователя %(user_id)s нет доступа к домену %(domain_id)s" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "У пользователя %(user_id)s нет доступа к проекту %(project_id)s" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "Пользователь %(user_id)s уже является участником группы %(group_id)s" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "Пользователь '%(user_id)s' не найден в группе '%(group_id)s'" + +msgid "User IDs do not match" +msgstr "ИД пользователей не совпадают" + +#, python-format +msgid "User is disabled: %s" +msgstr "Пользователь отключен: %s" + +msgid "User is not a member of the requested project" +msgstr "Пользователь не является участником запрошенного проекта" + +msgid "User is not a trustee." +msgstr "Пользователь не является доверенным лицом." + +msgid "User not found" +msgstr "Пользователь не найден" + +#, python-format +msgid "User type %s not supported" +msgstr "Тип пользователя %s не поддерживается" + +msgid "You are not authorized to perform the requested action." +msgstr "У вас нет прав на выполнение запрашиваемого действия." + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "У вас нет прав на выполнение запрошенного действия: %(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "Функции `key_mangler` должны быть доступны для вызова." + +msgid "`key_mangler` option must be a function reference" +msgstr "Опция `key_mangler` должна быть ссылкой на функцию" + +msgid "any options" +msgstr "любые параметры" + +msgid "auth_type is not Negotiate" +msgstr "auth_type отличен от Negotiate" + +msgid "authorizing user does not have role required" +msgstr "" +"пользователю, предоставляющему права доступа, не присвоена требуемая роль" + +msgid "cache_collection name is required" +msgstr "имя cache_collection является обязательным" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "Нельзя создать проект в ветви, содержащей отключенный проект: %s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "" +"Нельзя создать проект в домене, отличном от домена, в котором находятся его " +"родительские объекты." + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "невозможно удалить работающий домен, вначале отключите его." + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "" +"Нельзя удалить проект %s, так как он не является конечным объектом в " +"структуре." + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "" +"Нельзя отключить проект %s, так как его поддерево содержит включенные проекты" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "" +"Нельзя включить проект %s, так как у него отключены родительские объекты" + +msgid "database db_name is required" +msgstr "db_name базы данных является обязательным" + +msgid "db_hosts value is required" +msgstr "Значение db_hosts является обязательным" + +msgid "delete the default domain" +msgstr "удалить домен по умолчанию" + +#, python-format +msgid "group %(group)s" +msgstr "группа %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"Значение idp_contact_type должно быть одним из следующих: technical, other, " +"support, administrative или billing." + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "для атрибута mongo_ttl_seconds ожидается целочисленное значение" + +msgid "integer value expected for w (write concern attribute)" +msgstr "для w (атрибут участия в записи) ожидается целочисленное значение" + +#, python-format +msgid "invalid date format %s" +msgstr "Недопустимый формат даты %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "Для ветви %s достигнута максимальная глубина иерархии." + +msgid "no ssl support available" +msgstr "отсутствует поддержка ssl" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "параметр %(option)s в группе %(group)s" + +msgid "pad must be single character" +msgstr "заполнитель должен соответствовать одному символу" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "размер текста base64url с заполнителями должен быть кратен 4 символам" + +msgid "provided consumer key does not match stored consumer key" +msgstr "переданный ключ приемника не совпадает с сохраненным" + +msgid "provided request key does not match stored request key" +msgstr "переданный ключ запроса не совпадает с сохраненным" + +msgid "provided verifier does not match stored verifier" +msgstr "переданная функция проверки не совпадает с сохраненной" + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "регион не относится к типу dogpile.cache.CacheRegion" + +msgid "remaining_uses must be a positive integer or null." +msgstr "" +"Значение remaining_uses должно быть положительным целым числом или равным " +"нулю." + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "" +"Если включено изменение делегирования, параметр remaining_uses не должен " +"быть задан" + +msgid "replicaset_name required when use_replica is True" +msgstr "" +"replicaset_name является обязательным, если для use_replica задано значение " +"True" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "" +"запрос на изменение группы %(group)s, однако переданная конфигурация " +"содержит группу %(group_other)s вместо нее" + +msgid "rescope a scoped token" +msgstr "Изменить область помещенного в область ключа" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "" +"размер текста кратен 4, но заполнитель \"%s\" встречается перед 2-м и до " +"последнего символа" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "" +"размер текста кратен 4, но заполнитель \"%s\" встречается перед последним " +"символом без заполнителя" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "размер текста не кратен 4, но содержит заполнитель \"%s\"" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "tls_cacertdir %s не найден или не является каталогом" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "tls_cacertfile %s не найден или не является файлом" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "Ссылка на маркер должна относиться к типу KeystoneToken, а получено %s" diff --git a/keystone/locale/tr_TR/LC_MESSAGES/keystone.po b/keystone/locale/tr_TR/LC_MESSAGES/keystone.po index 6b962cfd67..ab0e7c7189 100644 --- a/keystone/locale/tr_TR/LC_MESSAGES/keystone.po +++ b/keystone/locale/tr_TR/LC_MESSAGES/keystone.po @@ -6,20 +6,22 @@ # Alper Çiftçi , 2015 # Andreas Jaeger , 2015 # catborise , 2013 +# OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: Keystone\n" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" -"POT-Creation-Date: 2015-08-16 06:06+0000\n" -"PO-Revision-Date: 2015-08-15 18:05+0000\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" "Last-Translator: openstackjenkins \n" +"Language: tr_TR\n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/openstack/keystone/" "language/tr_TR/)\n" "Plural-Forms: nplurals=1; plural=0\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.0\n" +"Generated-By: Babel 2.1.1\n" #, python-format msgid "%(detail)s" @@ -377,14 +379,6 @@ msgstr "Alan metadata'sı LDAP tarafından desteklenmiyor" msgid "Domain scoped token is not supported" msgstr "Alan kapsamlı jeton desteklenmiyor" -#, python-format -msgid "" -"Domain specific sql drivers are not supported via the Identity API. One is " -"specified in /domains/%s/config" -msgstr "" -"Alana özel sql sürücüleri Kimlik API'si tarafından desteklenmiyor. Birisi /" -"domains/%s/config içinde tanımlanmış" - #, python-format msgid "" "Domain: %(domain)s already has a configuration defined - ignoring file: " 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 0000000000..c3e6d1d621 --- /dev/null +++ b/keystone/locale/zh_CN/LC_MESSAGES/keystone.po @@ -0,0 +1,1152 @@ +# Chinese (Simplified, China) translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# Zhong Chaoliang , 2013 +# Dongliang Yu , 2013 +# Lee Yao , 2013 +# 颜海峰 , 2014 +# Lucas Palm , 2015. #zanata +# OpenStack Infra , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: zh_Hans_CN\n" +"Language-Team: Chinese (China) (http://www.transifex.com/openstack/keystone/" +"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 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "%(event)s 不是有效通知事件,必须是下列其中一项:%(actions)s" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s 不是可信的仪表板主机" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s 未提供数据库迁移。%(path)s 处的迁移存储库路径不存在或者不是目" +"录。" + +#, python-format +msgid "%(property_name)s cannot be less than %(min_length)s characters." +msgstr "%(property_name)s 不能少于 %(min_length)s 个字符。" + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s 不在 %(display_expected_type)s 之中" + +#, python-format +msgid "%(property_name)s should not be greater than %(max_length)s characters." +msgstr "%(property_name)s 不应该超过 %(max_length)s 个字符。" + +#, python-format +msgid "%s cannot be empty." +msgstr "%s 不能为空。" + +#, python-format +msgid "%s extension does not exist." +msgstr "%s 扩展不存在。" + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "%s 字段是必填字段,不能为空" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "%s 字段不能为空" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(禁用调试方式以避免显示这些详细信息。)" + +msgid "--all option cannot be mixed with other options" +msgstr "--all 选项不能与其他选项一起使用" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "产生服务目录时需要项目范围的令牌。" + +msgid "Access token is expired" +msgstr "访问令牌已过期" + +msgid "Access token not found" +msgstr "找不到访问令牌" + +msgid "Additional authentications steps required." +msgstr "需要额外身份验证" + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "检索域配置时发生意外错误" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "尝试存储 %s 时发生意外错误" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "意外错误阻止了服务器完成您的请求。" + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "意外错误导致服务器无法完成您的请求:%(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "存在无法处理的异常:找不到元数据。" + +msgid "At least one option must be provided" +msgstr "必须至少提供一个选项" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "必须至少提供一个选项,请使用 --all 或 --domain-name" + +msgid "At least one role should be specified." +msgstr "应该至少指定一个角色。" + +msgid "Attempted to authenticate with an unsupported method." +msgstr "尝试使用未支持的方法进行验证" + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "正在尝试将 OS-FEDERATION 令牌与 V2 身份服务配合使用,请使用 V3 认证" + +msgid "Authentication plugin error." +msgstr "认证插件错误" + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "无法对带有通过代理发出的令牌的请求令牌授权。" + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "无法更改 %(option_name)s %(attr)s" + +msgid "Cannot change Domain ID" +msgstr "无法更改域标识" + +msgid "Cannot change consumer secret" +msgstr "不能改变用户密码" + +msgid "Cannot change user ID" +msgstr "无法更改用户标识" + +msgid "Cannot change user name" +msgstr "无法更改用户名" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "无法创建具有父代的项目:%(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "不能重复名称 %s" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "无法列示带有通过代理发出的令牌的请求令牌。" + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "无法打开证书 %(cert_file)s。原因:%(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "无法除去尚未授予的角色 %s" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "" +"在没有将 hints list 用作 self 后面的第一个参数的情况下,无法截断驱动程序调用" + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "无法同时使用 parents_as_list 和 parents_as_ids 查询参数。" + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "无法同时使用 subtree_as_list 和 subtree_as_ids 查询参数。" + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "将有效过滤器与组过滤器进行组合将始终产生空列表。" + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "将有效过滤器、域过滤器和继承的过滤器进行组合将始终产生空列表。" + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "尝试存储 %(type)s 时发生冲突 - %(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "指定的区域标识有冲突:“%(url_id)s”不等于“%(ref_id)s”" + +msgid "Consumer not found" +msgstr "找不到使用者" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "未能更改目标 %(target)s 中的不可变属性 %(attributes)s " + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "在以下域的域配置中找不到 %(group_or_option)s:%(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "找不到端点组:%(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "在环境中,找不到“身份提供者”标识" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "找不到身份提供者:%(idp_id)s" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "找不到服务提供程序:%(sp_id)s" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "找不到凭证:%(credential_id)s" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "找不到域:%(domain_id)s" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "找不到端点:%(endpoint_id)s" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "找不到身份提供者 %(idp_id)s 的联合协议 %(protocol_id)s " + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "找不到组:%(group_id)s" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "找不到映射:%(mapping_id)s" + +msgid "Could not find policy association" +msgstr "找不到策略关联" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "找不到策略:%(policy_id)s" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "找不到项目:%(project_id)s" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "找不到区域:%(region_id)s" + +msgid "Could not find role" +msgstr "找不到角色" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"找不到角色分配,角色为 %(role_id)s,用户或组为 %(actor_id)s,项目或域为 " +"%(target_id)s" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "找不到角色:%(role_id)s" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "找不到服务:%(service_id)s" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "找不到令牌:%(token_id)s" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "找不到信任:%(trust_id)s" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "找不到用户:%(user_id)s" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "找不到版本:%(version)s" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "找不到 %(target)s" + +msgid "Could not validate the access token" +msgstr "未能验证访问令牌" + +msgid "Credential belongs to another user" +msgstr "凭证属于另一用户" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "位于 /domains/%s/config 处的数据库" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "正在禁用实体,在此情况下,“enable”属性已由配置忽略。" + +#, python-format +msgid "Domain (%s)" +msgstr "域 (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "无法将域命名为 %s" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "域不能具有标识 %s" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "域已禁用:%s" + +msgid "Domain metadata not supported by LDAP" +msgstr "LDAP 不支持域元数据" + +msgid "Domain scoped token is not supported" +msgstr "作用域限定到域的令牌不受支持" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "域 %(domain)s 已定义配置 - 正在忽略以下文件:%(file)s。" + +msgid "Domains are read-only against LDAP" +msgstr "对于 LDAP,域为只读" + +msgid "Duplicate Entry" +msgstr "重复条目" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "标识 %s 重复。" + +#, python-format +msgid "Duplicate name, %s." +msgstr "名称 %s 重复。" + +msgid "Enabled field must be a boolean" +msgstr "已启用的字段必须为布尔值" + +msgid "Enabled field should be a boolean" +msgstr "已启用的字段应该为布尔值" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "在项目 %(project_id)s 中找不到端点 %(endpoint_id)s" + +msgid "Endpoint Group Project Association not found" +msgstr "找不到端点组项目关联" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "请确保设置了配置选项 idp_entity_id。" + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "请确保设置了配置选项 idp_sso_endpoint。" + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "解析域 %(domain)s 的配置文件时出错,文件为 %(file)s。" + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "读取元数据文件时出错,原因为 %(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "期望字典或者列表: %s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "在服务器上,期望的签名证书不可用。请检查 Keystone 配置。" + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"期望在 %(target)s 中找到 %(attribute)s - 服务器未能遵照请求,因为它的格式或者" +"其他方面不正确。客户机被认为发生错误。" + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "未能启动 %(name)s 服务器" + +msgid "Failed to validate token" +msgstr "token验证失败" + +msgid "Federation token is expired" +msgstr "联合令牌已到期" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"字段“remaining_uses”已设置为 %(value)s,尽管为了重新委派信任,不能设置该字段" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "发现无效令牌:范围同时为项目和域。" + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "特定于域的配置不支持组 %(group)s" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "在后端中,找不到由映射 %(mapping_id)s 返回的组 %(group_id)s。" + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"不允许使用跨后端边界的组成员资格,所提到的组为%(group_id)s,用户为 " +"%(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "在 LDAP 对象 %(dn)s 中,找不到标识属性 %(id_attr)s" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "身份提供者 %(idp)s 已禁用" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "新的“身份提供者”标识未包含在已接受的标识中。" + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "LDAP TLS 证书选项 %(option)s 无效。请选择下列其中一项:%(options)s" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "无效的LDAP TLS_AVAIL 选项: %s.TLS无效" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "LDAP deref 选项 %(option)s 无效。请选择下列其中一项:%(options)s" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "无效的 LDAP作用域: %(scope)s. 选择以下选项之一: %(options)s" + +msgid "Invalid TLS / LDAPS combination" +msgstr "无效的 TLS / LDAPS 组合" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "无效审计信息数据类型:%(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "凭证中的 BLOB 无效" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "在配置文件名 %(file)s 中找到的域名 %(domain)s 无效 - 正在忽略此文件。" + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "特定于域的配置无效:%(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "对字段“%(path)s”的输入无效。值为“%(value)s”。" + +msgid "Invalid limit value" +msgstr "限制值无效" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"用于策略关联的实体混合无效 - 仅允许“端点”、“服务”或“区域 + 服务”。请求为 - 端" +"点:%(endpoint_id)s,服务:%(service_id)s,区域:%(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "规则 %(identity_value)s 无效。必须同时指定关键字“groups”和“domain”。" + +msgid "Invalid signature" +msgstr "签名无效" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"ssl_cert_reqs 值 %s 无效,必须是下列其中一项:“NONE”、“OPTIONAL”和“REQUIRED”" + +msgid "Invalid user / password" +msgstr "用户/密码无效" + +msgid "Invalid username or password" +msgstr "无效用户名或密码" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "KVS 区域 %s 已配置。无法重新配置。" + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "未配置键值存储:%s" + +#, python-format +msgid "LDAP %s create" +msgstr "LDAP %s 创建" + +#, python-format +msgid "LDAP %s delete" +msgstr "LDAP %s 删除" + +#, python-format +msgid "LDAP %s update" +msgstr "LDAP %s 更新" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "对于键 %(target)s,发生锁定超时" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "锁定键必须与目标键匹配:%(lock)s != %(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "不正确的端点URL(%(endpoint)s), 查看错误日志获取详情" + +msgid "Marker could not be found" +msgstr "找不到标记符" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "已达到对 %s 的最大锁定尝试次数。" + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "成员 %(member)s 已属于组 %(group)s" + +#, python-format +msgid "Method not callable: %s" +msgstr "方法不可调用:%s" + +msgid "Missing entity ID from environment" +msgstr "环境中缺少实体标识" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "正在修改“redelegation_count”(当禁止重新委派时)。建议省略此参数。" + +msgid "Multiple domains are not supported" +msgstr "多个域不受支持" + +msgid "Must be called within an active lock context." +msgstr "必须在处于活动状态的锁定上下文内调用。" + +msgid "Must specify either domain or project" +msgstr "必须指定 domain 或 project" + +msgid "Name field is required and cannot be empty" +msgstr "名称字段是必填字段,不能为空" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"找不到任何授权头,无法继续进行与 OAuth 相关的调用,如果是通过 HTTP 或 Apache " +"运行,请确保 WSGIPassAuthorization 设置为开启。" + +msgid "No authenticated user" +msgstr "不存在任何已认证的用户" + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "" +"找不到任何加密密钥;请针对引导程序 1 运行 keystone-manage fernet_setup。" + +msgid "No options specified" +msgstr "无选项指定" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "没有任何策略与端点 %(endpoint_id)s 关联。" + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "对于信任 %(trust_id)s,不存在其余使用" + +msgid "Non-default domain is not supported" +msgstr "非缺省域不受支持" + +msgid "One of the trust agents is disabled or deleted" +msgstr "其中一个信任代理已禁用或删除" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "在检查域配置请求时,找到选项 %(option)s,但未指定任何组" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "特定于域的配置不支持组 %(group)s 中的选项 %(option)s" + +#, python-format +msgid "Project (%s)" +msgstr "项目 (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "项目已禁用:%s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "仅允许对“委派者”信任进行重新委派" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"其余重新委派深度 %(redelegation_depth)d 超出允许的范围 [0..%(max_count)d]" + +msgid "Request Token does not have an authorizing user id" +msgstr "请求令牌没有授权用户标识" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"请求属性 %(attribute)s 必须小于或等于 %(size)i。服务器未能遵照请求,因为属性" +"大小无效(太大)。客户机被认为发生错误。" + +msgid "Request must have an origin query parameter" +msgstr "请求必须具有源查询参数" + +msgid "Request token is expired" +msgstr "请求令牌已过期" + +msgid "Request token not found" +msgstr "找不到请求令牌" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "请求的到期时间超过重新委派的信任可提供的到期时间" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "请求的重新委派深度 %(requested_count)d 超过允许的 %(max_count)d" + +#, python-format +msgid "Role %s not found" +msgstr "找不到角色 %s" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"自 Kilo 开始,建议不要通过 eventlet 运行 keystone,改为在 WSGI 服务器(例如 " +"mod_wsgi)中运行。在“M”发行版中,将移除对在 eventlet 下运行 keystone 的支持。" + +msgid "Scoping to both domain and project is not allowed" +msgstr "不允许同时将作用域限定到域和项目" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "不允许同时将作用域限定到域和信任" + +msgid "Scoping to both project and trust is not allowed" +msgstr "不允许同时将作用域限定到项目和信任" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "服务提供程序 %(sp)s 已禁用" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "某些所请求角色未在重新委派的信任中" + +msgid "Specify a domain or project, not both" +msgstr "请指定域或项目,但不是同时指定这两者" + +msgid "Specify a user or group, not both" +msgstr "请指定用户或组,但不是同时指定这两者" + +msgid "Specify one of domain or project" +msgstr "请指定域或项目" + +msgid "Specify one of user or group" +msgstr "请指定用户或组" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"字符串长度过长.字符串'%(string)s' 的长度超过列限制 %(type)s(字符" +"(%(length)d))." + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "--all 选项不能与 --domain-name 选项配合使用" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "找不到 Keystone 配置文件 %(config_file)s。" + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"特定于 Keystone 域的配置已指定多个 SQL 驱动程序(仅允许指定一个):" +"%(source)s。" + +msgid "The action you have requested has not been implemented." +msgstr "您请求的操作暂未被执行" + +msgid "The authenticated user should match the trustor." +msgstr "认证用户应匹配信任者。" + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"已请求的证书不可用。可能此服务器未使用 PKI 令牌,或者这是因为配置错误。" + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "密码长度必须小于或等于 %(size)i。服务器未能遵照请求,因为密码无效。" + +msgid "The request you have made requires authentication." +msgstr "你的请求需要先授权" + +msgid "The resource could not be found." +msgstr "找不到该资源。" + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"撤销调用不能同时具有 domain_id 和 project_id。这是 Keystone 服务器中的错误。" +"当前请求已异常中止。" + +msgid "The service you have requested is no longer available on this server." +msgstr "在此服务器上,已请求的服务不再可用。" + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "指定的父区域 %(parent_region_id)s 将创建循环区域层次结构。" + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "在配置中指定的组 %(group)s 的值应该是选项的字典" + +msgid "There should not be any non-oauth parameters" +msgstr "不应该存在任何非 oauth 参数" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "这不是可识别的 Fernet 有效内容版本:%s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "这不是 V2.0 Fernet 令牌。请将 V3 用于信任、域或联合的令牌。" + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"时间戳记未采用所需格式。服务器未能遵照请求,因为它的格式或者其他方面不正确。" +"客户机被认为发生错误。" + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"要获取有关此错误的更详细信息,请针对特定域重新运行此命令,即:keystone-" +"manage domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "令牌属于另一用户" + +msgid "Token does not belong to specified tenant." +msgstr "令牌不属于指定的租户。" + +msgid "Trustee has no delegated roles." +msgstr "托管人没有任何已委派的角色。" + +msgid "Trustor is disabled." +msgstr "Trustor被禁用" + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "正在尝试更新组 %(group)s,因此仅存在以下要求:必须在配置中指定组" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"正在尝试更新组 %(group)s 中的选项 %(option)s,但所提供配置反而包含选项 " +"%(option_other)s" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"正在尝试更新组 %(group)s 中的选项 %(option)s,因此仅存在以下要求:必须在配置" +"中指定选项" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "无法访问 keystone 数据库,请检查它是否正确配置。" + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "无法使用信任 %(trust_id)s,无法获取锁定。" + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "无法删除区域 %(region_id)s,因为它或它的子区域具有关联的端点。" + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "使用映射 %(mapping_id)s 时,找不到有效组" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "在 %(seconds)s 秒之后,无法根据池标识 %(id)s 获取连接。" + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "找不到指定的域配置目录:%s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "无法查找用户 %s" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "无法协调身份属性 %(attribute)s,因为它具有冲突值%(new)s 和 %(old)s" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"无法对 SAML 断言进行签名。此服务器可能未安装 xmlsec1,或者这可能是由于配置错" +"误导致的。原因 %(reason)s" + +msgid "Unable to sign token." +msgstr "无法对令牌进行签名。" + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "遇到意外的指派类型 %s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"存在以下 grant 属性的意外组合 - 用户 %(user_id)s、组 %(group_id)s、项目 " +"%(project_id)s 和域 %(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "请求 JSON 主页响应时处于意外状态,%s" + +msgid "Unknown Target" +msgstr "目标未知" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "--domain-name 指定的“%(name)s”是未知域" + +#, python-format +msgid "Unknown token version %s" +msgstr "令牌版本 %s 未知" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "已针对 %(targets)s 注销依赖关系 %(name)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "不允许更新“parent_id”。" + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "当尝试创建 SAML 断言时,请使用项目范围的令牌" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "没有授权给用户%(u_id)s项目%(t_id)s的权限" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "在租户 %(tenant_id)s 中,用户 %(user_id)s 已具有角色 %(role_id)s" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "用户%(user_id)s对域%(domain_id)s没有任何访问权限" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "用户%(user_id)s 没有访问项目 %(project_id)s的权限" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "用户%(user_id)s 已是组 %(group_id)s 的成员" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "在组“%(group_id)s”中找不到用户“%(user_id)s”" + +msgid "User IDs do not match" +msgstr "用户ID不匹配" + +#, python-format +msgid "User is disabled: %s" +msgstr "用户已禁用:%s" + +msgid "User is not a member of the requested project" +msgstr "用户不是所请求项目的成员" + +msgid "User is not a trustee." +msgstr "用户不是受托人。" + +msgid "User not found" +msgstr "找不到用户" + +#, python-format +msgid "User type %s not supported" +msgstr "用户类型 %s 不受支持" + +msgid "You are not authorized to perform the requested action." +msgstr "您没有授权完成所请求的操作。" + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "您无权执行请求的操作:%(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "“key_mangler”函数必须可调用。" + +msgid "`key_mangler` option must be a function reference" +msgstr "“key_mangler”选项必须为函数引用" + +msgid "any options" +msgstr "任何选项" + +msgid "auth_type is not Negotiate" +msgstr "auth_type 不是“Negotiate”" + +msgid "authorizing user does not have role required" +msgstr "授权用户没有必需的角色" + +msgid "cache_collection name is required" +msgstr "需要 cache_collection 名称" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "无法在包含已禁用项目的分支中创建项目:%s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "如果某个域不是项目的父代所在的域,那么无法在该域内创建该项目。" + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "无法删除已启用的域,请先禁用该域。" + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "无法删除项目 %s,因为它不是层次结构中的叶。" + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "无法禁用项目 %s,因为其子树包含已启用的项目" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "无法启用项目 %s,因为它具有已禁用的父代" + +msgid "database db_name is required" +msgstr "需要数据库 db_name" + +msgid "db_hosts value is required" +msgstr "需要 db_hosts 值" + +msgid "delete the default domain" +msgstr "请删除缺省域" + +#, python-format +msgid "group %(group)s" +msgstr "组 %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "" +"idp_contact_type 必须是下列其中一项:technical、other、support、" +"administrative 或 billing。" + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "mongo_ttl_seconds 需要整数值" + +msgid "integer value expected for w (write concern attribute)" +msgstr "w(写相关属性)需要整数值" + +#, python-format +msgid "invalid date format %s" +msgstr "日期格式 %s 无效" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "对于 %s 分支,已达到最大层次结构深度。" + +msgid "no ssl support available" +msgstr "未提供 ssl 支持" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "组 %(group)s 中的选项 %(option)s" + +msgid "pad must be single character" +msgstr "填充项必须是单个字符" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "填充的 base64url 文本的字符数必须是 4 的倍数" + +msgid "provided consumer key does not match stored consumer key" +msgstr "提供的用户密钥与存储的用户密钥不符" + +msgid "provided request key does not match stored request key" +msgstr "提供的请求密钥与存储的请求密钥不匹配" + +msgid "provided verifier does not match stored verifier" +msgstr "提供的验证器与存储的验证器不匹配" + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "区域的类型不是 dogpile.cache.CacheRegion" + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses 必须为正整数或 Null。" + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "如果允许重新委派,那么不能设置 remaining_uses" + +msgid "replicaset_name required when use_replica is True" +msgstr "当 use_replica 为 True 时,需要 replicaset_name" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "请求更新组 %(group)s,但所提供配置反而包含组 %(group_other)s" + +msgid "rescope a scoped token" +msgstr "请重新确定带范围的令牌的范围" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "文本的字符数是 4 的倍数,但填充项“%s”出现在倒数第 2 个字符前面" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "文本的字符数是 4 的倍数,但填充项“%s”出现在非填充的最后一个字符前面" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "文本的字符数不是 4 的倍数,但文本包含填充项“%s”" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "tls_cacertdir %s 未找到或者不是一个目录" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "tls_cacertfile %s 未找到或者不是一个文件" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "令牌引用必须为 KeystoneToken 类型,但收到:%s" diff --git a/keystone/locale/zh_TW/LC_MESSAGES/keystone.po b/keystone/locale/zh_TW/LC_MESSAGES/keystone.po new file mode 100644 index 0000000000..4cff0384bf --- /dev/null +++ b/keystone/locale/zh_TW/LC_MESSAGES/keystone.po @@ -0,0 +1,1150 @@ +# Chinese (Traditional, Taiwan) translations for keystone. +# Copyright (C) 2015 OpenStack Foundation +# This file is distributed under the same license as the keystone project. +# +# Translators: +# Lucas Palm , 2015. #zanata +# OpenStack Infra , 2015. #zanata +msgid "" +msgstr "" +"Project-Id-Version: keystone 8.0.0.0rc2.dev1\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/keystone\n" +"POT-Creation-Date: 2015-10-01 06:09+0000\n" +"PO-Revision-Date: 2015-09-03 12:54+0000\n" +"Last-Translator: openstackjenkins \n" +"Language: zh_Hant_TW\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/openstack/keystone/" +"language/zh_TW/)\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 2.1.1\n" + +#, python-format +msgid "%(detail)s" +msgstr "%(detail)s" + +#, python-format +msgid "" +"%(event)s is not a valid notification event, must be one of: %(actions)s" +msgstr "%(event)s 不是有效的通知事件,必須是 %(actions)s 的其中之一" + +#, python-format +msgid "%(host)s is not a trusted dashboard host" +msgstr "%(host)s 不是授信儀表板主機" + +#, python-format +msgid "%(message)s %(amendment)s" +msgstr "%(message)s %(amendment)s" + +#, python-format +msgid "" +"%(mod_name)s doesn't provide database migrations. The migration repository " +"path at %(path)s doesn't exist or isn't a directory." +msgstr "" +"%(mod_name)s 未提供資料庫移轉。%(path)s 處的移轉儲存庫路徑不存在或者不是目" +"錄。" + +#, python-format +msgid "%(property_name)s cannot be less than %(min_length)s characters." +msgstr "%(property_name)s 不能少於 %(min_length)s 個字元。" + +#, python-format +msgid "%(property_name)s is not a %(display_expected_type)s" +msgstr "%(property_name)s 不是 %(display_expected_type)s" + +#, python-format +msgid "%(property_name)s should not be greater than %(max_length)s characters." +msgstr "%(property_name)s 不應超過 %(max_length)s 個字元。" + +#, python-format +msgid "%s cannot be empty." +msgstr "%s 不能是空的。" + +#, python-format +msgid "%s extension does not exist." +msgstr "%s 延伸不存在。" + +#, python-format +msgid "%s field is required and cannot be empty" +msgstr "%s 欄位是必要欄位,因此不能是空的" + +#, python-format +msgid "%s field(s) cannot be empty" +msgstr "%s 欄位不能是空的" + +msgid "(Disable debug mode to suppress these details.)" +msgstr "(停用除錯模式,以暫停這些詳細資料。)" + +msgid "--all option cannot be mixed with other options" +msgstr "--all 選項不能與其他選項混合" + +msgid "A project-scoped token is required to produce a service catalog." +msgstr "需要專案範圍的記號來產生服務型錄。" + +msgid "Access token is expired" +msgstr "存取記號過期" + +msgid "Access token not found" +msgstr "找不到存取記號" + +msgid "Additional authentications steps required." +msgstr "需要其他鑑別步驟。" + +msgid "An unexpected error occurred when retrieving domain configs" +msgstr "擷取網域配置時發生非預期的錯誤" + +#, python-format +msgid "An unexpected error occurred when trying to store %s" +msgstr "嘗試儲存 %s 時發生非預期的錯誤" + +msgid "An unexpected error prevented the server from fulfilling your request." +msgstr "發生非預期的錯誤,造成伺服器無法履行要求。" + +#, python-format +msgid "" +"An unexpected error prevented the server from fulfilling your request: " +"%(exception)s" +msgstr "發生非預期的錯誤,造成伺服器無法履行要求:%(exception)s" + +msgid "An unhandled exception has occurred: Could not find metadata." +msgstr "發生無法處理的異常狀況:找不到 meta 資料。" + +msgid "At least one option must be provided" +msgstr "必須提供至少一個選項" + +msgid "At least one option must be provided, use either --all or --domain-name" +msgstr "必須提供至少一個選項,請使用 --all 或 --domain-name" + +msgid "At least one role should be specified." +msgstr "應該至少指定一個角色。" + +msgid "Attempted to authenticate with an unsupported method." +msgstr "已嘗試使用不支援的方法進行鑑別。" + +msgid "" +"Attempting to use OS-FEDERATION token with V2 Identity Service, use V3 " +"Authentication" +msgstr "" +"正在嘗試使用具有第 2 版身分服務的 OS-FEDERATION 記號,請使用第 3 版鑑別" + +msgid "Authentication plugin error." +msgstr "鑑別外掛程式錯誤。" + +msgid "Cannot authorize a request token with a token issued via delegation." +msgstr "無法使用透過委派發出之記號授權要求記號。" + +#, python-format +msgid "Cannot change %(option_name)s %(attr)s" +msgstr "無法變更 %(option_name)s %(attr)s" + +msgid "Cannot change Domain ID" +msgstr "無法變更網域 ID" + +msgid "Cannot change consumer secret" +msgstr "無法變更消費者密碼" + +msgid "Cannot change user ID" +msgstr "無法變更使用者 ID" + +msgid "Cannot change user name" +msgstr "無法變更使用者名稱" + +#, python-format +msgid "Cannot create project with parent: %(project_id)s" +msgstr "無法建立具有母項的專案:%(project_id)s" + +#, python-format +msgid "Cannot duplicate name %s" +msgstr "無法複製名稱 %s" + +msgid "Cannot list request tokens with a token issued via delegation." +msgstr "無法列出含有透過委派發出之記號的要求記號。" + +#, python-format +msgid "Cannot open certificate %(cert_file)s. Reason: %(reason)s" +msgstr "無法開啟憑證 %(cert_file)s。原因:%(reason)s" + +#, python-format +msgid "Cannot remove role that has not been granted, %s" +msgstr "無法移除尚未授權的角色,%s" + +msgid "" +"Cannot truncate a driver call without hints list as first parameter after " +"self " +msgstr "屬性 limit 不在 hints 清單時,無法截斷驅動程式呼叫" + +msgid "" +"Cannot use parents_as_list and parents_as_ids query params at the same time." +msgstr "無法同時使用 parents_as_list 與 parents_as_ids查詢參數。" + +msgid "" +"Cannot use subtree_as_list and subtree_as_ids query params at the same time." +msgstr "無法同時使用 subtree_as_list 與 subtree_as_ids 查詢參數。" + +msgid "" +"Combining effective and group filter will always result in an empty list." +msgstr "結合作用中的過濾器和群組過濾器將一律導致空清單。" + +msgid "" +"Combining effective, domain and inherited filters will always result in an " +"empty list." +msgstr "結合作用中的過濾器、網域過濾器及繼承的過濾器將一律導致空清單。" + +#, python-format +msgid "Conflict occurred attempting to store %(type)s - %(details)s" +msgstr "嘗試儲存 %(type)s 時發生衝突 - %(details)s" + +#, python-format +msgid "Conflicting region IDs specified: \"%(url_id)s\" != \"%(ref_id)s\"" +msgstr "指定了相衝突的區域 ID:\"%(url_id)s\" != \"%(ref_id)s\"" + +msgid "Consumer not found" +msgstr "找不到消費者" + +#, python-format +msgid "" +"Could not change immutable attribute(s) '%(attributes)s' in target %(target)s" +msgstr "無法變更目標 %(target)s 中固定不變的屬性 '%(attributes)s'" + +#, python-format +msgid "" +"Could not find %(group_or_option)s in domain configuration for domain " +"%(domain_id)s" +msgstr "在下列網域的網域配置中找不到 %(group_or_option)s:%(domain_id)s" + +#, python-format +msgid "Could not find Endpoint Group: %(endpoint_group_id)s" +msgstr "找不到端點群組:%(endpoint_group_id)s" + +msgid "Could not find Identity Provider identifier in environment" +msgstr "在環境中找不到身分提供者 ID" + +#, python-format +msgid "Could not find Identity Provider: %(idp_id)s" +msgstr "找不到身分提供者:%(idp_id)s" + +#, python-format +msgid "Could not find Service Provider: %(sp_id)s" +msgstr "找不到服務提供者:%(sp_id)s" + +#, python-format +msgid "Could not find credential: %(credential_id)s" +msgstr "找不到認證:%(credential_id)s" + +#, python-format +msgid "Could not find domain: %(domain_id)s" +msgstr "找不到網域:%(domain_id)s" + +#, python-format +msgid "Could not find endpoint: %(endpoint_id)s" +msgstr "找不到端點:%(endpoint_id)s" + +#, python-format +msgid "" +"Could not find federated protocol %(protocol_id)s for Identity Provider: " +"%(idp_id)s" +msgstr "找不到下列身分提供者的聯合通訊協定 %(protocol_id)s:%(idp_id)s" + +#, python-format +msgid "Could not find group: %(group_id)s" +msgstr "找不到群組:%(group_id)s" + +#, python-format +msgid "Could not find mapping: %(mapping_id)s" +msgstr "找不到對映:%(mapping_id)s" + +msgid "Could not find policy association" +msgstr "找不到原則關聯" + +#, python-format +msgid "Could not find policy: %(policy_id)s" +msgstr "找不到原則:%(policy_id)s" + +#, python-format +msgid "Could not find project: %(project_id)s" +msgstr "找不到專案:%(project_id)s" + +#, python-format +msgid "Could not find region: %(region_id)s" +msgstr "找不到區域:%(region_id)s" + +msgid "Could not find role" +msgstr "找不到角色" + +#, python-format +msgid "" +"Could not find role assignment with role: %(role_id)s, user or group: " +"%(actor_id)s, project or domain: %(target_id)s" +msgstr "" +"找不到具有角色 %(role_id)s、使用者或群組 %(actor_id)s、專案或網域 " +"%(target_id)s 的角色指派" + +#, python-format +msgid "Could not find role: %(role_id)s" +msgstr "找不到角色:%(role_id)s" + +#, python-format +msgid "Could not find service: %(service_id)s" +msgstr "找不到服務:%(service_id)s" + +#, python-format +msgid "Could not find token: %(token_id)s" +msgstr "找不到記號:%(token_id)s" + +#, python-format +msgid "Could not find trust: %(trust_id)s" +msgstr "找不到信任:%(trust_id)s" + +#, python-format +msgid "Could not find user: %(user_id)s" +msgstr "找不到使用者:%(user_id)s" + +#, python-format +msgid "Could not find version: %(version)s" +msgstr "找不到版本:%(version)s" + +#, python-format +msgid "Could not find: %(target)s" +msgstr "找不到:%(target)s" + +msgid "Could not validate the access token" +msgstr "無法驗證存取記號" + +msgid "Credential belongs to another user" +msgstr "認證屬於另一個使用者" + +#, python-format +msgid "Database at /domains/%s/config" +msgstr "位於 /domains/%s/config 中的資料庫" + +msgid "" +"Disabling an entity where the 'enable' attribute is ignored by configuration." +msgstr "正在停用配置已忽略其 'enable' 屬性的實體。" + +#, python-format +msgid "Domain (%s)" +msgstr "網域 (%s)" + +#, python-format +msgid "Domain cannot be named %s" +msgstr "網域不能命名為 %s" + +#, python-format +msgid "Domain cannot have ID %s" +msgstr "網域不能具有 ID %s" + +#, python-format +msgid "Domain is disabled: %s" +msgstr "已停用網域:%s" + +msgid "Domain metadata not supported by LDAP" +msgstr "LDAP 不支援網域 meta 資料" + +msgid "Domain scoped token is not supported" +msgstr "不支援網域範圍的記號" + +#, python-format +msgid "" +"Domain: %(domain)s already has a configuration defined - ignoring file: " +"%(file)s." +msgstr "網域 %(domain)s 已定義配置 - 正在忽略檔案 %(file)s。" + +msgid "Domains are read-only against LDAP" +msgstr "網域對於 LDAP 而言是唯讀的" + +msgid "Duplicate Entry" +msgstr "項目重複" + +#, python-format +msgid "Duplicate ID, %s." +msgstr "重複的 ID,%s。" + +#, python-format +msgid "Duplicate name, %s." +msgstr "重複的名稱,%s。" + +msgid "Enabled field must be a boolean" +msgstr "「已啟用」欄位必須是布林值" + +msgid "Enabled field should be a boolean" +msgstr "「已啟用」欄位應該是布林值" + +#, python-format +msgid "Endpoint %(endpoint_id)s not found in project %(project_id)s" +msgstr "在專案 %(project_id)s 中找不到端點 %(endpoint_id)s" + +msgid "Endpoint Group Project Association not found" +msgstr "找不到端點群組專案關聯" + +msgid "Ensure configuration option idp_entity_id is set." +msgstr "請確保已設定配置選項 idp_entity_id。" + +msgid "Ensure configuration option idp_sso_endpoint is set." +msgstr "請確保已設定配置選項 idp_sso_endpoint。" + +#, python-format +msgid "" +"Error parsing configuration file for domain: %(domain)s, file: %(file)s." +msgstr "剖析網域 %(domain)s 的配置檔時發生錯誤,檔案:%(file)s。" + +#, python-format +msgid "Error while reading metadata file, %(reason)s" +msgstr "讀取 meta 資料檔時發生錯誤,%(reason)s" + +#, python-format +msgid "Expected dict or list: %s" +msgstr "預期字典或清單:%s" + +msgid "" +"Expected signing certificates are not available on the server. Please check " +"Keystone configuration." +msgstr "伺服器上無法使用預期的簽署憑證。請檢查 Keystone 配置。" + +#, python-format +msgid "" +"Expecting to find %(attribute)s in %(target)s - the server could not comply " +"with the request since it is either malformed or otherwise incorrect. The " +"client is assumed to be in error." +msgstr "" +"預期在 %(target)s 中找到 %(attribute)s - 伺服器無法遵守要求,因為它的格式不正" +"確。系統會假定用戶端處於錯誤狀態。" + +#, python-format +msgid "Failed to start the %(name)s server" +msgstr "無法啟動 %(name)s 伺服器" + +msgid "Failed to validate token" +msgstr "無法驗證記號" + +msgid "Federation token is expired" +msgstr "聯合記號過期" + +#, python-format +msgid "" +"Field \"remaining_uses\" is set to %(value)s while it must not be set in " +"order to redelegate a trust" +msgstr "" +"欄位 \"remaining_uses\" 設定為 %(value)s,但為了重新委派信任,不能設定該欄位" + +msgid "Found invalid token: scoped to both project and domain." +msgstr "找到無效記號:已將範圍限定為專案及網域。" + +#, python-format +msgid "Group %(group)s is not supported for domain specific configurations" +msgstr "網域特定配置不支援群組 %(group)s" + +#, python-format +msgid "" +"Group %(group_id)s returned by mapping %(mapping_id)s was not found in the " +"backend." +msgstr "在後端找不到對映 %(mapping_id)s 所傳回的群組 %(group_id)s。" + +#, python-format +msgid "" +"Group membership across backend boundaries is not allowed, group in question " +"is %(group_id)s, user is %(user_id)s" +msgstr "" +"不容許後端界限之間的群組成員資格,有問題的群組為%(group_id)s,使用者為 " +"%(user_id)s" + +#, python-format +msgid "ID attribute %(id_attr)s not found in LDAP object %(dn)s" +msgstr "在 LDAP 物件 %(dn)s 中找不到 ID 屬性 %(id_attr)s" + +#, python-format +msgid "Identity Provider %(idp)s is disabled" +msgstr "已停用身分提供者 %(idp)s" + +msgid "" +"Incoming identity provider identifier not included among the accepted " +"identifiers." +msgstr "送入的身分提供者 ID 未包括在接受的 ID 中。" + +#, python-format +msgid "Invalid LDAP TLS certs option: %(option)s. Choose one of: %(options)s" +msgstr "無效的 LDAP TLS 憑證選項:%(option)s。請選擇 %(options)s 的其中之一" + +#, python-format +msgid "Invalid LDAP TLS_AVAIL option: %s. TLS not available" +msgstr "無效的 LDAP TLS_AVAIL 選項:%s。TLS 無法使用" + +#, python-format +msgid "Invalid LDAP deref option: %(option)s. Choose one of: %(options)s" +msgstr "無效的 LDAP deref 選項:%(option)s。請選擇 %(options)s 的其中之一" + +#, python-format +msgid "Invalid LDAP scope: %(scope)s. Choose one of: %(options)s" +msgstr "無效的 LDAP 範圍:%(scope)s。請選擇 %(options)s 的其中之一" + +msgid "Invalid TLS / LDAPS combination" +msgstr "無效的 TLS/LDAPS 組合" + +#, python-format +msgid "Invalid audit info data type: %(data)s (%(type)s)" +msgstr "審核資訊資料類型無效:%(data)s (%(type)s)" + +msgid "Invalid blob in credential" +msgstr "認證中的二進位大型物件無效" + +#, python-format +msgid "" +"Invalid domain name: %(domain)s found in config file name: %(file)s - " +"ignoring this file." +msgstr "" +"在配置檔名稱 %(file)s 中找到的網域名稱 %(domain)s 無效 - 正在忽略此檔案。" + +#, python-format +msgid "Invalid domain specific configuration: %(reason)s" +msgstr "網域特定配置無效:%(reason)s" + +#, python-format +msgid "Invalid input for field '%(path)s'. The value is '%(value)s'." +msgstr "欄位 '%(path)s' 的輸入無效。值為 '%(value)s'。" + +msgid "Invalid limit value" +msgstr "無效的限制值" + +#, python-format +msgid "" +"Invalid mix of entities for policy association - only Endpoint, Service or " +"Region+Service allowed. Request was - Endpoint: %(endpoint_id)s, Service: " +"%(service_id)s, Region: %(region_id)s" +msgstr "" +"原則關聯的混合實體無效 - 僅容許「端點」、「服務」或「區域+服務」。要求為 -" +"「端點」:%(endpoint_id)s,「服務」:%(service_id)s,「區域」:%(region_id)s" + +#, python-format +msgid "" +"Invalid rule: %(identity_value)s. Both 'groups' and 'domain' keywords must " +"be specified." +msgstr "規則 %(identity_value)s 無效。必須指定 'groups' 及 'domain' 關鍵字。" + +msgid "Invalid signature" +msgstr "無效的簽章" + +#, python-format +msgid "" +"Invalid ssl_cert_reqs value of %s, must be one of \"NONE\", \"OPTIONAL\", " +"\"REQUIRED\"" +msgstr "" +"%s 的 ssl_cert_reqs 值無效,必須是 \"NONE\"、\"OPTIONAL\" 及\"REQUIRED\" 的其" +"中之一" + +msgid "Invalid user / password" +msgstr "無效的使用者/密碼" + +msgid "Invalid username or password" +msgstr "無效的使用者名稱或密碼" + +#, python-format +msgid "KVS region %s is already configured. Cannot reconfigure." +msgstr "KVS 區域 %s 已配置。無法重新配置。" + +#, python-format +msgid "Key Value Store not configured: %s" +msgstr "未配置金鑰值儲存庫:%s" + +#, python-format +msgid "LDAP %s create" +msgstr "LDAP %s 建立" + +#, python-format +msgid "LDAP %s delete" +msgstr "LDAP %s 刪除" + +#, python-format +msgid "LDAP %s update" +msgstr "LDAP %s 更新" + +#, python-format +msgid "Lock Timeout occurred for key, %(target)s" +msgstr "金鑰 %(target)s 發生鎖定逾時" + +#, python-format +msgid "Lock key must match target key: %(lock)s != %(target)s" +msgstr "鎖定金鑰必須與目標金鑰相符:%(lock)s 不等於 %(target)s" + +#, python-format +msgid "Malformed endpoint URL (%(endpoint)s), see ERROR log for details." +msgstr "端點 URL (%(endpoint)s) 的格式不正確,請參閱錯誤日誌以取得詳細資料。" + +msgid "Marker could not be found" +msgstr "找不到標記" + +#, python-format +msgid "Maximum lock attempts on %s occurred." +msgstr "已達到 %s 的鎖定嘗試次數上限。" + +#, python-format +msgid "Member %(member)s is already a member of group %(group)s" +msgstr "成員 %(member)s 已是群組 %(group)s 的成員" + +#, python-format +msgid "Method not callable: %s" +msgstr "方法不可呼叫:%s" + +msgid "Missing entity ID from environment" +msgstr "環境中遺漏實體 ID" + +msgid "" +"Modifying \"redelegation_count\" upon redelegation is forbidden. Omitting " +"this parameter is advised." +msgstr "禁止在重新委派時修改 \"redelegation_count\"。建議省略此參數。" + +msgid "Multiple domains are not supported" +msgstr "不支援多個網域" + +msgid "Must be called within an active lock context." +msgstr "必須在作用中鎖定環境定義內呼叫。" + +msgid "Must specify either domain or project" +msgstr "必須指定 Domain 或 Project" + +msgid "Name field is required and cannot be empty" +msgstr "名稱欄位是必要欄位,因此不能是空的" + +msgid "" +"No Authorization headers found, cannot proceed with OAuth related calls, if " +"running under HTTPd or Apache, ensure WSGIPassAuthorization is set to On." +msgstr "" +"找不到授權標頭,無法繼續進行 OAuth 相關呼叫,如果在 HTTPd 或 Apache 下執行," +"請確保 WSGIPassAuthorization 設定為 On。" + +msgid "No authenticated user" +msgstr "沒有已鑑別使用者" + +msgid "" +"No encryption keys found; run keystone-manage fernet_setup to bootstrap one." +msgstr "找不到加密金鑰;請執行 keystone-manage fernet_setup 以引導一個。" + +msgid "No options specified" +msgstr "未指定選項" + +#, python-format +msgid "No policy is associated with endpoint %(endpoint_id)s." +msgstr "沒有原則與端點 %(endpoint_id)s 相關聯。" + +#, python-format +msgid "No remaining uses for trust: %(trust_id)s" +msgstr "沒有信任 %(trust_id)s 的剩餘使用情形" + +msgid "Non-default domain is not supported" +msgstr "不支援非預設網域" + +msgid "One of the trust agents is disabled or deleted" +msgstr "已停用或刪除其中一個信任代理程式" + +#, python-format +msgid "" +"Option %(option)s found with no group specified while checking domain " +"configuration request" +msgstr "檢查網域配置要求時,發現選項 %(option)s 未指定任何群組" + +#, python-format +msgid "" +"Option %(option)s in group %(group)s is not supported for domain specific " +"configurations" +msgstr "網域特定配置不支援群組 %(group)s 中的選項 %(option)s" + +#, python-format +msgid "Project (%s)" +msgstr "專案 (%s)" + +#, python-format +msgid "Project is disabled: %s" +msgstr "已停用專案:%s" + +msgid "Redelegation allowed for delegated by trust only" +msgstr "僅委派為信任時,才容許重新委派" + +#, python-format +msgid "" +"Remaining redelegation depth of %(redelegation_depth)d out of allowed range " +"of [0..%(max_count)d]" +msgstr "" +"剩餘的重新委派深度 %(redelegation_depth)d 超出容許的範圍 [0..%(max_count)d]" + +msgid "Request Token does not have an authorizing user id" +msgstr "要求記號不具有授權使用者 ID" + +#, python-format +msgid "" +"Request attribute %(attribute)s must be less than or equal to %(size)i. The " +"server could not comply with the request because the attribute size is " +"invalid (too large). The client is assumed to be in error." +msgstr "" +"要求屬性 %(attribute)s 必須少於或等於 %(size)i。伺服器無法遵守要求,因為屬性" +"大小無效(太大)。系統會假定用戶端處於錯誤狀態。" + +msgid "Request must have an origin query parameter" +msgstr "要求必須具有原始查詢參數" + +msgid "Request token is expired" +msgstr "要求記號過期" + +msgid "Request token not found" +msgstr "找不到要求記號" + +msgid "Requested expiration time is more than redelegated trust can provide" +msgstr "所要求的有效期限超過重新委派之信任可提供的有效期限" + +#, python-format +msgid "" +"Requested redelegation depth of %(requested_count)d is greater than allowed " +"%(max_count)d" +msgstr "所要求的重新委派深度 %(requested_count)d 大於容許的 %(max_count)d" + +#, python-format +msgid "Role %s not found" +msgstr "找不到角色 %s" + +msgid "" +"Running keystone via eventlet is deprecated as of Kilo in favor of running " +"in a WSGI server (e.g. mod_wsgi). Support for keystone under eventlet will " +"be removed in the \"M\"-Release." +msgstr "" +"透過 eventlet 執行 Keystone 這一做法已遭淘汰,因為 Kilo 偏好在 WSGI 伺服器" +"(例如,mod_wsgi)中執行 Keystone。將在\"M\" 版本中移除對在 eventlet 下執行 " +"Keystone 的支援。" + +msgid "Scoping to both domain and project is not allowed" +msgstr "不容許將範圍同時設定為網域及專案" + +msgid "Scoping to both domain and trust is not allowed" +msgstr "不容許將範圍同時設定為網域及信任" + +msgid "Scoping to both project and trust is not allowed" +msgstr "不容許將範圍同時設定為專案及信任" + +#, python-format +msgid "Service Provider %(sp)s is disabled" +msgstr "已停用服務提供者 %(sp)s" + +msgid "Some of requested roles are not in redelegated trust" +msgstr "所要求的部分角色不在重新委派的信任中" + +msgid "Specify a domain or project, not both" +msgstr "指定網域或專案,但不要同時指定兩者" + +msgid "Specify a user or group, not both" +msgstr "指定使用者或群組,但不要同時指定兩者" + +msgid "Specify one of domain or project" +msgstr "指定網域或專案" + +msgid "Specify one of user or group" +msgstr "指定使用者或群組" + +#, python-format +msgid "" +"String length exceeded.The length of string '%(string)s' exceeded the limit " +"of column %(type)s(CHAR(%(length)d))." +msgstr "" +"已超出字串長度。字串 '%(string)s' 的長度已超出直欄 %(type)s 的限制 " +"(CHAR(%(length)d))。" + +msgid "The --all option cannot be used with the --domain-name option" +msgstr "--all 選項不能與 --domain-name 選項搭配使用" + +#, python-format +msgid "The Keystone configuration file %(config_file)s could not be found." +msgstr "找不到 Keystone 配置檔 %(config_file)s。" + +#, python-format +msgid "" +"The Keystone domain-specific configuration has specified more than one SQL " +"driver (only one is permitted): %(source)s." +msgstr "" +"Keystone 網域特定配置指定了多個SQL 驅動程式(僅允許一個):%(source)s。" + +msgid "The action you have requested has not been implemented." +msgstr "尚未實作所要求的動作。" + +msgid "The authenticated user should match the trustor." +msgstr "已鑑別使用者應該與委託人相符。" + +msgid "" +"The certificates you requested are not available. It is likely that this " +"server does not use PKI tokens otherwise this is the result of " +"misconfiguration." +msgstr "" +"所要求的憑證無法使用。可能是此伺服器沒有使用 PKI 記號,否則,這是由於配置錯誤" +"所造成。" + +#, python-format +msgid "" +"The password length must be less than or equal to %(size)i. The server could " +"not comply with the request because the password is invalid." +msgstr "密碼長度必須小於或等於 %(size)i。伺服器無法遵守要求,因為密碼無效。" + +msgid "The request you have made requires authentication." +msgstr "您發出的要求需要鑑別。" + +msgid "The resource could not be found." +msgstr "找不到資源。" + +msgid "" +"The revoke call must not have both domain_id and project_id. This is a bug " +"in the Keystone server. The current request is aborted." +msgstr "" +"撤銷呼叫不得同時具有 domain_id 和 project_id。這是Keystone 伺服器中的錯誤。已" +"中斷現行要求。" + +msgid "The service you have requested is no longer available on this server." +msgstr "此伺服器上無法再使用所要求的服務。" + +#, python-format +msgid "" +"The specified parent region %(parent_region_id)s would create a circular " +"region hierarchy." +msgstr "指定的母項區域 %(parent_region_id)s 會建立循環區域階層。" + +#, python-format +msgid "" +"The value of group %(group)s specified in the config should be a dictionary " +"of options" +msgstr "在配置中指定的群組 %(group)s 的值應該為選項字典" + +msgid "There should not be any non-oauth parameters" +msgstr "不應該具有任何 non-oauth 參數" + +#, python-format +msgid "This is not a recognized Fernet payload version: %s" +msgstr "這不是已辨識的 Fernet 內容版本:%s" + +msgid "" +"This is not a v2.0 Fernet token. Use v3 for trust, domain, or federated " +"tokens." +msgstr "這不是 2.0 版 Fernet 記號。請對信任、網域或聯合記號使用第 3 版。" + +msgid "" +"Timestamp not in expected format. The server could not comply with the " +"request since it is either malformed or otherwise incorrect. The client is " +"assumed to be in error." +msgstr "" +"時間戳記的格式不符合預期。伺服器無法遵守要求,因為它的格式不正確。系統會假定" +"用戶端處於錯誤狀態。" + +#, python-format +msgid "" +"To get a more detailed information on this error, re-run this command for " +"the specific domain, i.e.: keystone-manage domain_config_upload --domain-" +"name %s" +msgstr "" +"若要取得此錯誤的更詳細資訊,請針對特定的網域重新執行此指令,例如:keystone-" +"manage domain_config_upload --domain-name %s" + +msgid "Token belongs to another user" +msgstr "記號屬於另一個使用者" + +msgid "Token does not belong to specified tenant." +msgstr "記號不屬於所指定的 Tenant。" + +msgid "Trustee has no delegated roles." +msgstr "受託人沒有委派的角色。" + +msgid "Trustor is disabled." +msgstr "委託人已停用。" + +#, python-format +msgid "" +"Trying to update group %(group)s, so that, and only that, group must be " +"specified in the config" +msgstr "" +"正在嘗試更新群組 %(group)s,因此必須在配置中指定該群組且必須僅指定該群組" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, but config provided " +"contains option %(option_other)s instead" +msgstr "" +"正在嘗試更新群組 %(group)s 中的選項 %(option)s,但提供的配置卻包含選項 " +"%(option_other)s" + +#, python-format +msgid "" +"Trying to update option %(option)s in group %(group)s, so that, and only " +"that, option must be specified in the config" +msgstr "" +"正在嘗試更新群組 %(group)s 中的選項 %(option)s,因此必須在配置中指定該選項且" +"必須僅指定該選項" + +msgid "" +"Unable to access the keystone database, please check it is configured " +"correctly." +msgstr "無法存取 Keystone 資料庫,請檢查它是否已正確配置。" + +#, python-format +msgid "Unable to consume trust %(trust_id)s, unable to acquire lock." +msgstr "無法耗用信任 %(trust_id)s,無法獲得鎖定。" + +#, python-format +msgid "" +"Unable to delete region %(region_id)s because it or its child regions have " +"associated endpoints." +msgstr "無法刪除區域 %(region_id)s,因為此區域或其子區域具有相關聯的端點。" + +#, python-format +msgid "Unable to find valid groups while using mapping %(mapping_id)s" +msgstr "使用對映 %(mapping_id)s 時找不到有效的群組" + +#, python-format +msgid "" +"Unable to get a connection from pool id %(id)s after %(seconds)s seconds." +msgstr "在 %(seconds)s 秒之後,無法從儲存區 ID %(id)s 取得連線。" + +#, python-format +msgid "Unable to locate domain config directory: %s" +msgstr "找不到網域配置目錄:%s" + +#, python-format +msgid "Unable to lookup user %s" +msgstr "無法查閱使用者 %s" + +#, python-format +msgid "" +"Unable to reconcile identity attribute %(attribute)s as it has conflicting " +"values %(new)s and %(old)s" +msgstr "" +"無法核對身分屬性 %(attribute)s,因為該屬性具有衝突的值 %(new)s 和 %(old)s" + +#, python-format +msgid "" +"Unable to sign SAML assertion. It is likely that this server does not have " +"xmlsec1 installed, or this is the result of misconfiguration. Reason " +"%(reason)s" +msgstr "" +"無法簽署 SAML 主張。此伺服器可能未安裝xmlsec1,或者這是配置錯誤的結果。原" +"因: %(reason)s" + +msgid "Unable to sign token." +msgstr "無法簽署記號。" + +#, python-format +msgid "Unexpected assignment type encountered, %s" +msgstr "發現非預期的指派類型:%s" + +#, python-format +msgid "" +"Unexpected combination of grant attributes - User: %(user_id)s, Group: " +"%(group_id)s, Project: %(project_id)s, Domain: %(domain_id)s" +msgstr "" +"非預期的授權屬性組合 - 使用者:%(user_id)s,群組:%(group_id)s,專案:" +"%(project_id)s,網域:%(domain_id)s" + +#, python-format +msgid "Unexpected status requested for JSON Home response, %s" +msgstr "針對「JSON 起始目錄」回應要求了非預期狀態 %s" + +msgid "Unknown Target" +msgstr "不明的目標" + +#, python-format +msgid "Unknown domain '%(name)s' specified by --domain-name" +msgstr "由 --domain-name 指定的網域 '%(name)s' 不明" + +#, python-format +msgid "Unknown token version %s" +msgstr "不明的記號版本 %s" + +#, python-format +msgid "Unregistered dependency: %(name)s for %(targets)s" +msgstr "已取消登錄 %(targets)s 的相依關係:%(name)s" + +msgid "Update of `parent_id` is not allowed." +msgstr "不容許更新 'parent_id'。" + +msgid "Use a project scoped token when attempting to create a SAML assertion" +msgstr "嘗試建立 SAML 主張時,使用專案範圍的記號" + +#, python-format +msgid "User %(u_id)s is unauthorized for tenant %(t_id)s" +msgstr "使用者 %(u_id)s 未獲承租人 %(t_id)s 的授權" + +#, python-format +msgid "User %(user_id)s already has role %(role_id)s in tenant %(tenant_id)s" +msgstr "使用者 %(user_id)s 在承租人 %(tenant_id)s 中已經具有角色 %(role_id)s" + +#, python-format +msgid "User %(user_id)s has no access to domain %(domain_id)s" +msgstr "使用者 %(user_id)s 無法存取網域 %(domain_id)s" + +#, python-format +msgid "User %(user_id)s has no access to project %(project_id)s" +msgstr "使用者 %(user_id)s 無法存取專案 %(project_id)s" + +#, python-format +msgid "User %(user_id)s is already a member of group %(group_id)s" +msgstr "使用者 %(user_id)s 已是群組 %(group_id)s 的成員" + +#, python-format +msgid "User '%(user_id)s' not found in group '%(group_id)s'" +msgstr "在群組 '%(group_id)s' 中找不到使用者 '%(user_id)s'" + +msgid "User IDs do not match" +msgstr "使用者 ID 不符" + +#, python-format +msgid "User is disabled: %s" +msgstr "已停用使用者:%s" + +msgid "User is not a member of the requested project" +msgstr "使用者並不隸屬於所要求的專案" + +msgid "User is not a trustee." +msgstr "使用者不是受託人。" + +msgid "User not found" +msgstr "找不到使用者" + +#, python-format +msgid "User type %s not supported" +msgstr "使用者類型 %s 不受支援" + +msgid "You are not authorized to perform the requested action." +msgstr "您未獲授權來執行所要求的動作。" + +#, python-format +msgid "You are not authorized to perform the requested action: %(action)s" +msgstr "您未獲授權來執行所要求的動作:%(action)s" + +msgid "`key_mangler` functions must be callable." +msgstr "`key_mangler` 函數必須可呼叫。" + +msgid "`key_mangler` option must be a function reference" +msgstr "`key_mangler` 選項必須是函數參照" + +msgid "any options" +msgstr "任何選項" + +msgid "auth_type is not Negotiate" +msgstr "auth_type 不是 Negotiate" + +msgid "authorizing user does not have role required" +msgstr "授權使用者不具有必要的角色" + +msgid "cache_collection name is required" +msgstr "需要 cache_collection 名稱" + +#, python-format +msgid "cannot create a project in a branch containing a disabled project: %s" +msgstr "無法在包含已停用專案的分支中建立專案:%s" + +msgid "cannot create a project within a different domain than its parents." +msgstr "無法在不同於其母項的網域內建立專案。" + +msgid "cannot delete a domain that is enabled, please disable it first." +msgstr "無法刪除已啟用的網域,請先停用該網域。" + +#, python-format +msgid "cannot delete the project %s since it is not a leaf in the hierarchy." +msgstr "無法刪除專案 %s,因為它不是階層中的葉節點。" + +#, python-format +msgid "cannot disable project %s since its subtree contains enabled projects" +msgstr "無法停用專案 %s,因為其子樹狀結構包含已啟用的專案" + +#, python-format +msgid "cannot enable project %s since it has disabled parents" +msgstr "無法啟用專案 %s,因為它具有已停用的母項" + +msgid "database db_name is required" +msgstr "需要資料庫 db_name" + +msgid "db_hosts value is required" +msgstr "需要 db_hosts 值" + +msgid "delete the default domain" +msgstr "刪除預設網域" + +#, python-format +msgid "group %(group)s" +msgstr "群組 %(group)s" + +msgid "" +"idp_contact_type must be one of: [technical, other, support, administrative " +"or billing." +msgstr "idp_contact_type 必須是下列其中一個:技術、其他、支援、管理或計費。" + +msgid "integer value expected for mongo_ttl_seconds" +msgstr "mongo_ttl_seconds 預期整數值" + +msgid "integer value expected for w (write concern attribute)" +msgstr "w(WriteConcern 屬性)預期整數值" + +#, python-format +msgid "invalid date format %s" +msgstr "無效的日期格式 %s" + +#, python-format +msgid "max hierarchy depth reached for %s branch." +msgstr "已達到 %s 分支的最大階層深度。" + +msgid "no ssl support available" +msgstr "無法使用 SSL 支援" + +#, python-format +msgid "option %(option)s in group %(group)s" +msgstr "群組 %(group)s 中的選項 %(option)s" + +msgid "pad must be single character" +msgstr "填補必須是單一字元" + +msgid "padded base64url text must be multiple of 4 characters" +msgstr "填補 base64url 文字必須是 4 個字元的倍數" + +msgid "provided consumer key does not match stored consumer key" +msgstr "提供的消費者金鑰,與儲存的消費者金鑰不符" + +msgid "provided request key does not match stored request key" +msgstr "提供的要求金鑰,與儲存的要求金鑰不符" + +msgid "provided verifier does not match stored verifier" +msgstr "提供的驗證器,與儲存的驗證器不符" + +msgid "region not type dogpile.cache.CacheRegion" +msgstr "區域不是 dogpile.cache.CacheRegion 類型" + +msgid "remaining_uses must be a positive integer or null." +msgstr "remaining_uses 必須是正整數或空值。" + +msgid "remaining_uses must not be set if redelegation is allowed" +msgstr "如果容許重新委派,則不得設定 remaining_uses" + +msgid "replicaset_name required when use_replica is True" +msgstr "use_replica 為 True 時需要 replicaset_name" + +#, python-format +msgid "" +"request to update group %(group)s, but config provided contains group " +"%(group_other)s instead" +msgstr "要求更新群組 %(group)s,但提供的配置卻包含群組 %(group_other)s" + +msgid "rescope a scoped token" +msgstr "重新劃定已限定範圍之記號的範圍" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before 2nd to last char" +msgstr "文字是 4 的倍數,但填補 \"%s\" 出現於倒數第二個字元之前" + +#, python-format +msgid "text is multiple of 4, but pad \"%s\" occurs before non-pad last char" +msgstr "文字是 4 的倍數,但填補 \"%s\" 出現於最後一個字元(不可填補)之前" + +#, python-format +msgid "text is not a multiple of 4, but contains pad \"%s\"" +msgstr "文字不是 4 的倍數,但包含填補 \"%s\"" + +#, python-format +msgid "tls_cacertdir %s not found or is not a directory" +msgstr "tls_cacertdir %s 找不到,或者不是目錄" + +#, python-format +msgid "tls_cacertfile %s not found or is not a file" +msgstr "tls_cacertfile %s 找不到,或者不是檔案" + +#, python-format +msgid "token reference must be a KeystoneToken type, got: %s" +msgstr "記號參照必須是 KeystoneToken 類型,但卻取得:%s" From 4a239f23e3e599b55f6553f3b4f3290773d2ded7 Mon Sep 17 00:00:00 2001 From: Tony Wang Date: Fri, 21 Aug 2015 23:41:32 -0400 Subject: [PATCH 3/4] Show v3 endpoints in v2 endpoint list v3 endpoints that are not migrated from v2 endpoints, were not shown in v2 endpoint list. While it was more clear, separating v2 and v3 endpoints, it was not easy for tools or services which are still using v2 APIs to get the endpoints created by v3 API. Since it won't do harm to return more information, this commit is to show v3 endpoints in API call to list v2 endpoints. NOTE: public interface is required in a v2 endpoints, so only v3 endpoints with public interface are added into the list. Change-Id: Id9b3822f87e973b6eb7dd9fc715c2dba76b9fe04 Closes-Bug: #1480270 (cherry picked from commit 0d13a85e93737df8c9c130f194839b27d0781890) --- keystone/catalog/controllers.py | 68 +++++++++++++++++------ keystone/tests/unit/test_catalog.py | 84 +++++++++++++++++++++++++++++ 2 files changed, 135 insertions(+), 17 deletions(-) diff --git a/keystone/catalog/controllers.py b/keystone/catalog/controllers.py index 92046e8ac0..ed6bc904d9 100644 --- a/keystone/catalog/controllers.py +++ b/keystone/catalog/controllers.py @@ -68,25 +68,59 @@ class Endpoint(controller.V2Controller): """Merge matching v3 endpoint refs into legacy refs.""" self.assert_admin(context) legacy_endpoints = {} + v3_endpoints = {} for endpoint in self.catalog_api.list_endpoints(): - if not endpoint.get('legacy_endpoint_id'): - # endpoints created in v3 should not appear on the v2 API + if not endpoint.get('legacy_endpoint_id'): # pure v3 endpoint + # tell endpoints apart by the combination of + # service_id and region_id. + # NOTE(muyu): in theory, it's possible that there are more than + # one endpoint of one service, one region and one interface, + # but in practice, it makes no sense because only one will be + # used. + key = (endpoint['service_id'], endpoint['region_id']) + v3_endpoints.setdefault(key, []).append(endpoint) + else: # legacy endpoint + if endpoint['legacy_endpoint_id'] not in legacy_endpoints: + legacy_ep = endpoint.copy() + legacy_ep['id'] = legacy_ep.pop('legacy_endpoint_id') + legacy_ep.pop('interface') + legacy_ep.pop('url') + legacy_ep['region'] = legacy_ep.pop('region_id') + + legacy_endpoints[endpoint['legacy_endpoint_id']] = ( + legacy_ep) + else: + legacy_ep = ( + legacy_endpoints[endpoint['legacy_endpoint_id']]) + + # add the legacy endpoint with an interface url + legacy_ep['%surl' % endpoint['interface']] = endpoint['url'] + + # convert collected v3 endpoints into v2 endpoints + for endpoints in v3_endpoints.values(): + legacy_ep = {} + # For v3 endpoints in the same group, contents of extra attributes + # can be different, which may cause confusion if a random one is + # used. So only necessary attributes are used here. + # It's different for legacy v2 endpoints, which are created + # with the same "extra" value when being migrated. + for key in ('service_id', 'enabled'): + legacy_ep[key] = endpoints[0][key] + legacy_ep['region'] = endpoints[0]['region_id'] + for endpoint in endpoints: + # Public URL is required for v2 endpoints, so the generated v2 + # endpoint uses public endpoint's id as its id, which can also + # be an indicator whether a public v3 endpoint is present. + # It's safe to do so is also because that there is no v2 API to + # get an endpoint by endpoint ID. + if endpoint['interface'] == 'public': + legacy_ep['id'] = endpoint['id'] + legacy_ep['%surl' % endpoint['interface']] = endpoint['url'] + + # this means there is no public URL of this group of v3 endpoints + if 'id' not in legacy_ep: continue - - # is this is a legacy endpoint we haven't indexed yet? - if endpoint['legacy_endpoint_id'] not in legacy_endpoints: - legacy_ep = endpoint.copy() - legacy_ep['id'] = legacy_ep.pop('legacy_endpoint_id') - legacy_ep.pop('interface') - legacy_ep.pop('url') - legacy_ep['region'] = legacy_ep.pop('region_id') - - legacy_endpoints[endpoint['legacy_endpoint_id']] = legacy_ep - else: - legacy_ep = legacy_endpoints[endpoint['legacy_endpoint_id']] - - # add the legacy endpoint with an interface url - legacy_ep['%surl' % endpoint['interface']] = endpoint['url'] + legacy_endpoints[legacy_ep['id']] = legacy_ep return {'endpoints': list(legacy_endpoints.values())} @controller.v2_deprecated diff --git a/keystone/tests/unit/test_catalog.py b/keystone/tests/unit/test_catalog.py index fa07763eab..ada2de4332 100644 --- a/keystone/tests/unit/test_catalog.py +++ b/keystone/tests/unit/test_catalog.py @@ -76,6 +76,18 @@ class V2CatalogTestCase(rest.RestfulTestCase): body=body) return body, r + def _region_create(self): + region_id = uuid.uuid4().hex + self.catalog_api.create_region({'id': region_id}) + return region_id + + def _service_create(self): + service_id = uuid.uuid4().hex + service = unit.new_service_ref() + service['id'] = service_id + self.catalog_api.create_service(service_id, service) + return service_id + def test_endpoint_create(self): req_body, response = self._endpoint_create() self.assertIn('endpoint', response.result) @@ -83,6 +95,78 @@ class V2CatalogTestCase(rest.RestfulTestCase): for field, value in req_body['endpoint'].items(): self.assertEqual(response.result['endpoint'][field], value) + def test_pure_v3_endpoint_with_publicurl_visible_from_v2(self): + """Test pure v3 endpoint can be fetched via v2 API. + + For those who are using v2 APIs, endpoints created by v3 API should + also be visible as there are no differences about the endpoints + except the format or the internal implementation. + And because public url is required for v2 API, so only the v3 endpoints + of the service which has the public interface endpoint will be + converted into v2 endpoints. + """ + region_id = self._region_create() + service_id = self._service_create() + # create a v3 endpoint with three interfaces + body = { + 'endpoint': unit.new_endpoint_ref(service_id, + default_region_id=region_id) + } + for interface in catalog.controllers.INTERFACES: + body['endpoint']['interface'] = interface + self.admin_request(method='POST', + token=self.get_scoped_token(), + path='/v3/endpoints', + expected_status=http_client.CREATED, + body=body) + + r = self.admin_request(token=self.get_scoped_token(), + path='/v2.0/endpoints') + # v3 endpoints having public url can be fetched via v2.0 API + self.assertEqual(1, len(r.result['endpoints'])) + v2_endpoint = r.result['endpoints'][0] + self.assertEqual(service_id, v2_endpoint['service_id']) + # check urls just in case. + # This is not the focus of this test, so no different urls are used. + self.assertEqual(body['endpoint']['url'], v2_endpoint['publicurl']) + self.assertEqual(body['endpoint']['url'], v2_endpoint['adminurl']) + self.assertEqual(body['endpoint']['url'], v2_endpoint['internalurl']) + self.assertNotIn('name', v2_endpoint) + + v3_endpoint = self.catalog_api.get_endpoint(v2_endpoint['id']) + # it's the v3 public endpoint's id as the generated v2 endpoint + self.assertEqual('public', v3_endpoint['interface']) + self.assertEqual(service_id, v3_endpoint['service_id']) + + def test_pure_v3_endpoint_without_publicurl_invisible_from_v2(self): + """Test pure v3 endpoint without public url can't be fetched via v2 API. + + V2 API will return endpoints created by v3 API, but because public url + is required for v2 API, so v3 endpoints without public url will be + ignored. + """ + region_id = self._region_create() + service_id = self._service_create() + # create a v3 endpoint without public interface + body = { + 'endpoint': unit.new_endpoint_ref(service_id, + default_region_id=region_id) + } + for interface in catalog.controllers.INTERFACES: + if interface == 'public': + continue + body['endpoint']['interface'] = interface + self.admin_request(method='POST', + token=self.get_scoped_token(), + path='/v3/endpoints', + expected_status=http_client.CREATED, + body=body) + + r = self.admin_request(token=self.get_scoped_token(), + path='/v2.0/endpoints') + # v3 endpoints without public url won't be fetched via v2.0 API + self.assertEqual(0, len(r.result['endpoints'])) + def test_endpoint_create_with_null_adminurl(self): req_body, response = self._endpoint_create(adminurl=None) self.assertIsNone(req_body['endpoint']['adminurl']) From 8dcd82fb9c76d43f26338bee293b32f4af473ad9 Mon Sep 17 00:00:00 2001 From: Lance Bragstad Date: Wed, 9 Sep 2015 14:09:06 +0000 Subject: [PATCH 4/4] Ensure token validation works irrespective of padding In change I674bad86ccc9027ac3b365c10b3b142fc9d73c17 we removed the padding from Fernet tokens. This commit makes it so that we can validate Fernet tokens that come in with and without padding. Change-Id: I60e52af6c4cb39f2d136540a487bba8505a2c6b4 Closes-Bug: 1491926 (cherry picked from commit 90aca980587283d26fcfd20ae6be86ca1bbe2788) --- .../tests/unit/token/test_fernet_provider.py | 39 +++++++++++++++++++ .../providers/fernet/token_formatters.py | 16 +++++++- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/keystone/tests/unit/token/test_fernet_provider.py b/keystone/tests/unit/token/test_fernet_provider.py index 5f74b430e1..a909ee276d 100644 --- a/keystone/tests/unit/token/test_fernet_provider.py +++ b/keystone/tests/unit/token/test_fernet_provider.py @@ -16,7 +16,9 @@ import hashlib import os import uuid +import msgpack from oslo_utils import timeutils +from six.moves import urllib from keystone.common import config from keystone.common import utils @@ -58,6 +60,10 @@ class TestFernetTokenProvider(unit.TestCase): class TestTokenFormatter(unit.TestCase): + def setUp(self): + super(TestTokenFormatter, self).setUp() + self.useFixture(ksfixtures.KeyRepository(self.config_fixture)) + def test_restore_padding(self): # 'a' will result in '==' padding, 'aa' will result in '=' padding, and # 'aaa' will result in no padding. @@ -73,6 +79,39 @@ class TestTokenFormatter(unit.TestCase): ) self.assertEqual(encoded_string, encoded_str_with_padding_restored) + def test_legacy_padding_validation(self): + first_value = uuid.uuid4().hex + second_value = uuid.uuid4().hex + payload = (first_value, second_value) + msgpack_payload = msgpack.packb(payload) + + # NOTE(lbragstad): This method perserves the way that keystone used to + # percent encode the tokens, prior to bug #1491926. + def legacy_pack(payload): + tf = token_formatters.TokenFormatter() + encrypted_payload = tf.crypto.encrypt(payload) + + # the encrypted_payload is returned with padding appended + self.assertTrue(encrypted_payload.endswith('=')) + + # using urllib.parse.quote will percent encode the padding, like + # keystone did in Kilo. + percent_encoded_payload = urllib.parse.quote(encrypted_payload) + + # ensure that the padding was actaully percent encoded + self.assertTrue(percent_encoded_payload.endswith('%3D')) + return percent_encoded_payload + + token_with_legacy_padding = legacy_pack(msgpack_payload) + tf = token_formatters.TokenFormatter() + + # demonstrate the we can validate a payload that has been percent + # encoded with the Fernet logic that existed in Kilo + serialized_payload = tf.unpack(token_with_legacy_padding) + returned_payload = msgpack.unpackb(serialized_payload) + self.assertEqual(first_value, returned_payload[0]) + self.assertEqual(second_value, returned_payload[1]) + class TestPayloads(unit.TestCase): def test_uuid_hex_to_byte_conversions(self): diff --git a/keystone/token/providers/fernet/token_formatters.py b/keystone/token/providers/fernet/token_formatters.py index f0b6271d1d..a6b42197f8 100644 --- a/keystone/token/providers/fernet/token_formatters.py +++ b/keystone/token/providers/fernet/token_formatters.py @@ -22,6 +22,7 @@ from oslo_log import log from oslo_utils import timeutils import six from six.moves import map +from six.moves import urllib from keystone.auth import plugins as auth_plugins from keystone.common import utils as ks_utils @@ -73,8 +74,19 @@ class TokenFormatter(object): """Unpack a token, and validate the payload.""" token = six.binary_type(token) - # Restore padding on token before decoding it - token = TokenFormatter.restore_padding(token) + # TODO(lbragstad): Restore padding on token before decoding it. + # Initially in Kilo, Fernet tokens were returned to the user with + # padding appended to the token. Later in Liberty this padding was + # removed and restored in the Fernet provider. The following if + # statement ensures that we can validate tokens with and without token + # padding, in the event of an upgrade and the tokens that are issued + # throughout the upgrade. Remove this if statement when Mitaka opens + # for development and exclusively use the restore_padding() class + # method. + if token.endswith('%3D'): + token = urllib.parse.unquote(token) + else: + token = TokenFormatter.restore_padding(token) try: return self.crypto.decrypt(token)