From 12b053df300cb58aad157797f4e30283e45033f5 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Jul 07 2015 10:07:15 +0000 Subject: l10n: Update translation strings * Generate new l10n strings * Include newly created python implicit files * Merges already translated strings from Zanata https://fedorahosted.org/freeipa/ticket/4832 Reviewed-By: Martin Basti --- diff --git a/install/po/Makefile.in b/install/po/Makefile.in index de711df..e0bf2e0 100644 --- a/install/po/Makefile.in +++ b/install/po/Makefile.in @@ -42,21 +42,27 @@ H_FILES = $(shell cd ../..; git ls-files | grep "\.h$$" | tr '\n' ' '; cd instal # Please keep this list sorted! PY_EXPLICIT_FILES = \ install/tools/ipa-adtrust-install \ + install/tools/ipa-advise \ + install/tools/ipa-backup \ install/tools/ipa-ca-install \ install/tools/ipa-compat-manage \ install/tools/ipa-csreplica-manage \ install/tools/ipactl \ install/tools/ipa-dns-install \ + install/tools/ipa-httpd-kdcproxy \ install/tools/ipa-kra-install \ install/tools/ipa-ldap-updater \ install/tools/ipa-managed-entries \ install/tools/ipa-nis-manage \ + install/tools/ipa-otptoken-import \ install/tools/ipa-replica-conncheck \ install/tools/ipa-replica-install \ install/tools/ipa-replica-manage \ install/tools/ipa-replica-prepare \ + install/tools/ipa-restore \ install/tools/ipa-server-certinstall \ install/tools/ipa-server-install \ + install/tools/ipa-server-upgrade \ install/tools/ipa-upgradeconfig \ ipa \ ipa-client/ipa-install/ipa-client-install diff --git a/install/po/bn_IN.po b/install/po/bn_IN.po index 690bf5c..af43bc2 100644 --- a/install/po/bn_IN.po +++ b/install/po/bn_IN.po @@ -7,19 +7,20 @@ # sankarshan mukhopadhyay , 2010 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" -"Last-Translator: Petr Viktorin \n" -"Language-Team: Bengali (India) (http://www.transifex.com/projects/p/freeipa/" -"language/bn_IN/)\n" -"Language: bn_IN\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-07-03 04:37-0400\n" +"Last-Translator: Petr Viktorin \n" +"Language-Team: Bengali (India) (http://www.transifex.com/projects/p/freeipa/" +"language/bn_IN/)\n" +"Language: bn-IN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" msgid "Passwords do not match" msgstr "পাসওয়ার্ড দুটি মিলছে না" diff --git a/install/po/ca.po b/install/po/ca.po index 474bb58..4bcf6be 100644 --- a/install/po/ca.po +++ b/install/po/ca.po @@ -6,19 +6,20 @@ # Jordi Mas , 2013 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/freeipa/language/" "ca/)\n" "Language: ca\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" msgid "Passwords do not match" msgstr "Les contrasenyes no coincideixen" @@ -77,9 +78,75 @@ msgstr "Drets" msgid "Rename" msgstr "Canvia el nom" +msgid "Server" +msgstr "Servidor" + +msgid "Time now" +msgstr "L'hora actual" + +msgid "User" +msgstr "Usuari" + +msgid "User login" +msgstr "Entrada" + +msgid "First name" +msgstr "Nom" + +msgid "Last name" +msgstr "Cognom" + +msgid "Full name" +msgstr "Nom complet" + +msgid "Initials" +msgstr "Inicials" + +msgid "Home directory" +msgstr "Directori de l'usuari" + +msgid "Login shell" +msgstr "Intèrpret d'ordres de l'inici de sessió" + +msgid "Email address" +msgstr "Adreça de correu electrònic" + +msgid "UID" +msgstr "UID" + +msgid "City" +msgstr "Ciutat" + +msgid "State/Province" +msgstr "Estat/província" + +msgid "Telephone Number" +msgstr "Número de telèfon" + +msgid "Pager Number" +msgstr "Número de buscapersones" + +msgid "Fax Number" +msgstr "Número de fax" + +msgid "Job Title" +msgstr "Càrrec" + +msgid "Manager" +msgstr "Gestor" + +msgid "Class" +msgstr "Classe" + msgid "Certificate" msgstr "Certificat" +msgid "Enabled" +msgstr "S'ha habilitat" + +msgid "Services" +msgstr "Serveis" + msgid "Subject" msgstr "Assumpte" @@ -149,21 +216,12 @@ msgstr "Empremta" msgid "Force" msgstr "Força" -msgid "Class" -msgstr "Classe" - msgid "group" msgstr "grup" msgid "Group name" msgstr "Nom del grup" -msgid "Enabled" -msgstr "S'ha habilitat" - -msgid "Services" -msgstr "Serveis" - msgid "Access time" msgstr "Temps d'accés" @@ -407,9 +465,6 @@ msgstr "No coincideix" msgid "Host Name" msgstr "Nom de l'ordinador" -msgid "User" -msgstr "Usuari" - msgid "Active Directory domain" msgstr "Domini d'Active Directory" @@ -473,18 +528,12 @@ msgstr "Pàgina" msgid "Prev" msgstr "Anterior" -msgid "undo" -msgstr "desfés" - msgid "Continue" msgstr "Continua" msgid "Netgroup name" msgstr "Nom de grup de xarxa" -msgid "Manager" -msgstr "Gestor" - msgid "Invalid credentials" msgstr "Credencials no vàlides" @@ -494,9 +543,6 @@ msgstr "permisos" msgid "Group" msgstr "Grup" -msgid "Server" -msgstr "Servidor" - msgid "Role" msgstr "Rol" @@ -515,54 +561,6 @@ msgstr "Desconegut" msgid "Trust" msgstr "Confiança" -msgid "Time now" -msgstr "L'hora actual" - -msgid "User login" -msgstr "Entrada" - -msgid "First name" -msgstr "Nom" - -msgid "Last name" -msgstr "Cognom" - -msgid "Full name" -msgstr "Nom complet" - -msgid "Initials" -msgstr "Inicials" - -msgid "Home directory" -msgstr "Directori de l'usuari" - -msgid "Login shell" -msgstr "Intèrpret d'ordres de l'inici de sessió" - -msgid "Email address" -msgstr "Adreça de correu electrònic" - -msgid "UID" -msgstr "UID" - -msgid "City" -msgstr "Ciutat" - -msgid "State/Province" -msgstr "Estat/província" - -msgid "Telephone Number" -msgstr "Número de telèfon" - -msgid "Pager Number" -msgstr "Número de buscapersones" - -msgid "Fax Number" -msgstr "Número de fax" - -msgid "Job Title" -msgstr "Càrrec" - msgid "Self" msgstr "Ell mateix" diff --git a/install/po/cs.po b/install/po/cs.po index 348c384..c596ca6 100644 --- a/install/po/cs.po +++ b/install/po/cs.po @@ -4,21 +4,123 @@ # # Translators: # Petr Viktorin , 2013 +# Josef Hruška , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" -"Last-Translator: Petr Viktorin \n" -"Language-Team: Czech (http://www.transifex.com/projects/p/freeipa/language/" -"cs/)\n" -"Language: cs\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2015-06-29 01:17-0400\n" +"Last-Translator: Josef Hruška \n" +"Language-Team: Czech (http://www.transifex.com/projects/p/freeipa/language/" +"cs/)\n" +"Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Zanata 3.6.2\n" + +#, python-format +msgid "Enter %(label)s again to verify: " +msgstr "Vložte znovu své %(label)s, aby se ověřila jeho správnost." + +#, c-format +msgid "Passwords do not match!" +msgstr "Hesla se neshodují!" + +msgid "No matching entries found" +msgstr "Nenalezeny žádné shodné položky" + +msgid "Topic or Command" +msgstr "Téma nebo příkaz" + +msgid "The topic or command name." +msgstr "Název tématu nebo příkazu." + +msgid "Topic commands:" +msgstr "Příkazy tématu:" + +msgid "To get command help, use:" +msgstr "Chceteli získat nápovědu k příkazu, použijte:" + +msgid " ipa --help" +msgstr " ipa --help" + +msgid "Command name" +msgstr "Název příkazu" + +msgid "Positional arguments" +msgstr "Poziční argumenty" + +#, python-format +msgid "Same as --%s" +msgstr "Stejné jako --%s" + +msgid "Deprecated options" +msgstr "Zastaralé volby" + +msgid "No file to read" +msgstr "Žádný soubor k přečtení" + +msgid "A string searched in all relevant object attributes" +msgstr "Řetězec vyhledávaný ve všech odpovídajících atributech objektu" + +#, python-format +msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" +msgstr "" +"Verze %(cver)s klienta není kompatibilní s verzí %(sver)s serveru " +"'%(server)s'" + +#, python-format +msgid "unknown error %(code)d from %(server)s: %(error)s" +msgstr "neznámý kód %(code)d chyby ze serveru %(server)s: %(error)s" + +msgid "an internal error has occurred" +msgstr "Vyskytla se vnitřní chyba" + +#, python-format +msgid "an internal error has occurred on server at '%(server)s'" +msgstr "na serveru '%(server)s' se vyskytla interní chyba" + +#, python-format +msgid "unknown command '%(name)s'" +msgstr "neznámý příkaz '%(name)s'" + +#, python-format +msgid "error on server '%(server)s': %(error)s" +msgstr "chyba na serveru '%(server)s': %(error)s" + +#, python-format +msgid "cannot connect to '%(uri)s': %(error)s" +msgstr "nelze se připojit k '%(uri)s': %(error)s" + +#, python-format +msgid "Invalid JSON-RPC request: %(error)s" +msgstr "Neplatný požadavek JSON-RPC: %(error)s" + +#, python-format +msgid "error marshalling data for XML-RPC transport: %(error)s" +msgstr "chyba marshallingu dat pro přenos XML-RPC: %(error)s" + +#, python-format +msgid "Missing or invalid HTTP Referer, %(referer)s" +msgstr "Chybějící nebo neplatný HTTP Referer, %(referer)s" + +#, python-format +msgid "Kerberos error: %(major)s/%(minor)s" +msgstr "Chyba Kerberos: %(major)s/%(minor)s" + +msgid "did not receive Kerberos credentials" +msgstr "neobdrženy ověřovací údaje Kerberos" + +#, python-format +msgid "Service '%(service)s' not found in Kerberos database" +msgstr "Služba '%(service)s' nenalezena v databázi Kerberosu" + +msgid "No credentials cache found" +msgstr "Nenalezena mezipamět ověřovacích údajů" #, python-format msgid "%(reason)s" diff --git a/install/po/de.po b/install/po/de.po index 0a30b63..3359bc3 100644 --- a/install/po/de.po +++ b/install/po/de.po @@ -6,36 +6,46 @@ # Fabian Affolter , 2011 # Mario Blättermann , 2011,2014 # Mario Blättermann , 2011 +# David Kreitschmann , 2015. #zanata +# Martin Kosek , 2015. #zanata +# Tomas Babej , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" -"Last-Translator: Petr Viktorin \n" -"Language-Team: German (http://www.transifex.com/projects/p/freeipa/language/" -"de/)\n" -"Language: de\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2015-06-24 10:35-0400\n" +"Last-Translator: Tomas Babej \n" +"Language-Team: German (http://www.transifex.com/projects/p/freeipa/language/" +"de/)\n" +"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " -msgstr "Geben Sie %(label)s zum Überprüfen ein:" +msgstr "Geben Sie %(label)s zur Bestätigung nochmals ein: " #, c-format msgid "Passwords do not match!" msgstr "Passwörter stimmen nicht überein!" +msgid "No matching entries found" +msgstr "Keine passenden Einträge gefunden" + msgid "Command name" msgstr "Befehlsname" msgid "Positional arguments" msgstr "Positionale Argumente" +msgid "Deprecated options" +msgstr "Veraltete Optionen" + msgid "No file to read" msgstr "Keine Datei zum Lesen" @@ -65,6 +75,10 @@ msgstr "Kerberos-Fehler: %(major)s/%(minor)s" msgid "did not receive Kerberos credentials" msgstr "Kerberos-Anmeldedaten wurden nicht empfangen" +#, python-format +msgid "Service '%(service)s' not found in Kerberos database" +msgstr "Service '%(service)s' in Kerberos-Datenbank nicht gefunden" + msgid "No credentials cache found" msgstr "Keine Anmeldeinformationen-Cache gefunden" @@ -153,9 +167,6 @@ msgstr "Eine Gruppe kann nicht als Mitglied von sich selbst hinzugefügt werden" msgid "The default users group cannot be removed" msgstr "Die vorgegebene Benutzergruppe kann nicht entfernt werden" -msgid "Host does not have corresponding DNS A record" -msgstr "Host verfügt nicht über einen entsprechenden DNS-A-Datensatz." - msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" "Das Löschen einer verwalteten Gruppe ist unzulässig. Sie muss zuerst aus der " @@ -417,6 +428,9 @@ msgstr "ACIs" msgid "ACI name" msgstr "ACI-Name" +msgid "Permission" +msgstr "Berechtigung" + msgid "User group" msgstr "Benutzer-Gruppe" @@ -475,9 +489,33 @@ msgstr "Anzahl der entfernten Bedingungen" msgid "Users" msgstr "Benutzer" +msgid "automount location" +msgstr "Automount-Ort" + +msgid "automount locations" +msgstr "Automount-Orte" + +msgid "Automount Locations" +msgstr "Automount-Orte" + +msgid "Automount Location" +msgstr "Automount-Ort" + msgid "Location" msgstr "Ort" +msgid "Automount location name." +msgstr "Automount-Ort" + +msgid "Create a new automount location." +msgstr "Neuen Automount-Ort erstellen." + +msgid "Master file" +msgstr "Masterdatei" + +msgid "Automount master file." +msgstr "Automount-Masterdatei" + #, python-format msgid "File %(file)s not found" msgstr "Datei %(file)s nicht gefunden" @@ -500,6 +538,51 @@ msgstr "Einhängepunkt" msgid "Password" msgstr "Passwort" +msgid "Member users" +msgstr "Mitglieds-Benutzer" + +msgid "Member groups" +msgstr "Mitglieds-Gruppen" + +msgid "Member of groups" +msgstr "Mitglied der Gruppen" + +msgid "Member hosts" +msgstr "Mitglieds-Hosts" + +msgid "Member host-groups" +msgstr "Mitglieds-Hostgruppen" + +msgid "Member of host-groups" +msgstr "Mitglied von Host-Gruppen" + +msgid "Roles" +msgstr "Rollen" + +msgid "Sudo Command Groups" +msgstr "Sudo-Befehlsgruppen" + +msgid "Indirect Member users" +msgstr "Indirekte Mitglieds-Benutzer" + +msgid "Indirect Member groups" +msgstr "Indirekte Mitglieds-Gruppen" + +msgid "Indirect Member hosts" +msgstr "Indirekte Mitglieds-Hosts" + +msgid "Indirect Member host-groups" +msgstr "Indirekte Mitglieds-Hostgruppen" + +msgid "Indirect Member of roles" +msgstr "Indirektes Mitglied von Rollen" + +msgid "Indirect Member permissions" +msgstr "Indirekte Mitglieds-Berechtigungen" + +msgid "Indirect Member HBAC service" +msgstr "Indirekte Mitgli" + msgid "Failed to remove" msgstr "Entfernen fehlgeschlagen" @@ -580,6 +663,10 @@ msgstr "Das %(ldap_obj_name)s-Objekt umbenennen" msgid "the entry was deleted while being modified" msgstr "Der Eintrag wurde während der Änderung entfernt." +#, python-format +msgid "member %s" +msgstr "Mitglied %s" + msgid "Members that could not be added" msgstr "Mitglieder, die nicht hinzugefügt werden konnten" @@ -604,6 +691,153 @@ msgstr "Zeitbegrenzung für den Suchvorgang in Sekunden" msgid "Maximum number of entries returned" msgstr "Maximale Anzahl der zurückgegebenen Einträge" +msgid "Kerberos keys available" +msgstr "Kerberos-Schlüssel verfügbar" + +msgid "SSH public key fingerprint" +msgstr "Fingerabdruck des öffentlichen SSH-Schlüssels" + +msgid "User" +msgstr "Benutzer" + +msgid "User login" +msgstr "Anmeldename" + +msgid "First name" +msgstr "Vorname" + +msgid "Last name" +msgstr "Nachname" + +msgid "Full name" +msgstr "Vollständiger Name" + +msgid "Display name" +msgstr "Angezeigter Name" + +msgid "Initials" +msgstr "Initialen" + +msgid "Home directory" +msgstr "Home-Verzeichnis" + +msgid "Login shell" +msgstr "Anmeldeshell" + +msgid "Kerberos principal" +msgstr "Kerberos-Principal" + +msgid "Kerberos principal expiration" +msgstr "Kerberos-Principal Ablauf" + +msgid "Email address" +msgstr "Email-Adresse" + +msgid "Prompt to set the user password" +msgstr "Zum Setzen des Passworts auffordern" + +msgid "Generate a random user password" +msgstr "Ein zufälliges Benutzerpasswort erzeugen" + +msgid "Random password" +msgstr "Zufälliges Passwort" + +msgid "UID" +msgstr "UID" + +msgid "User ID Number (system will assign one if not provided)" +msgstr "" +"Benutzer-ID (wird durch das System zugewiesen, falls diese nicht angegeben " +"wird)" + +msgid "GID" +msgstr "Gruppen-ID" + +msgid "Group ID Number" +msgstr "Gruppen-ID" + +msgid "Street address" +msgstr "Straße" + +msgid "City" +msgstr "Ort" + +msgid "State/Province" +msgstr "Staat/Bundesland" + +msgid "ZIP" +msgstr "Postleitzahl" + +msgid "Telephone Number" +msgstr "Telefonnummer" + +msgid "Mobile Telephone Number" +msgstr "Mobiltelefonnummer" + +msgid "Pager Number" +msgstr "Pagernummer" + +msgid "Fax Number" +msgstr "Faxnummer" + +msgid "Org. Unit" +msgstr "Org. Einheit" + +msgid "Job Title" +msgstr "Tätigkeit" + +msgid "User authentication types" +msgstr "Benutzerauthentifizierungstypen" + +msgid "Types of supported user authentication" +msgstr "Typen der unterstützten Benutzerauthentifizierung" + +msgid "Class" +msgstr "Klasse" + +msgid "RADIUS proxy configuration" +msgstr "RADIUS-Proxy Konfiguration" + +msgid "RADIUS proxy username" +msgstr "RADIUS-Proxy Benutzername" + +msgid "Department Number" +msgstr "Abteilungsnummer" + +msgid "Employee Number" +msgstr "Personalnummer" + +msgid "Employee Type" +msgstr "Personaltyp" + +msgid "Preferred Language" +msgstr "Bevorzugte Sprache" + +msgid "Certificate" +msgstr "Zertifikat" + +#, python-format +msgid "can be at most %(len)d characters" +msgstr "darf höchstens %(len)d Zeichen lang sein" + +msgid "Enabled" +msgstr "Aktiviert" + +msgid "User category" +msgstr "Benutzerkategorie" + +msgid "Host category" +msgstr "Host-Kategorie" + +msgid "User Groups" +msgstr "Benutzergruppen" + +msgid "Host Groups" +msgstr "Host-Gruppen" + +msgid "Services" +msgstr "Dienste" + #, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "Fehler beim Dekodieren der Signaturanfrage für das Zertifikat: %s" @@ -614,15 +848,9 @@ msgstr "CSR" msgid "Principal" msgstr "Principal" -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "Dienst-Principal für dieses Zertifikat (z.B. HTTP/test.example.com)" - msgid "automatically add the principal if it doesn't exist" msgstr "Den Principal automatisch hinzufügen, falls dieser nicht existiert" -msgid "Certificate" -msgstr "Zertifikat" - msgid "Subject" msgstr "Betreff" @@ -724,6 +952,24 @@ msgstr "Vorgegebene Gruppe für neue Benutzer" msgid "Enable migration mode" msgstr "Migrationsmodus aktivieren" +msgid "Default group objectclasses" +msgstr "Standard objectclass für Gruppen" + +msgid "Default group objectclasses (comma-separated list)" +msgstr "Standard objectclass für Gruppen (komma-separierte Liste)" + +msgid "Default user objectclasses" +msgstr "Standard objectclass für Benutzer" + +msgid "Default user objectclasses (comma-separated list)" +msgstr "Standard objectclass für Benutzer (komma-separierte Liste)" + +msgid "Password Expiration Notification (days)" +msgstr "Benachrichtigung über den Passwortablauf (Tage)" + +msgid "Number of days's notice of impending password expiration" +msgstr "Anzahl der Tage die vor einem Passwortablauf gewarnt wird" + msgid "Password plugin features" msgstr "Passwort-Plugin-Funktionen" @@ -823,6 +1069,9 @@ msgstr "Vertikale Genauigkeit" msgid "'%(required)s' must not be empty when '%(name)s' is set" msgstr "»%(required)s« darf nicht leer sein, wenn »%(name)s« gesetzt ist." +msgid "Order" +msgstr "Reihenfolge" + msgid "Flags" msgstr "Flags" @@ -838,6 +1087,9 @@ msgstr "Ersetzung" msgid "Priority" msgstr "Priorität" +msgid "Weight" +msgstr "Gewicht" + msgid "Port" msgstr "Port" @@ -898,12 +1150,6 @@ msgstr "Dynamische Aktualisierungen erlauben." msgid "Record name" msgstr "Datensatzname" -msgid "Class" -msgstr "Klasse" - -msgid "DNS class" -msgstr "DNS-Klasse" - msgid "Structured" msgstr "Strukturiert" @@ -961,9 +1207,6 @@ msgstr "Gruppe" msgid "groups" msgstr "Gruppen" -msgid "User Groups" -msgstr "Benutzergruppen" - msgid "User Group" msgstr "Benutzergruppe" @@ -973,9 +1216,6 @@ msgstr "Gruppenname" msgid "Group description" msgstr "Gruppenbeschreibung" -msgid "GID" -msgstr "Gruppen-ID" - msgid "GID (use this option to set it manually)" msgstr "Gruppen-ID (verwenden Sie diese Option, um die ID manuell anzugeben)" @@ -1043,7 +1283,7 @@ msgid "HBAC rules" msgstr "HBAC-Regeln" msgid "HBAC Rules" -msgstr "Es ist nicht erlaubt, Benutzereinträge zu ändern." +msgstr "HBAC-Regeln" msgid "HBAC Rule" msgstr "HBAC-Regel" @@ -1057,23 +1297,29 @@ msgstr "Regeltyp (erlauben)" msgid "Rule type" msgstr "Regeltyp" -msgid "User category" -msgstr "Benutzerkategorie" - msgid "User category the rule applies to" msgstr "Benutzerkategorie, auf welche die Regel angewendet werden soll" -msgid "Host category" -msgstr "Host-Kategorie" - msgid "Host category the rule applies to" msgstr "Host-Kategorie, auf welche die Regel angewendet werden soll" -msgid "Enabled" -msgstr "Aktiviert" +#, python-format +msgid "Added HBAC rule \"%(value)s\"" +msgstr "HBAC-Regel \"%(value)s\" hinzugefügt" -msgid "Services" -msgstr "Dienste" +msgid "Delete an HBAC rule." +msgstr "HBAC-Regel löschen" + +#, python-format +msgid "Deleted HBAC rule \"%(value)s\"" +msgstr "HBAC-Regel \"%(value)s\" gelöscht" + +msgid "Modify an HBAC rule." +msgstr "HBAC-Regel ändern" + +#, python-format +msgid "Modified HBAC rule \"%(value)s\"" +msgstr "HBAC-Regel \"%(value)s\" geändert" msgid "Access time" msgstr "Zugriffszeit" @@ -1105,6 +1351,45 @@ msgstr "Nach HBAC-Diensten suchen." msgid "Display information about an HBAC service." msgstr "Informationen zu einem HBAC-Dienst anzeigen." +msgid "HBAC service group" +msgstr "HBAC-Dienstgruppe" + +msgid "HBAC service groups" +msgstr "HBAC-Dienstgruppen" + +msgid "HBAC Service Groups" +msgstr "HBAC-Dienstgruppen" + +msgid "HBAC Service Group" +msgstr "HBAC-Dienstgruppe" + +msgid "Service group name" +msgstr "Dienstgruppenname" + +msgid "HBAC service group description" +msgstr "Beschreibung der HBAC-Dienstgruppe" + +msgid "Add a new HBAC service group." +msgstr "Eine neue HBAC-Dienstgruppe hinzufügen." + +#, python-format +msgid "Added HBAC service group \"%(value)s\"" +msgstr "HBAC-Dienstgruppe »%(value)s« hinzugefügt" + +msgid "Delete an HBAC service group." +msgstr "HBAC-Dienstgruppe löschen" + +#, python-format +msgid "Deleted HBAC service group \"%(value)s\"" +msgstr "HBAC-Dienstgruppe »%(value)s« gelöscht" + +msgid "Modify an HBAC service group." +msgstr "HBAC-Dienstgruppe bearbeiten" + +#, python-format +msgid "Modified HBAC service group \"%(value)s\"" +msgstr "HBAC-Dienstgruppe »%(value)s« geändert" + msgid "Warning" msgstr "Warnung" @@ -1121,9 +1406,6 @@ msgstr "Zugriff gewährt: %s" msgid "Serial Number" msgstr "Seriennummer" -msgid "SSH public key fingerprint" -msgstr "Fingerabdruck des öffentlichen SSH-Schlüssels" - #, python-format msgid "invalid domain-name: %s" msgstr "Ungültiger Domainname: %s" @@ -1137,9 +1419,6 @@ msgstr "Betriebssystem" msgid "User password" msgstr "Benutzerpasswort" -msgid "Random password" -msgstr "Zufälliges Passwort" - msgid "Principal name" msgstr "Principal-Name" @@ -1155,12 +1434,32 @@ msgstr "Name des zu exportierenden Methode" msgid "Name of command to export" msgstr "Name des zu exportierenden Befehls" +msgid "Actions" +msgstr "Aktionen" + +msgid "Direct Membership" +msgstr "Direkte Migliedschaft" + +msgid "Indirect Membership" +msgstr "Indirekte Mitgliedschaft" + msgid "No entries." msgstr "Keine Einträge." +#, python-brace-format +msgid "Showing ${start} to ${end} of ${total} entries." +msgstr "Zeige ${start} bis ${end} von ${total} Einträgen." + +#, python-brace-format +msgid "${count} item(s) removed" +msgstr "${count} Einträge gelöscht" + msgid "Show Results" msgstr "Ergebnisse anzeigen" +msgid "About" +msgstr "Über" + msgid "Add" msgstr "Hinzufügen" @@ -1173,6 +1472,12 @@ msgstr "Hinzufügen und schließen" msgid "Add and Edit" msgstr "Hinzufügen und bearbeiten" +msgid "Add Many" +msgstr "Mehrere hinzufügen" + +msgid "Back" +msgstr "Zurück" + msgid "Cancel" msgstr "Abbrechen" @@ -1191,11 +1496,14 @@ msgstr "Aktivieren" msgid "Find" msgstr "Suchen" +msgid "Get" +msgstr "Hollen" + msgid "OK" msgstr "OK" msgid "Refresh" -msgstr "Aktualisieren" +msgstr "Neu laden" msgid "Delete" msgstr "Löschen" @@ -1203,14 +1511,23 @@ msgstr "Löschen" msgid "Reset" msgstr "Zurücksetzen" +msgid "Reset Password and Login" +msgstr "Passwort zurücksetzen und Einloggen" + msgid "Restore" msgstr "Wiederherstellen" +msgid "Retry" +msgstr "Erneut versuchen" + msgid "Revoke" msgstr "Widerrufen" +msgid "Set" +msgstr "Setzen" + msgid "Update" -msgstr "Aktualisieren" +msgstr "Speichern" msgid "View" msgstr "Ansicht" @@ -1221,6 +1538,9 @@ msgstr "Alle einklappen" msgid "Expand All" msgstr "Alle aufklappen" +msgid "Identity Settings" +msgstr "Identitätseinstellungen" + msgid "Back to Top" msgstr "Zurück nach oben" @@ -1234,12 +1554,27 @@ msgstr "Verfügbar" msgid "Confirmation" msgstr "Bestätigung" +msgid "This page has unsaved changes. Please save or revert." +msgstr "" +"Diese Seite hat nicht gespeicherte Änderungen. Bitte Speichern oder " +"Rückgängig machen" + msgid "Unsaved Changes" msgstr "Ungespeicherte Änderungen" +#, python-brace-format +msgid "Edit ${entity}" +msgstr "${entity} bearbeiten" + msgid "Hide details" msgstr "Details verbergen" +msgid "Redirection" +msgstr "Umleitung" + +msgid "Select entries to be removed." +msgstr "Einträge zum löschen auswählen." + #, python-brace-format msgid "Remove ${entity}" msgstr "${entity} entfernen" @@ -1265,6 +1600,14 @@ msgstr "Unbekannter Fehler" msgid "URL" msgstr "URL" +#, python-brace-format +msgid "${primary_key} members:" +msgstr "${primary_key} Mitglieder:" + +#, python-brace-format +msgid "${primary_key} is a member of:" +msgstr "${primary_key} ist Mitglied von:" + msgid "Settings" msgstr "Einstellungen" @@ -1274,15 +1617,39 @@ msgstr "Suchen" msgid "Logged In As" msgstr "Angemeldet als" +msgid "Login" +msgstr "Einloggen" + +msgid "Logout" +msgstr "Ausloggen" + +msgid "Logout error" +msgstr "Fehler beim Ausloggen" + +msgid "Sync OTP Token" +msgstr "OTP Token synchronisieren" + msgid "Username" msgstr "Benutzername" +msgid "number of passwords" +msgstr "Anzahl der Passwörter" + +msgid "seconds" +msgstr "Sekunden" + msgid "Attribute" msgstr "Attribut" msgid "Add Rule" msgstr "Regel hinzufügen" +msgid "Default host group" +msgstr "Standard Hostgruppe" + +msgid "Default user group" +msgstr "Standard Benutzergruppe" + msgid "Expression" msgstr "Ausdruck" @@ -1304,6 +1671,9 @@ msgstr "Ausgegeben von" msgid "Issued On" msgstr "Ausgegeben am" +msgid "Issued To" +msgstr "Ausgegeben an" + msgid "MD5 Fingerprint" msgstr "MD5-Fingerabdruck" @@ -1316,6 +1686,9 @@ msgstr "Neues Zertifikat" msgid "Organization" msgstr "Organisation" +msgid "Organizational Unit" +msgstr "Organisationseinheit" + msgid "SHA1 Fingerprint" msgstr "SHA1-Fingerabdruck" @@ -1361,20 +1734,62 @@ msgstr "Jeder Host" msgid "Any Service" msgstr "Jeder Dienst" +msgid "Anyone" +msgstr "Jeder" + +msgid "Accessing" +msgstr "Greift zu" + +msgid "Rule status" +msgstr "Regelstatus" + +msgid "Via Service" +msgstr "Mit Dienst" + +msgid "Specified Hosts and Groups" +msgstr "Spezifische Hosts und Gruppen" + +msgid "Specified Services and Groups" +msgstr "Spezifische Dienste und Gruppen" + +msgid "Specified Users and Groups" +msgstr "Spezifische Benutzer und Gruppen" + +msgid "Who" +msgstr "Wer" + msgid "Access Denied" msgstr "Zugriff verweigert" msgid "Access Granted" msgstr "Zugriff gewährt" +msgid "HBAC Test" +msgstr "HBAC Test" + msgid "New Test" msgstr "Neuer Test" +msgid "Rules" +msgstr "Regeln" + +msgid "Run Test" +msgstr "Test Starten" + +msgid "Host Certificate" +msgstr "Host-Zertifikat" + +msgid "Host Name" +msgstr "Host-Name" + +msgid "Host Settings" +msgstr "Host Einstellungen" + msgid "Kerberos Key" msgstr "Kerberos-Schlüssel" -msgid "User" -msgstr "Benutzer" +msgid "Password Policy" +msgstr "Passwort-Regeln" msgid "Groups" msgstr "Gruppen" @@ -1385,15 +1800,75 @@ msgstr "Befehle" msgid "Allow" msgstr "Erlauben" +msgid "Any Command" +msgstr "Jeder Befehl" + +msgid "Any Group" +msgstr "Jede Gruppe" + msgid "Run Commands" msgstr "Befehle ausführen" msgid "Deny" msgstr "Verweigern" +msgid "Access this host" +msgstr "Zugriff auf diesen Host" + +msgid "Specified Commands and Groups" +msgstr "Spezifische Befehle und Gruppen" + +msgid "Specified Groups" +msgstr "Spezifische Gruppe" + msgid "Account" msgstr "Konto" +msgid "Administrative account" +msgstr "Administratives Konto" + +msgid "Trust Settings" +msgstr "Vertrauenseinstellungen" + +msgid "Domain" +msgstr "Domain" + +msgid "Account Settings" +msgstr "Kontoeinstellungen" + +msgid "Account Status" +msgstr "Kontostatus" + +msgid "Contact Settings" +msgstr "Kontakteinstellungen" + +msgid "Employee Information" +msgstr "Mitarbeiterinformationen" + +msgid "Password expiration" +msgstr "Passwortablauf" + +msgid "Mailing Address" +msgstr "Anschrift" + +msgid "Misc. Information" +msgstr "Weitere Informationen" + +#, python-brace-format +msgid "" +"Are you sure you want to ${action} the user?
The change will take effect " +"immediately." +msgstr "" +"Sind sie sicher, dass sie den Nutzer ${action} möchten?
Die Änderung " +"wird sofort aktiv." + +#, python-brace-format +msgid "Click to ${action}" +msgstr "Klicken um zu ${action}" + +msgid "Unlock" +msgstr "Entsperren" + msgid "Current Password" msgstr "Aktuelles Passwort" @@ -1403,15 +1878,33 @@ msgstr "Aktuelles Passwort ist erforderlich" msgid "New Password" msgstr "Neues Passwort" +msgid "New password is required" +msgstr "Neues Passwort wird benötigt" + +msgid "Password or Password+One-Time-Password" +msgstr "Passwort oder Passwort+Einmalpasswort" + msgid "Password change complete" msgstr "Passwortänderung abgeschlossen" msgid "Passwords must match" msgstr "Passwörter müssen übereinstimmen" +msgid "Password reset was not successful." +msgstr "Passwort konnte nicht zurückgesetzt werden" + msgid "Reset Password" msgstr "Passwort zurücksetzen" +msgid "Reset your password." +msgstr "Passwort zurücksetzen." + +msgid "Second OTP" +msgstr "Zweites OTP" + +msgid "Token ID" +msgstr "Token ID" + msgid "Verify Password" msgstr "Passwort verifizieren" @@ -1421,6 +1914,9 @@ msgstr "Sind Sie sicher, dass Sie die ausgewählten Einträge löschen wollen?" msgid "Some entries were not deleted" msgstr "Einige Einträge wurden nicht gelöscht" +msgid "Quick Links" +msgstr "Schnell Links" + msgid "Select All" msgstr "Alle auswählen" @@ -1430,6 +1926,12 @@ msgstr "Alle abwählen" msgid "Disabled" msgstr "Deaktiviert" +msgid "Working" +msgstr "Arbeite" + +msgid "Authentication" +msgstr "Authentifizierung" + msgid "Automount" msgstr "Automount" @@ -1442,9 +1944,30 @@ msgstr "Identität" msgid "IPA Server" msgstr "IPA-Server" +msgid "Network Services" +msgstr "Netzwerkdienste" + +msgid "Policy" +msgstr "Regeln" + msgid "Sudo" msgstr "Sudo" +msgid "First" +msgstr "Erste" + +msgid "Last" +msgstr "Letzte" + +msgid "Next" +msgstr "Nächste" + +msgid "Page" +msgstr "Seite" + +msgid "Prev" +msgstr "Vorherige" + msgid "Must be an integer" msgstr "Muss eine Ganzzahl sein" @@ -1515,6 +2038,16 @@ msgstr[1] "%(count)d Plugins geladen" msgid "Number of plugins loaded" msgstr "Anzahl der geladenen Plugins" +msgid "Member Host" +msgstr "Mitglieds-Host" + +#, python-format +msgid "Changed password for \"%(value)s\"" +msgstr "Passwort für \"%(value)s\" geändert" + +msgid "Invalid credentials" +msgstr "Ungültige Zugangsdaten" + msgid "PKINIT" msgstr "PKINIT" @@ -1580,6 +2113,12 @@ msgstr "" msgid "Disabled service \"%(value)s\"" msgstr "Dienst »%(value)s« deaktiviert" +#, python-format +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "%(count)d passender Benutzer" +msgstr[1] "%(count)d passende Benutzer" + msgid "commands for controlling sudo configuration" msgstr "Befehle zum Steuern der sudo-Konfiguration" @@ -1681,74 +2220,6 @@ msgstr "Sudo-Regel »%s« wurde deaktiviert." msgid "Realm name" msgstr "Realm-Name" -msgid "Kerberos keys available" -msgstr "Kerberos-Schlüssel verfügbar" - -msgid "User login" -msgstr "Anmeldename" - -msgid "First name" -msgstr "Vorname" - -msgid "Last name" -msgstr "Nachname" - -msgid "Full name" -msgstr "Vollständiger Name" - -msgid "Display name" -msgstr "Angezeigter Name" - -msgid "Initials" -msgstr "Initialen" - -msgid "Home directory" -msgstr "Home-Verzeichnis" - -msgid "Login shell" -msgstr "Anmeldeshell" - -msgid "Kerberos principal" -msgstr "Kerberos-Principal" - -msgid "Email address" -msgstr "Email-Adresse" - -msgid "Generate a random user password" -msgstr "Ein zufälliges Benutzerpasswort erzeugen" - -msgid "UID" -msgstr "UID" - -msgid "User ID Number (system will assign one if not provided)" -msgstr "" -"Benutzer-ID (wird durch das System zugewiesen, falls diese nicht angegeben " -"wird)" - -msgid "Group ID Number" -msgstr "Gruppen-ID" - -msgid "Street address" -msgstr "Straße" - -msgid "City" -msgstr "Ort" - -msgid "State/Province" -msgstr "Staat/Bundesland" - -msgid "ZIP" -msgstr "Postleitzahl" - -msgid "Telephone Number" -msgstr "Telefonnummer" - -msgid "Mobile Telephone Number" -msgstr "Mobiltelefonnummer" - -msgid "Fax Number" -msgstr "Faxnummer" - msgid "Account disabled" msgstr "Konto ist deaktiviert" @@ -1759,10 +2230,6 @@ msgstr "Einen neuen Benutzer hinzufügen." msgid "Added user \"%(value)s\"" msgstr "Benutzer »%(value)s« hinzugefügt" -#, python-format -msgid "can be at most %(len)d characters" -msgstr "darf höchstens %(len)d Zeichen lang sein" - msgid "Delete a user." msgstr "Einen Benutzer löschen." @@ -1780,15 +2247,12 @@ msgstr "Benutzer »%(value)s« geändert" msgid "Search for users." msgstr "Nach Benutzern suchen." +msgid "Self" +msgstr "Selbst" + msgid "Display user record for current Kerberos principal" msgstr "Benutzer-Datensatz für den aktuellen Kerberos-Principal anzeigen" -#, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "%(count)d passender Benutzer" -msgstr[1] "%(count)d passende Benutzer" - msgid "Display information about a user." msgstr "Informationen zu einem Benutzer anzeigen." @@ -1868,10 +2332,6 @@ msgid "Unable to initialize ldap library!\n" msgstr "ldap-Bibliothek konnte nicht initialisiert werden!\n" #, c-format -msgid "Operation failed! %s\n" -msgstr "Operation fehlgeschlagen! %s\n" - -#, c-format msgid "Out of Memory!\n" msgstr "Nicht genügend Speicher!\n" diff --git a/install/po/es.po b/install/po/es.po index 0eaefc8..cb289d4 100644 --- a/install/po/es.po +++ b/install/po/es.po @@ -3,8 +3,8 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Adolfo Jayme Barrientos , 2013 -# Adolfo Jayme Barrientos , 2014 +# Adolfo Jayme Barrientos , 2013 +# Adolfo Jayme Barrientos , 2014 # Eduardo Villagrán M , 2012 # vareli , 2013 # Gladys Guerrero , 2011 @@ -14,19 +14,20 @@ # Petr Viktorin , 2012 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/freeipa/language/" "es/)\n" "Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -170,9 +171,6 @@ msgstr "Un grupo no puede ser agregado como miembro de sí mismo" msgid "The default users group cannot be removed" msgstr "El grupo de usuarios predeterminado no puede ser eliminado" -msgid "Host does not have corresponding DNS A record" -msgstr "El equipo no posee un registro DNS A con el que se corresponda " - msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" "No se permite eliminar un grupo administrado. Primero debe ser desasociado. " @@ -1185,9 +1183,147 @@ msgstr "Tamaño límite" msgid "Maximum number of entries returned" msgstr "Cantidad máxima de entradas obtenidas" +msgid "Kerberos keys available" +msgstr "Claves Kerberos disponibles" + +msgid "Server" +msgstr "Servidor" + +msgid "Failed logins" +msgstr "Inicios de sesión fallidos" + +msgid "User" +msgstr "Usuario" + +msgid "User login" +msgstr "Ingreso de usuario" + +msgid "First name" +msgstr "Nombre" + +msgid "Last name" +msgstr "Apellido" + +msgid "Full name" +msgstr "Nombre y apellidos" + +msgid "Display name" +msgstr "Mostrar nombre" + +msgid "Initials" +msgstr "Iniciales" + +msgid "Home directory" +msgstr "Directorio principal" + +msgid "Login shell" +msgstr "Shell de ingreso" + +msgid "Kerberos principal" +msgstr "Principal kerberos" + +msgid "Email address" +msgstr "Dirección de correo electrónico" + +msgid "Prompt to set the user password" +msgstr "Solicita establecer la contraseña de usuario" + +msgid "Random password" +msgstr "Contraseña aleatoria" + +msgid "UID" +msgstr "UID" + +msgid "User ID Number (system will assign one if not provided)" +msgstr "" +"Número de ID de usuario (el sistema le asignará uno si no se indica ninguno)" + +msgid "GID" +msgstr "GID" + +msgid "Group ID Number" +msgstr "Número de Identificación de Grupo" + +msgid "Street address" +msgstr "Dirección postal" + +msgid "City" +msgstr "Ciudad" + +msgid "State/Province" +msgstr "Estado / Provincia" + +msgid "ZIP" +msgstr "Zona " + +msgid "Telephone Number" +msgstr "Número de teléfono" + +msgid "Mobile Telephone Number" +msgstr "Número de teléfono celular" + +msgid "Pager Number" +msgstr "Número de página" + +msgid "Fax Number" +msgstr "Número de fx" + +msgid "Org. Unit" +msgstr "Unidad. org" + +msgid "Job Title" +msgstr "Cargo" + +msgid "Manager" +msgstr "Manager" + +msgid "Car License" +msgstr "Licencia de conducción" + +msgid "SSH public key" +msgstr "Clave pública SSH" + +msgid "Class" +msgstr "Clase" + +msgid "Certificate" +msgstr "Certificado" + +msgid "Base-64 encoded server certificate" +msgstr "Certificado del servidor codificado con base-64" + +#, python-format +msgid "manager %(manager)s not found" +msgstr "Administrador %(manager)s no encontrado" + +#, python-format +msgid "can be at most %(len)d characters" +msgstr "puede ser a lo sumo%(len)d caracteres" + msgid "Nested Methods to execute" msgstr "Métodos anidados para ejecutar" +msgid "Enabled" +msgstr "Habilitado" + +msgid "User category" +msgstr "Categoría de usuario" + +msgid "Host category" +msgstr "Categoría del equipo" + +msgid "Service category" +msgstr " Añadir servicios a una regla de HBAC" + +msgid "User Groups" +msgstr "Grupos de usuarios" + +msgid "Host Groups" +msgstr "Grupos de equipo" + +msgid "Services" +msgstr "Sevicios HBAC" + #, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "" @@ -1203,16 +1339,9 @@ msgstr "CSR" msgid "Principal" msgstr "Principal" -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "" -"Principal del servicio para este certificado (p.ej. HTTP/prueba.ejemplo.com)" - msgid "automatically add the principal if it doesn't exist" msgstr "si no existe, agregar automáticamente el principal" -msgid "Certificate" -msgstr "Certificado" - msgid "Subject" msgstr "Asunto" @@ -1685,12 +1814,6 @@ msgstr "¿Por cuánto tiempo las respuestas negativas deben guardarse en cache?" msgid "Time to live" msgstr "Tiempo para abandonar" -msgid "SOA class" -msgstr "Clase SOA" - -msgid "SOA record class" -msgstr "Clase de registro SOA " - msgid "BIND update policy" msgstr "Política de actualización de BIND" @@ -1756,12 +1879,6 @@ msgstr "Registro de Recurso de DNS" msgid "Record name" msgstr "Nombre de registro" -msgid "Class" -msgstr "Clase" - -msgid "DNS class" -msgstr "Clase DNS" - msgid "Structured" msgstr "Estructurado" @@ -1843,9 +1960,6 @@ msgstr "grupo" msgid "groups" msgstr "grupos" -msgid "User Groups" -msgstr "Grupos de usuarios" - msgid "User Group" msgstr "Grupo Usuario" @@ -1855,9 +1969,6 @@ msgstr "Nombre del grupo" msgid "Group description" msgstr "Descripción del grupo" -msgid "GID" -msgstr "GID" - msgid "GID (use this option to set it manually)" msgstr "GID (utilice esta opción para definirlo manualmente)" @@ -1952,33 +2063,15 @@ msgstr "Tipo de regla (permitir)" msgid "Rule type" msgstr "Tipo de regla" -msgid "User category" -msgstr "Categoría de usuario" - msgid "User category the rule applies to" msgstr "Categoría de usuario al que se aplica la regla" -msgid "Host category" -msgstr "Categoría del equipo" - msgid "Host category the rule applies to" msgstr "Categoría del equipo al que se aplica la regla" -msgid "Service category" -msgstr " Añadir servicios a una regla de HBAC" - msgid "Service category the rule applies to" msgstr "Categoría de servicio a la que se aplica la regla" -msgid "Enabled" -msgstr "Habilitado" - -msgid "Host Groups" -msgstr "Grupos de equipo" - -msgid "Services" -msgstr "Sevicios HBAC" - msgid "Service Groups" msgstr " Búsqueda de servicios HBAC." @@ -2316,21 +2409,12 @@ msgstr "Contraseña utilizada en el registro bruto" msgid "Generate a random password to be used in bulk enrollment" msgstr "Generar una contraseña aleatoria que se utilizará en la inscripción " -msgid "Random password" -msgstr "Contraseña aleatoria" - -msgid "Base-64 encoded server certificate" -msgstr "Certificado del servidor codificado con base-64" - msgid "Principal name" msgstr "Nombre principal" msgid "MAC address" msgstr "Dirección MAC" -msgid "SSH public key" -msgstr "Clave pública SSH" - msgid "Add a new host." msgstr "Añadir un n uevo host." @@ -2393,10 +2477,6 @@ msgstr "Mostrar información sobre un host." msgid "file to store certificate in" msgstr "archivo para almacenar" -#, python-format -msgid "Certificate stored in file '%(file)s'" -msgstr "Certificado almacenado en el archivo '%(file)s'" - msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "" "Deshabilitar la clave Kerberos, el certificado SSL y todos los servicios de " @@ -3125,9 +3205,6 @@ msgstr " Política de tiquete de Kerberos" msgid "Netgroup Settings" msgstr "Configuración de Netgroup" -msgid "User" -msgstr "Usuario" - msgid "Privilege Settings" msgstr "Configuración de privilegios" @@ -3316,12 +3393,6 @@ msgstr "Página" msgid "Prev" msgstr "Anterior" -msgid "undo" -msgstr "deshacer" - -msgid "undo all" -msgstr "deshacer todo" - msgid "Text does not match field pattern" msgstr "El texto no coincide con el patrón de campo" @@ -3707,9 +3778,6 @@ msgstr "Añadir miembros a un grupo de red." msgid "Remove members from a netgroup." msgstr "Borrar miembros de un grupo de red." -msgid "Manager" -msgstr "Manager" - msgid "" "\n" "Set a user's password\n" @@ -4147,9 +4215,6 @@ msgstr "Ofrece la política efectiva para un determinado usuario" msgid "Search for group password policies." msgstr "Buscar grupo de políticas de contraseña." -msgid "Server" -msgstr "Servidor" - msgid "role" msgstr "rol" @@ -4325,6 +4390,12 @@ msgstr "Deshabilitar la clave Kerberos y el certificado SSL de un servicio." msgid "Disabled service \"%(value)s\"" msgstr "Servicio inhabilitado \"%(value)s\"" +#, python-format +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "%(count)d usuario coincidente" +msgstr[1] "%(count)d usuarios coincidentes" + msgid "" "\n" "Sudo Commands\n" @@ -4651,95 +4722,9 @@ msgstr "Nombre" msgid "SID" msgstr "SID" -msgid "Kerberos keys available" -msgstr "Claves Kerberos disponibles" - -msgid "Failed logins" -msgstr "Inicios de sesión fallidos" - -msgid "User login" -msgstr "Ingreso de usuario" - -msgid "First name" -msgstr "Nombre" - -msgid "Last name" -msgstr "Apellido" - -msgid "Full name" -msgstr "Nombre y apellidos" - -msgid "Display name" -msgstr "Mostrar nombre" - -msgid "Initials" -msgstr "Iniciales" - -msgid "Home directory" -msgstr "Directorio principal" - -msgid "Login shell" -msgstr "Shell de ingreso" - -msgid "Kerberos principal" -msgstr "Principal kerberos" - -msgid "Email address" -msgstr "Dirección de correo electrónico" - -msgid "Prompt to set the user password" -msgstr "Solicita establecer la contraseña de usuario" - -msgid "UID" -msgstr "UID" - -msgid "User ID Number (system will assign one if not provided)" -msgstr "" -"Número de ID de usuario (el sistema le asignará uno si no se indica ninguno)" - -msgid "Group ID Number" -msgstr "Número de Identificación de Grupo" - -msgid "Street address" -msgstr "Dirección postal" - -msgid "City" -msgstr "Ciudad" - -msgid "State/Province" -msgstr "Estado / Provincia" - -msgid "ZIP" -msgstr "Zona " - -msgid "Telephone Number" -msgstr "Número de teléfono" - -msgid "Mobile Telephone Number" -msgstr "Número de teléfono celular" - -msgid "Pager Number" -msgstr "Número de página" - -msgid "Fax Number" -msgstr "Número de fx" - -msgid "Org. Unit" -msgstr "Unidad. org" - -msgid "Job Title" -msgstr "Cargo" - -msgid "Car License" -msgstr "Licencia de conducción" - msgid "Account disabled" msgstr "Cuenta inhabilitada " -#, python-format -msgid "manager %(manager)s not found" -msgstr "Administrador %(manager)s no encontrado" - msgid "Add a new user." msgstr "Añadir un nuevo usuario." @@ -4750,10 +4735,6 @@ msgstr "Ha sido agregado el usuario \"%(value)s\"" msgid "Don't create user private group" msgstr "No crear grupo privado de usuario" -#, python-format -msgid "can be at most %(len)d characters" -msgstr "puede ser a lo sumo%(len)d caracteres" - msgid "Delete a user." msgstr "Borrar un usuario." @@ -4777,12 +4758,6 @@ msgstr "Self" msgid "Display user record for current Kerberos principal" msgstr "Muestra el registro del usuario para el principal de Kerberos actual" -#, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "%(count)d usuario coincidente" -msgstr[1] "%(count)d usuarios coincidentes" - msgid "Display information about a user." msgstr "Mostrar información sobre un usuario." @@ -4908,10 +4883,6 @@ msgid "Simple bind failed\n" msgstr "¡Falló vinculación sencilla!\n" #, c-format -msgid "Operation failed! %s\n" -msgstr "¡Falló operación! %s\n" - -#, c-format msgid "Missing reply control!\n" msgstr "¡Falta control de respuesta!\n" @@ -4927,10 +4898,6 @@ msgstr "¡Falló crear control!\n" msgid "ber_init() failed, Invalid control ?!\n" msgstr "Falló ber_init(), ¿control inválido?\n" -#, c-format -msgid "Out of memory!\n" -msgstr "¡Memoria insuficiente!\n" - msgid "New Principal Password" msgstr "Nueva contraseña principal" @@ -5094,6 +5061,10 @@ msgid "IPA namingContext not found\n" msgstr "IPA namingContext no encontrado \n" #, c-format +msgid "Out of memory!\n" +msgstr "¡Memoria insuficiente!\n" + +#, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "Búsqueda de ipaCertificateSubjectBase falló con error %d" diff --git a/install/po/eu.po b/install/po/eu.po index 5a93388..27ce7b1 100644 --- a/install/po/eu.po +++ b/install/po/eu.po @@ -6,19 +6,20 @@ # Asier Iturralde Sarasola , 2012 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Basque (http://www.transifex.com/projects/p/freeipa/language/" "eu/)\n" "Language: eu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" #, c-format msgid "Passwords do not match!" @@ -133,9 +134,66 @@ msgstr "Berrizendatu" msgid "Rename the %(ldap_obj_name)s object" msgstr "%(ldap_obj_name)s objektua berrizendatu" +msgid "User" +msgstr "Erabiltzailea" + +msgid "First name" +msgstr "Izena" + +msgid "Last name" +msgstr "Abizena" + +msgid "Full name" +msgstr "Izen osoa" + +msgid "Display name" +msgstr "Bistaratu izena" + +msgid "Email address" +msgstr "E-posta helbidea" + +msgid "Random password" +msgstr "Ausazko pasahitza" + +msgid "UID" +msgstr "UID" + +msgid "Street address" +msgstr "Kalea" + +msgid "Telephone Number" +msgstr "Telefono-zenbakia" + +msgid "Mobile Telephone Number" +msgstr "Mugikor-zenbakia" + +msgid "Pager Number" +msgstr "Bilagailu-zenbakia" + +msgid "Fax Number" +msgstr "Fax-zenbakia" + +msgid "Manager" +msgstr "Kudeatzailea" + +msgid "Class" +msgstr "Klasea" + msgid "Certificate" msgstr "Ziurtagiria" +msgid "Enabled" +msgstr "Gaituta" + +msgid "User Groups" +msgstr "Erabiltzaile-taldeak" + +msgid "Host Groups" +msgstr "Ostalari-taldeak" + +msgid "Services" +msgstr "Zerbitzuak" + msgid "Subject" msgstr "Gaia" @@ -205,18 +263,12 @@ msgstr "Administratzailearen e-posta helbidea" msgid "Force" msgstr "Behartu" -msgid "Class" -msgstr "Klasea" - msgid "group" msgstr "taldea" msgid "groups" msgstr "taldeak" -msgid "User Groups" -msgstr "Erabiltzaile-taldeak" - msgid "User Group" msgstr "Erabiltzaile-taldea" @@ -244,15 +296,6 @@ msgstr "HBAC arauak" msgid "Rule type" msgstr "Arau-mota" -msgid "Enabled" -msgstr "Gaituta" - -msgid "Host Groups" -msgstr "Ostalari-taldeak" - -msgid "Services" -msgstr "Zerbitzuak" - msgid "Service Groups" msgstr "Zerbitzu-taldeak" @@ -292,9 +335,6 @@ msgstr "Ostalariaren sistema eragilea eta bertsioa (adibidez, \"Fedora 9\")" msgid "User password" msgstr "Erabiltzailearen pasahitza" -msgid "Random password" -msgstr "Ausazko pasahitza" - #, python-format msgid "Added host \"%(value)s\"" msgstr "\"%(value)s\" ostalaria gehituta" @@ -389,9 +429,6 @@ msgstr "Ostalari-izena" msgid "Set OTP" msgstr "Ezarri OTP" -msgid "User" -msgstr "Erabiltzailea" - msgid "Groups" msgstr "Taldeak" @@ -446,9 +483,6 @@ msgstr "LDAP URI baliogabea." msgid "NIS domain name" msgstr "NIS domeinu-izena" -msgid "Manager" -msgstr "Kudeatzailea" - msgid "PKINIT" msgstr "PKINIT" @@ -484,39 +518,6 @@ msgstr "Exekutatu kanpoko talde bezala" msgid "Sudo Option" msgstr "Sudo aukera" -msgid "First name" -msgstr "Izena" - -msgid "Last name" -msgstr "Abizena" - -msgid "Full name" -msgstr "Izen osoa" - -msgid "Display name" -msgstr "Bistaratu izena" - -msgid "Email address" -msgstr "E-posta helbidea" - -msgid "UID" -msgstr "UID" - -msgid "Street address" -msgstr "Kalea" - -msgid "Telephone Number" -msgstr "Telefono-zenbakia" - -msgid "Mobile Telephone Number" -msgstr "Mugikor-zenbakia" - -msgid "Pager Number" -msgstr "Bilagailu-zenbakia" - -msgid "Fax Number" -msgstr "Fax-zenbakia" - #, python-format msgid "Added user \"%(value)s\"" msgstr "\"%(value)s\" erabiltzailea gehituta" diff --git a/install/po/fr.po b/install/po/fr.po index 0366129..6451c45 100644 --- a/install/po/fr.po +++ b/install/po/fr.po @@ -4,27 +4,31 @@ # # Translators: # Automatically generated, 2010 -# Gé Baylard , 2013 -# Gé Baylard , 2013 +# Gé Baylard , 2013 +# Gé Baylard , 2013 # Gé Baylard <>, 2013 +# Gé Baylard , 2014 # Jérôme Fenal , 2011-2014 # Jérôme Fenal , 2011 # Petr Viktorin , 2013-2014 +# Jérôme Fenal , 2015. #zanata +# dominique , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" -"Last-Translator: Petr Viktorin \n" -"Language-Team: French (http://www.transifex.com/projects/p/freeipa/language/" -"fr/)\n" -"Language: fr\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2015-07-05 06:21-0400\n" +"Last-Translator: Jérôme Fenal \n" +"Language-Team: French (http://www.transifex.com/projects/p/freeipa/language/" +"fr/)\n" +"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -70,16 +74,16 @@ msgstr "Pas de fichier à lire" msgid "A string searched in all relevant object attributes" msgstr "" -"Une chaîne de caractère recherchées dans tous les attributs d'objets " +"Une chaîne de caractères recherchée dans tous les attributs d'objets " "pertinents" #, python-format msgid "%(cver)s client incompatible with %(sver)s server at '%(server)s'" -msgstr "Client %(cver)s incompatible avec un serveur %(sver)s à « %(server)s »" +msgstr "Client %(cver)s incompatible avec le serveur %(sver)s à « %(server)s »" #, python-format msgid "unknown error %(code)d from %(server)s: %(error)s" -msgstr "Code erreur inconnu %(code)d renvoyé par %(server)s: %(error)s" +msgstr "Erreur %(code)d inconnue renvoyée par %(server)s : %(error)s" msgid "an internal error has occurred" msgstr "une erreur interne est survenue" @@ -106,44 +110,44 @@ msgstr "Requête JSON-RPC invalide : %(error)s" #, python-format msgid "error marshalling data for XML-RPC transport: %(error)s" -msgstr "erreur au triage des données du transport XML-RPC : %(error)s" +msgstr "erreur de conversion des données lors du transport XML-RPC : %(error)s" #, python-format msgid "Missing or invalid HTTP Referer, %(referer)s" -msgstr "Referer HTTP manquant ou invalide, %(referer)s" +msgstr "Référence HTTP manquante ou invalide, %(referer)s" #, python-format msgid "Kerberos error: %(major)s/%(minor)s" msgstr "Erreur Kerberos : %(major)s/%(minor)s" msgid "did not receive Kerberos credentials" -msgstr "n'ai pas reçu les crédits Kerberos" +msgstr "Justificatifs Kerberos non reçus" #, python-format msgid "Service '%(service)s' not found in Kerberos database" msgstr "Service « %(service)s » introuvable dans la base de données Kerberos" msgid "No credentials cache found" -msgstr "Cache de crédits introuvable" +msgstr "Cache des justificatifs d'identité introuvable" msgid "Ticket expired" -msgstr "Ticket expiré" +msgstr "Ticket périmé" msgid "Credentials cache permissions incorrect" -msgstr "Permissions du cache de crédit incorrectes" +msgstr "Droits d'accès incorrects au cache des justificatifs d'identité" msgid "Bad format in credentials cache" -msgstr "Mauvais format de cache de crédit" +msgstr "Mauvais format de cache des justificatifs d'identité" msgid "Cannot resolve KDC for requested realm" -msgstr "Impossible de trouver le KDC pour le domaine demandé" +msgstr "Impossible de résoudre le KDC pour le domaine demandé" msgid "Session error" msgstr "Erreur de session" #, python-format msgid "Principal %(principal)s cannot be authenticated: %(message)s" -msgstr "Le principal %(principal)s n'a pû être authentifié : %(message)s" +msgstr "Le principal %(principal)s n'a pas pu être authentifié : %(message)s" #, python-format msgid "Insufficient access: %(info)s" @@ -173,16 +177,16 @@ msgstr "« %(name)s » invalide : %(error)s" #, python-format msgid "api has no such namespace: '%(name)s'" -msgstr "l'API ne possède pas cet espace de nom : « %(name)s »" +msgstr "l'API n'a pas un tel espace de noms : « %(name)s »" msgid "Passwords do not match" msgstr "Les mots de passe ne correspondent pas" msgid "Command not implemented" -msgstr "Commande non développée" +msgstr "Commande non implémentée" msgid "Client is not configured. Run ipa-client-install." -msgstr "Le client n'est pas configuré. Lancer la commande ipa-client-install." +msgstr "Le client n'est pas configuré. Lancer « ipa-client-install »." #, python-format msgid "Could not get %(name)s interactively" @@ -190,7 +194,13 @@ msgstr "Impossible d'obtenir %(name)s de façon interactive" #, python-format msgid "Command '%(name)s' has been deprecated" -msgstr "La commande « %(name)s » est maintenant obsolète." +msgstr "La commande « %(name)s » a été abandonnée." + +#, python-format +msgid "Domain '%(domain)s' is not a root domain for forest '%(forest)s'" +msgstr "" +"Le domaine « %(domain)s » n'est pas un domaine racine pour la forêt " +"« %(forest)s »" #, python-format msgid "%(reason)s" @@ -215,7 +225,7 @@ msgid "" msgstr "Le domaine du principal ne correspond pas au domaine de ce serveur IPA" msgid "This command requires root access" -msgstr "Cette commande requiert des droits root" +msgstr "Cette commande requiert un accès administrateur" msgid "This is already a posix group" msgstr "Ce groupe est déjà de type POSIX" @@ -244,7 +254,7 @@ msgstr "Cette entrée est déjà membre" #, python-format msgid "Base64 decoding failed: %(reason)s" -msgstr "Échec de décodage base64 : %(reason)s" +msgstr "Échec du décodage « base64 » : %(reason)s" msgid "A group may not be added as a member of itself" msgstr "Un groupe ne peut être ajouté comme membre de lui-même" @@ -252,15 +262,15 @@ msgstr "Un groupe ne peut être ajouté comme membre de lui-même" msgid "The default users group cannot be removed" msgstr "Le groupe par défaut ne peut être supprimé" -msgid "Host does not have corresponding DNS A record" -msgstr "Un système doit avoir un enregistrement DNS A correspondant" +msgid "Host does not have corresponding DNS A/AAAA record" +msgstr "L'hôte n'a pas d'enregistrement DNS de type A/AAAA correspondant" msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" "La suppression d'un groupe géré est interdite. Il doit d'abord être détaché." msgid "A managed group cannot have a password policy." -msgstr "Un groupe géré ne peut avoir de politique de mot de passe." +msgstr "Un groupe géré ne peut pas avoir de politique de mot de passe." #, python-format msgid "'%(entry)s' doesn't have a certificate." @@ -276,8 +286,8 @@ msgid "" "A problem was encountered when verifying that all members were %(verb)s: " "%(exc)s" msgstr "" -"Un problème est survenu lors de la vérification que tous les membres étaient " -"des %(verb)s: %(exc)s" +"Un problème est survenu en vérifiant que tous les membres étaient %(verb)s : " +"%(exc)s" #, python-format msgid "%(attr)s does not contain '%(value)s'" @@ -287,25 +297,25 @@ msgstr "%(attr)s ne contient pas '%(value)s'" msgid "" "The search criteria was not specific enough. Expected 1 and found %(found)d." msgstr "" -"Le critère de recherche n'est pas suffisamment spécifique. Une valeur " -"attendue, mais %(found)d trouvées." +"Le critère de recherche n'est pas suffisamment précis. Une valeur attendue, " +"mais %(found)d trouvées." msgid "This group already allows external members" msgstr "Ce groupe autorise déjà des membres externes" msgid "This group cannot be posix because it is external" -msgstr "Ce groupe ne peut être de type posix car il est externe" +msgstr "Ce groupe ne peut être de type POSIX car il est externe" msgid "This is already a posix group and cannot be converted to external one" msgstr "" -"Ce groupe est déjà de type posix et ne peut être converti en groupe externe" +"Ce groupe est déjà de type POSIX et ne peut être converti en groupe externe" #, python-format msgid "no command nor help topic '%(topic)s'" msgstr "pas de commande ou de sujet d'aide pour « %(topic)s »" msgid "change collided with another change" -msgstr "la modification a subit un collision avec une autre" +msgstr "la modification s'est heurtée à une autre" msgid "no modifications to be performed" msgstr "pas de modification à effectuer" @@ -322,7 +332,7 @@ msgid "%(info)s" msgstr "%(info)s" msgid "modifying primary key is not allowed" -msgstr "la modification de clé primaire n'est pas autorisée" +msgstr "la modification de clé principale n'est pas autorisée" #, python-format msgid "%(attr)s: Only one value allowed." @@ -337,18 +347,28 @@ msgid "Bad search filter %(info)s" msgstr "Filtre de recherche invalide %(info)s" msgid "Not allowed on non-leaf entry" -msgstr "Interdit sur une entrée de type nœud" +msgstr "Interdit sur une entrée qui n'est pas une feuille" msgid "LDAP timeout" msgstr "Délai d'expiration LDAP" #, python-format +msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" +msgstr "" +"Échec de vérification du DNS : {%(expected)s} attendu, {%(got)s} obtenu" + +#, python-format +msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" +msgstr "" +"Délai échu pour la tâche LDAP %(task)s, DN de la tâche : « %(task_dn)s »" + +#, python-format msgid "Certificate operation cannot be completed: %(error)s" -msgstr "L'opération sur le certification ne peut être effectuée : %(error)s" +msgstr "L'opération de certification ne peut être effectuée : %(error)s" #, python-format msgid "Certificate format error: %(error)s" -msgstr "Erreur de format de certificate : %(error)s" +msgstr "Erreur de format de certificat : %(error)s" msgid "Already registered" msgstr "Déjà enregistré" @@ -359,7 +379,7 @@ msgstr "Pas encore enregistré" #, python-format msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" msgstr "" -"%(key)s ne peut être supprimé car %(label)s %(dependent)s en dépendent" +"%(key)s ne peut pas être supprimé car %(label)s %(dependent)s le requiert" #, python-format msgid "" @@ -367,7 +387,7 @@ msgid "" "%(label)s %(container)s" msgstr "" "%(key)s ne peut être supprimé ou désactivé étant le dernier membre de " -"l'objet %(container)s %(label)s" +"%(container)s %(label)s" #, python-format msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" @@ -378,7 +398,7 @@ msgid "%(name)s certificate is not valid" msgstr "le certificat %(name)s est invalide" msgid "Results are truncated, try a more specific search" -msgstr "Résultats tronqués, essayer un recherche plus spécifique" +msgstr "Résultats tronqués, essayer un recherche plus précise" #, python-format msgid "Unknown option: %(option)s" @@ -387,18 +407,17 @@ msgstr "Option inconnue : %(option)s" msgid "" "Retrieve and print all attributes from the server. Affects command output." msgstr "" -"Récupérer et imprimer tous les attributs du serveur. Affecte la sortie " -"standard de la commande." +"Récupérer et afficher tous les attributs à partir du serveur. Affecte la " +"sortie de la commande." msgid "Print entries as stored on the server. Only affects output format." msgstr "" -"Imprimer les entrées telles que stockées sur le serveur. Affecte uniquement " -"le format de sortie." +"Afficher les entrées telles qu'enregistrées sur le serveur. Affecte " +"uniquement le format de sortie." msgid "Client version. Used to determine if server will accept request." msgstr "" -"Version du client. Utilisée pour déterminer si le serveur acceptera la " -"requête." +"Version client. Utilisée pour déterminer si le serveur accepte la requête." msgid "Forward to server instead of running locally" msgstr "Transférer au serveur au lieu d'exécuter localement" @@ -411,12 +430,84 @@ msgid "" "API Version number was not sent, forward compatibility not guaranteed. " "Assuming server's API version, %(server_version)s" msgstr "" -"Le serveur n'a pas envoyé de version d'API, la compatibilité ascendante " -"n'est pas garantie. On part du principe que la version de l'API est " -"%(server_version)s" +"Le numéro de version de l'API n'a pas été envoyé, la compatibilité " +"ascendante n'est pas garantie. La version de l'API du serveur est supposée " +"être %(server_version)s" + +msgid "" +"DNS forwarder semantics changed since IPA 4.0.\n" +"You may want to use forward zones (dnsforwardzone-*) instead.\n" +"For more details read the docs." +msgstr "" +"La sémantique de transfert DNS a été modifié depuis IPA 4.0.\n" +"Utilisez à la place les zones de transfert (dnsforwardzone-*).\n" +"Pour plus de détails, lisez la documentation." + +#, python-format +msgid "" +"DNSSEC support is experimental.\n" +"%(additional_info)s" +msgstr "" +"La prise en charge de DNSSEC est expérimentale.\n" +"%(additional_info)s" + +#, python-format +msgid "'%(option)s' option is deprecated. %(additional_info)s" +msgstr "L'option « %(option)s » est obsolète. %(additional_info)s" + +#, python-format +msgid "" +"Semantic of %(label)s was changed. %(current_behavior)s\n" +"%(hint)s" +msgstr "" +"La sémantique de %(label)s a changé. %(current_behavior)s\n" +"%(hint)s" + +#, python-format +msgid "DNS server %(server)s: %(error)s." +msgstr "Serveur DNS %(server)s : %(error)s." + +#, python-format +msgid "" +"DNS server %(server)s does not support DNSSEC: %(error)s.\n" +"If DNSSEC validation is enabled on IPA server(s), please disable it." +msgstr "" +"Le serveur DNS %(server)s ne prend pas en charge : %(error)s.\n" +"Si la validation DNSSEC est activée sur le ou les serveurs IPA, merci de la " +"désactiver." + +#, python-format +msgid "" +"forward zone \"%(fwzone)s\" is not effective because of missing proper NS " +"delegation in authoritative zone \"%(authzone)s\". Please add NS record " +"\"%(ns_rec)s\" to parent zone \"%(authzone)s\"." +msgstr "" +"La zone forward « %(fwzone)s » n'est pas en fonction car il lui manque une " +"délégation NS correcte dans la zone faisant autorité « %(authzone)s ». Merci " +"d'ajouter les enregistrement NS « %(ns_rec)s » à la zone « %(authzone)s »." + +#, python-format +msgid "" +"DNS server %(server)s does not support EDNS0 (RFC 6891): %(error)s.\n" +"If DNSSEC validation is enabled on IPA server(s), please disable it." +msgstr "" +"Le serveur DNS %(server)s ne prend pas en charge EDNS0 (RFC 6891) : " +"%(error)s.\n" +"Si la validation DNSSEC est activée sur le ou les serveurs, merci de la " +"désactiver." + +#, python-format +msgid "" +"DNSSEC validation failed: %(error)s.\n" +"Please verify your DNSSEC configuration or disable DNSSEC validation on all " +"IPA servers." +msgstr "" +"Échec de la validation DNSSEC : %(error)s.\n" +"Merci de vérifier votre configuration DNSSEC ou de désactiver la validation " +"DNSSEC sur tous les serveurs IPA." msgid "A dictionary representing an LDAP entry" -msgstr "Un dictionnaire représente une entrée LDAP" +msgstr "Un annuaire représentant une entrée LDAP" msgid "A list of LDAP entries" msgstr "Une liste d'entrées LDAP" @@ -428,7 +519,9 @@ msgid "User-friendly description of action performed" msgstr "Description intelligible de l'action effectuée" msgid "The primary_key value of the entry, e.g. 'jdoe' for a user" -msgstr "La clé primaire de l'entrée, par ex. 'jdoe' pour un utilisateur" +msgstr "" +"La valeur de la clé principale de l'entrée, par ex. « jdoe » pour un " +"utilisateur" msgid "Number of entries returned" msgstr "Nombre d'entrées renvoyées" @@ -437,7 +530,7 @@ msgid "True if not all results were returned" msgstr "Vrai si tous les résultats n'ont pas été renvoyés" msgid "List of deletions that failed" -msgstr "Liste des suppressions en échec" +msgstr "Liste des suppressions ayant échoué" msgid "True means the operation was successful" msgstr "Vrai signifie que l'opération a réussi" @@ -449,7 +542,7 @@ msgid "Only one value is allowed" msgstr "Une seule valeur est autorisée" msgid "must be True or False" -msgstr "doit être True ou False" +msgstr "doit être « True » ou « False »" msgid "must be an integer" msgstr "doit être un nombre entier" @@ -478,15 +571,15 @@ msgid "" "number class '%(cls)s' is not included in a list of allowed number classes: " "%(allowed)s" msgstr "" -"La classe de nombres '%(cls)s' ne fait pas partie d'une classe autorisée : " -"%(allowed)s" +"La classe de nombres « %(cls)s » n'est pas dans la liste des classes de " +"nombres autorisées : %(allowed)s" #, python-format msgid "must match pattern \"%(pattern)s\"" msgstr "doit correspondre au motif « %(pattern)s »" msgid "must be binary data" -msgstr "doit être des données binaires" +msgstr "doivent être des données binaires" #, python-format msgid "must be at least %(minlength)d bytes" @@ -501,10 +594,10 @@ msgid "must be exactly %(length)d bytes" msgstr "doit être d'exactement %(length)d octets" msgid "must be Unicode text" -msgstr "doit être du texte Unicode" +msgstr "doit être un texte Unicode" msgid "Leading and trailing spaces are not allowed" -msgstr "Les espaces de début et de fin ne sont pas autorisés" +msgstr "Les espaces de début et de fin ne sont pas autorisées" #, python-format msgid "must be at least %(minlength)d characters" @@ -533,6 +626,9 @@ msgstr "doit être une valeur parmi %(values)s" msgid "must be datetime value" msgstr "doit être une valeur date/heure" +msgid "does not match any of accepted formats: " +msgstr "ne correspond à aucun des formats acceptés :" + msgid "incomplete time value" msgstr "valeur de temps incomplète" @@ -540,22 +636,7 @@ msgid "this option is deprecated" msgstr "cette option est obsolète" msgid "must be DNS name" -msgstr "doit être un nom DNS" - -msgid "invalid escape code in domain name" -msgstr "code d'échappement invalide dans le nom de domaine" - -msgid "empty DNS label" -msgstr "libellé DNS vide" - -msgid "domain name cannot be longer than 255 characters" -msgstr "le nom de domaine ne peut excéder 255 caractères" - -msgid "DNS label cannot be longer than 63 characters" -msgstr "un libellé DNS ne peut excéder 63 caractères" - -msgid "invalid domain name" -msgstr "nom de domaine invalide" +msgstr "doit être un nom de DNS" msgid "must be absolute" msgstr "doit être absolu" @@ -567,7 +648,8 @@ msgid "A list of ACI values" msgstr "Une liste de valeurs d'ACI" msgid "type, filter, subtree and targetgroup are mutually exclusive" -msgstr "type, filter, subtree et targetgroup sont mutuellement exclusifs" +msgstr "" +"« type », « filter », « subtree » et « targetgroup » s'excluent mutuellement" msgid "ACI prefix is required" msgstr "Un préfixe ACI est requis" @@ -576,17 +658,17 @@ msgid "" "at least one of: type, filter, subtree, targetgroup, attrs or memberof are " "required" msgstr "" -"au moins un parmi type, filter, subtree, targetgroup, attrs ou memberof est " -"requis" +"au moins un parmi « type », « filter », « subtree », « targetgroup », " +"« attrs » ou « memberof » est requis" msgid "filter and memberof are mutually exclusive" -msgstr "filter et memberof sont mutuellement exclusifs" +msgstr "« filter » et « memberof » s'excluent mutuellement" msgid "group, permission and self are mutually exclusive" -msgstr "group, permission et self sont mutuellement exclusifs" +msgstr "« group », « permission » et « self » s'excluent mutuellement" msgid "One of group, permission or self is required" -msgstr "Un parmi group, permission ou self est requis" +msgstr "Un parmi « group », « permission » ou « self » est requis" #, python-format msgid "Group '%s' does not exist" @@ -605,17 +687,17 @@ msgstr "DN invalide (%s)" #, python-format msgid "ACI with name \"%s\" not found" -msgstr "ACI nommée « %s » introuvable" +msgstr "ACI de nom « %s » introuvable" msgid "ACI prefix" -msgstr "Préfixe ACI" +msgstr "Préfixe d'ACI" msgid "" "Prefix used to distinguish ACI types (permission, delegation, selfservice, " "none)" msgstr "" -"Préfixe utilisé pour distinguer les types d'ACI (permission, delegation, " -"selfservice, none)" +"Préfixe utilisé pour distinguer les types d'ACI (« permission », " +"« delegation », « selfservice », « none »)" msgid "ACIs" msgstr "ACI" @@ -627,19 +709,20 @@ msgid "Permission" msgstr "Permission" msgid "Permission ACI grants access to" -msgstr "L'ACI Permission donne accès à" +msgstr "L'ACI « permission » permet un accès à" msgid "User group" msgstr "Groupe d'utilisateurs" msgid "User group ACI grants access to" -msgstr "L'ACI groupe utilisateur donne accès à" +msgstr "L'ACI d'un groupe utilisateur permet un accès à" msgid "Permissions" msgstr "Permissions" msgid "Permissions to grant(read, write, add, delete, all)" -msgstr "Permissions à accorder (read, write, add, delete, all)" +msgstr "" +"Permissions à accorder (« read », « write », « add », « delete », « all »)" msgid "Attributes to which the permission applies" msgstr "Attributs auxquels les permissions s'appliquent" @@ -651,7 +734,9 @@ msgid "Type" msgstr "Type" msgid "type of IPA object (user, group, host, hostgroup, service, netgroup)" -msgstr "type d'objet IPA (user, group, host, hostgroup, service, netgroup)" +msgstr "" +"type d'objet IPA (« user », « group », « host », « hostgroup », « service », " +"« netgroup »)" msgid "Member of" msgstr "Membre de" @@ -669,43 +754,43 @@ msgid "Subtree" msgstr "Sous-arbre" msgid "Subtree to apply ACI to" -msgstr "Sous-arbre sur lequel appliquer l'ACI" +msgstr "Sous-arbre auquel appliquer l'ACI" msgid "Target group" msgstr "Groupe cible" msgid "Group to apply ACI to" -msgstr "Groupe sur lequel appliquer l'ACI" +msgstr "Groupe auquel appliquer l'ACI" msgid "Target your own entry (self)" -msgstr "Cibler votre propre entrée (self)" +msgstr "Cibler votre propre entrée (« self »)" msgid "Apply ACI to your own entry (self)" -msgstr "Appliquer l'ACI à votre propre entrée (self)" +msgstr "Appliquer l'ACI à votre propre entrée (« self »)" #, python-format msgid "Created ACI \"%(value)s\"" -msgstr "ACI créée « %(value)s »" +msgstr "ACI « %(value)s » créée" msgid "Test the ACI syntax but don't write anything" msgstr "Tester la syntaxe de l'ACI, sans rien écrire" #, python-format msgid "Deleted ACI \"%(value)s\"" -msgstr "Deleted ACI « %(value)s »" +msgstr "ACI « %(value)s » supprimée" msgid "ACI" msgstr "ACI" #, python-format msgid "Modified ACI \"%(value)s\"" -msgstr "ACI modifiée « %(value)s »" +msgstr "ACI « %(value)s » modifiée" #, python-format msgid "%(count)d ACI matched" msgid_plural "%(count)d ACIs matched" -msgstr[0] "%(count)d ACI correspondantes" -msgstr[1] "%(count)d ACI correspondantes" +msgstr[0] "%(count)d ACI correspondant" +msgstr[1] "%(count)d ACI correspondant" msgid "Location of the ACI" msgstr "Emplacement de l'ACI" @@ -726,16 +811,289 @@ msgstr "" msgid "" "\n" +"Bring clarity to the membership of hosts and users by configuring inclusive\n" +"or exclusive regex patterns, you can automatically assign a new entries " +"into\n" +"a group or hostgroup based upon attribute information.\n" +msgstr "" +"\n" +"Clarifie l'adhésion d'hôtes et d'utilisateurs en configurant des motifs\n" +"« regex » d'inclusion ou exclusion à assigner automatiquement aux nouvelles\n" +"entrées dans un groupe ou un groupe d'hôtes selon l'information d'attribut.\n" + +msgid "" +"\n" +"A rule is directly associated with a group by name, so you cannot create\n" +"a rule without an accompanying group or hostgroup.\n" +msgstr "" +"\n" +"Une règle est directement associée à un groupe par le nom, donc il n'est " +"pas\n" +"possible de créer une règle sans groupe ou groupe d'hôtes d'accompagnement.\n" + +msgid "" +"\n" +"A condition is a regular expression used by 389-ds to match a new incoming\n" +"entry with an automember rule. If it matches an inclusive rule then the\n" +"entry is added to the appropriate group or hostgroup.\n" +msgstr "" +"\n" +"Une condition est une expression rationnelle dont se sert « 389-ds » pour\n" +"associer nouvelle entrée et règle d'adhésion. Si l'entrée correspond à une\n" +"règle d'inclusion, elle est ajoutée au groupe ou groupe d'hôte approprié.\n" + +msgid "" +"\n" +"A default group or hostgroup could be specified for entries that do not\n" +"match any rule. In case of user entries this group will be a fallback group\n" +"because all users are by default members of group specified in IPA config.\n" +msgstr "" +"\n" +"Un groupe ou groupe d'hôte par défaut peut être défini pour des entrées ne\n" +"correspondant à aucune règle. Tout utilisateur a ce groupe comme repli, car\n" +"il est par défaut membre du groupe indiqué dans la configuration de IPA.\n" + +msgid "" +"\n" +"The automember-rebuild command can be used to retroactively run automember " +"rules\n" +"against existing entries, thus rebuilding their membership.\n" +msgstr "" +"\n" +"« automember-rebuild » s'utilise pour appliquer rétroactivement les règles\n" +"d'adhésion automatique aux entrées présentes, et ainsi revoir leur " +"adhésion.\n" + +msgid "" +"\n" "EXAMPLES:\n" msgstr "" "\n" "EXEMPLES :\n" +msgid "" +"\n" +" Add the initial group or hostgroup:\n" +" ipa hostgroup-add --desc=\"Web Servers\" webservers\n" +" ipa group-add --desc=\"Developers\" devel\n" +msgstr "" +"\n" +" Ajouter le groupe ou le groupe d'hôtes initial :\n" +" ipa hostgroup-add --desc=\"Web Servers\" webservers\n" +" ipa group-add --desc=\"Developers\" devel\n" + +msgid "" +"\n" +" Add the initial rule:\n" +" ipa automember-add --type=hostgroup webservers\n" +" ipa automember-add --type=group devel\n" +msgstr "" +"\n" +" Ajouter la règle initiale :\n" +" ipa automember-add --type=hostgroup webservers\n" +" ipa automember-add --type=group devel\n" + +msgid "" +"\n" +" Add a condition to the rule:\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-" +"regex=^web[1-9]+\\.example\\.com webservers\n" +" ipa automember-add-condition --key=manager --type=group --inclusive-" +"regex=^uid=mscott devel\n" +msgstr "" +"\n" +" Ajouter une condition à la règle :\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --inclusive-" +"regex=^web[1-9]+\\.example\\.com webservers\n" +" ipa automember-add-condition --key=manager --type=group --inclusive-" +"regex=^uid=mscott devel\n" + +msgid "" +"\n" +" Add an exclusive condition to the rule to prevent auto assignment:\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-" +"regex=^web5\\.example\\.com webservers\n" +msgstr "" +"\n" +" Ajouter une condition d'exclusion à la règle pour empêcher l'auto-" +"assignation :\n" +" ipa automember-add-condition --key=fqdn --type=hostgroup --exclusive-" +"regex=^web5\\.example\\.com webservers\n" + +msgid "" +"\n" +" Add a host:\n" +" ipa host-add web1.example.com\n" +msgstr "" +"\n" +" Ajouter un hôte :\n" +" ipa host-add web1.example.com\n" + +msgid "" +"\n" +" Add a user:\n" +" ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" +msgstr "" +"\n" +" Ajouter un utilisateur :\n" +" ipa user-add --first=Tim --last=User --password tuser1 --manager=mscott\n" + +msgid "" +"\n" +" Verify automembership:\n" +" ipa hostgroup-show webservers\n" +" Host-group: webservers\n" +" Description: Web Servers\n" +" Member hosts: web1.example.com\n" +"\n" +" ipa group-show devel\n" +" Group name: devel\n" +" Description: Developers\n" +" GID: 1004200000\n" +" Member users: tuser\n" +msgstr "" +"\n" +" Vérifier une adhésion automatique :\n" +" ipa hostgroup-show webservers\n" +" Host-group: webservers\n" +" Description: Web Servers\n" +" Member hosts: web1.example.com\n" +"\n" +" ipa group-show devel\n" +" Group name: devel\n" +" Description: Developers\n" +" GID: 1004200000\n" +" Member users: tuser\n" + +msgid "" +"\n" +" Remove a condition from the rule:\n" +" ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-" +"regex=^web[1-9]+\\.example\\.com webservers\n" +msgstr "" +"\n" +" Supprimer une condition de la règle :\n" +" ipa automember-remove-condition --key=fqdn --type=hostgroup --inclusive-" +"regex=^web[1-9]+\\.example\\.com webservers\n" + +msgid "" +"\n" +" Modify the automember rule:\n" +" ipa automember-mod\n" +msgstr "" +"\n" +" Modifier la règle d'adhésion automatique :\n" +" ipa automember-mod\n" + +msgid "" +"\n" +" Set the default (fallback) target group:\n" +" ipa automember-default-group-set --default-group=webservers --" +"type=hostgroup\n" +" ipa automember-default-group-set --default-group=ipausers --type=group\n" +msgstr "" +"\n" +" Définir le groupe cible par défaut (recours) :\n" +" ipa automember-default-group-set --default-group=webservers --" +"type=hostgroup\n" +" ipa automember-default-group-set --default-group=ipausers --type=group\n" + +msgid "" +"\n" +" Remove the default (fallback) target group:\n" +" ipa automember-default-group-remove --type=hostgroup\n" +" ipa automember-default-group-remove --type=group\n" +msgstr "" +"\n" +" Supprimer le groupe cible par défaut (repli) ::\n" +" ipa automember-default-group-remove --type=hostgroup\n" +" ipa automember-default-group-remove --type=group\n" + +msgid "" +"\n" +" Show the default (fallback) target group:\n" +" ipa automember-default-group-show --type=hostgroup\n" +" ipa automember-default-group-show --type=group\n" +msgstr "" +"\n" +" Afficher le groupe cible par défaut (repki) :\n" +" ipa automember-default-group-show --type=hostgroup\n" +" ipa automember-default-group-show --type=group\n" + +msgid "" +"\n" +" Find all of the automember rules:\n" +" ipa automember-find\n" +msgstr "" +"\n" +" Retrouver toutes les règles d'adhésion automatique :\n" +" ipa automember-find\n" + +msgid "" +"\n" +" Display a automember rule:\n" +" ipa automember-show --type=hostgroup webservers\n" +" ipa automember-show --type=group devel\n" +msgstr "" +"\n" +" Afficher une règle d'adhésion automatique :\n" +" ipa automember-show --type=hostgroup webservers\n" +" ipa automember-show --type=group devel\n" + +msgid "" +"\n" +" Delete an automember rule:\n" +" ipa automember-del --type=hostgroup webservers\n" +" ipa automember-del --type=group devel\n" +msgstr "" +"\n" +" Supprimer une règle d'adhésion automatique :\n" +" ipa automember-del --type=hostgroup webservers\n" +" ipa automember-del --type=group devel\n" + +msgid "" +"\n" +" Rebuild membership for all users:\n" +" ipa automember-rebuild --type=group\n" +msgstr "" +"\n" +" Reconstruire l'appartenance de tous les utilisateurs :\n" +" ipa automember-rebuild --type=group\n" + +msgid "" +"\n" +" Rebuild membership for all hosts:\n" +" ipa automember-rebuild --type=hostgroup\n" +msgstr "" +"\n" +" Reconstruire l'appartenance de tous les hôtes :\n" +" ipa automember-rebuild --type=hostgroup\n" + +msgid "" +"\n" +" Rebuild membership for specified users:\n" +" ipa automember-rebuild --users=tuser1 --users=tuser2\n" +msgstr "" +"\n" +" Reconstruire l'appartenance d'utilisateurs donnés :\n" +" ipa automember-rebuild --users=tuser1 --users=tuser2\n" + +msgid "" +"\n" +" Rebuild membership for specified hosts:\n" +" ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example." +"com\n" +msgstr "" +"\n" +" Reconstruire l'appartenance d'hôtes donnés :\n" +" ipa automember-rebuild --hosts=web1.example.com --hosts=web2.example." +"com\n" + msgid "Inclusive Regex" -msgstr "Regex inclusive" +msgstr "« Regex » d'inclusion" msgid "Exclusive Regex" -msgstr "Regex exclusive" +msgstr "« Regex » d'exclusion" msgid "Attribute Key" msgstr "Clé d'attribut" @@ -744,20 +1102,20 @@ msgid "" "Attribute to filter via regex. For example fqdn for a host, or manager for a " "user" msgstr "" -"Attribut à filtrer via l'expression rationnelle. Par exemple fqdn pour un " -"système, ou manager pour un utilisateur" +"Attribut à filtrer via « regex ». Ex. FQDN pour un hôte, ou « manager » pour " +"un utilisateur" msgid "Grouping Type" -msgstr "Type de groupe" +msgstr "Type de groupement" msgid "Grouping to which the rule applies" -msgstr "Type de groupe auquel la règle s'applique" +msgstr "Type de groupement auquel la règle s'applique" msgid "Automember Rule" -msgstr "Règle d'auto adhésion" +msgstr "Règle d'auto-adhésion" msgid "Auto Membership Rule" -msgstr "Règle d'auto-adhésion" +msgstr "Règle d'appartenance automatique" msgid "Description" msgstr "Description" @@ -766,12 +1124,16 @@ msgid "A description of this auto member rule" msgstr "Une description de cette règle d'auto-adhésion" msgid "Default (fallback) Group" -msgstr "Groupe par défaut (de repli)" +msgstr "Groupe par défaut (repli)" msgid "Default group for entries to land" msgstr "Groupe par défaut pour les nouvelles entrées" #, python-format +msgid "%(otype)s \"%(oname)s\" not found" +msgstr "« %(oname)s » de « %(otype)s » introuvable" + +#, python-format msgid "%s is not a valid attribute." msgstr "%s n'est pas un attribut valide." @@ -824,7 +1186,7 @@ msgid "" " " msgstr "" "\n" -" Outrepasser ceci afin de pouvoir préciser les ajouts et échecs aux\n" +" Surcharger ceci afin de pouvoir ajouter réussites et échecs aux\n" " résultats renvoyés.\n" " " @@ -834,7 +1196,7 @@ msgid "" " " msgstr "" "\n" -" Supprimer les conditions d'une règle d'auto-adhésion.\n" +" Supprimer des conditions d'une règle d'auto-adhésion.\n" " " #, python-format @@ -853,7 +1215,7 @@ msgid "" " " msgstr "" "\n" -" Outrepasser ceci afin de pouvoir préciser les ajouts et échecs.\n" +" Surcharger ceci afin de pouvoir définir réussites et échecs.\n" " " msgid "" @@ -903,7 +1265,7 @@ msgid "" " " msgstr "" "\n" -" Afficher les informations sur une règle d'auto-adhésion.\n" +" Afficher des informations au sujet d'une règle d'auto-adhésion.\n" " " msgid "" @@ -912,16 +1274,17 @@ msgid "" " " msgstr "" "\n" -" Défini le groupe par défaut (de repli) pour toutes les entrées sans " +" Définit un groupe par défaut (repli) pour toutes les entrées sans " "correspondance.\n" " " msgid "Default (fallback) group for entries to land" -msgstr "Groupe par défaut (de repli) où les entrées seront visibles" +msgstr "Groupe par défaut (repli) pour ranger des entrées" #, python-format msgid "Set default (fallback) group for automember \"%(value)s\"" -msgstr "Groupe par défaut (de repli) défini pour l'auto-adhésion « %(value)s »" +msgstr "" +"Définir le groupe « %(value)s » par défaut (repli) pour l'auto-adhésion" msgid "" "\n" @@ -929,17 +1292,16 @@ msgid "" " " msgstr "" "\n" -" Supprimer le groupe par défaut (de repli) pour toutes les entrées sans " +" Supprimer le groupe par défaut (repli) pour toute entrée sans " "correspondance.\n" " " #, python-format msgid "Removed default (fallback) group for automember \"%(value)s\"" -msgstr "" -"Groupe par défaut (de repli) supprimé pour l'auto-adhésion « %(value)s »" +msgstr "Groupe « %(value)s » par défaut (repli) supprimé pour l'auto-adhésion" msgid "No default (fallback) group set" -msgstr "Pas de groupe par défaut (de repli) défini" +msgstr "Pas de groupe par défaut (repli) défini" msgid "" "\n" @@ -947,12 +1309,12 @@ msgid "" " " msgstr "" "\n" -" Afficher les informations par défaut (repli) pour les groupes d'auto-" -"adhésion.\n" +" Afficher des informations pour les groupes d'auto-adhésion par défaut " +"(repli).\n" " " msgid "Rebuild auto membership." -msgstr "Reconstruire l'appartenance automatique." +msgstr "Reconstruire les appartenances automatiques." msgid "Rebuild membership for all members of a grouping" msgstr "Reconstruire l'appartenance pour tous les membres d'un groupe" @@ -969,27 +1331,41 @@ msgstr "Hôtes" msgid "Rebuild membership for specified hosts" msgstr "Reconstruire l'appartenance pour les hôtes indiqués" +msgid "No wait" +msgstr "Pas d'attente" + +msgid "Don't wait for rebuilding membership" +msgstr "Ne pas attendre pour reconstruire l'appartenance" + msgid "Task DN" msgstr "DN de la tâche" msgid "DN of the started task" -msgstr "DN de la tâche démarrée" +msgstr "DN de la tâche lancée" msgid "at least one of options: type, users, hosts must be specified" -msgstr "au moins l'une des options type, users ou hosts doit être indiquée" +msgstr "" +"au moins une des options « type », « users » ou « hosts » doit être indiquée" msgid "users and hosts cannot both be set" -msgstr "impossible d'indiquer à la fois les utilisateurs et les hôtes" +msgstr "impossible de définir à la fois des utilisateurs et des hôtes" msgid "hosts cannot be set when type is 'group'" -msgstr "des hôtes ne peuvent être indiqués lorsque le type est « group »" +msgstr "des hôtes ne peuvent pas être définis quand le type est « group »" msgid "users cannot be set when type is 'hostgroup'" +msgstr "impossible de définir des utilisateurs quand le type est « hostgroup »" + +msgid "Automember rebuild membership task started" msgstr "" -"impossible d'indiquer les utilisateurs lorsque le type est « hostgroup »" +"Tâche de reconstruction de l'appartenance avec adhésion automatique démarrée" msgid "Automember rebuild membership task completed" -msgstr "La tâche de reconstruction d'appartenance automatique est terminée" +msgstr "La tâche de reconstruction des appartenances automatiques est terminée" + +#, python-format +msgid "Task DN = '%s'" +msgstr "DN de la tâche = « %s »" msgid "Automember" msgstr "Auto-adhésion" @@ -1101,187 +1477,179 @@ msgid "" " ipa automountkey-del baltimore auto.share --key=man\n" msgstr "" "\n" -"Automount\n" +"« Automount »\n" "\n" -"Stocke la configuration automount(8) pour autofs(8) dans IPA.\n" +"Enregistre la configuration de « automount(8) » pour « autofs(8) » dans " +"IPA.\n" "\n" -"tLa base d'une configuration automount est le fichier de configuration auto." -"master.\n" -"C'est aussi le lieu de base dans IPA. Plusieurs configurations auto.master\n" -"peuvent être stockées dans plusieurs lieux différents. Un lieu est " -"spécifique\n" -"à chaque mise en œuvre, le lieu par défaut étant 'default'. Par exemple, " -"vous\n" -"pouvez avoir un lieu par région géographique, par étage, par type, etc.\n" +"La base de configuration de « automount » est le fichier « auto.master ».\n" +"C'est aussi la base dans IPA. On peut enregistrer plusieurs configurations\n" +"« auto.master » à plusieurs endroits différents. Le lieu est propre à\n" +"l'implémentation, par défaut il est nommé « default ». Par ex., vous pouvez\n" +"avoir des lieux par région géographique, par étage, par type, etc.\n" "\n" -"Automount a trois types d'objets : les lieux, les cartes et les clés.\n" +"« Automount » a 3 types d'objets de base : emplacements, cartes et clés.\n" "\n" -"Un lieu définit un jeu de cartes ancrées dans auto.master. Cela permet\n" -"de stocker de multiples configurations automount. Un lieu en soi n'est pas\n" -"très intéressant, mais est le point de départ d'une nouvelle carte " -"automount.\n" +"L'emplacement définit un jeu de cartes fixées dans « auto.master » et " +"permet\n" +"de stocker plusieurs configurations « automount ». Il n'a pas d'intérêt en\n" +"soi, il est juste le point de départ d'une autre carte « automount ».\n" "\n" -"Une carte est en gros équivalente à un fichier individuel automount et " -"fournit\n" -"le stockage pour les clés.\n" +"Une carte est, en gros, équivalente à un fichier séparé « automount » ;\n" +"elle fournit un stockage pour les clés.\n" "\n" "Une clé est un point de montage associé à une carte.\n" -"A key is a mount point associated with a map.\n" "\n" -"Quand un nouveau lieu est créé, deux cartes sont automatiquement\n" -"créées pour lui: auto.master et auto.direct. auto.master est la carte " -"racine\n" -"pour toutes les cartes automount pour le lieu en question. auto.direct est\n" +"Quand un nouvel emplacement est créé, 2 cartes sont automatiquement créées\n" +"pour lui: « auto.master » et « auto.direct ». « auto.master » est la carte\n" +"racine de toutes les cartes « automount » dudit lieu. « auto.direct » est\n" "la carte par défaut pour les montages directs et est monté sur /-.\n" "\n" -"Une carte d'automontage peut contenir une clé de sous-montage. Cette clé\n" -"définit un lieu de montage dans la carte qui référence une autre carte.\n" -"Cela peut être réalisé par l'utilisation de automountmap-add-indirect --" -"parentmap\n" -"ou manuellement avec automountkey-add et l'information de configuration\n" -"\"-type=autofs :\".\n" +"Une carte « automout » peut contenir une clé de sous-montage. Cette clé\n" +"définit un emplacement de montage dans la carte référençant une autre " +"carte.\n" +"Cela peut se réaliser avec « automountmap-add-indirect --parentmap » ou à " +"la\n" +"main avec « automountkey-add » en définissant « -type=autofs : ».\n" "\n" "EXEMPLES:\n" "\n" -"Lieux:\n" +"Emplacements :\n" "\n" -" Créer un nouveau lieu nommé \"Baltimore\" :\n" +" Créer un nouvel emplacement nommé « Baltimore » :\n" " ipa automountlocation-add baltimore\n" "\n" -" Afficher le nouveau lieu :\n" +" Afficher le nouvel emplacement :\n" " ipa automountlocation-show baltimore\n" "\n" -" Trouver les lieux disponibles :\n" +" Trouver des emplacements disponibles :\n" " ipa automountlocation-find\n" "\n" -" Supprimer un lieu automount nommé :\n" +" Supprimer un emplacement « automount » nommé :\n" " ipa automountlocation-del baltimore\n" "\n" -" Afficher à quoi ressembleraient les cartes automount si elles étaient dans " -"le système de fichiers :\n" +" Afficher ce à quoi les cartes « automount » ressembleraient si elles/n " +"étaient dans le système de fichiers :\n" " ipa automountlocation-tofiles baltimore\n" "\n" -" Importer une configuration existante dans un lieu:\n" +" Importer une configuration existante à un emplacement :\n" " ipa automountlocation-import baltimore /etc/auto.master\n" "\n" -" L'import échoera si une entrée dupliquée est trouvée. Pour une\n" -" utilisation continue où les erreurs sont ignorées, utiliser l'option\n" -" --continue.\n" +" L'importation échoue s'il y a une entrée dupliquée. Pour une opération\n" +" en continu en ignorant les erreurs, utiliser l'option --continue.\n" "\n" "Cartes :\n" "\n" -" Créer une nouvelle carte, \"auto.share\" :\n" +" Créer une nouvelle carte, « auto.share » :\n" " ipa automountmap-add baltimore auto.share\n" "\n" " Afficher la nouvelle carte :\n" " ipa automountmap-show baltimore auto.share\n" "\n" -" Trouver les cartes du lieu baltimore :\n" +" Trouver les cartes de l'emplacement « baltimore » :\n" " ipa automountmap-find baltimore\n" "\n" -" Créer la carte indirecte avec auto.share comme sous-montage :\n" +" Créer une carte indirecte avec « auto.share » comme sous-montage :\n" " ipa automountmap-add-indirect baltimore --parentmap=auto.share --" "mount=sub auto.man\n" "\n" -" Ce qui est équivalent à :\n" +" Ce qui équivaut à :\n" "\n" " ipa automountmap-add-indirect baltimore --mount=/man auto.man\n" " ipa automountkey-add baltimore auto.man --key=sub --info=\"-" "fstype=autofs ldap:auto.share\"\n" "\n" -" Supprimer la carte auto.share :\n" +" Supprimer la carte « auto.share » :\n" " ipa automountmap-del baltimore auto.share\n" "\n" "Clés :\n" "\n" -" Créer une nouvelle clé pour la carte auto.share du lieu baltimore. Cela " -"associe\n" -" la carte précédemment créée à auto.master auto.master:\n" +" Créer une nouvelle clé pour la carte « auto.share » de l'emplacement\n" +" « baltimore ». Cela associe la carte précédemment créée à auto.master :\n" " ipa automountkey-add baltimore auto.master --key=/share --info=auto." "share\n" "\n" -" Créer une nouvelle clé dans notre carte auto.share, un montage NFS pour " -"les pages de manuel :\n" +" Créer une clé pour la carte « auto.share », monte NFS pour pages " +"« man » :\n" " ipa automountkey-add baltimore auto.share --key=man --info=\"-ro,soft," "rsize=8192,wsize=8192 ipa.example.com:/shared/man\"\n" "\n" -" Trouver toutes les clés de la carte auto.share :\n" +" Trouver toutes les clés de la carte « auto.share » :\n" " ipa automountkey-find baltimore auto.share\n" "\n" -" Trouver toutes les clés automount directes :\n" +" Trouver toutes les clés « automount » directes :\n" " ipa automountkey-find baltimore --key=/-\n" "\n" -" Supprimer la clé man de la carte auto.share :\n" +" Supprimer la clé « man » de la carte « auto.share » :\n" " ipa automountkey-del baltimore auto.share --key=man\n" msgid "automount location" -msgstr "lieu d'automontage" +msgstr "emplacement de montage automatique" msgid "automount locations" -msgstr "lieux d'automontage" +msgstr "emplacements de montage automatique" msgid "Automount Locations" -msgstr "Lieux d'automontage" +msgstr "Emplacements de montage automatique" msgid "Automount Location" -msgstr "Lieu d'automontage" +msgstr "Emplacement de montage automatique" msgid "Location" -msgstr "Lieu" +msgstr "Emplacement" msgid "Automount location name." -msgstr "Nom de lieu automount." +msgstr "Nom d'emplacement ." msgid "Create a new automount location." -msgstr "Créer un nouveau lieu d'automontage" +msgstr "Créer un nouvel emplacement " #, python-format msgid "Added automount location \"%(value)s\"" -msgstr "Lieu d'automontage « %(value)s » ajouté" +msgstr "Emplacement « automount » « %(value)s » ajouté" msgid "Delete an automount location." -msgstr "Supprimer un lieu d'automontage." +msgstr "Supprimer un emplacement « automount »." #, python-format msgid "Deleted automount location \"%(value)s\"" -msgstr "Lieu d'automontage « %(value)s » supprimé" +msgstr "Emplacement « automount » « %(value)s » supprimé" msgid "Display an automount location." -msgstr "Afficher un lieu d'automontage." +msgstr "Afficher un emplacement « automount »" msgid "Search for an automount location." -msgstr "Rechercher un lieu d'automontage." +msgstr "Rechercher un emplacement « automount »." #, python-format msgid "%(count)d automount location matched" msgid_plural "%(count)d automount locations matched" -msgstr[0] "%(count)d lieu d'automontage correspondants" -msgstr[1] "%(count)d lieux d'automontage correspondant" +msgstr[0] "%(count)d emplacement « automount » correspondant" +msgstr[1] "%(count)d emplacements « automount » correspondants" msgid "Generate automount files for a specific location." -msgstr "Créer les fichiers d'automontage pour un lieu spécifique." +msgstr "Créer les fichiers « automount » pour un emplacement donné." msgid "maps not connected to /etc/auto.master:" -msgstr "cartes non connectées à /etc/auto.master :" +msgstr "cartes non connectées à « /etc/auto.master » :" msgid "Import automount files for a specific location." -msgstr "Importer les fichiers d'automontage pour un lieu spécifique." +msgstr "Importer des fichiers « automount » pour un emplacement donné." msgid "Master file" msgstr "Fichier maître" msgid "Automount master file." -msgstr "Fichier maître automount" +msgstr "Fichier maître « automount »" msgid "" "Continuous operation mode. Errors are reported but the process continues." msgstr "" -"Mode opération continue. Les erreurs seront rapportées mais le processus " -"continuera." +"Mode opératoire continu. Les erreurs sont notées, mais le processus continue." #, python-format msgid "File %(file)s not found" -msgstr "Fichiers %(file)s introuvable" +msgstr "Fichier %(file)s introuvable" #, python-format msgid "key %(key)s already exists" @@ -1292,90 +1660,90 @@ msgid "map %(map)s already exists" msgstr "La carte %(map)s existe déjà" msgid "automount map" -msgstr "carte d'automontage" +msgstr "carte « automount »" msgid "automount maps" -msgstr "cartes d'automontage" +msgstr "cartes « automount »" msgid "Map" msgstr "Carte" msgid "Automount map name." -msgstr "Nom de carte d'automontage." +msgstr "Nom de carte « automount »." msgid "Automount Maps" -msgstr "Cartes d'automontage" +msgstr "Cartes « automount »" msgid "Automount Map" -msgstr "Carte d'automontage" +msgstr "Carte « automount »" msgid "Create a new automount map." -msgstr "Créer une nouvelle carte d'automontage." +msgstr "Créer une nouvelle carte « automount »." #, python-format msgid "Added automount map \"%(value)s\"" -msgstr "Carte d'automontage « %(value)s » ajoutée" +msgstr "Carte « automount » « %(value)s » ajoutée" msgid "Delete an automount map." -msgstr "Supprimer une carte d'automontage." +msgstr "Supprimer une carte « automount »." #, python-format msgid "Deleted automount map \"%(value)s\"" -msgstr "Carte d'automontage « %(value)s » supprimée" +msgstr "Carte « automount » « %(value)s » supprimée" msgid "Modify an automount map." -msgstr "Modifier une carte d'automontage." +msgstr "Modifier une carte « automount »." #, python-format msgid "Modified automount map \"%(value)s\"" -msgstr "Carte d'automontage « %(value)s » modifiée" +msgstr "Carte « automount » « %(value)s » modifiée" msgid "Search for an automount map." -msgstr "Rechercher des cartes d'automontage." +msgstr "Rechercher une carte « automount »." #, python-format msgid "%(count)d automount map matched" msgid_plural "%(count)d automount maps matched" -msgstr[0] "%(count)d carte d'automontage correspondante" -msgstr[1] "%(count)d cartes d'automontage correspondantes" +msgstr[0] "%(count)d carte « automount » correspondante" +msgstr[1] "%(count)d cartes « automount » correspondantes" msgid "Display an automount map." -msgstr "Afficher une carte d'automontage." +msgstr "Afficher une carte « automount »." msgid "Automount key object." -msgstr "Objet clé d'automontage." +msgstr "Objet clé « automount »." msgid "automount key" -msgstr "clé d'automontage" +msgstr "clé « automount »" msgid "automount keys" -msgstr "clés d'automontage" +msgstr "clés « automount »" msgid "Key" msgstr "Clé" msgid "Automount key name." -msgstr "Nom de clé d'automontage." +msgstr "Nom de clé « automount »." msgid "Mount information" -msgstr "Information du montage" +msgstr "Information de montage" msgid "description" msgstr "description" msgid "Automount Keys" -msgstr "Clés d'automontage" +msgstr "Clés « automount »" msgid "Automount Key" -msgstr "Clé d'automontage" +msgstr "Clé « automount »" #, python-format msgid "" "The key,info pair must be unique. A key named %(key)s with info %(info)s " "already exists" msgstr "" -"La paire key,info doit être unique. Une clé nommée %(key)s avec " -"l'information %(info)s existe déjà." +"La paire « key/info » doit être unique. Une clé nommée %(key)s avec l'info" +"%(info)s existe déjà." #, python-format msgid "key named %(key)s already exists" @@ -1383,7 +1751,7 @@ msgstr "la clé nommée %(key)s existe déjà" #, python-format msgid "The automount key %(key)s with info %(info)s does not exist" -msgstr "La clé automount %(key)s avec l'information %(info)s n'existe pas" +msgstr "La clé « automount » %(key)s avec l'info %(info)s n'existe pas" #, python-format msgid "" @@ -1391,21 +1759,21 @@ msgid "" "entry." msgstr "" "Plus d'une entrée avec la clé %(key)s trouvée, utilisez --info pour " -"sélectionner l'entrée spécifique." +"sélectionner l'entrée donnée." msgid "Create a new automount key." -msgstr "Créer une nouvelle clé d'automontage." +msgstr "Créer une nouvelle clé « automount »." #, python-format msgid "Added automount key \"%(value)s\"" -msgstr "Clé d'automontage « %(value)s » créée" +msgstr "Clé « automount » « %(value)s » créée" msgid "Create a new indirect mount point." msgstr "Créer un nouveau point de montage indirect." #, python-format msgid "Added automount indirect map \"%(value)s\"" -msgstr "Carte d'automontage indirect « %(value)s » créée" +msgstr "Carte « automount » indirect « %(value)s » créée" msgid "Mount point" msgstr "Point de montage" @@ -1417,36 +1785,37 @@ msgid "Name of parent automount map (default: auto.master)." msgstr "Nom de la carte parente (par défaut : auto.master)." msgid "mount point is relative to parent map, cannot begin with /" -msgstr "point de montage relatif à la carte parente, ne peut commencer par /" +msgstr "" +"point de montage relatif à la carte parente, ne peut pas commencer par /" msgid "Delete an automount key." -msgstr "Supprimer une clé d'automontage." +msgstr "Supprimer une clé « automount »." #, python-format msgid "Deleted automount key \"%(value)s\"" -msgstr "Clé d'automontage « %(value)s » supprimée" +msgstr "Clé « automount » « %(value)s » supprimée" msgid "Modify an automount key." -msgstr "Modifier une clé d'automontage." +msgstr "Modifier une clé « automount »." #, python-format msgid "Modified automount key \"%(value)s\"" -msgstr "Clé d'automontage « %(value)s » modifiée" +msgstr "Clé « automount » « %(value)s » modifiée" msgid "New mount information" msgstr "Nouvelle information de montage" msgid "Search for an automount key." -msgstr "Rechercher une clé d'automontage." +msgstr "Rechercher une clé « automount »." #, python-format msgid "%(count)d automount key matched" msgid_plural "%(count)d automount keys matched" -msgstr[0] "%(count)d clé d'automontage correspondante" -msgstr[1] "%(count)d clés d'automontage correspondantes" +msgstr[0] "%(count)d clé « automount » correspondante" +msgstr[1] "%(count)d clés « automount » correspondantes" msgid "Display an automount key." -msgstr "Afficher une clé d'automontage." +msgstr "Afficher une clé « automount »." msgid "Password" msgstr "Mot de passe" @@ -1458,7 +1827,7 @@ msgid "Member users" msgstr "Utilisateurs membres" msgid "Member groups" -msgstr "Groupes membres" +msgstr "Groupes de membres" msgid "Member of groups" msgstr "Membre des groupes" @@ -1479,13 +1848,13 @@ msgid "Sudo Command Groups" msgstr "Groupes de commandes sudo" msgid "Granting privilege to roles" -msgstr "Accord en cours des privilègues aux rôles" +msgstr "Privilèges accordés aux rôles" msgid "Member netgroups" -msgstr "Netgroups membres" +msgstr "Groupements réseau membre" msgid "Member of netgroups" -msgstr "Membre des netgroups" +msgstr "Membre des groupements réseau" msgid "Member services" msgstr "Services membres" @@ -1515,37 +1884,37 @@ msgid "Indirect Member of roles" msgstr "Membres indirect des rôles" msgid "Indirect Member permissions" -msgstr "Permission membre indirect" +msgstr "Droits d'accès de membre indirect" msgid "Indirect Member HBAC service" -msgstr "Service HBAC membre indirect" +msgstr "Service HBAC de membre indirect" msgid "Indirect Member HBAC service group" -msgstr "Groupe de services membre indirect" +msgstr "Groupe de services de membre indirect" msgid "Indirect Member netgroups" -msgstr "Netgroups membres indirects" +msgstr "Groupements réseau de membres indirects" msgid "Failed source hosts/hostgroups" -msgstr "Hôtes/groupes d'hôtes sources en échec" +msgstr "Hôtes/groupes d'hôtes source en échec" msgid "Failed hosts/hostgroups" -msgstr "Hôtes et groupes d'hôtes en échec" +msgstr "Hôtes/groupes d'hôtes en échec" msgid "Failed users/groups" -msgstr "Utilisateurs et groupes en échec" +msgstr "Utilisateurs/groupes en échec" msgid "Failed service/service groups" -msgstr "Services et groupes de service en échec" +msgstr "Services/groupes de service en échec" msgid "Failed to remove" msgstr "Échec à la suppression" msgid "Failed RunAs" -msgstr "Échec de RunAs" +msgstr "Échec de « RunAs »" msgid "Failed RunAsGroup" -msgstr "Échec de RunAsGroup" +msgstr "Échec de « RunAsGroup »" msgid "Invalid format. Should be name=value" msgstr "Format invalide. Doit être nom=valeur" @@ -1554,7 +1923,7 @@ msgid "External host" msgstr "Système externe" msgid "An IPA master host cannot be deleted or disabled" -msgstr "Un serveur maître IPA ne peut être supprimé ni désactivé" +msgstr "Un serveur maître IPA ne peut ni être supprimé ni désactivé" msgid "entry" msgstr "entrée" @@ -1571,11 +1940,11 @@ msgstr "entrée conteneur (%(container)s) introuvable" #, python-format msgid "%(parent)s: %(oname)s not found" -msgstr "%(parent)s: %(oname)s introuvable" +msgstr "%(parent)s : %(oname)s introuvable" #, python-format msgid "%(pkey)s: %(oname)s not found" -msgstr "%(pkey)s: %(oname)s introuvable" +msgstr "%(pkey)s : %(oname)s introuvable" #, python-format msgid "%(oname)s with name \"%(pkey)s\" already exists" @@ -1589,15 +1958,15 @@ msgid "" "Set an attribute to a name/value pair. Format is attr=value.\n" "For multi-valued attributes, the command replaces the values already present." msgstr "" -"Modifie un attribut avec une paire nom/valeur. Le format est attr=valeur.\n" -"Pour les attributs multi-valués, la commande remplace toutes les valeurs " +"Modifie un attribut d'une paire nom/valeur. Le format est attribut=valeur.\n" +"Pour des attributs à valeurs multiples, la commande remplace les valeurs " "déjà présentes." msgid "" "Add an attribute/value pair. Format is attr=value. The attribute\n" "must be part of the schema." msgstr "" -"Ajouter une paire attribut/valeur. Format : attr=valeur. Les\n" +"Ajouter une paire attribut/valeur. Format : attribut=valeur. Les\n" "attributs doivent faire partie du schéma." msgid "" @@ -1605,16 +1974,16 @@ msgid "" "last, after all sets and adds." msgstr "" "Supprimer une paire attribut/valeur. L'option sera évaluée\n" -"en dernier, après les modifications et ajouts." +"en dernier, après toutes les modifications et ajouts." msgid "attribute is not configurable" msgstr "l'attribut n'est pas configurable" msgid "No such attribute on this entry" -msgstr "Aucun attribut pour cette entrée" +msgstr "Pas d'attribut de ce type sur cette entrée" msgid "Suppress processing of membership attributes." -msgstr "Arrêt du traitement des attributs d'adhésion." +msgstr "Suppression du traitement des attributs d'adhésion." msgid "Continuous mode: Don't stop on errors." msgstr "Mode continu : pas d'arrêt sur erreurs." @@ -1627,7 +1996,7 @@ msgid "" "for details." msgstr "" "Affiche les droits d'accès sur cette entrée (requiert --all). Cf. la page de " -"manuel de ipa pour plus d'informations." +"manuel de « ipa » pour plus d'informations." msgid "Rename" msgstr "Renommer" @@ -1662,95 +2031,581 @@ msgid "%s to remove" msgstr "%s à supprimer" msgid "Members that could not be removed" -msgstr "Membres n'ayant pu être supprimé" +msgstr "Membres n'ayant pas pu être supprimés" msgid "Number of members removed" msgstr "Nombre de membres supprimés" msgid "Primary key only" -msgstr "Clé primaire uniquement" +msgstr "Clé principale uniquement" #, python-format msgid "Results should contain primary key attribute only (\"%s\")" msgstr "" -"Les résultats devraient contenir uniquement des attributs clé primaire " -"uniquement (« %s »)" +"Les résultats doivent uniquement contenir un attribut de clé principale " +"(« %s »)" #, python-format msgid "" "Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." msgstr "" -"Recherche de %(searched_object)s avec %(relationship)s %(ldap_object)s." +"Recherche des %(searched_object)s avec ceux de %(ldap_object)s de " +"%(relationship)s." #, python-format msgid "" "Search for %(searched_object)s without these %(relationship)s " "%(ldap_object)s." msgstr "" -"Recherche de %(searched_object)s sans %(relationship)s %(ldap_object)s." +"Recherche des %(searched_object)s sans ceux de %(ldap_object)s de " +"%(relationship)s." msgid "Time Limit" -msgstr "Limite de durée" +msgstr "Limitation de durée" msgid "Time limit of search in seconds" -msgstr "Limite de durée de la recherche en secondes" +msgstr "Limite de la durée de la recherche en secondes" msgid "Size Limit" -msgstr "Limite de taille" +msgstr "Limitation de taille" msgid "Maximum number of entries returned" msgstr "Nombre maximal d'entrées renvoyées" -msgid "Nested Methods to execute" -msgstr "Commandes imbriquées à exécuter" - msgid "" "\n" -"IPA certificate operations\n" -"\n" -"Implements a set of commands for managing server SSL certificates.\n" -"\n" -"Certificate requests exist in the form of a Certificate Signing Request " -"(CSR)\n" -"in PEM format.\n" -"\n" -"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" -"subject to values configured in the server.\n" -"\n" -"A certificate is stored with a service principal and a service principal\n" -"needs a host.\n" -"\n" -"In order to request a certificate:\n" -"\n" -"* The host must exist\n" -"* The service must exist (or you use the --add option to automatically add " -"it)\n" -"\n" -"SEARCHING:\n" -"\n" -"Certificates may be searched on by certificate subject, serial number,\n" -"revocation reason, validity dates and the issued date.\n" -"\n" -"When searching on dates the _from date does a >= search and the _to date\n" -"does a <= search. When combined these are done as an AND.\n" -"\n" -"Dates are treated as GMT to match the dates in the certificates.\n" -"\n" -"The date format is YYYY-mm-dd.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Request a new certificate and add the principal:\n" -" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" +"Baseuser\n" "\n" -" Retrieve an existing certificate:\n" -" ipa cert-show 1032\n" -"\n" -" Revoke a certificate (see RFC 5280 for reason details):\n" -" ipa cert-revoke --revocation-reason=6 1032\n" +"This contains common definitions for user/stageuser\n" +msgstr "" "\n" -" Remove a certificate from revocation hold status:\n" -" ipa cert-remove-hold 1032\n" +"Utilisateur de base\n" +"\n" +"Ceci contient les définitions communes pour les utilisateurs et utilisateurs " +"en attente\n" + +msgid "Kerberos keys available" +msgstr "Clés Kerberos disponibles" + +msgid "SSH public key fingerprint" +msgstr "Empreinte de clé publique SSH" + +msgid "Server" +msgstr "Serveur" + +msgid "Failed logins" +msgstr "Connexions ayant échoué" + +msgid "Last successful authentication" +msgstr "Dernière authentification réussie" + +msgid "Last failed authentication" +msgstr "Dernière authentification ayant échoué" + +msgid "Time now" +msgstr "Heure actuelle" + +msgid "must be TRUE or FALSE" +msgstr "doit être « TRUE » ou « FALSE »" + +msgid "User" +msgstr "Utilisateur" + +msgid "User login" +msgstr "Identifiant de connexion" + +msgid "First name" +msgstr "Prénom" + +msgid "Last name" +msgstr "Nom" + +msgid "Full name" +msgstr "Nom complet" + +msgid "Display name" +msgstr "Nom affiché" + +msgid "Initials" +msgstr "Initiales" + +msgid "Home directory" +msgstr "Répertoire personnel" + +msgid "GECOS" +msgstr "GECOS" + +msgid "Login shell" +msgstr "Interpréteur de connexion" + +msgid "Kerberos principal" +msgstr "Principal Kerberos" + +msgid "Kerberos principal expiration" +msgstr "Expiration du principal Kerberos" + +msgid "Email address" +msgstr "Adresse courriel" + +msgid "Prompt to set the user password" +msgstr "Invite de définition du mot de passe utilisateur" + +msgid "Generate a random user password" +msgstr "Créer un mot de passe aléatoire" + +msgid "Random password" +msgstr "Mot de passe aléatoire" + +msgid "UID" +msgstr "UID" + +msgid "User ID Number (system will assign one if not provided)" +msgstr "" +"Numéro identifiant d'utilisateur (le système en assigne un si non défini)" + +msgid "GID" +msgstr "GID" + +msgid "Group ID Number" +msgstr "Numéro d'identifiant de groupe" + +msgid "Street address" +msgstr "Adresse" + +msgid "City" +msgstr "Ville" + +msgid "State/Province" +msgstr "État/Province" + +msgid "ZIP" +msgstr "Code postal" + +msgid "Telephone Number" +msgstr "Numéro de téléphone" + +msgid "Mobile Telephone Number" +msgstr "Numéro de téléphone mobile" + +msgid "Pager Number" +msgstr "Numéro de téléavertisseur" + +msgid "Fax Number" +msgstr "Numéro de fax" + +msgid "Org. Unit" +msgstr "Unité organisationnelle" + +msgid "Job Title" +msgstr "Titre de poste" + +msgid "Manager" +msgstr "Gestionnaire" + +msgid "Car License" +msgstr "Permis de conduire/carte d'identité" + +msgid "SSH public key" +msgstr "Clé publique SSH" + +msgid "User authentication types" +msgstr "Types d'authentification utilisateur" + +msgid "Types of supported user authentication" +msgstr "Types d'authentification utilisateur pris en charge" + +msgid "Class" +msgstr "Classe" + +msgid "" +"User category (semantics placed on this attribute are for local " +"interpretation)" +msgstr "" +"Catégorie d'utilisateurs (la sémantique associée à cet attribut est " +"interprétée localement)" + +msgid "RADIUS proxy configuration" +msgstr "Configuration du serveur mandataire RADIUS" + +msgid "RADIUS proxy username" +msgstr "Nom d'utilisateur sur serveur mandataire RADIUS" + +msgid "Department Number" +msgstr "Numéro du service" + +msgid "Employee Number" +msgstr "Matricule" + +msgid "Employee Type" +msgstr "Type d'employé" + +msgid "Preferred Language" +msgstr "Langue préférée" + +msgid "Certificate" +msgstr "Certificat" + +msgid "Base-64 encoded server certificate" +msgstr "Certificat du serveur codé en Base-64" + +#, python-format +msgid "invalid e-mail format: %(email)s" +msgstr "format d'e-mail invalide : %(email)s" + +#, python-format +msgid "manager %(manager)s not found" +msgstr "responsable %(manager)s introuvable" + +#, python-format +msgid "can be at most %(len)d characters" +msgstr "doit contenir au plus %(len)d caractères" + +msgid "Nested Methods to execute" +msgstr "Commandes imbriquées à exécuter" + +msgid "" +"\n" +"Manage CA ACL rules.\n" +"\n" +"This plugin is used to define rules governing which principals are\n" +"permitted to have certificates issued using a given certificate\n" +"profile.\n" +"\n" +"PROFILE ID SYNTAX:\n" +"\n" +"A Profile ID is a string without spaces or punctuation starting with a " +"letter\n" +"and followed by a sequence of letters, digits or underscore (\"_\").\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a CA ACL \"test\" that grants all users access to the\n" +" \"UserCert\" profile:\n" +" ipa caacl-add test --usercat=all\n" +" ipa caacl-add-profile test --certprofiles UserCert\n" +"\n" +" Display the properties of a named CA ACL:\n" +" ipa caacl-show test\n" +"\n" +" Create a CA ACL to let user \"alice\" use the \"DNP3\" profile:\n" +" ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" +" ipa caacl-add-user alice_dnp3 --user=alice\n" +"\n" +" Disable a CA ACL:\n" +" ipa caacl-disable test\n" +"\n" +" Remove a CA ACL:\n" +" ipa caacl-del test\n" +msgstr "" +"\n" +"Gestion des règles de LCA de l'AC.\n" +"\n" +"Ce grffon est utilisé pour définir les règles gouvernant quels principaux \n" +"sont autorisés à se voir attribuer des certificats à l'aide d'un profil\n" +"donné de certificat.\n" +"\n" +"SYNTAXE D'IDENTIFIANT DE PROFIL :\n" +"\n" +"Un identifiant de profil est une chaîne sans espace ni ponctuation débutant " +"par\n" +"une lettre et suivie d'une séquence de lettres, chiffres, ou caractère " +"souligné (\"_\").\n" +"\n" +"EXEMPLES :\n" +"\n" +" Créer une LCA d'AC « test » autorisant tous les utilisateurs à accéder \n" +" au profil « UserCert » :\n" +" ipa caacl-add test --usercat=all\n" +" ipa caacl-add-profile test --certprofiles UserCert\n" +"\n" +" Afficher les propriétés d'une LCA d'AC nommée :\n" +" ipa caacl-show test\n" +"\n" +" Créer une LCA d'AC autorisant l'utilisatrice « alice » à utiliser le " +"profile « DNP3 » :\n" +" ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" +" ipa caacl-add-user alice_dnp3 --user=alice\n" +"\n" +" Désactiver une LCA d'AC :\n" +" ipa caacl-disable test\n" +"\n" +" Supprimer une LCA d'AC :\n" +" ipa caacl-del test\n" + +msgid "CA ACL" +msgstr "LCA de l'AC" + +msgid "CA ACLs" +msgstr "LCA de l'AC" + +msgid "ACL name" +msgstr "Nom de la LCA" + +msgid "Enabled" +msgstr "Activée" + +msgid "Profile category" +msgstr "Catégorie de profil" + +msgid "Profile category the ACL applies to" +msgstr "Catégorie de profil à laquelle la LCA s'applique" + +msgid "User category" +msgstr "Catégorie d'utilisateur" + +msgid "User category the ACL applies to" +msgstr "Catégorie d'utilisateur à laquelle la LCA s'applique" + +msgid "Host category" +msgstr "Catégorie de système" + +msgid "Host category the ACL applies to" +msgstr "Catégorie d'hôte à laquelle la LCA s'applique" + +msgid "Service category" +msgstr "Catégorie de service" + +msgid "Service category the ACL applies to" +msgstr "Catégorie de service à laquelle la LCA s'applique" + +msgid "Profiles" +msgstr "Profils" + +msgid "User Groups" +msgstr "Groupes d'utilisateurs" + +msgid "Host Groups" +msgstr "Groupes d'hôtes" + +msgid "Services" +msgstr "Services" + +msgid "Create a new CA ACL." +msgstr "Créer une nouvelle LCA d'AC." + +#, python-format +msgid "Added CA ACL \"%(value)s\"" +msgstr "LCA d'AC « %(value)s » créée" + +msgid "Delete a CA ACL." +msgstr "Supprimer une LCA d'AC." + +#, python-format +msgid "Deleted CA ACL \"%(value)s\"" +msgstr "LCA d'AC « %(value)s » supprimée" + +msgid "Modify a CA ACL." +msgstr "Modifier une LCA d'AC." + +#, python-format +msgid "Modified CA ACL \"%(value)s\"" +msgstr "LCA d'AC « %(value)s » modifiée" + +msgid "" +"profile category cannot be set to 'all' while there are allowed profiles" +msgstr "" +"la catégorie de profil ne peut être positionnée à 'all' tant qu'il existe " +"des profils autorisés" + +msgid "user category cannot be set to 'all' while there are allowed users" +msgstr "" +"une catégorie d'utilisateurs ne peut pas être définie à « all » tant qu'il " +"reste des utilisateurs autorisés" + +msgid "host category cannot be set to 'all' while there are allowed hosts" +msgstr "" +"une catégorie d'hôtes ne peut pas être définie à « all » tant qu'il reste " +"des hôtes autorisés" + +msgid "" +"service category cannot be set to 'all' while there are allowed services" +msgstr "" +"une catégorie de services ne peut pas être définie à « all » tant qu'il " +"reste des services autorisés" + +msgid "Search for CA ACLs." +msgstr "Rechercher des LCA d'AC." + +#, python-format +msgid "%(count)d CA ACL matched" +msgid_plural "%(count)d CA ACLs matched" +msgstr[0] "%(count)d LCA d'AC correspondante" +msgstr[1] "%(count)d LCA d'AC correspondantes" + +msgid "Display the properties of a CA ACL." +msgstr "Afficher les propriétés d'une LCA d'AC." + +msgid "Enable a CA ACL." +msgstr "Activer une LCA d'AC." + +#, python-format +msgid "Enabled CA ACL \"%(value)s\"" +msgstr "LCA d'AC « %(value)s » activée" + +msgid "Disable a CA ACL." +msgstr "Désactiver une LCA d'AC." + +#, python-format +msgid "Disabled CA ACL \"%(value)s\"" +msgstr "LCA d'AC « %(value)s » désactivée" + +msgid "Add users and groups to a CA ACL." +msgstr "Ajouter des utilisateurs et groupes à une LCA d'AC." + +#, python-format +msgid "%i user or group added." +msgstr "%i utilisateur ou groupe ajouté." + +#, python-format +msgid "%i users or groups added." +msgstr "%i utilisateurs ou groupes ajoutés." + +msgid "users cannot be added when user category='all'" +msgstr "" +"des utilisateurs ne peuvent pas être ajoutés quand la catégorie de " +"l'utilisateur est « all »" + +msgid "Remove users and groups from a CA ACL." +msgstr "Retirer des utilisateurs et groupes d'une LCA d'AC." + +#, python-format +msgid "%i user or group removed." +msgstr "%i utilisateur ou groupe supprimé." + +#, python-format +msgid "%i users or groups removed." +msgstr "%i utilisateurs ou groupes supprimés." + +msgid "Add target hosts and hostgroups to a CA ACL." +msgstr "Ajouter des hôtes cibles et groupes d'hôtes à une LCA d'AC." + +#, python-format +msgid "%i host or hostgroup added." +msgstr "%i hôte ou groupe d'hôtes ajouté." + +#, python-format +msgid "%i hosts or hostgroups added." +msgstr "%i hôtes ou groupes d'hôtes ajoutés." + +msgid "hosts cannot be added when host category='all'" +msgstr "" +"des hôtes ne peuvent pas être ajoutés quand la catégorie de l'hôte est " +"« all »" + +msgid "Remove target hosts and hostgroups from a CA ACL." +msgstr "Retirer des utilisateurs et groupes d'une LCA d'AC." + +#, python-format +msgid "%i host or hostgroup removed." +msgstr "%i hôte ou groupe d'hôtes supprimé." + +#, python-format +msgid "%i hosts or hostgroups removed." +msgstr "%i hôtes ou groupes d'hôtes supprimés." + +msgid "Add services to a CA ACL." +msgstr "Ajouter des services à une LCA d'AC." + +#, python-format +msgid "%i service added." +msgstr "%i service ajouté." + +#, python-format +msgid "%i services added." +msgstr "%i services ajoutés." + +msgid "services cannot be added when service category='all'" +msgstr "" +"aucun service ne peut être ajouté quand la catégorie de services est « all »" + +msgid "Remove services from a CA ACL." +msgstr "Retirer des services d'une LCA d'AC." + +#, python-format +msgid "%i service removed." +msgstr "%i service supprimé." + +#, python-format +msgid "%i services removed." +msgstr "%i services supprimés." + +msgid "Failed profiles" +msgstr "Profils en échec" + +msgid "Add profiles to a CA ACL." +msgstr "Ajouter des profils à une LCA d'AC." + +#, python-format +msgid "%i profile added." +msgstr "%i profil ajouté." + +#, python-format +msgid "%i profiles added." +msgstr "%i profils ajoutés." + +msgid "profiles cannot be added when profile category='all'" +msgstr "" +"des profils ne peuvent pas être ajoutés quand la catégorie de profil est " +"« all »" + +msgid "Remove profiles from a CA ACL." +msgstr "Retirer des profils d'une LCA d'AC." + +#, python-format +msgid "%i profile removed." +msgstr "%i profil supprimé." + +#, python-format +msgid "%i profiles removed." +msgstr "%i profils supprimés." + +msgid "" +"\n" +"IPA certificate operations\n" +"\n" +"Implements a set of commands for managing server SSL certificates.\n" +"\n" +"Certificate requests exist in the form of a Certificate Signing Request " +"(CSR)\n" +"in PEM format.\n" +"\n" +"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" +"subject to values configured in the server.\n" +"\n" +"A certificate is stored with a service principal and a service principal\n" +"needs a host.\n" +"\n" +"In order to request a certificate:\n" +"\n" +"* The host must exist\n" +"* The service must exist (or you use the --add option to automatically add " +"it)\n" +"\n" +"SEARCHING:\n" +"\n" +"Certificates may be searched on by certificate subject, serial number,\n" +"revocation reason, validity dates and the issued date.\n" +"\n" +"When searching on dates the _from date does a >= search and the _to date\n" +"does a <= search. When combined these are done as an AND.\n" +"\n" +"Dates are treated as GMT to match the dates in the certificates.\n" +"\n" +"The date format is YYYY-mm-dd.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Request a new certificate and add the principal:\n" +" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" +"\n" +" Retrieve an existing certificate:\n" +" ipa cert-show 1032\n" +"\n" +" Revoke a certificate (see RFC 5280 for reason details):\n" +" ipa cert-revoke --revocation-reason=6 1032\n" +"\n" +" Remove a certificate from revocation hold status:\n" +" ipa cert-remove-hold 1032\n" "\n" " Check the status of a signing request:\n" " ipa cert-status 10\n" @@ -1789,26 +2644,21 @@ msgstr "" "\n" "Opérations de certification IPA\n" "\n" -"Sont implémentées un ensemble de commandes pour gérer les certificats SSL du " -"serveur.\n" +"Implémente un jeu de commandes pour gérer les certificats SSL du serveur.\n" "\n" -"Les demandes de certification existent sous la forme de « Certificate " -"Signing Request (CSR) »\n" -"au format PEM.\n" +"Les demandes de certificats existent sous la forme de\n" +"« Certificate Signing Request (CSR) » au format PEM.\n" "\n" -"La plaque d'identité CA n'utilise que la valeur CN du CSR et force le reste " -"du sujet aux\n" -"valeurs configurées dans le serveur.\n" +"La plaque d'identité CA n'utilise que la valeur CN du CSR et force le reste\n" +"du sujet aux valeurs configurées dans le serveur.\n" "\n" -"Un certificat est enregistré avec un principal de service et un principal de " -"service\n" -"a besoin d'un hôte.\n" +"Un certificat est enregistré avec un principal de service et un principal\n" +" de service a besoin d'un hôte.\n" "\n" "Donc, pour demander un certificat :\n" "\n" "* l'hôte doit exister\n" -"* le service doit exister (ou bien utilisez l'option --add pour l'ajouter " -"automatiquement)\n" +"* le service doit exister (utiliser --add pour l'ajouter automatiquement)\n" "\n" "RECHERCHE :\n" "\n" @@ -1816,11 +2666,9 @@ msgstr "" "motif de révocation, dates de validité et date d'émission.\n" "\n" "En recherchant par dates, _from effectue une recherche >= à la date et _to\n" -"une recherche <= à la date. Si elles sont combinées, elles sont équivalentes " -"à un AND.\n" +"une recherche <= à la date. Combinées, elles sont équivalentes à un AND.\n" "\n" -"Les dates sont traitées comme étant GMT pour correspondre aux dates des " -"certificats.\n" +"La date est traitée comme GMT pour correspondre aux dates de certificats.\n" "\n" "La date est au format YYYY-mm-dd.\n" "\n" @@ -1850,35 +2698,36 @@ msgstr "" " Rechercher les certificats selon la date d'émission :\n" " ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\n" "\n" -"Actuellement IPA émet (ou décline) immédiatement toute demande de " -"certificat ;\n" -"l'état de la requête n'est donc normalement pas utile. La demande est en " -"prévision d'une\n" -"utilisation future ou au cas où un CA n'émet pas immédiatement un " -"certificat.\n" +"Actuellement IPA émet (ou refuse) aussitôt toute demande de certificat, " +"donc\n" +"l'état d'une requête ne sert normalement pas. C'est en vue d'une " +"utilisation\n" +"future ou au cas où un CA n'émettrait pas immédiatement un certificat.\n" "\n" "Les motifs de révocation suivants sont pris en charge :\n" "\n" -" * 0 - unspecified\n" -" * 1 - keyCompromise\n" -" * 2 - cACompromise\n" -" * 3 - affiliationChanged\n" -" * 4 - superseded\n" -" * 5 - cessationOfOperation\n" -" * 6 - certificateHold\n" -" * 8 - removeFromCRL\n" -" * 9 - privilegeWithdrawn\n" -" * 10 - aACompromise\n" +" * 0 - « unspecified » (non précisé)\n" +" * 1 - « keyCompromise » (clé compromise)\n" +" * 2 - « cACompromise » (CA compromis)\n" +" * 3 - « affiliationChanged » (affiliation modifiée)\n" +" * 4 - « superseded » (remplacé)\n" +" * 5 - « cessationOfOperation » (arrêt d'opération)\n" +" * 6 - « certificateHold » (certificat retenu)\n" +" * 8 - « removeFromCRL » (sorti du CRL)\n" +" * 9 - « privilegeWithdrawn » (retrait de privilège)\n" +" * 10 - « aACompromise » (compromission)\n" "\n" -"Notez que le motif de code 7 n'est pas utilisé. Voir RFC 5280 pour plus de " -"détails :\n" +"Notez que le motif code 7 ne sert pas. Voir RFC 5280 pour plus de détails :\n" "\n" "http://www.ietf.org/rfc/rfc5280.txt\n" "\n" #, python-format msgid "Failure decoding Certificate Signing Request: %s" -msgstr "Échec dans le décodage du Certificate Signing Request : %s" +msgstr "Échec dans le décodage du « Certificate Signing Request » : %s" + +msgid "CA is not configured" +msgstr "L'AC n'est pas configurée" msgid "Submit a certificate signing request." msgstr "Soumettre une demande de signature de certificat." @@ -1889,27 +2738,29 @@ msgstr "CSR" msgid "Principal" msgstr "Principal" -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "" -"Principal de service pour ce certificat (par ex.: HTTP/test.example.com)" +msgid "Principal for this certificate (e.g. HTTP/test.example.com)" +msgstr "Principal de ce certificate (par exemple : HTTP/test.example.com)" msgid "automatically add the principal if it doesn't exist" msgstr "ajoute automatiquement le principal s'il n'existe pas" -msgid "Certificate" -msgstr "Certificat" +msgid "Profile ID" +msgstr "ID de profil" + +msgid "Certificate Profile to use" +msgstr "Profil de certificat à utiliser" msgid "Subject" -msgstr "Subjet" +msgstr "Sujet" msgid "Issuer" msgstr "Émetteur" msgid "Not Before" -msgstr "Pas Avant" +msgstr "Pas avant" msgid "Not After" -msgstr "Pas Après" +msgstr "Pas après" msgid "Fingerprint (MD5)" msgstr "Empreinte (MD5)" @@ -1923,40 +2774,93 @@ msgstr "Numéro de série" msgid "Serial number (hex)" msgstr "Numéro de série (hex)" -msgid "Dictionary mapping variable name to value" -msgstr "Nom de variable de correspondance de la valeur" +msgid "Dictionary mapping variable name to value" +msgstr "Annuaire associant un nom de variable à une valeur" + +#, python-format +msgid "" +"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " +"'%(profile_id)s' for certificate issuance." +msgstr "" +"Le principal '%(principal)s' n'est pas autorisé à utiliser l'AC '%(ca)s' " +"avec le profil '%(profile_id)s' pour l'émission de certificat." + +msgid "The principal for this request doesn't exist." +msgstr "Le principal pour cette demande n'existe pas." + +msgid "No Common Name was found in subject of request." +msgstr "Aucun « Common Name » n'a été trouvé dans le sujet de cette demande." + +#, python-format +msgid "" +"hostname in subject of request '%(cn)s' does not match principal hostname " +"'%(hostname)s'" +msgstr "" +"Le nom d'hôte indiqué dans le sujet de la demande « %(cn)s » ne correspond " +"pas au nom d'hôte du principal « %(hostname)s »" + +msgid "DN commonName does not match any of user's email addresses" +msgstr "" +"Le « common name » du DN ne correspond à aucune des adresses email de " +"l'utilisateur" + +msgid "DN emailAddress does not match any of user's email addresses" +msgstr "" +"L'adresse email du DN ne correspond à aucune des adresses email de " +"l'utilisateur" + +#, python-format +msgid "extension %s is forbidden" +msgstr "extension %s interdite" + +#, python-format +msgid "" +"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " +"'%s'." +msgstr "" +"Privilège « write » insuffisant sur l'attribut « userCertificate » de " +"l'entrée « %s »." + +#, python-format +msgid "subject alt name type %s is forbidden for user principals" +msgstr "" +"Il est interdit d'utiliser un « subject alt name » (nom alternatif) de type " +"%s pour les principaux d'utilisateurs." -msgid "No hostname was found in subject of request." -msgstr "Aucun nom de système n'a été trouvé dans le sujet de la demande." +#, python-format +msgid "" +"The service principal for subject alt name %s in certificate request does " +"not exist" +msgstr "" +"Le principal du service pour le nom %s alternatif du sujet dans la demande " +"de certificat n'existe pas" #, python-format msgid "" -"hostname in subject of request '%(subject_host)s' does not match principal " -"hostname '%(hostname)s'" +"Insufficient privilege to create a certificate with subject alt name '%s'." msgstr "" -"Le nom de système sujet de la requête « %(subject_host)s » ne correspond " -"pas au nom de système du principal « %(hostname)s »" +"Privilège insuffisant pour créer un certificat avec le nom de sujet « %s » " +"alternatif." -msgid "The service principal for this request doesn't exist." -msgstr "Le principal de service pour cette requête est inexistant" +#, python-format +msgid "Principal '%s' in subject alt name does not match requested principal" +msgstr "" +"Le principal « %s » du nom alternatif ne correspond pas au principal demandé" -msgid "You need to be a member of the serviceadmin role to add services" -msgstr "Vous devez être membre du rôle serviceadmin pour ajouter des services" +msgid "RFC822Name does not match any of user's email addresses" +msgstr "" +"L'attribut RFC822Name ne correspond à aucune des adresses email de " +"l'utilisateur" #, python-format -msgid "" -"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " -"'%s'." +msgid "subject alt name type %s is forbidden for non-user principals" msgstr "" -"Privilèges en écriture insuffisants sur l'attribut « userCertificate » de " -"l'entrée « %s »." +"Il est interdit d'utiliser un « subject alt name » (nom alternatif) de type " +"%s pour les principaux autres qu'utilisateurs." #, python-format -msgid "" -"Insufficient privilege to create a certificate with subject alt name '%s'." -msgstr "" -"Privilèges insuffisants pour créer un certificat avec le nom de sujet " -"alternatif « %s »." +msgid "Subject alt name type %s is forbidden" +msgstr "Le type %s de nom alternatif de sujet est interdit" msgid "Check the status of a certificate signing request." msgstr "Vérifier l'état d'une demande de signature de certificat." @@ -1998,7 +2902,7 @@ msgid "7 is not a valid revocation reason" msgstr "7 n'est pas une raison de révocation valide" msgid "Take a revoked certificate off hold." -msgstr "Prendre un certificat révoqué en attente." +msgstr "Ôter un certificat révoqué en attente." msgid "Unrevoked" msgstr "Réintégré" @@ -2007,40 +2911,40 @@ msgid "Error" msgstr "Erreur" msgid "Search for existing certificates." -msgstr "Recherche de certificat existant." +msgstr "Recherche de certificats existants." msgid "minimum serial number" -msgstr "plancher des numéros de série" +msgstr "numéro de série plancher" msgid "maximum serial number" -msgstr "plafond des numéros de série" +msgstr "numéro de série plafond" msgid "match the common name exactly" -msgstr "doit correspondre exactement au nom commun" +msgstr "correspond exactement au nom commun" msgid "Valid not after from this date (YYYY-mm-dd)" msgstr "Valide à partir de cette date (AAAA-mm-jj)" msgid "Valid not after to this date (YYYY-mm-dd)" -msgstr "Valide jusque cette date (AAAA-mm-jj)" +msgstr "Valide jusqu'à cette date (AAAA-mm-jj)" msgid "Valid not before from this date (YYYY-mm-dd)" -msgstr "Invalide avant, à partir de cette date (AAAA-mm-jj)" +msgstr "Valide à partir de cette date (AAAA-mm-jj), non valide avant" msgid "Valid not before to this date (YYYY-mm-dd)" -msgstr "Invalide avant, jusque cette date (AAAA-mm-jj)" +msgstr "Valide à cette date (AAAA-mm-jj), non valide avant" msgid "Issued on from this date (YYYY-mm-dd)" -msgstr "Émis le, à partir de cette date (AAAA-mm-jj)" +msgstr "Émis à partir de cette date (AAAA-mm-jj)" msgid "Issued on to this date (YYYY-mm-dd)" -msgstr "Émis le, jusque cette date (AAAA-mm-jj)" +msgstr "Émis à cette date (AAAA-mm-jj)" msgid "Revoked on from this date (YYYY-mm-dd)" -msgstr "Révoqué le, à partir de cette date (AAAA-mm-jj)" +msgstr "Révoqué à partir de cette date (AAAA-mm-jj)" msgid "Revoked on to this date (YYYY-mm-dd)" -msgstr "Révoqué le, jusque cette date (AAAA-mm-jj)" +msgstr "Révoqué à cette date (AAAA-mm-jj)" msgid "Maximum number of certs returned" msgstr "Nombre maximum de certificats renvoyés" @@ -2054,6 +2958,42 @@ msgid_plural "%(count)d certificates matched" msgstr[0] "%(count)d certificat correspondant" msgstr[1] "%(count)d certificats correspondants" +msgid "invalid Profile ID" +msgstr "Identifiant de profil invalide" + +msgid "Certificate Profile" +msgstr "Profil de certificat" + +msgid "Certificate Profiles" +msgstr "Profils de certificats" + +msgid "Profile ID for referring to this profile" +msgstr "Identifiant de profil" + +msgid "Profile description" +msgstr "Description de profil" + +msgid "Brief description of this profile" +msgstr "Brève description de ce profil" + +msgid "Whether to store certs issued using this profile" +msgstr "Stocker ou non les certificats émis à partir de ce profil" + +msgid "Search for Certificate Profiles." +msgstr "Rechercher des profils de certificats." + +#, python-format +msgid "%(count)d profile matched" +msgid_plural "%(count)d profiles matched" +msgstr[0] "%(count)d profil correspondant" +msgstr[1] "%(count)d profils correspondants" + +msgid "Display the properties of a Certificate Profile." +msgstr "Afficher les propriétés d'un profil de certificat." + +msgid "Filename" +msgstr "Nom de fichier" + msgid "" "\n" "Server configuration\n" @@ -2103,27 +3043,29 @@ msgid "" "s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" msgstr "" "\n" -"Configuration serveur\n" +"Configuration du serveur\n" "\n" -"Administrer les valeurs de configuration par défaut qu'utilise IPA ainsi\n" -"que certains paramètres.\n" +"Gérer les valeurs par défaut utilisées par IPA ainsi que certains de ses\n" +"paramètres d'ajustement.\n" "\n" "NOTES :\n" "\n" -"La valeur pour le préavis d'expiration des mots de passe (--pwdexpnotify)\n" -"est stockée ici afin de pouvoir être répliquée. Elle n'est pas encore\n" -"utilisée pour la notification des utilisateurs avant l'expiration de leur\n" -"mot de passe.\n" +"La valeur de notification du mot de passe (--pwdexpnotify) est stockée ici\n" +"en vue de sa réplication. Elle n'est pas actuellement utilisée pour " +"notifier\n" +"par avance aux utilisateurs l'expiration de leur mot de passe.\n" +"\n" +"Certains attributs sont en lecture seule, fournis à titre d'information ;\n" +"ils comprennent :\n" "\n" -"Certains attributs sont en lecture seule, fournis à titre d'information,\n" -"incluant :\n" +"* la base sujet de certificat : la base de sujet de certificat configuré,\n" +" ex. O=EXAMPLE.COM, configurable uniquement à l'installation.\n" +"* les fonctions du greffon mots de passe : définit les hachages " +"additionnels\n" +" qu'un mot de passe va générer (d'autres conditions peuvent s'appliquer).\n" "\n" -"Base de sujet de certificat : la base configurée pour les sujets de\n" -" certificat, par exemple O=EXAMPLE.COM, configurable uniquement lors\n" -" de l'installation.\n" -"Fonctionnalités du greffon de gestion des mots de passe : défini\n" -" actuellement les types de condensés additionnels qu'un mot de\n" -" passe va générer (d'autres conditions peuvent s'appliquer).\n" +"En fixant la liste ordonnée pour le mappage des utilisateurs SELinux, vous\n" +"devez mettre entre guillemets les valeurs pour éviter leur interprétation.\n" "\n" "EXEMPLES :\n" "\n" @@ -2133,28 +3075,24 @@ msgstr "" " Afficher toutes les options de configuration :\n" " ipa config-show --all\n" "\n" -" Modifier la longueur maximale d'un nom d'utilisateur\n" -" à 99 caractères :\n" +" Modifier la longueur maximale d'un nom d'utilisateur à 99 caractères :\n" " ipa config-mod --maxusername=99\n" "\n" -" Augmenter les limites de temps et de taille pour les recherches\n" -" sur le serveur IPA :\n" +" Augmenter délais et limites de taille des recherches sur le serveur IPA :\n" " ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000\n" "\n" -" Définir le domaine par défaut pour les adresses courriel des " -"utilisateurs :\n" +" Définir le domaine pour les courriels de l'utilisateur par défaut :\n" " ipa config-mod --emaildomain=example.com\n" "\n" -" Activer le mode migration pour rendre la commande \"ipa migrate-ds\" " -"opérationelle :\n" +" Activer le mode migration pour que « ipa migrate-ds » soit opérationelle :\n" " ipa config-mod --enable-migration=TRUE\n" "\n" -" Définir l'ordre des utilisateurs SELinux pour les cartes :\n" +" Définir l'ordre de la mappe des utilisateurs SELinux :\n" " ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-" "s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" msgid "searchtimelimit must be -1 or > 1." -msgstr "searchtimelimit doit être égal à -1 ou > 1." +msgstr "« searchtimelimit » doit être égal à -1 ou > 1." msgid "configuration options" msgstr "options de configuration" @@ -2163,16 +3101,16 @@ msgid "Configuration" msgstr "Configuration" msgid "Maximum username length" -msgstr "Longueur maximale de nom d'utilisateur" +msgstr "Longueur maximale du nom d'utilisateur" msgid "Home directory base" -msgstr "Base de répertoire utilisateur" +msgstr "Base du répertoire utilisateur" msgid "Default location of home directories" msgstr "Emplacement par défaut des répertoires utilisateur" msgid "Default shell" -msgstr "Shell par défaut" +msgstr "Interprèteur par défaut" msgid "Default shell for new users" msgstr "Interpréteur de commande par défaut pour les nouveaux utilisateurs" @@ -2184,79 +3122,74 @@ msgid "Default group for new users" msgstr "Groupe utilisateur par défaut pour les nouveaux utilisateurs" msgid "Default e-mail domain" -msgstr "Domaine par défaut pour les adresses courriel" +msgstr "Domaine par défaut pour les courriels" msgid "Search time limit" -msgstr "Durée de recherche limite" +msgstr "Limite de temps d'une recherche" msgid "" "Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" -msgstr "Durée maximale (secondes) pour une recherche (> 0, -1 pour illimité)" +msgstr "Durée maximale (secondes) pour une recherche (> 0, -1 pour illimitée)" msgid "Search size limit" -msgstr "Taille limite de recherche" +msgstr "Limite de taille d'une recherche" msgid "Maximum number of records to search (-1 is unlimited)" -msgstr "Nombre maximal d'entrées à rechercher (-1 pour illimité)" +msgstr "Nombre maximum d'entrées à rechercher (-1 pour illimité)" msgid "User search fields" msgstr "Champs de recherche utilisateur" msgid "A comma-separated list of fields to search in when searching for users" msgstr "" -"Une liste séparée par des virgules des champs à fouiller lors d'une " +"Une liste, séparée avec des virgules, des champs à explorer pour une " "recherche d'utilisateurs" msgid "A comma-separated list of fields to search in when searching for groups" msgstr "" -"Une liste séparée par des virgules des champs à fouiller lors d'une " -"recherche de groupes" +"Une liste séparée par des virgules des champs à explorer pour une recherche " +"de groupes" msgid "Enable migration mode" msgstr "Activer le mode migration" msgid "Certificate Subject base" -msgstr "Base du sujet de certificat" +msgstr "Base de sujet de certificat" msgid "Base for certificate subjects (OU=Test,O=Example)" msgstr "Base pour les sujets de certificat (OU=Test,O=Example)" msgid "Default group objectclasses" -msgstr "Classes d'objets par défaut pour les groupes" +msgstr "Classes d'objets de groupe par défaut" msgid "Default group objectclasses (comma-separated list)" -msgstr "" -"Classes d'objets par défaut pour les groupes (liste séparée par des virgules)" +msgstr "Classes d'objets de groupe par défaut (liste séparée par des virgules)" msgid "Default user objectclasses" -msgstr "Classes d'objets par défaut pour les utilisateurs" +msgstr "Classes d'objets utilisateur par défaut" msgid "Default user objectclasses (comma-separated list)" msgstr "" -"Classes d'objets par défaut pour les utilisateurs (liste séparée par des " -"virgules)" +"Classes d'objets utilisateurs par défaut (liste séparée par des virgules)" msgid "Password Expiration Notification (days)" -msgstr "Notification avant expiration de mot de passe (jours)" +msgstr "Notification d'expiration de mot de passe (jours)" msgid "Number of days's notice of impending password expiration" msgstr "Nombre de jours de préavis d'expiration de mot de passe" msgid "Password plugin features" -msgstr "Fonctionnalités du greffon de gestion des mots de passe" +msgstr "Fonctionnalités du greffon mots de passe" msgid "Extra hashes to generate in password plug-in" -msgstr "" -"Hachages supplémentaires à générer dans le greffon de gestion des mots de " -"passe" +msgstr "Hachages additionnels à générer dans le greffon mots de passe" msgid "SELinux user map order" -msgstr "Ordre des utilisateurs SELinux pour les cartes" +msgstr "Ordre de la mappe des utilisateurs SELinux" msgid "Order in increasing priority of SELinux users, delimited by $" msgstr "" -"Ordre des utilisateurs SELinux pour les cartes, par priorité croissante, " -"délimités par $" +"Ordre des utilisateurs SELinux par priorité croissante, délimités par $" msgid "Default SELinux user" msgstr "Utilisateur SELinux par défaut" @@ -2264,13 +3197,13 @@ msgstr "Utilisateur SELinux par défaut" msgid "Default SELinux user when no match is found in SELinux map rule" msgstr "" "Utilisateur SELinux par défaut quand il n'y a aucune correspondance dans la " -"règle de carte SELinux" +"règle de mappe SELinux" msgid "Default PAC types" msgstr "Types de PAC par défaut" msgid "Default types of PAC supported for services" -msgstr "Types de PAC par défaut pris en charge pour les services" +msgstr "Types de PAC par défaut pris en charge pour des services" msgid "Default user authentication types" msgstr "Types d'authentification utilisateur par défaut" @@ -2289,21 +3222,23 @@ msgid "attribute \"%s\" not allowed" msgstr "attribut « %s » interdit" msgid "May not be empty" -msgstr "Ne peut être vide" +msgstr "Ne peut pas être vide" #, python-format msgid "%(obj)s default attribute %(attr)s would not be allowed!" -msgstr "L'attribut par défaut %(attr)s de %(obj)s ne serait pas autorisé !" +msgstr "L'attribut par défaut %(attr)s de %(obj)s n'est pas autorisé !" msgid "A list of SELinux users delimited by $ expected" -msgstr "Une liste des utilisateurs SELinux délimitée par $ est attendue" +msgstr "Est attendue une liste des utilisateurs SELinux, délimités par des $" #, python-format msgid "SELinux user '%(user)s' is not valid: %(error)s" msgstr "L'utilisateur SELinux « %(user)s » n'est pas valide : %(error)s" msgid "SELinux user map default user not in order list" -msgstr "La carte des utilisateurs par défaut n'est pas une liste ordonnée" +msgstr "" +"L'utilisateur par défaut de la mappe utilisateur SELinux n'est pas dans la " +"liste d'ordre" msgid "Show the current configuration." msgstr "Afficher la configuration actuelle." @@ -2319,114 +3254,704 @@ msgid "" "Group to Group Delegations grants the members of one group to update a set\n" "of attributes of members of another group.\n" "\n" -"EXAMPLES:\n" +"EXAMPLES:\n" +"\n" +" Add a delegation rule to allow managers to edit employee's addresses:\n" +" ipa delegation-add --attrs=street --group=managers --" +"membergroup=employees \"managers edit employees' street\"\n" +"\n" +" When managing the list of attributes you need to include all attributes\n" +" in the list, including existing ones. Add postalCode to the list:\n" +" ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --" +"membergroup=employees \"managers edit employees' street\"\n" +"\n" +" Display our updated rule:\n" +" ipa delegation-show \"managers edit employees' street\"\n" +"\n" +" Delete a rule:\n" +" ipa delegation-del \"managers edit employees' street\"\n" +msgstr "" +"\n" +"Délégation de groupe à groupe\n" +"\n" +"Une permission permet une délégation fine des autorisations. Les règles de\n" +"contrôle d'accès, ou les instructions (ACI), accordent la possibilité aux\n" +"permissions de réaliser certaines tâches comme l'ajout d'utilisateur, la\n" +"modification d'un groupe, etc.\n" +"\n" +"La délégation de groupe à groupe permet aux membres d'un groupe de modifier\n" +"un jeu d'attributs de membres d'un autre groupe.\n" +"\n" +"EXEMPLES:\n" +"\n" +" Ajouter une règle de délégation permettant aux gestionnaires de modifier\n" +" les adresses des employés :\n" +" ipa delegation-add --attrs=street --group=managers --" +"membergroup=employees \"managers edit employees' street\"\n" +"\n" +" En gérant une liste d'attributs, vous devez inclure tous les attributs,\n" +" y compris les existants. Ajouter « postalCode » à la liste :\n" +" ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --" +"membergroup=employees \"managers edit employees' street\"\n" +"\n" +" Afficher la règle modifiée :\n" +" ipa delegation-show \"managers edit employees' street\"\n" +"\n" +" Supprimer une règle :\n" +" ipa delegation-del \"managers edit employees' street\"\n" + +msgid "delegation" +msgstr "délégation" + +msgid "delegations" +msgstr "délégations" + +msgid "Delegations" +msgstr "Délégations" + +msgid "Delegation" +msgstr "Délégation" + +msgid "Delegation name" +msgstr "Nom de délégation" + +msgid "Permissions to grant (read, write). Default is write." +msgstr "Permissions à accorder (« read », « write »). Par défaut : « write »." + +msgid "Attributes to which the delegation applies" +msgstr "Attributs auxquels la délégation s'applique" + +msgid "Member user group" +msgstr "Groupe d'utilisateurs membre" + +msgid "User group to apply delegation to" +msgstr "Groupe d'utilisateur auquel s'applique la délégation" + +msgid "Add a new delegation." +msgstr "Ajouter une nouvelle délégation." + +#, python-format +msgid "Added delegation \"%(value)s\"" +msgstr "Délégation « %(value)s » ajoutée" + +msgid "Delete a delegation." +msgstr "Supprimer une délégation." + +#, python-format +msgid "Deleted delegation \"%(value)s\"" +msgstr "Délégation « %(value)s » supprimée" + +msgid "Modify a delegation." +msgstr "Modifier une délégation." + +#, python-format +msgid "Modified delegation \"%(value)s\"" +msgstr "Délégation « %(value)s » modifiée" + +msgid "Search for delegations." +msgstr "Rechercher des délégations." + +#, python-format +msgid "%(count)d delegation matched" +msgid_plural "%(count)d delegations matched" +msgstr[0] "%(count)d délégation correspondante" +msgstr[1] "%(count)d délégations correspondantes" + +msgid "Display information about a delegation." +msgstr "Afficher les informations sur une délégation." + +msgid "" +"\n" +"Domain Name System (DNS)\n" +msgstr "" +"\n" +"Domain Name System (DNS)\n" + +msgid "" +"\n" +"Manage DNS zone and resource records.\n" +msgstr "" +"\n" +"Gérer la zone DNS et les enregistrements de ressources.\n" + +msgid "" +"\n" +"SUPPORTED ZONE TYPES\n" +"\n" +" * Master zone (dnszone-*), contains authoritative data.\n" +" * Forward zone (dnsforwardzone-*), forwards queries to configured " +"forwarders\n" +" (a set of DNS servers).\n" +msgstr "" +"\n" +"TYPES DE ZONE PRIS EN CHARGE\n" +"\n" +" * Zone Master (dnszone-*), contient les données faisant autorité.\n" +" * Zone Forward (dnsforwardzone-*), transfère les requêtes au transitaire\n" +" configuré (un ensemble de serveurs DNS).\n" + +msgid "" +"\n" +"USING STRUCTURED PER-TYPE OPTIONS\n" +msgstr "" +"\n" +"UTILISATION d'OPTIONS STRUCTURÉES PAR TYPE\n" + +msgid "" +"\n" +"There are many structured DNS RR types where DNS data stored in LDAP server\n" +"is not just a scalar value, for example an IP address or a domain name, but\n" +"a data structure which may be often complex. A good example is a LOC record\n" +"[RFC1876] which consists of many mandatory and optional parts (degrees,\n" +"minutes, seconds of latitude and longitude, altitude or precision).\n" +msgstr "" +"\n" +"Dans beaucoup de types RR de DNS, les données DNS mises dans un serveur " +"LDAP\n" +"ne sont pas qu'un scalaire, ex. adresse IP ou nom de domaine, mais une\n" +"structure de données parfois complexe. Un bon exemple est l'enregistrement\n" +"LOC [RFC1876] constitué de nombre de parties obligatoires ou optionnelles\n" +"(degrés-minutes-secondes de latitude et longitude, altitude ou précision).\n" + +msgid "" +"\n" +"It may be difficult to manipulate such DNS records without making a mistake\n" +"and entering an invalid value. DNS module provides an abstraction over " +"these\n" +"raw records and allows to manipulate each RR type with specific options. " +"For\n" +"each supported RR type, DNS module provides a standard option to manipulate\n" +"a raw records with format ---rec, e.g. --mx-rec, and special " +"options\n" +"for every part of the RR structure with format ---, e.g.\n" +"--mx-preference and --mx-exchanger.\n" +msgstr "" +"\n" +"Il peut être difficile de manier de tels enregistrements DNS sans erreurs " +"et\n" +"sans entrer de valeur invalide. Le module DNS fournit une abstraction pour\n" +"ces enregistrements bruts afin de manier chaque type RR avec des options\n" +"données. Pour tout type RR pris en charge, le module DNS fournit une option\n" +"standard pour manier l'enregistrement brut avec le format ---rec,\n" +"ex. --mx-rec, et des options spéciales pour chaque élément de structure RR\n" +"avec le format ---, ex. --mx-preference ou --mx-" +"exchanger.\n" + +msgid "" +"\n" +"When adding a record, either RR specific options or standard option for a " +"raw\n" +"value can be used, they just should not be combined in one add operation. " +"When\n" +"modifying an existing entry, new RR specific options can be used to change\n" +"one part of a DNS record, where the standard option for raw value is used\n" +"to specify the modified value. The following example demonstrates\n" +"a modification of MX record preference from 0 to 1 in a record without\n" +"modifying the exchanger:\n" +"ipa dnsrecord-mod --mx-rec=\"0 mx.example.com.\" --mx-preference=1\n" +msgstr "" +"\n" +"À l'ajout d'un enregistrement, on peut utiliser des options RR spécifiques\n" +"ou standard pour une valeur brute, mais elles ne doivent pas être combinées\n" +"dans une même opération. En modifiant une entrée existante, des options RR\n" +"spécifiques peuvent s'utiliser pour modifier une partie d'un enregistrement\n" +"DNS où l'option standard est utilisée pour indiquer la valeur modifiée.\n" +"Cet exemple démontre une modification de préférence d'enregistrement MX de\n" +"0 à 1 dans un enregistrement sans modifier l'échangeur :\n" +"ipa dnsrecord-mod --mx-rec=\"0 mx.example.com.\" --mx-preference=1\n" + +msgid "" +"\n" +"\n" +"EXAMPLES:\n" +msgstr "" +"\n" +"\n" +"EXEMPLES :\n" + +msgid "" +"\n" +" Add system permission that can be used for per-zone privilege delegation:\n" +" ipa dnszone-add-permission example.com\n" +msgstr "" +"\n" +" Ajouter une permission système pour une délégation de privilège par zone :\n" +" ipa dnszone-add-permission example.com\n" + +msgid "" +"\n" +" Modify the zone to allow dynamic updates for hosts own records in realm " +"EXAMPLE.COM:\n" +" ipa dnszone-mod example.com --dynamic-update=TRUE\n" +msgstr "" +"\n" +" Modifier la zone pour permettre des mises à jour dynamiques des propres\n" +" enregistrements des hôtes dans le royaume EXAMPLE.COM :\n" +" ipa dnszone-mod example.com --dynamic-update=TRUE\n" + +msgid "" +"\n" +" This is the equivalent of:\n" +" ipa dnszone-mod example.com --dynamic-update=TRUE \\\n" +" --update-policy=\"grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM " +"krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;\"\n" +msgstr "" +"\n" +" C'est l'équivalent de :\n" +" ipa dnszone-mod example.com --dynamic-update=TRUE \\\n" +" --update-policy=\"grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM " +"krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;\"\n" + +msgid "" +"\n" +" Modify the zone to allow zone transfers for local network only:\n" +" ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24\n" +msgstr "" +"\n" +" Modifier la zone pour permettre des transferts de zone pour le réseau local " +"uniquement :\n" +" ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24\n" + +msgid "" +"\n" +" Add second nameserver for example.com:\n" +" ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com\n" +msgstr "" +"\n" +" Ajouter un second serveur de noms pour « example.com » :\n" +" ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com\n" + +msgid "" +"\n" +" Add a mail server for example.com:\n" +" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail1\"\n" +msgstr "" +"\n" +" Ajouter un serveur courriel pour « example.com » :\n" +" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail1\"\n" + +msgid "" +"\n" +" Add another record using MX record specific options:\n" +" ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2\n" +msgstr "" +"\n" +" Ajouter un autre enregistrement avec des options propres à MX :\n" +" ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2\n" + +msgid "" +"\n" +" Add another record using interactive mode (started when dnsrecord-add, " +"dnsrecord-mod,\n" +" or dnsrecord-del are executed with no options):\n" +" ipa dnsrecord-add example.com @\n" +" Please choose a type of DNS resource record to be added\n" +" The most common types for this type of zone are: NS, MX, LOC\n" +"\n" +" DNS resource record type: MX\n" +" MX Preference: 30\n" +" MX Exchanger: mail3\n" +" Record name: example.com\n" +" MX record: 10 mail1, 20 mail2, 30 mail3\n" +" NS record: nameserver.example.com., nameserver2.example.com.\n" +msgstr "" +"\n" +" Ajouter un autre enregistrement en mode interactif (lancé si dnsrecord-" +"add,\n" +" dnsrecord-mod, ou dnsrecord-del sont exécutés sans options) :\n" +" ipa dnsrecord-add example.com @\n" +" Please choose a type of DNS resource record to be added\n" +" The most common types for this type of zone are: NS, MX, LOC\n" +"\n" +" DNS resource record type: MX\n" +" MX Preference: 30\n" +" MX Exchanger: mail3\n" +" Record name: example.com\n" +" MX record: 10 mail1, 20 mail2, 30 mail3\n" +" NS record: nameserver.example.com., nameserver2.example.com.\n" + +msgid "" +"\n" +" Delete previously added nameserver from example.com:\n" +" ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com.\n" +msgstr "" +"\n" +" Supprimer le serveur de noms précédemment ajouté à « example.com » :\n" +" ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com.\n" + +msgid "" +"\n" +" Add LOC record for example.com:\n" +" ipa dnsrecord-add example.com @ --loc-rec=\"49 11 42.4 N 16 36 29.6 E " +"227.64m\"\n" +msgstr "" +"\n" +" Ajouter un enregistrement LOC pour « example.com » :\n" +" ipa dnsrecord-add example.com @ --loc-rec=\"49 11 42.4 N 16 36 29.6 E " +"227.64m\"\n" + +msgid "" +"\n" +" Add new A record for www.example.com. Create a reverse record in " +"appropriate\n" +" reverse zone as well. In this case a PTR record \"2\" pointing to www." +"example.com\n" +" will be created in zone 2.0.192.in-addr.arpa.\n" +" ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse\n" +msgstr "" +"\n" +" Ajouter un nouvel enregistrement A à www.example.com. Créer son inverse\n" +" dans la zone inverse appropriée. Dans ce cas, un enregistrement PTR « 2 »\n" +" pointant sur www.example.com sera créé dans la zone 2.0.192.in-addr.arpa.\n" +" ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse\n" + +msgid "" +"\n" +" Add new PTR record for www.example.com\n" +" ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com.\n" +msgstr "" +"\n" +" Ajoutez un nouvel enregistrement PTR pour www.example.com\n" +" ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com.\n" + +msgid "" +"\n" +" Add new SRV records for LDAP servers. Three quarters of the requests\n" +" should go to fast.example.com, one quarter to slow.example.com. If neither\n" +" is available, switch to backup.example.com.\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup." +"example.com\"\n" +msgstr "" +"\n" +" Ajouter de nouveaux enregistrements SRV pour serveurs LDAP. 3 requêtes\n" +" sur 4 iront vers fast.example.com, unes sur 4 vers slow.example.com. Si ni\n" +" l'un ni l'autre, n'est disponible, basculer sur backup.example.com.\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup." +"example.com\"\n" + +msgid "" +"\n" +" The interactive mode can be used for easy modification:\n" +" ipa dnsrecord-mod example.com _ldap._tcp\n" +" No option to modify specific record provided.\n" +" Current DNS record contents:\n" +"\n" +" SRV record: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 " +"backup.example.com\n" +"\n" +" Modify SRV record '0 3 389 fast.example.com'? Yes/No (default No):\n" +" Modify SRV record '0 1 389 slow.example.com'? Yes/No (default No): y\n" +" SRV Priority [0]: (keep the default value)\n" +" SRV Weight [1]: 2 (modified value)\n" +" SRV Port [389]: (keep the default value)\n" +" SRV Target [slow.example.com]: (keep the default value)\n" +" 1 SRV record skipped. Only one value per DNS record type can be modified " +"at one time.\n" +" Record name: _ldap._tcp\n" +" SRV record: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 " +"389 slow.example.com\n" +msgstr "" +"\n" +" On peut utiliser le mode interactif pour faciliter les modifications :\n" +" ipa dnsrecord-mod example.com _ldap._tcp\n" +" No option to modify specific record provided.\n" +" Current DNS record contents:\n" +"\n" +" SRV record: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 " +"backup.example.com\n" +"\n" +" Modify SRV record '0 3 389 fast.example.com'? Yes/No (default No):\n" +" Modify SRV record '0 1 389 slow.example.com'? Yes/No (default No): y\n" +" SRV Priority [0]: (keep the default value)\n" +" SRV Weight [1]: 2 (modified value)\n" +" SRV Port [389]: (keep the default value)\n" +" SRV Target [slow.example.com]: (keep the default value)\n" +" 1 SRV record skipped. Only one value per DNS record type can be modified " +"at one time.\n" +" Record name: _ldap._tcp\n" +" SRV record: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 " +"389 slow.example.com\n" + +msgid "" +"\n" +" After this modification, three fifths of the requests should go to\n" +" fast.example.com and two fifths to slow.example.com.\n" +msgstr "" "\n" -" Add a delegation rule to allow managers to edit employee's addresses:\n" -" ipa delegation-add --attrs=street --group=managers --" -"membergroup=employees \"managers edit employees' street\"\n" +" Après cette modification, 3 requêtes sur 5 iront vers fast.example.com\n" +" et 2 sur 5 vers slow.example.com.\n" + +msgid "" "\n" -" When managing the list of attributes you need to include all attributes\n" -" in the list, including existing ones. Add postalCode to the list:\n" -" ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --" -"membergroup=employees \"managers edit employees' street\"\n" +" An example of the interactive mode for dnsrecord-del command:\n" +" ipa dnsrecord-del example.com www\n" +" No option to delete specific record provided.\n" +" Delete all? Yes/No (default No): (do not delete all records)\n" +" Current DNS record contents:\n" "\n" -" Display our updated rule:\n" -" ipa delegation-show \"managers edit employees' street\"\n" +" A record: 192.0.2.2, 192.0.2.3\n" "\n" -" Delete a rule:\n" -" ipa delegation-del \"managers edit employees' street\"\n" +" Delete A record '192.0.2.2'? Yes/No (default No):\n" +" Delete A record '192.0.2.3'? Yes/No (default No): y\n" +" Record name: www\n" +" A record: 192.0.2.2 (A record 192.0.2.3 has been " +"deleted)\n" msgstr "" "\n" -"Délégation de groupe à groupe\n" -"\n" -"Une permission permet une délégation fine des autorisations. Les règles de\n" -"contrôle d'accès, ou les instructions (ACI), accordent la possibilité aux\n" -"permissions de réaliser certaines tâches comme l'ajout d'utilisateur, la\n" -"modification d'un groupe, etc.\n" +" Voici un exemple du mode interactif pour la commande dnsrecord-del :\n" +" ipa dnsrecord-del example.com www\n" +" No option to delete specific record provided.\n" +" Delete all? Yes/No (default No): (do not delete all records)\n" +" Current DNS record contents:\n" "\n" -"La délégation de groupe à groupe permet aux membres d'un groupe de modifier\n" -"un jeu d'attributs de membres d'un autre groupe.\n" +" A record: 192.0.2.2, 192.0.2.3\n" "\n" -"EXEMPLES:\n" +" Delete A record '192.0.2.2'? Yes/No (default No):\n" +" Delete A record '192.0.2.3'? Yes/No (default No): y\n" +" Record name: www\n" +" A record: 192.0.2.2 (A record 192.0.2.3 has been " +"deleted)\n" + +msgid "" "\n" -" Ajouter une règle de délégation permettant aux managers de modifier\n" -" les adresses des employés :\n" -" ipa delegation-add --attrs=street --group=managers --" -"membergroup=employees 'les managers modifient les adresses des employés'\n" +" Show zone example.com:\n" +" ipa dnszone-show example.com\n" +msgstr "" "\n" +" Afficher la zone « example.com » :\n" +" ipa dnszone-show example.com\n" + +msgid "" "\n" -" Lors de la gestion d'une liste d'attributs, vous devez toujours spécifier\n" -" la liste complète des attributs, y compris les attributs existants.\n" -" Ajouter postalCode à la liste :\n" -" ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --" -"membergroup=employees 'les managers modifient les adresses des employés'\n" +" Find zone with \"example\" in its domain name:\n" +" ipa dnszone-find example\n" +msgstr "" "\n" +" Trouver une zone avec « example » dans son nom de domaine :\n" +" ipa dnszone-find example\n" + +msgid "" "\n" -" Afficher la règle modifiée :\n" -" ipa delegation-show 'les managers modifient les adresses des employés'\n" +" Find records for resources with \"www\" in their name in zone example.com:\n" +" ipa dnsrecord-find example.com www\n" +msgstr "" "\n" -" Supprimer une règle :\n" -" ipa delegation-del 'les managers modifient les adresses des employés'\n" +" Trouver des enregistrements de ressources avec « www » dans le nom dans la\n" +" zone « example.com » :\n" +" ipa dnsrecord-find example.com www\n" -msgid "delegation" -msgstr "délégation" +msgid "" +"\n" +" Find A records with value 192.0.2.2 in zone example.com\n" +" ipa dnsrecord-find example.com --a-rec=192.0.2.2\n" +msgstr "" +"\n" +" Trouver des enregistrements A avec la valeur 192.0.2.2 dans la zone\n" +" « example.com » :\n" +" ipa dnsrecord-find example.com --a-rec=192.0.2.2\n" -msgid "delegations" -msgstr "délégations" +msgid "" +"\n" +" Show records for resource www in zone example.com\n" +" ipa dnsrecord-show example.com www\n" +msgstr "" +"\n" +" Afficher les enregistrements de ressources « www » dans la zone\n" +" « example.com » :\n" +" ipa dnsrecord-show example.com www\n" -msgid "Delegations" -msgstr "Délégations" +msgid "" +"\n" +" Delegate zone sub.example to another nameserver:\n" +" ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1\n" +" ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com.\n" +msgstr "" +"\n" +" Déléguer la zone sub.example à un autre nom de serveur :\n" +" ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1\n" +" ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com.\n" -msgid "Delegation" -msgstr "Délégation" +msgid "" +"\n" +" Delete zone example.com with all resource records:\n" +" ipa dnszone-del example.com\n" +msgstr "" +"\n" +" Supprimer la zone « example.com » avec tous les enregistrements de " +"ressources :\n" +" ipa dnszone-del example.com\n" -msgid "Delegation name" -msgstr "Nom de la délégation" +msgid "" +"\n" +" If a global forwarder is configured, all queries for which this server is " +"not\n" +" authoritative (e.g. sub.example.com) will be routed to the global " +"forwarder.\n" +" Global forwarding configuration can be overridden per-zone.\n" +msgstr "" +"\n" +" Si une redirection globale est configurée, toute requête pour laquelle ce\n" +" serveur ne fait pas autorité (ex. sub.example.com) sera routée vers le \n" +" transitaire global.\n" +" La configuration d'une redirection globale peut être surchargée par zone.\n" -msgid "Permissions to grant (read, write). Default is write." -msgstr "Permissions à accorder (read, write). La valeur par défaut est write." +msgid "" +"\n" +" Semantics of the --forwarder-policy option:\n" +" * none - disable forwarding for the given zone.\n" +" * first - forward all queries to configured forwarders. If they fail,\n" +" do resolution using DNS root servers.\n" +" * only - forward all queries to configured forwarders and if they fail,\n" +" return failure.\n" +msgstr "" +"\n" +" Sémantique de l'option --forwarder-policy :\n" +" * none - désactive le transfert pour la zone donnée.\n" +" * first - transfère toutes les requêtes aux transitaires configurés.\n" +" En cas d'échec, fait la résolution avec les serveurs racine DNS.\n" +" * only - transfère toutes les requêtes aux transitaires configurés,\n" +" et en cas d'échec, informe de cet échec.\n" -msgid "Attributes to which the delegation applies" -msgstr "Attributs auxquels la délégation s'applique" +msgid "" +"\n" +" Disable global forwarding for given sub-tree:\n" +" ipa dnszone-mod example.com --forward-policy=none\n" +msgstr "" +"\n" +" Désactive la redirection globale pour les sous-arbres donnés :\n" +" ipa dnszone-mod example.com --forward-policy=none\n" -msgid "Member user group" -msgstr "Groupe d'utilisateurs membre" +msgid "" +"\n" +" This configuration forwards all queries for names outside the example.com\n" +" sub-tree to global forwarders. Normal recursive resolution process is used\n" +" for names inside the example.com sub-tree (i.e. NS records are followed " +"etc.).\n" +msgstr "" +"\n" +" Cette configuration transfère toutes les requêtes pour les noms en dehors\n" +" du sous-arbre « example.com » vers les transitaires globaux. Le processus\n" +" normal de résolution récursive est utilisé pour les noms dans le sous-" +"arbre\n" +" « example.com » (ex. les enregistrements NS sont suivis, etc.).\n" -msgid "User group to apply delegation to" -msgstr "Groupe d'utilisateur auquel appliquer la délégation" +msgid "" +"\n" +" Forward all requests for the zone external.example.com to another " +"forwarder\n" +" using a \"first\" policy (it will send the queries to the selected " +"forwarder\n" +" and if not answered it will use global root servers):\n" +" ipa dnsforwardzone-add external.example.com --forward-policy=first \\\n" +" --forwarder=203.0.113.1\n" +msgstr "" +"\n" +" Transfert de toute requête pour la zone « external.example.com » vers un\n" +" autre transitaire avec la politique « first » (il adresse les requêtes au\n" +" transitaire sélectionné et s'il n'y a pas de réponse, les serveurs racine\n" +" globaux sont sollicités) :\n" +" ipa dnsforwardzone-add external.example.com --forward-policy=first \\\n" +" --forwarder=203.0.113.1\n" -msgid "Add a new delegation." -msgstr "Ajouter une nouvelle délégation." +msgid "" +"\n" +" Change forward-policy for external.example.com:\n" +" ipa dnsforwardzone-mod external.example.com --forward-policy=only\n" +msgstr "" +"\n" +" Modifier la politique de transfert pour « external.example.com » :\n" +" ipa dnsforwardzone-mod external.example.com --forward-policy=only\n" -#, python-format -msgid "Added delegation \"%(value)s\"" -msgstr "Délégation « %(value)s » ajoutée" +msgid "" +"\n" +" Show forward zone external.example.com:\n" +" ipa dnsforwardzone-show external.example.com\n" +msgstr "" +"\n" +" Afficher la zone de transfert « external.example.com » :\n" +" ipa dnsforwardzone-show external.example.com\n" -msgid "Delete a delegation." -msgstr "Supprimer une délégation." +msgid "" +"\n" +" List all forward zones:\n" +" ipa dnsforwardzone-find\n" +msgstr "" +"\n" +" Lister toutes les zones de transfert :\n" +" ipa dnsforwardzone-find\n" -#, python-format -msgid "Deleted delegation \"%(value)s\"" -msgstr "Délégation « %(value)s » supprimée" +msgid "" +"\n" +" Delete forward zone external.example.com:\n" +" ipa dnsforwardzone-del external.example.com\n" +msgstr "" +"\n" +" Supprimer la zone de transfert « external.example.com » :\n" +" ipa dnsforwardzone-del external.example.com\n" -msgid "Modify a delegation." -msgstr "Modifier une délégation." +msgid "" +"\n" +" Resolve a host name to see if it exists (will add default IPA domain\n" +" if one is not included):\n" +" ipa dns-resolve www.example.com\n" +" ipa dns-resolve www\n" +msgstr "" +"\n" +" Résoudre un nom d'hôte pour voir s'il existe (ajoute le domaine IPA par\n" +" défaut s'il n'est pas inclus) :\n" +" ipa dns-resolve www.example.com\n" +" ipa dns-resolve www\n" -#, python-format -msgid "Modified delegation \"%(value)s\"" -msgstr "Délégation « %(value)s » modifiée" +msgid "" +"\n" +"\n" +"GLOBAL DNS CONFIGURATION\n" +msgstr "" +"\n" +"\n" +"CONFIGURATION GLOBALE du DNS\n" -msgid "Search for delegations." -msgstr "Rechercher des délégations." +msgid "" +"\n" +"DNS configuration passed to command line install script is stored in a " +"local\n" +"configuration file on each IPA server where DNS service is configured. " +"These\n" +"local settings can be overridden with a common configuration stored in LDAP\n" +"server:\n" +msgstr "" +"\n" +"La configuration DNS, passée en ligne de commande du script d'installation,\n" +"est stockée dans un ficher de configuration local sur chaque serveur IPA \n" +"dans lequel le service DNS est configuré. Ces réglages locaux peuvent être\n" +"surchargés par une configuration commune stockée dans le serveur LDAP :\n" -#, python-format -msgid "%(count)d delegation matched" -msgid_plural "%(count)d delegations matched" -msgstr[0] "%(count)d délégation correspondante" -msgstr[1] "%(count)d délégations correspondantes" +msgid "" +"\n" +" Show global DNS configuration:\n" +" ipa dnsconfig-show\n" +msgstr "" +"\n" +"Afficher la configuration DNS globale :\n" +" ipa dnsconfig-show\n" -msgid "Display information about a delegation." -msgstr "Afficher les informations sur une délégation." +msgid "" +"\n" +" Modify global DNS configuration and set a list of global forwarders:\n" +" ipa dnsconfig-mod --forwarder=203.0.113.113\n" +msgstr "" +"\n" +" Modifier la configuration DNS globale et définir une liste de transitaires\n" +" globaux :\n" +" ipa dnsconfig-mod --forwarder=203.0.113.113\n" msgid "Permission value" msgstr "Valeur de permission" @@ -2443,7 +3968,7 @@ msgid "invalid IP network format" msgstr "format de réseau IP invalide" msgid "each ACL element must be terminated with a semicolon" -msgstr "chaque élément d'ACL doit se terminer par un point-virgule" +msgstr "chaque élément de LCA doit se terminer par un point-virgule" msgid "invalid address format" msgstr "format d'adresse invalide" @@ -2452,6 +3977,30 @@ msgstr "format d'adresse invalide" msgid "%(port)s is not a valid port" msgstr "%(port)s n'est pas un port valide" +msgid "" +"expected format: <0-255> <0-255> <0-65535> even-" +"length_hexadecimal_digits_or_hyphen" +msgstr "" +"format attendu : <0-255> <0-255> <0-65535> even-" +"length_hexadecimal_digits_or_hyphen (nombre impair de chiffres hexadécimaux " +"ou tiret)" + +msgid "algorithm value: allowed interval 0-255" +msgstr "valeur de l'algorithme : intervalle autorisé 0-255" + +msgid "flags value: allowed interval 0-255" +msgstr "valeur des marqueurs : intervalle autorisé 0-255" + +msgid "iterations value: allowed interval 0-65535" +msgstr "valeur des itérations : intervalle autorisé 0-65535" + +#, python-format +msgid "salt value: %(err)s" +msgstr "valeur « salt » : %(err)s" + +msgid "invalid domain-name: not fully qualified" +msgstr "nom de domaine invalide : doit être pleinement qualifié" + #, python-format msgid "DNS reverse zone for IP address %(addr)s not found" msgstr "Zone DNS inverse introuvable pour l'adresse IP %(addr)s" @@ -2497,14 +4046,14 @@ msgstr "Nombre de parties invalide !" #, python-format msgid "DNS RR type \"%s\" is not supported by bind-dyndb-ldap plugin" msgstr "" -"Le type DNS RR « %s » n'est pas pris en compte par le greffon bind-dyndb-ldap" +"Le type DNS RR « %s » n'est pas pris en charge par le greffon bind-dyndb-ldap" #, python-format msgid "format must be specified as \"%(format)s\" %(rfcs)s" -msgstr "le format doit être spécificié comme « %(format)s » %(rfcs)s" +msgstr "le format doit être spécifié comme « %(format)s » %(rfcs)s" msgid "Create reverse" -msgstr "Créer enregistrement inverse" +msgstr "Créer un enregistrement inverse" msgid "Create reverse record for this IP Address" msgstr "Créer l'enregistrement inverse pour cette adresse IP" @@ -2524,7 +4073,7 @@ msgid "Subtype" msgstr "Sous-type" msgid "Hostname" -msgstr "Nom de système" +msgstr "Nom d'hôte" msgid "Certificate Type" msgstr "Type de certificat" @@ -2539,7 +4088,7 @@ msgid "Certificate/CRL" msgstr "Certificat/CRL" msgid "A hostname which this alias hostname points to" -msgstr "Un nom de système vers lequel cet alias pointe" +msgstr "Un nom d'hôte vers lequel cet alias pointe" msgid "Target" msgstr "Cible" @@ -2555,38 +4104,38 @@ msgstr "Préférence" msgid "Preference given to this exchanger. Lower values are more preferred" msgstr "" -"Préférence donnée à cet échangeur. Les valeurs inférieures sont les " -"préférées." +"Préférence donnée à cet échangeur. Les plus petites valeurs sont les " +"premières choisies" msgid "Exchanger" -msgstr "Échangeur" +msgstr "Changeur" msgid "A host willing to act as a key exchanger" -msgstr "Un système prêt à jouer le rôle d'échangeur de clé" +msgstr "Un hôte prêt à jouer le rôle de changeur de clé" msgid "Degrees Latitude" -msgstr "Degrés latitude" +msgstr "Degrés de latitude" msgid "Minutes Latitude" -msgstr "Minutes latitude" +msgstr "Minutes de latitude" msgid "Seconds Latitude" -msgstr "Secondes latitude" +msgstr "Secondes de latitude" msgid "Direction Latitude" -msgstr "Direction latitude" +msgstr "Direction de latitude" msgid "Degrees Longitude" -msgstr "Degrés de Longitude" +msgstr "Degrés de longitude" msgid "Minutes Longitude" -msgstr "Minutes de Longitude" +msgstr "Minutes de longitude" msgid "Seconds Longitude" -msgstr "Secondes de Longitude" +msgstr "Secondes de longitude" msgid "Direction Longitude" -msgstr "Direction de Longitude" +msgstr "Direction de longitude" msgid "Altitude" msgstr "Altitude" @@ -2613,34 +4162,34 @@ msgid "" " siz, hp, vp: [0 .. 90000000.00] (size/precision in meters)\n" " See RFC 1876 for details" msgstr "" -"le format doit être spécifié comme \n" +"le format doit être définit sous la forme\n" " \"d1 [m1 [s1]] {\"N\"|\"S\"} d2 [m2 [s2]] {\"E\"|\"W\"} alt[\"m\"] " "[siz[\"m\"] [hp[\"m\"] [vp[\"m\"]]]]\"\n" -" where:\n" -" d1: [0 .. 90] (degrés latitude)\n" -" d2: [0 .. 180] (degrés longitude)\n" -" m1, m2: [0 .. 59] (minutes latitude/longitude)\n" -" s1, s2: [0 .. 59.999] (secondes latitude/longitude)\n" -" alt: [-100000.00 .. 42849672.95] par .01 (altitude en mètres)\n" +" où :\n" +" d1: [0 .. 90] (degrés de latitude)\n" +" d2: [0 .. 180] (degrés de longitude)\n" +" m1, m2: [0 .. 59] (minutes de latitude/longitude)\n" +" s1, s2: [0 .. 59.999] (secondes de latitude/longitude)\n" +" alt: [-100000.00 .. 42849672.95] PAR .01 (altitude en mètres)\n" " siz, hp, vp: [0 .. 90000000.00] (taille/précision en mètres)\n" -" Cf. RFC 1876 plus les détails" +" Cf. RFC 1876 plus de détails" #, python-format msgid "'%(required)s' must not be empty when '%(name)s' is set" msgstr "'%(required)s' ne doit pas être vide lorsque '%(name)s' est défini" msgid "A host willing to act as a mail exchanger" -msgstr "Un système désirant agir comme échangeur de messagerie" +msgstr "Un hôte pouvant agir comme changeur de messagerie" msgid "flags must be one of \"S\", \"A\", \"U\", or \"P\"" msgstr "" -"les drapeaux doivent être une valeur parmi « S », « A », « U », ou « P »" +"les marqueurs doivent être une valeur parmi « S », « A », « U », ou « P »" msgid "Order" msgstr "Ordre" msgid "Flags" -msgstr "Drapeaux" +msgstr "Marqueurs" msgid "Service" msgstr "Service" @@ -2652,7 +4201,7 @@ msgid "Replacement" msgstr "Remplacement" msgid "The hostname this reverse record points to" -msgstr "Le nom de système vers lequel cet enregistrement inverse pointe" +msgstr "Le nom d'hôte vers lequel cet enregistrement inverse pointe" msgid "Priority" msgstr "Priorité" @@ -2667,11 +4216,11 @@ msgid "" "The domain name of the target host or '.' if the service is decidedly not " "available at this domain" msgstr "" -"Le nom de domaine du système cible ou '.' si le service n'est décidément pas " +"Le nom de domaine de l'hôte cible ou '.' si le service n'est vraiment pas " "disponible dans ce domaine" msgid "the value does not follow \"YYYYMMDDHHMMSS\" time format" -msgstr "la valeur n'est pas au format temporel « YYYYMMDDHHMMSS »" +msgstr "la valeur ne suit pas le format d'horodatage « YYYYMMDDHHMMSS »" msgid "Fingerprint Type" msgstr "Type d'empreinte" @@ -2679,6 +4228,18 @@ msgstr "Type d'empreinte" msgid "Fingerprint" msgstr "Empreinte" +msgid "Certificate Usage" +msgstr "Utilisation du certificat" + +msgid "Selector" +msgstr "Sélecteur" + +msgid "Matching Type" +msgstr "Type correspondant" + +msgid "Certificate Association Data" +msgstr "Donnée associée au certificat" + msgid "Text Data" msgstr "Donnée texte" @@ -2694,7 +4255,7 @@ msgstr "" "Le serveur de noms '%(host)s' n'a pas d'enregistrement A/AAAA correspondant" msgid "Managedby permission" -msgstr "Permission managedby" +msgstr "Permission « managedby »" msgid "Zone name" msgstr "Nom de zone" @@ -2703,10 +4264,10 @@ msgid "Zone name (FQDN)" msgstr "Nom de zone (FQDN)" msgid "Reverse zone IP network" -msgstr "Zone inverse de réseau IP" +msgstr "Réseau IP de zone inverse" msgid "IP network to create reverse zone name from" -msgstr "Réseau IP à partir duquel créer une zone inverse" +msgstr "Réseau IP pour lequel créer un nom de zone inverse" msgid "Active zone" msgstr "Zone active" @@ -2715,14 +4276,14 @@ msgid "Is zone active?" msgstr "La zone est-elle active ?" msgid "Zone forwarders" -msgstr "Transmetteurs de zone" +msgstr "Transitaires de zone" msgid "" "Per-zone forwarders. A custom port can be specified for each forwarder using " "a standard format \"IP_ADDRESS port PORT\"" msgstr "" -"Transmetteur par zone. Un port personnalisé peut être spécifié pour chaque " -"transmetteur en utilisant le format standard « adresse_IP port PORT »" +"Transitaire par zone. Un port personnalisé peut être indiqué pour chaque " +"transitaire avec le format standard « adresse_IP port PORT »" msgid "Forward policy" msgstr "Politique de transmission" @@ -2732,13 +4293,16 @@ msgid "" "forwarding to global forwarder for this zone. In that case, conditional zone " "forwarders are disregarded." msgstr "" -"Politique de tranmission conditionnelle par zone. Mettre à « none » pour " -"désactiver la transmission à un transmetteur global pour cette zone. Dans ce " -"cas, les transmetteurs de zone conditionnels sont ignorés." +"Politique de transmission conditionnelle par zone. Mettre à « none » pour " +"désactiver le transfert vers un transitaire global pour cette zone. Dans ce " +"cas, les transitaires de zone conditionnels sont ignorés." msgid "DNS is not configured" msgstr "Le DNS n'est pas configuré" +msgid "Only one zone type is allowed per zone name" +msgstr "Un seul type de zone autorisé par nom de zone" + msgid "Search for DNS zones (SOA records)." msgstr "Rechercher des zones DNS (enregistrements SOA)." @@ -2747,6 +4311,10 @@ msgid "Added system permission \"%(value)s\"" msgstr "Permission système « %(value)s » ajoutée" #, python-format +msgid "permission \"%(value)s\" already exists" +msgstr "la permisison « %(value)s » existe déjà" + +#, python-format msgid "Removed system permission \"%(value)s\"" msgstr "Permission système « %(value)s » supprimée" @@ -2784,16 +4352,16 @@ msgid "SOA record refresh time" msgstr "Durée d'actualisation de l'enregistrement SOA" msgid "SOA retry" -msgstr "ré-essai SOA" +msgstr "Nouvel essai SOA" msgid "SOA record retry time" -msgstr "Durée avant nouvelle tentative de l'enregistrement SOA" +msgstr "Durée avant nouvel essai d'enregistrement SOA" msgid "SOA expire" msgstr "Expiration SOA" msgid "SOA record expire time" -msgstr "Durée d'expiration de l'enregistrement SOA" +msgstr "Heure d'expiration de l'enregistrement SOA" msgid "SOA minimum" msgstr "Minimum SOA" @@ -2804,20 +4372,17 @@ msgstr "Durée de maintien en cache des réponses négatives" msgid "Time to live" msgstr "Durée de vie" -msgid "SOA class" -msgstr "Classe SOA" - -msgid "SOA record class" -msgstr "Classe de l'enregistrement SOA " +msgid "Time to live for records at zone apex" +msgstr "Durée de vie des enregistrements en sommet de zone" msgid "BIND update policy" -msgstr "Politique de mise à jour BIND" +msgstr "Politique de mise à jour de BIND" msgid "Dynamic update" msgstr "Mise à jour dynamique" msgid "Allow dynamic updates." -msgstr "Autorise les mises à jour dynamiques." +msgstr "Autoriser les mises à jour dynamiques." msgid "Allow query" msgstr "Autoriser requête" @@ -2826,8 +4391,8 @@ msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "issue queries" msgstr "" -"Liste séparée par des points-virgules d'adresses IP de systèmes ou de " -"réseaux autorisés à effectuer des requêtes" +"Liste séparée par des points-virgules d'adresses IP ou de réseaux autorisés " +"à émettre des requêtes" msgid "Allow transfer" msgstr "Autoriser le transfert" @@ -2836,8 +4401,8 @@ msgid "" "Semicolon separated list of IP addresses or networks which are allowed to " "transfer the zone" msgstr "" -"Liste séparée par des points-virgules d'adresses IP de systèmes ou de " -"réseaux autorisés à effectuer des transferts" +"Liste séparée par des points-virgules d'adresses IP ou de réseaux autorisés " +"à effectuer des transferts" msgid "Allow PTR sync" msgstr "Autoriser la synchronisation PTR" @@ -2849,6 +4414,29 @@ msgstr "" "Autoriser la synchronisation des enregistrements directs (A, AAAA) et " "inverses (PTR) dans la zone" +msgid "Allow in-line DNSSEC signing" +msgstr "Autoriser la signature DNSSEC en ligne" + +msgid "Allow inline DNSSEC signing of records in the zone" +msgstr "" +"Autoriser la signature DNSSEC en ligne des enregistrements dans la zone" + +msgid "NSEC3PARAM record" +msgstr "Enregistrement NSEC3PARAM" + +msgid "" +"NSEC3PARAM record for zone in format: hash_algorithm flags iterations salt" +msgstr "" +"Enregistrement NSEC3PARAM pour une zone au format : algorithme_hachage " +"marqueurs itérations salt." + +msgid "" +"If you encounter any problems please report them and restart 'named' service " +"on affected IPA server." +msgstr "" +"Si vous rencontrez un quelconque problème, veuillez le rapporter et " +"redémarrer le service « named » sur le serveur IPA concerné." + msgid "Create new DNS zone (SOA record)." msgstr "Créer une nouvelle zone DNS (enregistrement SOA)." @@ -2857,33 +4445,12 @@ msgstr "Forcer" msgid "Force DNS zone creation even if nameserver is not resolvable." msgstr "" -"Forcer la création de la zone DNS zone même si le serveur de nom n'est pas " -"résolvable." - -msgid "Add forward record for nameserver located in the created zone" -msgstr "" -"Ajouter un enregistrement direct pour les serveurs de noms situés dans la " -"zone créée" - -msgid "Nameserver IP address" -msgstr "Adresse IP du serveur de noms" - -msgid "Nameserver address is not a domain name" -msgstr "L'adresse du serveur de nom n'est pas un nom de domaine" +"Forcer la création de la zone DNS même si le serveur de nom n'est pas " +"résoluble." msgid "Nameserver for reverse zone cannot be a relative DNS name" msgstr "Le serveur de nom pour la zone inverse ne peut être un nom DNS relatif" -msgid "Nameserver DNS record is created for for forward zones only" -msgstr "" -"L'enregistrement DNS du serveur de nom est créé pour les zones directes " -"uniquement" - -msgid "Nameserver DNS record is created only for nameservers in current zone" -msgstr "" -"L'enregistrement DNS du serveur de nom est créé pour les serveurs de noms " -"uniquement" - msgid "Delete DNS zone (SOA record)." msgstr "Supprimer la zone DNS (enregistrement SOA)." @@ -2900,10 +4467,10 @@ msgstr "" "dans le DNS" msgid "Forward zones only" -msgstr "Zones forward uniquement" +msgstr "Zones de transfert uniquement" msgid "Search for forward zones only" -msgstr "Rechercher des zones forward uniquement" +msgstr "Rechercher des zones de transfert uniquement" msgid "Display information about a DNS zone (SOA record)." msgstr "" @@ -2924,10 +4491,10 @@ msgid "Enabled DNS zone \"%(value)s\"" msgstr "Zone DNS « %(value)s » activée" msgid "Add a permission for per-zone access delegation." -msgstr "Ajouter une permission pour la délégation par zone." +msgstr "Ajouter une permission pour une délégation d'accès par zone." msgid "Remove a permission for per-zone access delegation." -msgstr "Supprimer une permission pour la délégation par zone." +msgstr "Supprimer une permission pour une délégation d'accès par zone." msgid "DNS resource record" msgstr "Enregistrement de ressource DNS" @@ -2944,12 +4511,6 @@ msgstr "Enregistrement de ressources DNS" msgid "Record name" msgstr "Nom d'enregistrement" -msgid "Class" -msgstr "Classe" - -msgid "DNS class" -msgstr "Classe DNS" - msgid "Structured" msgstr "Structuré" @@ -2957,13 +4518,20 @@ msgid "Parse all raw DNS records and return them in a structured way" msgstr "" "Analyser tous les enregistrements DNS et les renvoyer sous forme structurée" +msgid "" +"out-of-zone data: record name must be a subdomain of the zone or a relative " +"name" +msgstr "" +"donnée hors zone : le nom de l'enregistrement doit être un sous-domaine de " +"la zone ou un nom relatif" + #, python-format msgid "" "Reverse zone for PTR record should be a sub-zone of one the following fully " "qualified domains: %s" msgstr "" "La zone inverse pour l'enregistrement PTR doit être une sous-zone de l'un " -"des domaines suivants pleinement qualifiés : %s" +"des domaines pleinement qualifiés suivants : %s" #, python-format msgid "" @@ -2973,6 +4541,9 @@ msgstr "" "La zone inverse %(name)s requiert exactement %(count)d composants d'adresses " "IP, %(user_count)d donnés" +msgid "only master zones can contain records" +msgstr "seules les zones maître peuvent contenir des enregistrements" + msgid "only one CNAME record is allowed per name (RFC 2136, section 1.1.5)" msgstr "" "seul un unique enregistrement CNAME est autorisé par nom (RFC 2136, section " @@ -2987,16 +4558,7 @@ msgstr "" msgid "only one DNAME record is allowed per name (RFC 6672, section 2.4)" msgstr "" -"seuil un unique enregistrement DNAME est autorisé par nom (RFC 6672, section " -"2.4)" - -msgid "" -"DNAME record is not allowed to coexist with an NS record except when located " -"in a zone root record (RFC 6672, section 2.3)" -msgstr "" -"Un enregistrement DNAME ne peut coexister avec un enregistrement NS, sauf " -"lorsqu'il se trouve dans l'enregistrement racine de la zone (RFC 6672, " -"section 2.3)" +"un seul enregistrement DNAME est autorisé par nom (RFC 6672, section 2.4)" msgid "Add new DNS resource record." msgstr "Ajouter un nouvel enregistrement de ressources DNS." @@ -3007,14 +4569,14 @@ msgstr "" "pas dans le DNS" msgid "Please choose a type of DNS resource record to be added" -msgstr "Merci de choisir un type de ressource d'enregistrement DNS à ajouter" +msgstr "Veuillez choisir un type d'enregistrement de ressource DNS à ajouter" #, python-format msgid "The most common types for this type of zone are: %s\n" msgstr "Les types les plus courants pour ce type de zone sont : %s\n" msgid "DNS resource record type" -msgstr "Type de ressource d'enregistrement DNS" +msgstr "Type d'enregistrement de ressource DNS" #, python-format msgid "Invalid or unsupported type. Allowed values are: %s" @@ -3023,8 +4585,8 @@ msgstr "Type invalide ou non pris en compte. Les valeurs autorisées sont : %s" #, python-format msgid "Raw value of a DNS record was already set by \"%(name)s\" option" msgstr "" -"La valeur brute d'un enregistrement DNS a déjà été configurée par l'option « " -"%(name)s »" +"La valeur brute d'un enregistrement DNS a déjà été configurée avec l'option " +"« %(name)s »" msgid "Modify a DNS resource record." msgstr "Modifier un enregistrement de ressources DNS." @@ -3033,10 +4595,11 @@ msgid "DNS zone root record cannot be renamed" msgstr "L'enregistrement racine de la zone DNS ne peut être renommé" msgid "DNS records can be only updated one at a time" -msgstr "Les enregistrements DNS ne peuvent être modifiés qu'un seul à la fois" +msgstr "" +"Les enregistrements DNS ne peuvent être mis à jour qu'un seul à la fois" msgid "No option to modify specific record provided." -msgstr "Aucune option fournie pour modifier un enregistrement spécifique." +msgstr "Aucune option fournie pour modifier un enregistrement donné." msgid "Current DNS record contents:\n" msgstr "Contenu actuel de l'enregistrement DNS :\n" @@ -3053,11 +4616,11 @@ msgid_plural "" "%(count)d %(type)s records skipped. Only one value per DNS record type can " "be modified at one time." msgstr[0] "" -"%(count)d enregistrement %(type)s sauté. Une seule valeur par enregistrement " -"DNS peut être modifiée à la fois." +"%(count)d enregistrement %(type)s sauté. Une seule valeur modifiable par " +"enregistrement DNS." msgstr[1] "" -"%(count)d enregistrements %(type)s sautés. Une seule valeur par " -"enregistrement DNS peut être modifiée à la fois." +"%(count)d enregistrements %(type)s sautés. Une seule valeur modifiable par " +"enregistrement DNS." #, python-format msgid "Deleted record \"%(value)s\"" @@ -3070,10 +4633,10 @@ msgid "" "Neither --del-all nor options to delete a specific record provided.\n" "Command help may be consulted for all supported record types." msgstr "" -"Aucune option de suppression d'un enregistrement spécifique ni --del-all " -"n'ont été indiqués.\n" -"Merci de consulter l'aide pour connaître tous les types d'enregistrements " -"supportés." +"Ni « --del-all », ni aucune option de suppression d'enregistrement donné n'a " +"été indiqué.\n" +"Consulter l'aide pour connaître tous les types d'enregistrements pris en " +"charge." msgid "Delete all associated records" msgstr "Supprimer les enregistrements associés" @@ -3083,7 +4646,7 @@ msgid "Zone record '%s' cannot be deleted" msgstr "L'enregistrement '%s' de zone ne peut être supprimé" msgid "No option to delete specific record provided." -msgstr "Pas d'option fournie pour supprimer un enregistrement spécifique." +msgstr "Pas d'option fournie pour supprimer un enregistrement donné." msgid "Delete all?" msgstr "Tout supprimer ?" @@ -3107,7 +4670,7 @@ msgstr "'%(value)s' trouvé." #, python-format msgid "Host '%(host)s' not found" -msgstr "Système '%(host)s' introuvable" +msgstr "Hôte « %(host)s » introuvable" msgid "DNS configuration options" msgstr "Options de configuration DNS" @@ -3116,21 +4679,21 @@ msgid "DNS Global Configuration" msgstr "Configuration DNS globale" msgid "Global forwarders" -msgstr "Transmetteurs globaux" +msgstr "Transitaires globaux" msgid "" "Global forwarders. A custom port can be specified for each forwarder using a " "standard format \"IP_ADDRESS port PORT\"" msgstr "" -"Transmetteurs globaux. Un port personnalisé peut être spécifié pour chaque " -"transmetteur en utilisant le format standard « adresse_IP port PORT »" +"Transitaires globaux. Un port personnalisé peut être indiqué pour chaque " +"transitaire en utilisant le format standard « adresse_IP port PORT »" msgid "" "Global forwarding policy. Set to \"none\" to disable any configured global " "forwarders." msgstr "" -"Politique de transmission globale. Mettre à « none » pour désactiver tout " -"transmetteur global configuré." +"Politique globale de transfert. Mettre à « none » pour désactiver tout " +"transitaire global configuré." msgid "Allow synchronization of forward (A, AAAA) and reverse (PTR) records" msgstr "" @@ -3138,7 +4701,7 @@ msgstr "" "inverses (PTR)" msgid "Zone refresh interval" -msgstr "Intervalle de rafraichissement de zone" +msgstr "Intervalle de rafraîchissement de zone" msgid "Global DNS configuration is empty" msgstr "La configuration globale DNS est vide" @@ -3149,6 +4712,62 @@ msgstr "Modifier la configuration DNS globale." msgid "Show the current global DNS configuration." msgstr "Afficher la configuration DNS globale." +msgid "DNS forward zone" +msgstr "Zone de transfert DNS" + +msgid "DNS forward zones" +msgstr "Zones de transfert DNS" + +msgid "DNS Forward Zones" +msgstr "Zones de transfert DNS" + +msgid "DNS Forward Zone" +msgstr "Zone de transfert DNS" + +msgid "Create new DNS forward zone." +msgstr "Créer une nouvelle zone de transfert DNS" + +msgid "Please specify forwarders." +msgstr "Veuillez indiquer les transitaires (re-directeurs)." + +msgid "Delete DNS forward zone." +msgstr "Supprimer une zone de transfert DNS." + +#, python-format +msgid "Deleted DNS forward zone \"%(value)s\"" +msgstr "Zone de transfert DNS « %(value)s » supprimée" + +msgid "Modify DNS forward zone." +msgstr "Modifier une zone de transfert DNS." + +msgid "Search for DNS forward zones." +msgstr "Rechercher des zones de transfert DNS." + +msgid "Display information about a DNS forward zone." +msgstr "Afficher des informations à propos des zones de transfert DNS." + +msgid "Disable DNS Forward Zone." +msgstr "Désactiver une zone de transfert DNS." + +#, python-format +msgid "Disabled DNS forward zone \"%(value)s\"" +msgstr "Zone de transfert DNS « %(value)s » désactivée" + +msgid "Enable DNS Forward Zone." +msgstr "Activer une zone de transfert DNS." + +#, python-format +msgid "Enabled DNS forward zone \"%(value)s\"" +msgstr "Zone de transfert DNS « %(value)s » activée" + +msgid "Add a permission for per-forward zone access delegation." +msgstr "" +"Ajouter une permission pour une délégation d'accès de zone de transfert." + +msgid "Remove a permission for per-forward zone access delegation." +msgstr "" +"Supprimer la permission pour une délégation d'accès de zone de transfert." + msgid "" "\n" "Groups of users\n" @@ -3242,25 +4861,21 @@ msgstr "" "\n" "Groupes d'utilisateurs\n" "\n" -"Gérer des groupes d'utilisateurs. Par défaut, les nouveaux groupes sont des " -"groupes POSIX.\n" -"Vous pouvez ajouter l'option --nonposix à la commande group-add pour marquer " -"un nouveau groupe\n" -"comme non-POSIX. Vous pouvez utiliser --posix argument avec la commande " -"group-mod\n" -"pour convertir un groupe non-POSIX en groupe POSIX. Des groupes POSIX ne " -"peuvent pas être\n" -"convertis en groupes non-POSIX.\n" +"Gérer des groupes d'utilisateurs. Par défaut, tout nouveau groupe est " +"POSIX.\n" +"On peut ajouter l'option « --nonposix » à la commande « group-add » pour\n" +"marquer un nouveau groupe comme non-POSIX et utiliser l'option « --posix »\n" +"de la commande « group-mod » pour convertir un groupe non-POSIX en groupe\n" +"POSIX. Les groupes POSIX ne peuvent pas être convertis en groupes non-" +"POSIX.\n" "\n" "Chaque groupe doit avoir une description.\n" "\n" -"Les groupes POSIX doivent avoir un numéro d'ID de groupe (GID). Modifier un " -"GID est\n" -"accepté mais peut avoir un impact sur vos droits d'accès aux fichiers. Il " -"n'est pas nécessaire\n" -"de fournir un GID à la création d'un groupe. IPA en générera un " -"automatiquement\n" -"s'il n'est pas indiqué.\n" +"Les groupes POSIX doivent avoir un numéro d'ID de groupe (GID). Modifier un\n" +"GID est faisable, mais cela peut avoir un impact sur vos droits d'accès aux\n" +"fichiers. Il n'est pas nécessaire d'indiquer un GID à la création du " +"groupe.\n" +"IPA en générera un automatiquement s'il n'est pas fourni.\n" "\n" "EXEMPLES :\n" "\n" @@ -3295,46 +4910,45 @@ msgstr "" " Afficher des informations à propos d'un groupe donné :\n" " ipa group-show localadmins\n" "\n" -"L'appartenance d'un groupe externe est conçue pour permettre aux utilisateur " -"de domaines de confiance\n" -"d'être assimilés aux groupes POSIX locaux en vue d'utiliser réellement les " -"ressources IPA.\n" -"Des membres externes peuvent être ajoutés aux groupes spécifiquement crées " -"comme\n" -"externes et non-POSIX. Un tel groupe peut plus tard être incorporé dans un " -"des groupes\n" -"POSIX\n" -"\n" -"Un membre de groupe externe est actuellement identifié par un « Security " -"Identifier (SID) » tel que défini pour\n" -"le domaine de confiance. En ajoutant des membres de groupe externe, il est " -"possible de les\n" -"définir au format, soit SID, soit DOM\\name, soit name@domain. IPA essayera\n" -"de résoudre le nom passé en SID en se servant du « Global Catalog » des " -"domaines de confiance.\n" +"L'adhésion à un groupe externe est conçue pour permettre aux utilisateurs " +"de\n" +"domaines de confiance d'être assimilés aux groupes POSIX locaux pour " +"pouvoir\n" +"utiliser réellement les ressources IPA. Des membres externes peuvent être\n" +"ajoutés aux groupes spécifiquement crées comme externes et non-POSIX. Un " +"tel\n" +"groupe peut plus tard être incorporé dans un des groupes POSIX\n" +"\n" +"Un membre de groupe externe est actuellement identifié par un « Security\n" +"Identifier (SID) » tel que défini pour le domaine de confiance. Pour " +"ajouter\n" +"un membre de groupe externe, il est possible de le définir, soit au format\n" +"SID, soit DOM\\name, soit name@domain. IPA essayera de résoudre le nom " +"passé\n" +"en SID en se servant du « Global Catalog » des domaines de confiance.\n" "\n" "Exemple:\n" "\n" -"1. Créer un groupe par assimilation au domaine de confiance « admins » et à " -"leur groupe POSIX local :\n" +"1. Créer un groupe par assimilation au domaine de confiance « admins »\n" +" et à leur groupe POSIX local :\n" "\n" " ipa group-add --desc=' admins external map' ad_admins_external " "--external\n" " ipa group-add --desc=' admins' ad_admins\n" "\n" -"2. Ajouter l'identifiant de sécurité de « Domain Admins » au " -"groupe\n" -" externe ad_admins_external :\n" +"2. Ajouter l'identifiant de sécurité de « Domain Admins » au\n" +" groupe externe « ad_admins_external » :\n" "\n" " ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" "\n" -"3. Autoriser des membres du groupe ad_admins_external à être associés au " -"groupe POSIX ad_admins :\n" +"3. Autoriser des membres du groupe « ad_admins_external » à être associés " +"au\n" +" groupe POSIX « ad_admins » :\n" "\n" " ipa group-add-member ad_admins --groups ad_admins_external\n" "\n" -"4. Lister les membres externes du groupe ad_admins_external pour voir leur " -"SID :\n" +"4. Lister les membres externes du groupe « ad_admins_external » pour voir\n" +" leur SID :\n" "\n" " ipa group-show ad_admins_external\n" @@ -3344,9 +4958,6 @@ msgstr "groupe" msgid "groups" msgstr "groupes" -msgid "User Groups" -msgstr "Groupes d'utilisateurs" - msgid "User Group" msgstr "Groupe d'Utilisateurs" @@ -3356,17 +4967,15 @@ msgstr "Nom du groupe" msgid "Group description" msgstr "Description du groupe" -msgid "GID" -msgstr "GID" - msgid "GID (use this option to set it manually)" -msgstr "GID (utiliser cette option pour le positionner manuellement)" +msgstr "GID (utiliser cette option pour le définir manuellement)" msgid "External member" -msgstr "Member externe" +msgstr "Membre externe" msgid "Members of a trusted domain in DOM\\name or name@domain form" -msgstr "Membres d'un domaine approuvé sous la forme DOM\\nom ou nom@domaine" +msgstr "" +"Membres d'un domaine de confiance sous la forme DOM\\nom ou nom@domaine" msgid "Create a new group." msgstr "Créer un nouveau groupe." @@ -3380,7 +4989,7 @@ msgstr "Créer en tant que groupe non-POSIX" msgid "Allow adding external non-IPA members from trusted domains" msgstr "" -"Autoriser l'ajout de membres externes non-IPA depuis les domaines approuvés" +"Autoriser l'ajout de membres externes non-IPA depuis des domaines approuvés" msgid "Delete group." msgstr "Supprimer un groupe." @@ -3404,8 +5013,8 @@ msgstr "Transformer en groupe POSIX" msgid "change to support external non-IPA members from trusted domains" msgstr "" -"modifier afin de permettre des membres externes non-IPA depuis les domaines " -"approuvés" +"modifier afin de permettre une prise en charge des membres externes non-IPA " +"depuis des domaines de confiance" msgid "Search for groups." msgstr "Rechercher des groupes." @@ -3426,8 +5035,8 @@ msgid "" "search for groups with support of external non-IPA members from trusted " "domains" msgstr "" -"rechercher des groupes autorisant des membres externes non-IPA depuis les " -"domaines approuvés" +"rechercher des groupes autorisant la prise en charge des membres externes " +"non-IPA depuis les domaines de confiance" msgid "search for non-POSIX groups" msgstr "rechercher des groupes non-POSIX" @@ -3442,17 +5051,17 @@ msgid "" "Cannot perform external member validation without Samba 4 support installed. " "Make sure you have installed server-trust-ad sub-package of IPA on the server" msgstr "" -"Impossible de réaliser la validation de membre externe sans installer la " -"prise en charge Samba 4. Assurez-vous d'avoir installé le sous-paquet " -"IPAserver-trust-ad sub-package sur le serveur" +"Impossible de réaliser la validation de membre externe sans installer " +"Samba 4. Assurez-vous d'avoir installé le sous-paquet « IPAserver-trust-ad » " +"sur le serveur" msgid "" "Cannot perform join operation without own domain configured. Make sure you " "have run ipa-adtrust-install on the IPA server first" msgstr "" "Impossible de rejoindre un domaine sans avoir au préalable configuré son " -"propre domaine. Assurez-vous d'avoir d'abord lancé ipa-adtrust-install sur " -"le serveur" +"propre domaine. Assurez-vous d'avoir lancé « ipa-adtrust-install » au " +"préalable sur le serveur" msgid "Remove members from a group." msgstr "Supprimer des membres d'un groupe." @@ -3465,10 +5074,10 @@ msgid "Detached group \"%(value)s\" from user \"%(value)s\"" msgstr "Groupe « %(value)s » détaché de l'utilisateur « %(value)s »" msgid "not allowed to modify user entries" -msgstr "interdit de modifier les entrées d'utilisateurs" +msgstr "modification des entrées d'un utilisateur interdite" msgid "not allowed to modify group entries" -msgstr "interdit de modifier les entrées de groupe" +msgstr "modification des entrées de groupe interdite" msgid "Not a managed group" msgstr "Pas un groupe administré" @@ -3527,19 +5136,18 @@ msgstr "" "\n" "HBAC (Host-based acces control) permet de contrôler qui peut accéder\n" "à quels services sur quels systèmes, et d'où. Il est possible\n" -"d'utiliser le système HBAC afin de contrôler quels utilisateurs ou\n" -"groupes d'un système source peuvent accéder quels services, ou groupes\n" -"de services, sur un système cible.\n" +"d'utiliser le système HBAC afin de contrôler quels utilisateurs ou quels\n" +"groupes d'un système source peuvent accéder à quels services, ou groupes\n" +"de services, sur un hôte cible.\n" "\n" -"Vous pouvez aussi spécifier une catégorie d'utilisateur, de systèmes\n" -"cibles et de systèmes sources. La seule catégorie existante pour le\n" -"moment est \"all\", mais pourra être étendu dans le futur.\n" +"Vous pouvez aussi indiquer une catégorie d'utilisateur, d'hôtes cibles.\n" +"La seule catégorie existante pour le moment est \"all\", mais elles\n" +"pourront être étendues dans le futur.\n" "\n" -"Les systèmes sources et cibles des règles HBAC doivent être des systèmes\n" -"administrés par IPA.\n" +"Les hôtes cible des règles HBAC doivent être des hôtes administrés par IPA.\n" "\n" "Les services et groupes de services disponibles sont gérés respectivement\n" -"par les greffons hbacsvc and hbacsvcgroup.\n" +"par les greffons « hbacsvc » et « hbacsvcgroup ».\n" "\n" "EXEMPLES:\n" "\n" @@ -3551,16 +5159,14 @@ msgstr "" " Afficher les propriétés d'une règle HBAC nommée :\n" " ipa hbacrule-show test1\n" "\n" -" Créer une règle pour un service spécifique, permettant à\n" -" l'utilisateur john d'accéder au service sshd sur toute machine depuis\n" -" n'importe quelle machine :\n" +" Créer une règle pour un service donné. Elle permet d'avoir accés au\n" +" service sshd sur toute machine depuis n'importe quelle autre machine :\n" " ipa hbacrule-add --hostcat=all john_sshd\n" " ipa hbacrule-add-user --users=john john_sshd\n" " ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n" "\n" -" Créer une règle pour un nouveau groupe de services, permettant à\n" -" l'utilisateur john d'accéder au service FTP de toute machine depuis\n" -" n'importe quelle machine.\n" +" Créer une règle pour un nouveau groupe de services. Elle permet d'avoir\n" +" accès au service FTP de toute machine depuis n'importe quelle machine.\n" " ipa hbacsvcgroup-add ftpers\n" " ipa hbacsvc-add sftp\n" " ipa hbacsvcgroup-add-member --hbacsvcs=ftp --hbacsvcs=sftp ftpers\n" @@ -3576,10 +5182,10 @@ msgstr "" "\n" msgid "Host-based access control commands" -msgstr "Commandes de contrôle d'accès basé sur les hôtes" +msgstr "Commandes de contrôle d'accès basé sur l'hôte" msgid "The deny type has been deprecated." -msgstr "Le type deny est obsolète." +msgstr "Le type « deny » est obsolète." msgid "HBAC rule" msgstr "Règle HBAC" @@ -3602,32 +5208,14 @@ msgstr "Type de règle (allow)" msgid "Rule type" msgstr "Type de règle" -msgid "User category" -msgstr "Catégorie d'utilisateur" - msgid "User category the rule applies to" -msgstr "Catégorie d'utilisateur sur laquelle la règle s'applique" - -msgid "Host category" -msgstr "Catégorie de système" - -msgid "Host category the rule applies to" -msgstr "Catégorie de système sur laquelle la règle s'applique" - -msgid "Service category" -msgstr "Catégorie de service" - -msgid "Service category the rule applies to" -msgstr "Catégorie de service sur laquelle la règle s'applique" - -msgid "Enabled" -msgstr "Activée" +msgstr "Catégorie d'utilisateurs sur laquelle la règle s'applique" -msgid "Host Groups" -msgstr "Groupes d'hôtes" +msgid "Host category the rule applies to" +msgstr "Catégorie d'hôtes sur laquelle la règle s'applique" -msgid "Services" -msgstr "Services" +msgid "Service category the rule applies to" +msgstr "Catégorie de services sur laquelle la règle s'applique" msgid "Service Groups" msgstr "Groupes de services" @@ -3653,22 +5241,6 @@ msgstr "Modifier une règle HBAC." msgid "Modified HBAC rule \"%(value)s\"" msgstr "Règle HBAC « %(value)s » modifiée" -msgid "user category cannot be set to 'all' while there are allowed users" -msgstr "" -"la catégorie d'utilisateur ne peut être définie à 'all' alors qu'il y a des " -"utilisateurs autorisés" - -msgid "host category cannot be set to 'all' while there are allowed hosts" -msgstr "" -"la catégorie d'hôte ne peut être définie à « all » alors qu'il reste des " -"hôtes autorisés" - -msgid "" -"service category cannot be set to 'all' while there are allowed services" -msgstr "" -"la catégorie service ne peut être définie à « all » alors qu'il reste des " -"hôtes autorisés" - msgid "Search for HBAC rules." msgstr "Rechercher des règles HBAC." @@ -3701,21 +5273,11 @@ msgstr "Horaire d'accès" msgid "Add users and groups to an HBAC rule." msgstr "Ajouter des utilisateurs et groupes à une règle HBAC." -msgid "users cannot be added when user category='all'" -msgstr "" -"des utilisateurs ne peuvent être ajoutés quand la catégorie utilisateurs est " -"définie à 'all'" - msgid "Remove users and groups from an HBAC rule." -msgstr "Retirer des utilisateurs et groupes d'une règle HBAC." +msgstr "Retirer des utilisateurs et des groupes d'une règle HBAC." msgid "Add target hosts and hostgroups to an HBAC rule." -msgstr "Ajouter des hôtes et groupes d'hôtes cibles à une règle HBAC." - -msgid "hosts cannot be added when host category='all'" -msgstr "" -"des systèmes ne peuvent être ajoutés quand la catégorie systèmes est définie " -"à 'all'" +msgstr "Ajouter des hôtes et des groupes d'hôtes cibles à une règle HBAC." msgid "Remove target hosts and hostgroups from an HBAC rule." msgstr "Retirer des hôtes et des groupes d'hôtes cibles d'une règle HBAC." @@ -3723,13 +5285,8 @@ msgstr "Retirer des hôtes et des groupes d'hôtes cibles d'une règle HBAC." msgid "Add services to an HBAC rule." msgstr "Ajouter des services à une règle HBAC." -msgid "services cannot be added when service category='all'" -msgstr "" -"aucun service ne peut être ajouté quand la catégorie de services sources est " -"à « all »" - msgid "Remove service and service groups from an HBAC rule." -msgstr "Ajouter des services et groupes de services d'une règle HBAC." +msgstr "Ajouter des services et des groupes de services d'une règle HBAC." msgid "" "\n" @@ -3757,8 +5314,9 @@ msgstr "" "\n" "Services HBAC\n" "\n" -"Les services PAM dont le système HBAC peut contrôler l'accès. Le nom\n" -"utilisé ici doit correspondre au nom de service utilisé par PAM.\n" +"Les services PAM dont le système HBAC peut contrôler l'accès. Le nom " +"utilisé\n" +"ici doit correspondre au nom du service analysé par PAM.\n" "EXEMPLES:\n" "\n" " Ajouter un nouveau service HBAC :\n" @@ -3767,8 +5325,8 @@ msgstr "" " Modifier un service HBAC existant :\n" " ipa hbacsvc-mod --desc=\"TFTP service\" tftp\n" "\n" -" Chercher des services HBAC. Cet exemple renverra deux résultats,\n" -" le service FTP et le service tftp nouvellement ajouté :\n" +" Chercher des services HBAC. Cet exemple renvoie deux résultats, le service\n" +" FTP et le service tftp nouvellement ajouté :\n" " ipa hbacsvc-find ftp\n" "\n" " Supprimer un service HBAC :\n" @@ -3824,10 +5382,10 @@ msgstr "Rechercher des services HBAC." msgid "%(count)d HBAC service matched" msgid_plural "%(count)d HBAC services matched" msgstr[0] "%(count)d service HBAC correspondant" -msgstr[1] "%(count)d services HBAC correspondants" +msgstr[1] "%(count)d services HBAC correspondant" msgid "Display information about an HBAC service." -msgstr "Afficher les informations sur un service HBAC." +msgstr "Afficher des informations sur un service HBAC." msgid "" "\n" @@ -3854,8 +5412,7 @@ msgstr "" "Groupes de services HBAC\n" "\n" "Les groupes de services HBAC peuvent contenir n'importe quel nombre de\n" -"services individuels, dit « membres ». Chaque groupe doit avoir une\n" -"description.\n" +"services « membres » individuels. Chaque groupe doit avoir une description.\n" "\n" "EXEMPLES:\n" "\n" @@ -3917,7 +5474,7 @@ msgstr "Rechercher des groupes de services HBAC." msgid "%(count)d HBAC service group matched" msgid_plural "%(count)d HBAC service groups matched" msgstr[0] "%(count)d groupe de services HBAC correspondant" -msgstr[1] "%(count)d groupes de services HBAC correspondants" +msgstr[1] "%(count)d groupes de services HBAC correspondant" msgid "Display information about an HBAC service group." msgstr "Afficher les informations sur un groupe de services HBAC." @@ -4130,54 +5687,48 @@ msgstr "" "Les règles HBAC contrôlent qui peut accéder à quel service sur quels hôtes.\n" "Vous pouvez utiliser HBAC pour contrôler quels utilisateurs ou quels " "groupes\n" -"peuvent accéder à un service ou à un groupe de services, sur un hôte cible.\n" +"ont accés à un service ou à un groupe de services, sur un hôte cible.\n" "\n" -"Comme l'application des règles HBAC suppose l'utilisation d'un environnement " -"de\n" -"production, ce greffon vise à fournir une simulation de l'évaluation des " +"L'application de règles HBAC présuppose un environnement de production ;\n" +"ce greffon a pour objet de fournir une simulation de l'évaluation des " "règles\n" -"HBAC sans nécessiter l'accès à l'environnement de production.\n" +"HBAC sans nécessiter d'accès à cet environnement.\n" "\n" -" Testez les règles existantes activées au regard de l'arrivée d'un " -"utilisateur\n" -" sur un service sur un hôte donné.\n" +" Tester l'arrivée d'un utilisateur dans un service sur un hôte donné\n" +" vis à vis des règles actives existantes.\n" "\n" -"ipa hbactest --user= --host= --service=⏎\n" -" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]⏎\n" +"ipa hbactest --user= --host= --service=\\\n" +" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\\\n" " [--sizelimit= ]\n" "\n" -" --user, --host et --service sont obligatoires, les autres sont " +"--user, --host et --service sont obligatoires, les autres sont " "optionnelles.\n" "\n" -" Si --rules est défini, l'activation des règles indiquées est simulée et\n" -" l'identifiant de l'utilisateur est testé uniquement sur ces règles.\n" +" Si --rules est défini, simule l'activation des règles « rules-list » et\n" +" teste la connexion de l'utilisateur uniquement sur ces règles.\n" "\n" -" Si --enabled est défini, toutes les règles HBAC activées sont ajoutées à " -"la\n" -" simulation\n" +" Si --enabled est défini, toutes les règles HBAC activées sont ajoutées à\n" +" la simulation\n" "\n" " Si --disabled est défini, toutes les règles HBAC désactivées sont ajoutées\n" " à la simulation\n" "\n" -" Si --nodetail est défini, il n'est pas renvoyé d'information sur les règles " -"en correspondance ou pas.\n" -"\n" -" Si --rules et --enabled sont définis tous deux, la simulation sera " -"appliquée à\n" -" --rules _et_ à tous les règles IPA activées.\n" +" Si --nodetail est défini, il n'est pas renvoyé d'information sur les " +"règles satisfaites ou non satisfaites.\n" "\n" -" Si --rules n'est pas défini, la simulation est lancée avec toutes les " -"règles\n" -" IPA activées. Par défaut, il existe une limite globale à IPA sur le nombre\n" -" d'entrées renvoyées, vous pouvez la modifier avec l'option --sizelimit.\n" +" Si --rules et --enabled sont définis tous deux, la simulation est " +"appliquée\n" +" à --rules _et_ à tous les règles IPA activées.\n" "\n" -" Si --srchost est spécifié, elle sera ignorée. Elle est conservée pour des\n" -" raisons de compatibilité uniquement.\n" +" Si --rules n'est pas défini, la simulation est lancée vis à sis de toutes\n" +" les règles IPA activées.\n" +" Par défaut, il y a une limite globale IPA pour le nombre d'entrées\n" +" renvoyées, vous pouvez la modifier avec l'option « --sizelimit ».\n" "\n" "EXEMPLES :\n" "\n" -" 1. Utiliser toutes les règles HBAC activées dans IPA pour la " -"simulation :\n" +" 1. Utiliser toutes les règles HBAC activées dans la base de données IPA\n" +" pour la simulation :\n" " $ ipa hbactest --user=a1a --host=bar --service=sshd\n" " --------------------\n" " Access granted: True\n" @@ -4187,14 +5738,13 @@ msgstr "" " notmatched: myrule\n" " matched: allow_all\n" "\n" -" 2. Désactiver le résumé détaillé de la façon dont les règles sont " -"appliquées :\n" +" 2. Désactiver le résumé détaillé sur l'application des règles :\n" " $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" " --------------------\n" " Access granted: True\n" " --------------------\n" "\n" -" 3. Tester explicitement les règles HBAC spécifiées :\n" +" 3. Tester explicitement les règles HBAC indiquées :\n" " $ ipa hbactest --user=a1a --host=bar --service=sshd \n" "--rules=my-second-rule,myrule\n" " ---------------------\n" @@ -4203,8 +5753,8 @@ msgstr "" " notmatched: my-second-rule\n" " notmatched: myrule\n" "\n" -" 4. Utiliser toutes les règles HBAC activées de la base de données IPA + " -"les règles explicitement définies :\n" +" 4. Utiliser toutes les règles HBAC activées de la base de données IPA\n" +" plus les règles explicitement définies :\n" " $ ipa hbactest --user=a1a --host=bar --service=sshd \n" "--rules=my-second-rule,myrule --enabled\n" " --------------------\n" @@ -4223,8 +5773,8 @@ msgstr "" " ---------------------\n" " notmatched: new-rule\n" "\n" -" 6. Tester toutes les règles HBAC désactivées de la base de données IPA + " -"les règles explicitement définies :\n" +" 6. Tester toutes les règles HBAC désactivées de la base de données IPA\n" +" plus les règles explicitement définies :\n" " $ ipa hbactest --user=a1a --host=bar --service=sshd \n" "--rules=my-second-rule,myrule --disabled\n" " ---------------------\n" @@ -4234,8 +5784,8 @@ msgstr "" " notmatched: my-third-rule\n" " notmatched: myrule\n" "\n" -" 7. Tester toutes les règles HBAC (activées et desactivées) de la base de " -"données IPA :\n" +" 7. Tester toutes les règles HBAC (activées et désactivées) de la base\n" +" de données IPA :\n" " $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" " --enabled --disabled\n" " --------------------\n" @@ -4250,35 +5800,29 @@ msgstr "" "\n" "TEST HBAC ET DOMAINES DE CONFIANCE\n" "\n" -"Quand un domaine externe de confiance est configuré dans IPA, les règles " -"HBAC sont aussi appliquées\n" -"aux utilisateurs accédant aux ressources IPA à partir du domaine de " -"confiance. Les utilisateurs des domaines de confiance et\n" -"les groupes (et leurs SID) peuvent être assignés à des groupes externes " -"pouvant être\n" -"membres de groupes POSIX dans IPA intégrables dans les règles HBAC, ce qui " -"autorise\n" -"un accès aux ressources protégées par le système HBAC.\n" -"\n" -"Un greffon hbactest est capable de tester des accès à la fois des " -"utilisateurs IPA locaux et des utilisateurs\n" -"de domaines de confiance avec, soit le nom d'utilisateur pleinement " -"qualifié, soit le SID utilisateur.\n" -"De tels noms d'utilisateur doivent avoir un domaine de confiance précisé en " -"nom court\n" -"(DOMAINE/Administrateur) ou avec un nom de principal (UPN), " +"Si un domaine de confiance externe est configuré dans IPA, les règles HBAC\n" +"sont aussi appliquées aux utilisateurs accédant aux ressources IPA à partir\n" +"du domaine de confiance. Les utilisateurs des domaines de confiance et les\n" +"groupes (et leur SID) peuvent être assignés à des groupes externes pouvant\n" +"être membres de groupes POSIX d'IPA éligibles aux règles HBAC, ce qui\n" +"autorise un accès aux ressources protégées par le système HBAC.\n" +"\n" +"Le greffon « hbactest » peut tester des accès, à la fois d'utilisateurs\n" +"IPA locaux et d'utilisateurs de domaines de confiance à partir, soit du\n" +"nom d'utilisateur pleinement qualifié, soit du SID utilisateur. De tels " +"noms\n" +"d'utilisateur doivent avoir un domaine de confiance précisé comme nom court\n" +"(DOMAINE\\Administrateur) ou avec un nom de principal d'utilisateur (UPN),\n" "Administrator@ad.test.\n" "\n" -"Veuillez noter que hbactest exécuté avec un utilisateur de domaine de " -"confiance en tant que paramètre --user\n" -"ne peut être lancé que des membres du groupe des « administrateurs de " -"confiance ».\n" +"Veuillez noter que « hbactest » exécuté avec un utilisateur de domaine de\n" +"confiance en tant que paramètre --user ne peut être lancé que par des\n" +"membres du groupe des « administrateurs de confiance ».\n" "\n" "EXEMPLES :\n" "\n" -" 1. Tester si un utilisateur d'un domaine de confiance défini par son nom " -"court\n" -" s'accorde à toute règle :\n" +" 1. Tester si un utilisateur d'un domaine de confiance défini par son\n" +" nom court satisfait à toute règle :\n" "\n" " $ ipa hbactest --user 'DOMAIN\\Administrator' --host `hostname` --" "service sshd\n" @@ -4288,9 +5832,8 @@ msgstr "" " Matched rules: allow_all\n" " Matched rules: can_login\n" "\n" -" 2. Tester si un utilisateur d'un domaine de confiance défini par son nom " -"de domaine\n" -" s'accorde à toute règle :\n" +" 2. Tester si un utilisateur d'un domaine de confiance défini par son\n" +" nom de domaine satisfait à toute règle :\n" "\n" " $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --" "service sshd\n" @@ -4300,9 +5843,8 @@ msgstr "" " Matched rules: allow_all\n" " Matched rules: can_login\n" "\n" -" 3. Tester si un utilisateur d'un domaine de confiance défini par son " -"SID\n" -" s'accorde à toute règle :\n" +" 3. Tester si un utilisateur d'un domaine de confiance défini par son\n" +" SID satisfait à toute règle :\n" "\n" " $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \\\n" " --host `hostname` --service sshd\n" @@ -4312,9 +5854,8 @@ msgstr "" " Matched rules: allow_all\n" " Matched rules: can_login\n" "\n" -" 4. Tester si un autre utilisateur d'un domaine de confiance défini par " -"son SID\n" -" s'accorde à toute règle :\n" +" 4. Tester si un autre utilisateur d'un domaine de confiance défini\n" +" par son SID satisfait à toute règle :\n" "\n" " $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \\\n" " --host `hostname` --service sshd\n" @@ -4324,9 +5865,8 @@ msgstr "" " Matched rules: allow_all\n" " Not matched rules: can_login\n" "\n" -" 5. Tester si un autre utilisateur d'un domaine de confiance défini par " -"son nom court\n" -" s'accorde à toute règle :\n" +" 5. Tester si un autre utilisateur d'un domaine de confiance défini par\n" +" son nom court satisfait à toute règle :\n" "\n" " $ ipa hbactest --user 'DOMAIN\\Otheruser' --host `hostname` --service " "sshd\n" @@ -4337,16 +5877,16 @@ msgstr "" " Not matched rules: can_login\n" msgid "Simulate use of Host-based access controls" -msgstr "Simulation de règles de contrôle d'accès basées sur les hôtes" +msgstr "Simulation de l'utilisation des contrôles d'accès basées sur les hôtes" msgid "Warning" msgstr "Attention" msgid "Matched rules" -msgstr "Règles correspondantes" +msgstr "Règles satisfaites" msgid "Not matched rules" -msgstr "Règles non-correspondantes" +msgstr "Règles non satisfaites" msgid "Non-existent or invalid rules" msgstr "Règles inexistantes ou invalides" @@ -4358,13 +5898,13 @@ msgid "User name" msgstr "Nom d'utilisateur" msgid "Target host" -msgstr "Système cible" +msgstr "Hôte cible" msgid "Rules to test. If not specified, --enabled is assumed" -msgstr "Règles à tester. Si non-spécifié, --enabled est implicite" +msgstr "Règles à tester. Si non précisé, --enabled est implicite" msgid "Hide details which rules are matched, not matched, or invalid" -msgstr "Masquer les détails des règles correspondantes ou non, ou invalides" +msgstr "Masquer les détails des règles satisfaites ou pas, ou invalides" msgid "Include all enabled IPA rules into test [default]" msgstr "Inclure toutes les règles IPA actives dans le test [par défaut]" @@ -4373,20 +5913,18 @@ msgid "Include all disabled IPA rules into test" msgstr "Inclure toutes les règles IPA inactives dans le test" msgid "Maximum number of rules to process when no --rules is specified" -msgstr "" -"Nombre maximal de règles à traiter quand aucune option --rules n'est " -"spécifiée" +msgstr "Nombre maximal de règles à traiter quand « --rules » n'est défini" msgid "Unresolved rules in --rules" -msgstr "Règles non résolues dans --rules" +msgstr "Règles non résolues dans « --rules »" msgid "" "Cannot search in trusted domains without own domain configured. Make sure " "you have run ipa-adtrust-install on the IPA server first" msgstr "" -"Impossible d'effectuer une recherche sur les domaines approuvés sans avoir " -"au préalable configuré son propre domaine. Assurez-vous d'avoir d'abord " -"lancé ipa-adtrust-install sur le serveur" +"Impossible d'effectuer une recherche sur les domaines de confiance sans " +"avoir au préalable configuré son propre domaine. Assurez-vous d'avoir au " +"préalable lancé « ipa-adtrust-install » sur le serveur" #, python-format msgid "Access granted: %s" @@ -4405,12 +5943,12 @@ msgstr "" "\n" "Hôtes/Machines\n" "\n" -"Un hôte représente une machine. Elle peut être utilisée dans un certain " -"nombre de contextes :\n" -"- les entrées de service associées à un hôte,\n" -"- un hôte stockant le principal de service host/,\n" -"- un hôte utilisé dans les règles Host-based Access Control (HBAC),\n" -"- chaque client enregistré crée sa propre entrée d'hôte.\n" +"Un hôte représente une machine. Il peut être utilisé dans de nombreux " +"contextes :\n" +"- les entrées de services sont associées à un hôte,\n" +"- un hôte stocke le principal des hôtes/des services,\n" +"- un hôte est utilisable dans les règles HBAC (Host-based Access Control),\n" +"- chaque client enregistré génère une entrée d'hôte.\n" msgid "" "\n" @@ -4453,16 +5991,16 @@ msgid "" "the OS that it runs, etc.\n" msgstr "" "\n" -"RÉ-INSCRIPTION :\n" +"RÉINSCRIPTION :\n" "\n" -"Un hôte qui a déjà été inscrit mais a perdu sa configuration (parce que sa " -"VM a été supprimée par exemple), peut être ré-inscrit.\n" +"Un hôte déjà inscrit à un certain endroit ayant perdu sa configuration\n" +"(ex.: parce que sa VM a été supprimée), peut être réinscrit.\n" "\n" -"Pour plus d'informations sur le sujet, consulter les pages de manuel de la " -"commande ipa-client-install.\n" +"Pour plus d'informations, consulter les pages « man » de ipa-client-" +"install.\n" "\n" -"Un système peut de façon optionnelle stocker des informations\n" -"complémentaires comme sa localisation, son système d'exploitation, etc.\n" +"Un hôte peut facultativement stocker des informations complémentaires\n" +"comme sa localisation, le système d'exploitation qu'il exécute, etc.\n" msgid "" "\n" @@ -4527,8 +6065,7 @@ msgid "" " ipa host-disable test.example.com\n" msgstr "" "\n" -"Désactiver la clé Kerberos, les certificats SSL et tous les services d'un " -"hôte :\n" +"Désactiver la clé Kerberos, les certificats SSL et tout service d'un hôte :\n" " ipa host-disable test.example.com\n" msgid "" @@ -4537,12 +6074,21 @@ msgid "" " ipa host-add-managedby --hosts=test2 test\n" msgstr "" "\n" -" Ajouter un hôte pouvant gérer la keytab et le certificat de l'hôte " -"courant :\n" +" Ajouter un hôte pouvant gérer tableau de clés et certificat d'un hôte " +"donné :\n" " ipa host-add-managedby --hosts=test2 test\n" +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa host-allow-create-keytab test2 --users=tuser1\n" +msgstr "" +"\n" +" Autoriser un utilisateur à créer un tableau de clé :\n" +" ipa host-allow-create-keytab test2 --users=tuser1\n" + msgid "Keytab" -msgstr "Keytab" +msgstr "Tableau de clés" msgid "Serial Number" msgstr "Numéro de série" @@ -4551,35 +6097,56 @@ msgid "Serial Number (hex)" msgstr "Numéro de série (hex)" msgid "Failed managedby" -msgstr "managedby en échec" +msgstr "Échec de « managedby »" -msgid "SSH public key fingerprint" -msgstr "Empreinte de clé publique SSH" +msgid "Users allowed to retrieve keytab" +msgstr "Utilisateurs autorisés à récupérer un tableau de clés" + +msgid "Groups allowed to retrieve keytab" +msgstr "Groupes autorisés à récupérer un tableau de clés" + +msgid "Hosts allowed to retrieve keytab" +msgstr "Hôtes autorisés à récupérer un tableau de clés" + +msgid "Host Groups allowed to retrieve keytab" +msgstr "Groupes d'hôtes autorisés à récupérer un tableau de clés" + +msgid "Users allowed to create keytab" +msgstr "Utilisateurs autorisés à créer un tableau de clés" + +msgid "Groups allowed to create keytab" +msgstr "Groupes autorisés à créer un tableau de clés" + +msgid "Hosts allowed to create keytab" +msgstr "Hôtes autorisés à créer un tableau de clés" + +msgid "Host Groups allowed to create keytab" +msgstr "Groupes d'hôtes autorisés à créer un tableau de clés" #, python-format msgid "invalid domain-name: %s" msgstr "nom de domaine invalide : %s" msgid "host" -msgstr "système" +msgstr "hôte" msgid "hosts" msgstr "hôtes" msgid "Host" -msgstr "Système" +msgstr "Hôte" msgid "Host name" -msgstr "Nom de système" +msgstr "Nom d'hôte" msgid "A description of this host" -msgstr "Description de ce système" +msgstr "Une description de cet hôte" msgid "Locality" -msgstr "Ville" +msgstr "Localité" msgid "Host locality (e.g. \"Baltimore, MD\")" -msgstr "Ville du système (par ex. \"Paris, IDF\")" +msgstr "Localité de l'hôte (par ex. « Paris, IDF »)" msgid "Host location (e.g. \"Lab 2\")" msgstr "Emplacement de l'hôte (par ex. \"Lab 2\")" @@ -4588,7 +6155,7 @@ msgid "Platform" msgstr "Plate-forme" msgid "Host hardware platform (e.g. \"Lenovo T61\")" -msgstr "Plate-forme matérielle du système (par ex. « Lenovo T61 »)" +msgstr "Plate-forme matérielle de l'hôte (par ex. « Lenovo T61 »)" msgid "Operating system" msgstr "Système d'exploitation" @@ -4603,25 +6170,16 @@ msgid "Password used in bulk enrollment" msgstr "Mot de passe utilisé pour les inscriptions en masse" msgid "Generate a random password to be used in bulk enrollment" -msgstr "Crée un mot de passe aléatoire utilisé pour l'inscription en masse" - -msgid "Random password" -msgstr "Mot de passe aléatoire" - -msgid "Base-64 encoded server certificate" -msgstr "Certificat du serveur encodé en Base-64" +msgstr "Créer un mot de passe aléatoire utilisé pour l'inscription en masse" msgid "Principal name" -msgstr "Nom du principal" +msgstr "Nom principal" msgid "MAC address" msgstr "Adresse MAC" msgid "Hardware MAC address(es) on this host" -msgstr "Adresse(s) MAC du matériel sur ce serveur" - -msgid "SSH public key" -msgstr "Clé publique SSH" +msgstr "Adresse(s) MAC du matériel sur cet hôte" msgid "" "Host category (semantics placed on this attribute are for local " @@ -4640,14 +6198,14 @@ msgid "force host name even if not in DNS" msgstr "forcer le nom même si absent des DNS" msgid "skip reverse DNS detection" -msgstr "passer outre la détection de DNS inverse" +msgstr "sauter la détection du DNS inverse" msgid "Add the host to DNS with this IP address" msgstr "Ajouter l'hôte aux DNS avec cette adresse IP" #, python-format msgid "The host was added but the DNS update failed with: %(exc)s" -msgstr "L'hôte a été ajouté mais la mise à jour DNS a échoué : %(exc)s" +msgstr "L'hôte a été ajouté mais la mise à jour du DNS a échoué : %(exc)s" msgid "Delete a host." msgstr "Supprimer un hôte." @@ -4657,7 +6215,7 @@ msgid "Deleted host \"%(value)s\"" msgstr "Hôte « %(value)s » supprimé" msgid "Remove entries from DNS" -msgstr "Supprimer les entrées DNS" +msgstr "Supprimer les entrées du DNS" msgid "Modify information about a host." msgstr "Modifier les informations d'un hôte." @@ -4667,7 +6225,7 @@ msgid "Modified host \"%(value)s\"" msgstr "Hôte « %(value)s » modifié" msgid "Kerberos principal name for this host" -msgstr "Nom de principal Kerberos pour cet hôte" +msgstr "Nom du principal Kerberos pour cet hôte" msgid "Update DNS entries" msgstr "Mettre à jour les entrées DNS" @@ -4685,7 +6243,7 @@ msgstr "Rechercher des hôtes." msgid "%(count)d host matched" msgid_plural "%(count)d hosts matched" msgstr[0] "%(count)d hôte correspondant" -msgstr[1] "%(count)d hôtes correspondants" +msgstr[1] "%(count)d hôtes correspondant" msgid "Display information about a host." msgstr "Afficher les informations sur un hôte." @@ -4693,10 +6251,6 @@ msgstr "Afficher les informations sur un hôte." msgid "file to store certificate in" msgstr "fichier où stocker le certificat" -#, python-format -msgid "Certificate stored in file '%(file)s'" -msgstr "Certificat enregistré dans le fichier '%(file)s'" - msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "" "Désactiver la clé Kerberos, les certificats SSL et tous les services d'un " @@ -4713,6 +6267,31 @@ msgid "Remove hosts that can manage this host." msgstr "Supprimer les hôtes qui peuvent gérer cet hôte." msgid "" +"Allow users, groups, hosts or host groups to retrieve a keytab of this host." +msgstr "" +"Autoriser des utilisateurs, hôtes ou groupes d'hôtes à récupérer un tableau " +"de clés de cet hôte." + +msgid "" +"Disallow users, groups, hosts or host groups to retrieve a keytab of this " +"host." +msgstr "" +"Interdire aux utilisateurs, hôtes ou groupes d'hôtes à récupérer un tableau " +"de clés de cet hôte." + +msgid "" +"Allow users, groups, hosts or host groups to create a keytab of this host." +msgstr "" +"Autoriser des utilisateurs, hôtes ou groupes d'hôtes à créer un tableau de " +"clés de cet hôte." + +msgid "" +"Disallow users, groups, hosts or host groups to create a keytab of this host." +msgstr "" +"Interdire aux utilisateurs, hôtes ou groupes d'hôtes de créer un tableau de " +"clés de cet hôte." + +msgid "" "\n" "Groups of hosts.\n" "\n" @@ -4746,29 +6325,29 @@ msgstr "" "Groupes d'hôtes.\n" "\n" "Gestion des groupes d'hôtes. Permet d'appliquer des contrôles d'accès\n" -"à plusieurs systèmes en utilisant les contrôles HBAC.\n" +"à plusieurs hôtes en utilisant HBAC (Host-based Access Control).\n" "\n" "EXEMPLES :\n" "\n" -" Ajouter un nouveau groupe de systèmes :\n" +" Ajouter un nouveau groupe d'hôtes :\n" " ipa hostgroup-add --desc=\"Systèmes de Baltimore\" baltimore\n" "\n" -" Ajouter un nouveau groupe de systèmes :\n" +" Ajouter un nouveau groupe d'hôtes :\n" " ipa hostgroup-add --desc=\"Systèmes du Maryland\" maryland\n" "\n" -" Ajouter des membres à un groupe de systèmes :\n" +" Ajouter des membres à un groupe d'hôtes :\n" " ipa hostgroup-add-member --hosts={box1,box2,box3} baltimore\n" "\n" -" Ajouter un groupe de systèmes en tant que membre d'un autre :\n" +" Ajouter un groupe d'hôtes en tant que membre d'un autre groupe d'hôtes :\n" " ipa hostgroup-add-member --hostgroups=baltimore maryland\n" "\n" -" Supprimer un système d'un groupe :\n" +" Supprimer un hôte d'un groupe :\n" " ipa hostgroup-remove-member --hosts=box2 baltimore\n" "\n" -" Afficher un groupe de systèmes :\n" +" Afficher un groupe d'hôtes :\n" " ipa hostgroup-show baltimore\n" "\n" -" Supprimer un groupe de systèmes :\n" +" Supprimer un groupe d'hôtes :\n" " ipa hostgroup-del baltimore\n" msgid "host group" @@ -4801,8 +6380,8 @@ msgid "" "netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " "common namespace" msgstr "" -"Un netgroup nommé « %s » existe déjà. Les groupes d'hôtes et les netgroups " -"partagent un même espace de nommage." +"Un groupement réseau nommé « %s » existe déjà. Les groupes d'hôtes et les " +"groupements réseau partagent un même espace de noms." msgid "Delete a hostgroup." msgstr "Supprimer un groupe d'hôtes." @@ -4825,10 +6404,10 @@ msgstr "Rechercher un groupe d'hôtes." msgid "%(count)d hostgroup matched" msgid_plural "%(count)d hostgroups matched" msgstr[0] "%(count)d groupe d'hôtes correspondant" -msgstr[1] "%(count)d groupes d'hôtes correspondants" +msgstr[1] "%(count)d groupes d'hôtes correspondant" msgid "Display information about a hostgroup." -msgstr "Afficher les informations sur un groupe d'hôtes." +msgstr "Afficher des informations sur un groupe d'hôtes." msgid "Add members to a hostgroup." msgstr "Ajouter des membres à un groupe d'hôtes." @@ -4985,8 +6564,7 @@ msgstr "" "\n" "Plages d'identifiants\n" "\n" -"Gérer les plages d'ID faisant correspondre les ID Posix avec les SID et " -"inversement.\n" +"Gérer les plages d'ID associant les ID Posix aux SID et inversement.\n" "\n" "Il y a deux types de plages d'ID gérées par cet utilitaire :\n" "\n" @@ -4998,35 +6576,32 @@ msgstr "" " - base-id: le premier ID de la plage des ID Posix\n" " - range-size: la taille de la plage\n" "\n" -"Avec ces deux attributs un objet plage peut réserver le point de départ des " -"ID Posix\n" -"avec base-id jusqu'à base-id+range-size non inclus exclusivement.\n" +"Avec ces deux attributs, un objet plage peut réserver des ID Posix de\n" +"« base-id » (point de départ) jusqu'à « base-id+range-size » non inclus.\n" "\n" "En plus une plage d'ID du domaine local peut déterminer\n" -" - rid-base : le premier RID(*) de la plage de RID correspondante\n" -" - secondary-rid-base : le premier RID de la plage RID secondaire\n" +" - « rid-base » : le premier RID(*) de la plage de RID correspondante\n" +" - « secondary-rid-base » : le premier RID de la plage RID secondaire\n" "\n" "et une plage d'ID d'un domaine de confiance peut déterminer\n" -" - rid-base : le premier RID de la plage de RID correspondante\n" -" - sid : le domaine SID du domaine de confiance\n" +" - « rid-base » : le premier RID de la plage de RID correspondante\n" +" - « sid » : le domaine SID du domaine de confiance\n" "\n" "\n" "\n" "EXEMPLE : Ajouter une nouvelle plage d'ID pour un domaine de confiance\n" "\n" -"Étant donné qu'il peut y avoir plus d'un domaine de confiance, le SID du " -"domaine\n" -"doit être donné lors de la création de la plage.\n" +"Étant donné qu'il peut y avoir plus d'un domaine de confiance, le SID du\n" +"domaine doit être indiqué lors de la création de la plage.\n" "\n" " ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \\\n" " --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" "\n" -"Cette plage d'ID est ensuite utilisée par le serveur IPA et le fournisseur " -"SSSD IPA pour\n" -"assigner des UID Posix aux utilisateurs du domaine de confiance.\n" +"Cette plage d'ID sera utilisée par le serveur IPA et le fournisseur SSSD " +"IPA\n" +"pour assigner des UID Posix aux utilisateurs du domaine de confiance.\n" "\n" -"Si par ex. une plage pour un domaine de confiance est configurée avec les " -"valeurs suivantes :\n" +"Si par ex. une plage pour un domaine de confiance est configurée ainsi :\n" " base-id = 1200000\n" " range-size = 200000\n" " rid-base = 0\n" @@ -5038,109 +6613,90 @@ msgstr "" "\n" "EXEMPLE: Ajouter une nouvelle plage d'ID pour le domaine local\n" "\n" -"Pour créer une plage d'ID pour le domaine local il n'est pas nécessaire de " -"définir un\n" -"SID de domaine. Mais comme il est possible qu'un utilisateur et un groupe " -"aient une même \n" -"valeur comme ID Posix un second intervalle RID est nécessaire pour éviter " -"les conflits.\n" +"Pour créer une plage d'ID pour le domaine local il n'est pas nécessaire de\n" +"définir un SID de domaine. Mais comme il est possible qu'un utilisateur et\n" +"un groupe aient une même valeur d'ID Posix, un second intervalle RID est\n" +"nécessaire pour éviter les conflits.\n" "\n" " ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=1000 \\\n" " --secondary-rid-base=1000000 local_range\n" "\n" -"Les données des plages d'ID du domaine local sont utilisées en interne par " -"le serveur IPA\n" -"pour assigner des SID aux utilisateurs et aux groupes IPA. Le SID sera alors " -"enregistré\n" -"dans les objets utilisateur ou groupe.\n" +"Les données des plages d'ID du domaine local sont utilisées en interne par\n" +"le serveur IPA pour assigner des SID aux utilisateurs et aux groupes IPA.\n" +"Le SID sera alors enregistré dans les objets utilisateur ou groupe.\n" "\n" "Si par ex. la plage d'ID du domaine local est configurée pour les valeurs " "de\n" -"l'exemple ci-dessus alors un nouvel utilisateur avec l'UID 1200007 aura le " -"RID 1007.\n" -"Si ce RID est déjà utilié par un groupe le RID sera 1000007. Ceci ne peut " -"arriver\n" -"que si un objet utilisateur ou groupe a été créé avec un ID donné parce que\n" -"l'assignation automatique n'assigne pas le même ID deux fois. Étant donné " -"qu'il n'y a que\n" -"les utilisateurs et les groupes partageant le même ID de nom d'espace, il " -"suffit d'avoir\n" -"une seule plage de recours pour gérer les conflits.\n" -"\n" -"Pour trouver l'ID Posix pour un RID donné dans le domaine local il faut " -"d'abord\n" -"vérifier si le RID tombe dans la première ou la deuxième plage de RID ;\n" -"le rid-base ou le secondary-rid-base seront respectivement à soustraire,\n" -"et le base-id à ajouter pour obtenir l'ID Posix.\n" -"\n" -"Généralement la création des plages d'ID s'effectue en arrière-plan et ce " -"CLI\n" -"n'a pas besoin d'être du tout utilisé. Les plages d'ID pour le domaine local " -"seront créées\n" -"à l'installation ou au cours de la mise à jour d'une version précédente. La " -"plage d'ID pour un\n" -"domaine de confiance sera créé en même temps que la confiance par 'ipa trust-" -"add ...'.\n" +"l'exemple ci-dessus, alors un nouvel utilisateur avec l'UID 1200007 aura le\n" +"RID 1007. Si ce RID est déjà utilisé par un groupe, le RID sera 1000007.\n" +"Ceci n'arrive que si un objet utilisateur ou groupe a été créé avec un ID\n" +"donné, car l'assignation automatique n'attribue pas le même ID deux fois.\n" +"Comme seuls les utilisateurs et les groupes partagent le même ID de nom\n" +"d'espace, il suffit d'une seule plage de recours pour gérer les conflits.\n" +"\n" +"Pour trouver l'ID Posix pour un RID donné dans le domaine local, il faut\n" +"d'abord vérifier si le RID tombe dans la plage RID principale ou " +"secondaire ;\n" +"« rid-base » ou « secondary-rid-base » seront respectivement à soustraire\n" +"et « base-id » à ajouter pour obtenir l'ID Posix.\n" +"\n" +"Normalement la création de plages d'ID s'effectue en arrière-plan et ce CLI\n" +"n'a jamais besoin d'être utilisé. Les plages d'ID du domaine local seront\n" +"créées à l'installation ou au cours de la mise à jour d'une version\n" +"précédente. La plage d'ID pour un domaine de confiance sera créé en même\n" +"temps que la confiance avec « ipa trust-add ... ».\n" "\n" "CAS PRATIQUES :\n" "\n" -" Ajouter une plage d'ID pour un domaine de confiance par transition\n" +" Ajouter une plage d'ID à partir d'un domaine de confiance par " +"transmission\n" "\n" -" Si le domaine de confiance (A) fait confiance à un domaine (B) et que " -"cette confiance\n" -" est transitive 'ipa trust-add domain-A' ne créera de plage que pour le " -"domaine A.\n" -" La plage d'ID pour le domaine B doit être ajoutée manuellement.\n" +" Si le domaine de confiance (A) fait lui-même confiance à un domaine (B)\n" +"et que cette confiance est transmissible « ipa trust-add domain-A » ne crée\n" +"de plage que pour le domaine A. La plage d'ID pour le domaine B doit être\n" +"ajoutée manuellement.\n" "\n" " Ajouter une plage d'ID supplémentaire pour le domaine local\n" "\n" -" Si la plage d'ID du domaine local est épuisée, i.e. qu'aucun nouvel ID " -"ne peut être\n" -" assigné aux utilisateurs ou groupes Posix par le greffon DNA, il faut " -"créer une nouvelle\n" -" plage pour permettre l'ajout de nouveaux utilisateurs ou groupes " -"(actuellement il n'y a\n" -" pas de connexion entre cette plage CLI et le greffon DNA, mais une " -"future version\n" -" sera capable de modifier de même la configuration du greffon DNS).\n" -"\n" -"En règle générale il n'est pas nécessaire de modifier ou supprimer les " -"plages d'ID. S'il\n" -"n'y a pas d'autre moyen de mener à bien un configuration donnée qu'en " -"modifiant ou supprimant\n" -"une plage d'ID cela doit être fait avec grand soin. Comme les UID sont " -"enregistrés dans le\n" -"fichier système et sont utilisés pour les contrôles d'accès il se pourrait " -"que des\n" -"utilisateurs soit autorisés à avoir accès à des fichiers d'autres " -"utilisateurs si une plage\n" -"d'ID a été détruite puis réutilisée pour un domaine différent.\n" -"\n" -"(*) Le RID est généralement le dernier entier du SID d'un utilisateur ou " -"d'un groupe suivant\n" -"le SID du domaine. Ex. si le SID du domaine est S-1-5-21-123-456-789 et " -"qu'un utilisateur de\n" -"ce domaine a le SID S-1-5-21-123-456-789-1010, alors 010 est le RID de " -"l'utilisateur. Les RID\n" -"sont uniques dans un domaine, ce sont des valeurs sur 32 bits utilisées pour " -"les utilisateurs\n" -"et les groupes.\n" +" Si la plage d'ID du domaine local est épuisée, i.e. qu'aucun nouvel ID ne\n" +"peut être assigné aux utilisateurs ou groupes Posix par le greffon DNA, il\n" +"faut créer une nouvelle plage permettant l'ajout de nouveaux utilisateurs\n" +"ou groupes (actuellement il n'y a pas de liaison entre cette plage CLI et " +"le\n" +"le greffon DNA, mais il est prévu qu'une future version soit capable de\n" +"modifier de même la configuration du greffon DNS).\n" +"\n" +"En règle générale il n'est pas nécessaire de modifier ou supprimer les\n" +"plages d'ID. S'il n'y a pas d'autre moyen de mener à bien une configuration\n" +"donnée qu'en modifiant ou supprimant une plage d'ID cela doit être fait " +"avec\n" +"beaucoup de soin. Comme les UID sont enregistrés dans le fichier système et\n" +"utilisés pour les contrôles d'accès, il se pourrait que des utilisateurs\n" +"soient autorisés à avoir accès à des fichiers d'autres utilisateurs si une\n" +"plage d'ID a été détruite puis réutilisée pour un domaine différent.\n" +"\n" +"(*) Le RID est généralement le dernier entier du SID d'un utilisateur ou\n" +"d'un groupe, entier qui suit le SID du domaine. Ex. si le SID du domaine " +"est\n" +"S-1-5-21-123-456-789 et qu'un utilisateur de ce domaine a le SID\n" +"S-1-5-21-123-456-789-1010, alors le RID de l'utilisateur est 1010. Les RID\n" +"sont uniques dans un domaine, ce sont des valeurs sur 32 bits utilisées " +"pour\n" +"les utilisateurs et les groupes.\n" "\n" "AVERTISSEMENT :\n" "\n" -"Le greffon DNA dans 389-ds alloue des ID selon les plages configurées pour " +"Le greffon DNA dans 389-ds alloue des ID dans les plages configurées pour " "le\n" -"domaine local. Actuellement le greffon DNA *ne peut pas* être lui-même " -"reconfiguré selon\n" -"les plages locales définies par cette famille de commandes.\n" +"domaine local. Actuellement le greffon DNA *ne peut pas* être lui-même\n" +" reconfiguré dans le jeu de plages locales via cette famille de commandes.\n" "\n" "Une modification manuelle de la configuration du greffon DNA doit être " -"effectuée pour\n" -"la nouvelle plage locale. Généralement, l'attribut dnaNextRange de " -"« cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config » doit " -"être\n" -"modifié pour correspondre à la nouvelle plage.\n" +"faite\n" +"pour la nouvelle plage locale. En général, l'attribut « dnaNextRange » des\n" +"« cn=Posix IDs », « cn=Distributed Numeric Assignment Plugin », " +"« cn=plugins »,\n" +"« cn=config » doit être modifié pour correspondre à la nouvelle plage.\n" msgid "ID Ranges" msgstr "Plages d'ID" @@ -5151,17 +6707,12 @@ msgstr "Plage d'ID" msgid "local domain range" msgstr "Plage pour domaine local" -msgid "Active Directory winsync range" -msgstr "Plage winsync pour Active Directory" - msgid "Active Directory domain range" -msgstr "Plage pour domaine Active Directory" +msgstr "Plage pour les domaines Active Directory" msgid "Active Directory trust range with POSIX attributes" -msgstr "Plage pour le domaine Active Directory approuvé avec attributs POSIX" - -msgid "IPA trust range" -msgstr "Plage de domaine IPA approuvé" +msgstr "" +"Plage pour les relations d'approbation Active Directory avec attributs POSIX" msgid "Range name" msgstr "Nom de la plage" @@ -5179,42 +6730,43 @@ msgid "First RID of the secondary RID range" msgstr "Premier RID dans la plage de RID secondaire" msgid "Domain SID of the trusted domain" -msgstr "SID du domaine à approuver" +msgstr "SID du domaine de confiance" msgid "Name of the trusted domain" -msgstr "Nom du domaine à approuver" +msgstr "Nom du domaine de confiance" msgid "Range type" msgstr "Type de plage" #, python-brace-format msgid "ID range type, one of {vals}" -msgstr "Type de plage d'identifiants, valeur à prendre parmi {vals}" +msgstr "Type de plage d'ID, une valeur parmi {vals}" msgid "" "range modification leaving objects with ID out of the defined range is not " "allowed" msgstr "" -"la modification de plage laissant des objets ayant un ID en dehors de la " -"plage n'est pas autorisée" +"une modification de plage laissant des objets avec un ID en dehors de la " +"plage définie n'est pas autorisée" msgid "" "Cannot perform SID validation without Samba 4 support installed. Make sure " "you have installed server-trust-ad sub-package of IPA on the server" msgstr "" -"Impossible de réaliser la validation de SID sans installer la prise en " -"charge Samba 4. Assurez-vous d'avoir installé le sous-paquet IPAserver-trust-" -"ad sub-package sur le serveur" +"Impossible de réaliser la validation du SID sans installer la prise en " +"charge de Samba 4. Assurez-vous d'avoir installé le sous-paquet d'IPA " +"« server-trust-ad » sur le serveur" msgid "" "Cross-realm trusts are not configured. Make sure you have run ipa-adtrust-" "install on the IPA server first" msgstr "" -"Les approbations de domaines n'ont pas été configurées. Assurez-vous d'avoir " -"d'abord lancé ipa-adtrust-install sur le serveur" +"Les confiances croisées entre domaines n'ont pas été configurées. Assurez-" +"vous d'avoir préalablement exécuté « ipa-adtrust-install » sur le serveur" msgid "SID is not recognized as a valid SID for a trusted domain" -msgstr "Le SID n'est pas reconnu comme SID valide pour un domaine approuvé" +msgstr "" +"Le SID n'est pas reconnu en tant que SID valide pour un domaine de confiance" msgid "" "\n" @@ -5262,36 +6814,32 @@ msgstr "" "--base-id\n" "--range-size\n" "\n" -"En outre\n" +"En outre,\n" "\n" "--rid-base\n" "--secondary-rid-base\n" "\n" -"doivent être indiqués pour une nouvelle plage d'identifiants dans le domaine " -"local alors que\n" +"seront indiqués pour une nouvelle plage d'ID dans le domaine local alors " +"que\n" "\n" "--rid-base\n" "--dom-sid\n" "\n" -"doivent l'être pour ajouter une nouvelle plage pour un domaine AD de " +"doivent l'être pour ajouter une nouvelle plage pour un domaine AD de " "confiance.\n" "\n" -"AVERTISSEMENT :\n" -"\n" -"Le greffon DNA dans 389-ds allouera des ID suivant les plages configurées au " -"titre du\n" -"domaine local. Actuellement le greffon DNA *ne peut pas* être lui-même " -"reconfiguré selon\n" -"les plages locales définies par l'intermédiaire de cette famille de " -"commandes.\n" -"\n" -"Un changement manuel de configuration doit être opéré dans la configuration " -"du greffon DNA pour\n" -"la nouvelle plage locale. En particulier, l'attribut dnaNextRange de " -"« cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config » doivent " -"être modifiés\n" -"pour correspondre à cette nouvelle plage.\n" +"AVERTISSEMENT :\n" +"\n" +"Le greffon DNA dans 389-ds alloue des ID selon les plages configurées au\n" +"titre du domaine local. Actuellement le greffon DNA *ne peut pas* être\n" +"lui-même reconfiguré selon les plages locales définies par l'intermédiaire\n" +"de cette famille de commandes.\n" +"\n" +"Un changement manuel de configuration doit être opéré dans la configuration\n" +"du greffon DNA pour cadrer avec la nouvelle plage locale. En particulier,\n" +"l'attribut « dnaNextRange » de « cn=Posix IDs »,^n« cn=Distributed Numeric " +"Assignment Plugin », « cn=plugins », « cn=config »\n" +"doivent être modifiés pour correspondre à cette nouvelle plage.\n" " " #, python-format @@ -5300,52 +6848,46 @@ msgstr "Plage d'ID « %(value)s » ajoutée" msgid "Options dom-sid and dom-name cannot be used together" msgstr "" -"Les options dom-sid et dom-name ne peuvent être utilisées simultanément" +"Les options dom-sid et dom-name ne peuvent pas être utilisées simultanément" msgid "" "SID for the specified trusted domain name could not be found. Please specify " "the SID directly using dom-sid option." msgstr "" -"Impossible de trouver le SID du domaine à approuver spécifié. Merci de " -"spécifier le SID directement avec l'option dom-sid." - -msgid "" -"IPA Range type must be one of ipa-ad-trust or ipa-ad-trust-posix when SID of " -"the trusted domain is specified." -msgstr "" -"Le type de plage d'identifiants IPA doit être au choix ipa-ad-trust ou ipa-" -"ad-trust-posix lorsque le SID du domaine approuvé est indiqué." +"Impossible de trouver le SID du domaine de confiance désigné. Veuillez " +"indiquer directement le SID avec l'option « dom-sid »." -msgid "Options dom-sid/dom-name and secondary-rid-base cannot be used together" +msgid "Options dom-sid/dom-name and rid-base must be used together" msgstr "" -"Les options dom-sid/dom-name et secondary-rid-base ne peuvent être utilisées " +"Les options « dom-sid/dom-name » et « rid-base » doivent être utilisées " "simultanément" -msgid "Options dom-sid/dom-name and rid-base must be used together" +msgid "Options dom-sid/dom-name and secondary-rid-base cannot be used together" msgstr "" -"Les options dom-sid/dom-name et rid-base doivent être utilisées simultanément" +"Les options « dom-sid/dom-name » et « secondary-rid-base » ne peuvent pas " +"être utilisées simultanément" msgid "" "IPA Range type must not be one of ipa-ad-trust or ipa-ad-trust-posix when " "SID of the trusted domain is not specified." msgstr "" -"Le type de plage d'identifiants IPA ne doit pas ipa-ad-trust ou ipa-ad-trust-" -"posix lorsque le SID du domaine approuvé n'est pas indiqué." +"Le type de plage IPA ne doit être ni « ipa-ad-trust », ni « ipa-ad-trust-" +"posix » lorsque le SID du domaine de confiance n'est pas indiqué." msgid "Options secondary-rid-base and rid-base must be used together" msgstr "" -"Les options secondary-rid-base et rid-base doivent être utilisées " +"Les options « secondary-rid-base » et « rid-base » doivent être utilisées " "simultanément" msgid "Primary RID range and secondary RID range cannot overlap" -msgstr "Les plages de RID primaires et secondaires ne peuvent se recouvrir" +msgstr "Les plages de RID principales et secondaires ne peuvent se recouvrir" msgid "" "You must specify both rid-base and secondary-rid-base options, because ipa-" "adtrust-install has already been run." msgstr "" -"Vous devez préciser les deux options rid-base et secondary-rid-base, car ipa-" -"adtrust-install a déjà été exécuté." +"Vous devez préciser les deux options « rid-base » et « secondary-rid-base », " +"car « ipa-adtrust-install » a déjà été exécuté." msgid "Delete an ID range." msgstr "Supprimer une plage d'ID.." @@ -5360,8 +6902,8 @@ msgstr "Rechercher des plages." #, python-format msgid "%(count)d range matched" msgid_plural "%(count)d ranges matched" -msgstr[0] "%(count)d plage correspondante" -msgstr[1] "%(count)d plages correspondantes" +msgstr[0] "%(count)d plage correspondant" +msgstr[1] "%(count)d plages correspondant" msgid "Display information about a range." msgstr "Afficher les informations sur une plage." @@ -5375,11 +6917,12 @@ msgstr "Plage d'ID « %(value)s » modifiée" msgid "Options dom-sid and secondary-rid-base cannot be used together" msgstr "" -"Les options dom-sid et secondary-rid-base ne peuvent être utilisées " -"simultanément" +"Les options « dom-sid » et « secondary-rid-base » ne peuvent pas être " +"utilisées simultanément" msgid "Options dom-sid and rid-base must be used together" -msgstr "Les options dom-sid et rid-base doivent être utilisées simultanément" +msgstr "" +"Les options « dom-sid » et « rid-base » doivent être utilisées simultanément" msgid "Name of object to export" msgstr "Nom de l'objet à exporter" @@ -5391,25 +6934,28 @@ msgid "Name of command to export" msgstr "Nom de la commande à exporter" msgid "Dict of JSON encoded IPA Objects" -msgstr "Dictionnaire d'objets IPA encodés JSON" +msgstr "Dictionnaire d'objets IPA codés JSON" msgid "Dict of JSON encoded IPA Methods" -msgstr "Dictionnaire de méthode IPA encodées JSON" +msgstr "Dictionnaire de méthode IPA codées JSON" msgid "Dict of JSON encoded IPA Commands" -msgstr "Dictionnaire de commande IPA encodées en JSON" +msgstr "Dictionnaire de commande IPA codées JSON" msgid "Your session has expired. Please re-login." -msgstr "Votre session a expiré. Merci de vous reconnecter." +msgstr "Votre session a expiré. Veuillez vous reconnecter." msgid "Apply" msgstr "Appliquer" msgid "Rebuild auto membership" -msgstr "Reconstruire l'appartenance automatique" +msgstr "Reconstruction des adhésions automatiques" + +msgid "Are you sure you want to rebuild auto membership?" +msgstr "Êtes-vous sûr de vouloir reconstruire l'adhésion automatique ?" msgid "Are you sure you want to proceed with the action?" -msgstr "Êtes-vous sûr de vouloir procéder à cette action ?" +msgstr "Êtes-vous sûr de vouloir engager cette action ?" #, python-brace-format msgid "Are you sure you want to delete ${object}?" @@ -5428,11 +6974,11 @@ msgstr "Actions" #, python-brace-format msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" -msgstr "Ajouter RunAs ${other_entity} à ${entity} ${primary_key}" +msgstr "Ajouter « RunAs ${other_entity} » à ${primary_key} de ${entity}" #, python-brace-format msgid "Add RunAs Groups into ${entity} ${primary_key}" -msgstr "Ajouter RunAs Groups à ${entity} ${primary_key}" +msgstr "Ajouter « RunAs Groups » à ${primary_key} de ${entity}" #, python-brace-format msgid "Add ${other_entity} Managing ${entity} ${primary_key}" @@ -5440,19 +6986,19 @@ msgstr "Ajouter ${other_entity} gérant ${entity} ${primary_key}" #, python-brace-format msgid "Add ${other_entity} into ${entity} ${primary_key}" -msgstr "Ajouter un objet ${other_entity} à l'objet ${entity} ${primary_key}" +msgstr "Ajouter ${other_entity} à ${primary_key} de ${entity}" #, python-brace-format msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" -msgstr "Ajouter Allow ${other_entity} à ${entity} ${primary_key}" +msgstr "Ajouter « Allow ${other_entity} » à ${primary_key} de ${entity}" #, python-brace-format msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" -msgstr "Ajouter Deny ${other_entity} à ${entity} ${primary_key}" +msgstr "Ajouter « Deny ${other_entity} » à ${primary_key} de ${entity}" #, python-brace-format msgid "Add ${entity} ${primary_key} into ${other_entity}" -msgstr "Ajouter ${entity} ${primary_key} à ${other_entity}" +msgstr "Ajouter ${primary_key} de ${entity} à ${other_entity}" #, python-brace-format msgid "${count} item(s) added" @@ -5461,6 +7007,10 @@ msgstr "${count} élément(s) ajouté(s)" msgid "Direct Membership" msgstr "Adhésion directe" +#, python-brace-format +msgid "Filter available ${other_entity}" +msgstr "Filtre disponible ${other_entity}" + msgid "Indirect Membership" msgstr "Adhésion indirecte" @@ -5473,11 +7023,11 @@ msgstr "Affichage des entrées ${start} à ${end} sur ${total}." #, python-brace-format msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" -msgstr "Supprimer RunAs${other_entity} de ${entity} ${primary_key}" +msgstr "Supprimer « RunAs ${other_entity} » de ${primary_key} de ${entity}" #, python-brace-format msgid "Remove RunAs Groups from ${entity} ${primary_key}" -msgstr "Supprimer RunAs Groups de ${entity} ${primary_key}" +msgstr "Supprimer « RunAs Groups » de ${primary_key} de ${entity}" #, python-brace-format msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" @@ -5485,21 +7035,19 @@ msgstr "Supprimer ${other_entity} gérant ${entity} ${primary_key}" #, python-brace-format msgid "Remove ${other_entity} from ${entity} ${primary_key}" -msgstr "Supprimer l'objet ${other_entity} de l'objet ${entity} ${primary_key}" +msgstr "Supprimer ${other_entity} de ${primary_key} de ${entity}" #, python-brace-format msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" -msgstr "" -"Supprimer l'autorisation de ${other_entity} de ${entity} ${primary_key}" +msgstr "Supprimer « Allow ${other_entity} » de ${primary_key} de ${entity}" #, python-brace-format msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" -msgstr "" -"Supprimer l'interdiction de ${other_entity} de ${entity} ${primary_key}" +msgstr "Supprimer « Deny ${other_entity} » de ${primary_key} de ${entity}" #, python-brace-format msgid "Remove ${entity} ${primary_key} from ${other_entity}" -msgstr "Supprimer ${entity} ${primary_key} de ${other_entity}" +msgstr "Supprimer ${primary_key} de ${entity} depuis ${other_entity}" #, python-brace-format msgid "${count} item(s) removed" @@ -5515,7 +7063,7 @@ msgid "Add" msgstr "Ajouter" msgid "Add and Add Another" -msgstr "Ajouter, puis ajouter une nouvelle" +msgstr "Ajouter, puis ajouter un autre" msgid "Add and Close" msgstr "Ajouter et fermer" @@ -5566,7 +7114,7 @@ msgid "Reset" msgstr "Réinitialiser" msgid "Reset Password and Login" -msgstr "R.À.Z. du mot de passe et de l'identifiant de connexion" +msgstr "Réinitialisation du mot de passe et de l'identifiant de connexion" msgid "Restore" msgstr "Restaurer" @@ -5587,10 +7135,10 @@ msgid "View" msgstr "Voir" msgid "Collapse All" -msgstr "T" +msgstr "Replier le tout" msgid "Expand All" -msgstr "Tout déplier" +msgstr "Tout développer" msgid "General" msgstr "Général" @@ -5600,14 +7148,14 @@ msgstr "Paramètres d'identité" #, python-brace-format msgid "${entity} ${primary_key} Settings" -msgstr "Paramètres de l'objet ${entity} ${primary_key}" +msgstr "Réglages de ${primary_key} de ${entity}" msgid "Back to Top" -msgstr "Haut de page" +msgstr "Retour en haut de page" #, python-brace-format msgid "${entity} ${primary_key} updated" -msgstr "${entity} ${primary_key} modifié" +msgstr "${primary_key} de ${entity} modifié" #, python-brace-format msgid "${entity} successfully added" @@ -5631,8 +7179,8 @@ msgstr "Confirmation" msgid "This page has unsaved changes. Please save or revert." msgstr "" -"Cette page comporte des modifications non-sauvegardées. Merci de sauvegarder " -"ou de réinitialiser." +"Cette page comporte des modifications non-sauvegardées. Veuillez les " +"enregistrer ou les annuler." msgid "Unsaved Changes" msgstr "Modifications non sauvegardées" @@ -5644,8 +7192,12 @@ msgstr "Modifier ${entity}" msgid "Hide details" msgstr "Cacher les détails" +#, python-brace-format +msgid "${product}, version: ${version}" +msgstr "${product}, version : ${version}" + msgid "Prospective" -msgstr "Potentiel" +msgstr "Possibilité future" msgid "Redirection" msgstr "Redirection" @@ -5664,14 +7216,15 @@ msgid "Validation error" msgstr "Erreur de validation" msgid "Input form contains invalid or missing values." -msgstr "Le formulaire de saisie comporte des valeurs invalides ou manquantes." +msgstr "" +"Le formulaire de saisie comporte des valeurs non-valides ou manquantes." msgid "Please try the following options:" -msgstr "Merci d'essayer les alternatives suivantes :" +msgstr "Veuillez essayer les options suivantes :" msgid "If the problem persists please contact the system administrator." msgstr "" -"Si le problème persiste, merci de contacter l'administrateur du système." +"Si le problème persiste, veuillez contacter l'administrateur du système." msgid "Refresh the page." msgstr "Rafraîchir la page." @@ -5680,7 +7233,7 @@ msgid "Reload the browser." msgstr "Recharger le navigateur." msgid "Return to the main page and retry the operation" -msgstr "Retourner à la page principale et retenter l'opération" +msgstr "Retourner à la page principale et tenter à nouveau l'opération" #, python-brace-format msgid "An error has occurred (${error})" @@ -5710,7 +7263,7 @@ msgstr "${primary_key} est géré par :" #, python-brace-format msgid "${primary_key} members:" -msgstr "membres ${primary_key} :" +msgstr "membres de ${primary_key} :" #, python-brace-format msgid "${primary_key} is a member of:" @@ -5725,6 +7278,32 @@ msgstr "Rechercher" msgid "False" msgstr "Faux" +#, python-brace-format +msgid "Allow ${other_entity} to create keytab of ${primary_key}" +msgstr "Autoriser ${other_entity} à créer un tableau de clés de ${primary_key}" + +#, python-brace-format +msgid "Allow ${other_entity} to retrieve keytab of ${primary_key}" +msgstr "" +"Autoriser ${other_entity} à récupérer un tableau de clés de ${primary_key}" + +msgid "Allowed to create keytab" +msgstr "Autorisé à créer un tableau de clés" + +msgid "Allowed to retrieve keytab" +msgstr "Autorisé à récupérer un tableau de clés" + +#, python-brace-format +msgid "Disallow ${other_entity} to create keytab of ${primary_key}" +msgstr "" +"Ne pas autoriser ${other_entity} à créer un tableau de clés de ${primary_key}" + +#, python-brace-format +msgid "Disallow ${other_entity} to retrieve keytab of ${primary_key}" +msgstr "" +"Ne pas autoriser ${other_entity} à récupérer un tableau de clés de " +"${primary_key}" + msgid "Inherited from server configuration" msgstr "Hérité de la configuration du serveur" @@ -5737,27 +7316,9 @@ msgstr "Surcharger la configuration héritée" msgid "PAD" msgstr "PAD" -msgid "" -"To login with username and password, enter them in the fields below then " -"click Login." -msgstr "" -"Afin de vous connecter avec un nom d'utilisateur et un mot de passe, merci " -"de les saisir dans les champs ci-dessous puis cliquer sur « Connexion »." - msgid "Logged In As" msgstr "Connecté en tant que" -#, python-brace-format -msgid "" -"To login with Kerberos, please make sure you have valid tickets (obtainable " -"via kinit) and configured the browser correctly, then click Login." -msgstr "" -"Afin de se connecter avec Kerberos, il faut s'assurer d'avoir un ticket " -"valide (via kinit), que le navigateur est configuré correctement, puis cliquer sur « Connexion " -"»." - msgid "Login" msgstr "Connexion" @@ -5767,6 +7328,9 @@ msgstr "Déconnexion" msgid "Logout error" msgstr "Erreur de déconnexion" +msgid "Sync OTP Token" +msgstr "Jeton OTP synchronisé" + msgid "Username" msgstr "Nom d'utilisateur" @@ -5814,10 +7378,10 @@ msgid "User group rules" msgstr "Règles de groupes d'utilisateurs" msgid "Automount Location Settings" -msgstr "Détail d'un lieu d'automontage" +msgstr "Détail d'un emplacement « automount »" msgid "Map Type" -msgstr "Type de carte" +msgstr "Type de mappe" msgid "Direct" msgstr "Direct" @@ -5826,13 +7390,13 @@ msgid "Indirect" msgstr "Indirect" msgid "AA Compromise" -msgstr "Autorité d'attribut compromise" +msgstr "AA compromis" msgid "Affiliation Changed" -msgstr "L'affiliation a changé" +msgstr "Affiliation modifiée" msgid "CA Compromise" -msgstr "AC compromise" +msgstr "AC compromis" msgid "Certificates" msgstr "Certificats" @@ -5868,26 +7432,26 @@ msgid "Revoked on to" msgstr "Révoqué jusqu'au" msgid "Valid not after from" -msgstr "Invalide après, à partir du" +msgstr "Invalide après à partir du" msgid "Valid not after to" -msgstr "Invalide après, jusqu'au" +msgstr "Invalide après jusqu'au" msgid "Valid not before from" -msgstr "Invalide avant, à partir du" +msgstr "Invalide avant à partir du" msgid "Valid not before to" -msgstr "Invalide avant, jusqu'au" +msgstr "Invalide avant jusqu'au" msgid "Fingerprints" -msgstr "Condensés" +msgstr "Empreintes" msgid "Get Certificate" msgstr "Obtenir le certificat" #, python-brace-format msgid "Issue New Certificate for ${entity} ${primary_key}" -msgstr "Émettre un nouveau certificat pour l'objet ${entity} ${primary_key}" +msgstr "Émettre un nouveau certificat pour ${primary_key} de ${entity}" msgid "Issued By" msgstr "Émis par" @@ -5902,7 +7466,7 @@ msgid "Key Compromise" msgstr "Clé compromise" msgid "MD5 Fingerprint" -msgstr "Condensé MD5" +msgstr "Empreinte MD5" msgid "No Valid Certificate" msgstr "Pas de certificat valide" @@ -5952,7 +7516,7 @@ msgstr "Certificat demandé" #, python-brace-format msgid "Restore Certificate for ${entity} ${primary_key}" -msgstr "Restaurer un certificat pour ${entity} ${primary_key}" +msgstr "Restaurer un certificat pour ${primary_key} de ${entity}" msgid "Restore Certificate" msgstr "Restaurer le certificat" @@ -5961,15 +7525,15 @@ msgid "" "To confirm your intention to restore this certificate, click the \"Restore\" " "button." msgstr "" -"Afin de confirmer votre intention de restaurer ce certificat, cliquer sur le " -"bouton \"Restaurer\"." +"Pour confirmer l'intention de restaurer ce certificat, cliquer sur le bouton " +"« Restaurer »." msgid "Certificate restored" msgstr "Certificat restauré" #, python-brace-format msgid "Revoke Certificate for ${entity} ${primary_key}" -msgstr "Révoquer un certificat pour l'objet ${entity} ${primary_key}" +msgstr "Révoquer un certificat pour ${primary_key} de ${entity}" msgid "Revoke Certificate" msgstr "Révoquer le certificat" @@ -5978,30 +7542,30 @@ msgid "" "To confirm your intention to revoke this certificate, select a reason from " "the pull-down list, and click the \"Revoke\" button." msgstr "" -"Afin de confirmer votre intention de révoquer ce certificat, sélectionner " -"une raison dans la liste, puis de cliquer sur le bouton \"Révoquer\"." +"Pour confirmer l'intention de révoquer ce certificat, sélectionner une " +"raison dans la liste déroulante, puis cliquer sur le bouton « Révoquer »." msgid "Certificate Revoked" msgstr "Certificat révoqué" msgid "SHA1 Fingerprint" -msgstr "Condensé SHA1" +msgstr "Empreinte SHA1" msgid "Superseded" -msgstr "Obsolète" +msgstr "Remplacé" msgid "Unspecified" msgstr "Non-spécifié" msgid "Valid Certificate Present" -msgstr "Certificat validé présent" +msgstr "Certificat valide présent" msgid "Validity" msgstr "Validité" #, python-brace-format msgid "Certificate for ${entity} ${primary_key}" -msgstr "Certificat pour l'objet ${entity} ${primary_key}" +msgstr "Certificat pour ${primary_key} de ${entity}" msgid "View Certificate" msgstr "Afficher le certificat" @@ -6022,13 +7586,13 @@ msgid "User Options" msgstr "Options utilisateurs" msgid "Forward first" -msgstr "Forward first" +msgstr "Transfert prioritaire" msgid "Forwarding disabled" -msgstr "Transmission désactivée" +msgstr "Transfert désactivé" msgid "Forward only" -msgstr "Forward only" +msgstr "Transfert unique" msgid "Options" msgstr "Options" @@ -6094,9 +7658,19 @@ msgstr "Paramètres de zone DNS" msgid "Add Permission" msgstr "Ajouter une permission" +#, python-brace-format +msgid "Are you sure you want to add permission for DNS Zone ${object}?" +msgstr "" +"Êtes-vous sûr de vouloir ajouter une permission pour la zone DNS ${object} ?" + msgid "Remove Permission" msgstr "Supprimer une permission" +#, python-brace-format +msgid "Are you sure you want to remove permission for DNS Zone ${object}?" +msgstr "" +"Êtes-vous sûr de vouloir supprimer la permission pour la zone DNS ${object} ?" + msgid "Group Settings" msgstr "Paramètres de groupe" @@ -6140,10 +7714,10 @@ msgid "Specified Hosts and Groups" msgstr "Hôtes et groupes indiqués" msgid "Specified Services and Groups" -msgstr "Services et groupes spécifiques" +msgstr "Services et groupes indiqués" msgid "Specified Users and Groups" -msgstr "Utilisateurs et groupes spécifiques" +msgstr "Utilisateurs et groupes indiqués" msgid "Who" msgstr "Qui" @@ -6180,7 +7754,7 @@ msgstr "Lancer test" #, python-brace-format msgid "Specify external ${entity}" -msgstr "Spécifier un ${entity} externe" +msgstr "Définir un ${entity} externe" msgid "Unmatched" msgstr "Pas de correspondance" @@ -6192,7 +7766,7 @@ msgid "Host Name" msgstr "Nom d'hôte" msgid "Delete Key, Unprovision" -msgstr "Supprimer la clé, décommissionner" +msgstr "Supprimer une clé, ôter les permissions" msgid "Host Settings" msgstr "Paramètres d'hôte" @@ -6213,7 +7787,7 @@ msgid "Kerberos Key Not Present" msgstr "Clé Kerberos absente" msgid "Kerberos Key Present, Host Provisioned" -msgstr "Clé Kerberos présente, hôte provisionné" +msgstr "Clé Kerberos présente, hôte muni de permissions" msgid "One-Time-Password" msgstr "Mot de passe à usage unique" @@ -6240,17 +7814,17 @@ msgid "Set One-Time-Password" msgstr "Définir mot de passe à usage unique" msgid "Unprovision" -msgstr "Décommissioner" +msgstr "Suppression des permissions" msgid "Are you sure you want to unprovision this host?" -msgstr "Êtes-vous sûr de vouloir décommissionner ce système ?" +msgstr "Êtes-vous sûr de vouloir supprimer les permissions à cet hôte ?" #, python-brace-format msgid "Unprovisioning ${entity}" -msgstr "Décommissionnement de l'objet ${entity}" +msgstr "Suppression des permissions de ${entity} en cours" msgid "Host unprovisioned" -msgstr "Hôte déprovisionné" +msgstr "Permissions de l'hôte supprimées" msgid "Host Group Settings" msgstr "Paramètres des groupe d'hôtes" @@ -6259,13 +7833,13 @@ msgid "Kerberos Ticket Policy" msgstr "Politique de tickets Kerberos" msgid "Netgroup Settings" -msgstr "Paramètres du netgroup" - -msgid "User" -msgstr "Utilisateur" +msgstr "Paramètres du groupement réseau" msgid "Permission settings" -msgstr "Paramètres de permission" +msgstr "Réglages des permissions" + +msgid "Attribute breakdown" +msgstr "Répartition des attributs" msgid "Privilege Settings" msgstr "Paramètres du privilège" @@ -6280,7 +7854,7 @@ msgid "Base ID" msgstr "ID de base" msgid "Primary RID base" -msgstr "Base de RID primaire" +msgstr "Base de RID principale" msgid "Range size" msgstr "Taille de la plage" @@ -6304,11 +7878,14 @@ msgid "Local domain" msgstr "Domaine local :" msgid "IPA trust" -msgstr "Relations d'approbations avec IPA" +msgstr "Confiance IPA" msgid "Active Directory winsync" msgstr "Active Directory winsync" +msgid "RADIUS Proxy Server Settings" +msgstr "Réglages du serveur mandataire RADIUS" + msgid "Realm Domains" msgstr "Domaines pour le royaume" @@ -6322,7 +7899,7 @@ msgid "Force Update" msgstr "Forcer la mise à jour" msgid "Role Settings" -msgstr "Paramètres de rôles" +msgstr "Paramètres du rôle" msgid "Service Certificate" msgstr "Certificat de service" @@ -6331,16 +7908,16 @@ msgid "Service Settings" msgstr "Paramètres de service" msgid "Provisioning" -msgstr "Commissionnement" +msgstr "Mise en place des permissions" msgid "Are you sure you want to unprovision this service?" -msgstr "Êtes-vous sûr de vouloir décommissionner ce service ?" +msgstr "Êtes-vous sûr de vouloir supprimer les permissions ce service ?" msgid "Service unprovisioned" -msgstr "Service décommissionné" +msgstr "Permissions du service supprimées" msgid "Kerberos Key Present, Service Provisioned" -msgstr "Clé Kerberos présente, service commissionné" +msgstr "Clé Kerberos présente, permissions du service activées" msgid "SSH public keys" msgstr "Clés publiques SSH" @@ -6388,7 +7965,7 @@ msgid "Deny" msgstr "Interdire" msgid "Access this host" -msgstr "Accède cet hôte" +msgstr "A accès à cet hôte" msgid "Option added" msgstr "Option ajoutée" @@ -6398,13 +7975,13 @@ msgid "${count} option(s) removed" msgstr "${count} option(s) supprimée(s)" msgid "As Whom" -msgstr "En tant que" +msgstr "Comme qui" msgid "Specified Commands and Groups" -msgstr "Commandes et groupes spécifiés" +msgstr "Commandes et groupes définis" msgid "Specified Groups" -msgstr "Groupes spécifiés" +msgstr "Groupes définis" msgid "Account" msgstr "Compte" @@ -6416,7 +7993,7 @@ msgid "SID blacklists" msgstr "Listes noires de SID" msgid "Trust Settings" -msgstr "Configuration des approbations" +msgstr "Configuration de la confiance" msgid "Domain" msgstr "Domaine" @@ -6437,13 +8014,13 @@ msgid "Pre-shared password" msgstr "Mot de passe pré-partagé" msgid "Trust direction" -msgstr "Sens de l'approbation" +msgstr "Sens de la confiance" msgid "Trust status" -msgstr "État de l'approbation" +msgstr "État de la confiance" msgid "Trust type" -msgstr "Type d'approbation" +msgstr "Type de confiance" msgid "Account Settings" msgstr "Paramètres de compte" @@ -6481,6 +8058,13 @@ msgstr "" msgid "Click to ${action}" msgstr "Cliquer pour ${action}." +msgid "Unlock" +msgstr "Déverrouiller" + +#, python-brace-format +msgid "Are you sure you want to unlock user ${object}?" +msgstr "Êtes-sous sûr de vouloir déverrouiller l'utilisateur ${object} ?" + msgid "Current Password" msgstr "Mot de passe actuel" @@ -6491,6 +8075,9 @@ msgstr "Le mot de passe actuel est requis" msgid "Your password expires in ${days} days." msgstr "Votre mot de passe expire dans ${days} jours." +msgid "First OTP" +msgstr "Premier OTP" + msgid "The password or username you entered is incorrect." msgstr "Le mot de passe ou le nom d'utilisateur entré est incorrect." @@ -6500,6 +8087,22 @@ msgstr "Nouveau mot de passe" msgid "New password is required" msgstr "Un nouveau mot de passe est requis" +msgid "OTP" +msgstr "OTP" + +msgid "Token synchronization failed" +msgstr "Échec de synchronisation du jeton" + +msgid "The username, password or token codes are not correct" +msgstr "" +"Le nom d'utilisateur, mot de passe ou code du jeton ne sont pas corrects" + +msgid "Token was synchronized" +msgstr "Jeton synchronisé" + +msgid "Password or Password+One-Time-Password" +msgstr "Mot de passe ou Mot de passe + OTP" + msgid "Password change complete" msgstr "Modification du mot de passe terminée" @@ -6515,6 +8118,12 @@ msgstr "Réinitialiser le mot de passe" msgid "Reset your password." msgstr "Réinitialiser votre mot de passe." +msgid "Second OTP" +msgstr "Deuxième OTP" + +msgid "Token ID" +msgstr "ID du jeton" + msgid "Verify Password" msgstr "Vérifier le mot de passe" @@ -6553,29 +8162,32 @@ msgid "" "Query returned more results than the configured size limit. Displaying the " "first ${counter} results." msgstr "" -"La recherche a retourné plus de résultats que le nombre limite configuré. " +"La recherche a renvoyé plus de résultats que le nombre limite configuré. " "Affichage des ${counter} premiers résultats." msgid "Unselect All" -msgstr "Tout déselectionner" +msgstr "Tout désélectionner" msgid "Disabled" msgstr "Désactivé" msgid "Working" -msgstr "Fonctionnel" +msgstr "Travail en cours" msgid "Audit" msgstr "Audit" +msgid "Authentication" +msgstr "Authentification" + msgid "Automount" -msgstr "Automontage" +msgstr "Montage automatique" msgid "DNS" msgstr "DNS" msgid "Host Based Access Control" -msgstr "Contrôlé d'accès basé sur les hôtes (HBAC)" +msgstr "Contrôlé d'accès fondé sur l'hôte (HBAC)" msgid "Identity" msgstr "Identité" @@ -6583,17 +8195,20 @@ msgstr "Identité" msgid "IPA Server" msgstr "Serveur IPA" +msgid "Network Services" +msgstr "Services réseau" + msgid "Policy" msgstr "Politique" msgid "Role Based Access Control" -msgstr "Contrôle d'accès basé sur les rôles" +msgstr "Contrôle d'accès fondé sur le rôle" msgid "Sudo" msgstr "Sudo" msgid "Trusts" -msgstr "Approbations" +msgstr "Confiances" msgid "True" msgstr "Vrai" @@ -6613,14 +8228,11 @@ msgstr "Page" msgid "Prev" msgstr "Précédent(e)" -msgid "undo" -msgstr "défaire" - -msgid "undo all" -msgstr "tout défaire" - msgid "Text does not match field pattern" -msgstr "Le texte ne correspond pas au motif de champ" +msgstr "Le texte ne correspond pas au motif du champ" + +msgid "Must be an UTC date/time value (e.g., \"2014-01-20 17:58:01Z\")" +msgstr "Doit être une valeur d'horodatage UTC (ex. : « 2014-01-20 17:58:01Z »)" msgid "Must be a decimal number" msgstr "Doit être un nombre décimal" @@ -6632,13 +8244,13 @@ msgid "Must be an integer" msgstr "Doit être un entier" msgid "Not a valid IP address" -msgstr "Pas une adresse IP valide" +msgstr "Adresse IP invalide" msgid "Not a valid IPv4 address" -msgstr "Pas une adresse IPv4 valide" +msgstr "Adresse IPv4 invalide" msgid "Not a valid IPv6 address" -msgstr "Pas une adresse IPv6 valide" +msgstr "Adresse IPv6 invalide" #, python-brace-format msgid "Maximum value is ${value}" @@ -6649,7 +8261,7 @@ msgid "Minimum value is ${value}" msgstr "La valeur minimale est ${value}" msgid "Not a valid network address" -msgstr "Pas une adresse réseau valide" +msgstr "Adresse réseau invalide" msgid "Parse error" msgstr "Erreur d'analyse" @@ -6662,7 +8274,7 @@ msgid "Required field" msgstr "Champ requis" msgid "Unsupported value" -msgstr "Valeur non supportée" +msgstr "Valeur non prise en charge" msgid "Dict of I18N messages" msgstr "Dictionnaire de messages I18N" @@ -6708,11 +8320,14 @@ msgstr "" "\n" "Politique de tickets Kerberos\n" "\n" -"Il n'existe qu'une unique politique de ticket Kerberos. Cette politique\n" -"définit la durée de vie maximale des tickets, ainsi que l'âge maximal de\n" -"renouvellement, période pendant laquelle le ticket est renouvelable.\n" +"Il n'existe qu'une seule politique de ticket Kerberos. Cette politique\n" +"définit la durée de vie maximale des tickets, ainsi que la durée maximale " +"de\n" +"la période de renouvellement, temps pendant lequel le ticket est " +"renouvelable.\n" "\n" -"Vous pouvez aussi créer une politique par utilisateur en spécifiant\n" +"Vous pouvez aussi créer une politique de ticket par utilisateur en " +"indiquant\n" "l'identifiant de l'utilisateur.\n" "\n" "Pour que les changements à la politique globale s'appliquent, il est \n" @@ -6720,13 +8335,13 @@ msgstr "" "\n" "service krb5kdc restart\n" "\n" -"Les changements à une politique spécifique à un utilisateur prennent effet\n" -"immédiatement pour les tickets nouvellement demandés (i.e. quand\n" -"l'utilisateur lance kinit).\n" +"Les changements d'une politique propre à un utilisateur prennent effet\n" +"immédiatement pour les tickets nouvellement demandés (i.e. au lancement\n" +"suivant de « kinit » par l'utilsateur).\n" "\n" "EXEMPLES :\n" "\n" -" Affiche la politique actuelle de ticket Kerberos :\n" +" Affiche la politique de ticket Kerberos en cours :\n" " ipa krbtpolicy-show\n" "\n" " Réinitialise la politique aux valeurs par défaut :\n" @@ -6736,21 +8351,21 @@ msgstr "" " maximale de renouvellement :\n" " ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400\n" "\n" -" Affiche la politique actuelle de ticket Kerberos de l'utilisateur " -"'admin' :\n" +" Affiche la politique de ticket Kerberos effective pour l'utilisateur\n" +" « admin » :\n" " ipa krbtpolicy-show admin\n" "\n" -" Réinitialise la politique de ticket Kerberos de l'utilisateur 'admin' :\n" +" Réinitialise la politique de ticket Kerberos de l'utilisateur « admin » :\n" " ipa krbtpolicy-reset admin\n" "\n" " Modifie la politique de ticket Kerberos de l'utilisateur 'admin' :\n" " ipa krbtpolicy-mod admin --maxlife=3600\n" msgid "kerberos ticket policy settings" -msgstr "configuration de la politique de tickets Kerberos" +msgstr "réglages de la politique de tickets Kerberos" msgid "Manage ticket policy for specific user" -msgstr "Administrer la politique de tickets d'un utilisateur spécifique" +msgstr "Administrer la politique de ticket pour un utilisateur donné" msgid "Max life" msgstr "Vie max." @@ -6762,7 +8377,7 @@ msgid "Max renew" msgstr "Renouvellement max." msgid "Maximum renewable age (seconds)" -msgstr "Âge maximale de renouvellement (secondes)" +msgstr "Durée maximale de la période de renouvellement (secondes)" msgid "Modify Kerberos ticket policy." msgstr "Modifier la politique de tickets Kerberos." @@ -6770,6 +8385,13 @@ msgstr "Modifier la politique de tickets Kerberos." msgid "Display the current Kerberos ticket policy." msgstr "Afficher la politique de tickets Kerberos." +#, python-format +msgid "Ticket policy for %s could not be read" +msgstr "La politique de ticket pour %s ne peut pas être lue" + +msgid "Default ticket policy could not be read" +msgstr "La politique de ticket par défaut ne peut pas être lue" + msgid "Reset Kerberos ticket policy to the default values." msgstr "Réinitialiser la politique de tickets Kerberos." @@ -6872,134 +8494,114 @@ msgstr "" "\n" "Migration vers IPA\n" "\n" -"Faire migrer des utilisateurs et des groupes d'un serveur LDAP vers IPA.\n" +"Migration d'utilisateurs et de groupes d'un serveur LDAP vers IPA.\n" "\n" "Ceci réalise une requête LDAP sur le serveur distant pour rechercher\n" -"utilisateurs et groupes dans un conteneur. Pour faire migrer les mots de " -"passe, vous devez\n" -"vous connecter en tant qu'utilisateur capable de lire l'attribut " -"userPassword sur le serveur\n" -"distant. La chose est généralement réservée aux administrateurs de haut " -"niveau comme le\n" -"cn=Directory Manager dans 389-ds (utilisateur de la connexion par défaut).\n" +"utilisateurs et groupes dans un conteneur. Pour faire migrer les mots de\n" +"passe, vous devez vous connecter en tant qu'utilisateur capable de lire\n" +"l'attribut « userPassword » sur le serveur distant : chose généralement\n" +"réservée aux administrateurs de haut niveau comme « cn=Directory Manager »\n" +"dans 389-ds (utilisateur de la connexion par défaut).\n" "\n" "Par défaut, le conteneur utilisateur est ou=People.\n" "\n" "Par défaut, le conteneur groupe est ou=Groups.\n" "\n" -"Utilisateurs et groupes préexistants sur le serveur IPA sont laissés de " -"côté.\n" -"\n" -"Deux schémas LDAP définissent comment les membres du groupe sont " -"enregistrés : RFC2307 et\n" -"RFC2307bis. RFC2307bis utilise member et uniquemember pour définir les " -"membres du groupe,\n" -"RFC2307 utilise memberUid. Le schéma par défaut est RFC2307bis.\n" -"\n" -"La fonctionnalité du schéma compat autorise IPA à formater à nouveau les " -"données pour les\n" -"systèmes ne prenant pas en charge RFC2307bis. Il est recommandé de " -"désactiver cette fonction\n" -"pendant la migration pour éviter des dépassements de capacité. Vous la " -"réactiverez après\n" -"migration. Pour faire la migration avec la fonction activée,utilisez " -"l'option \"--with-compat\".\n" -"\n" -"Les utilisateurs émigrés n'ont pas de références Kerberos, ils n'ont que " -"leur mot de passe\n" -"LDAP. Pour achever le processus de migration, les utilisateurs doivent aller " -"à la page\n" -"http://ipa.example.com/ipa/migration et s'authentifier en utilisant leur mot " -"de passe\n" -"LDAP pour générer leur justificatif d'identité Kerberos.\n" -"\n" -"Par défaut, la migration est désactivée. Utilisez la commande ipa config-mod " -"pour\n" -"l'activer :\n" +"Utilisateurs et groupes préexistants sur le serveur IPA ne sont pas " +"touchés.\n" +"\n" +"Deux schémas LDAP définissent comment les membres d'un groupe sont\n" +"enregistrés : RFC2307 et RFC2307bis. RFC2307bis utilise « member » et\n" +"« uniquemember » pour définir les membres d'un groupe, RFC2307 utilise\n" +"« memberUid ». Le schéma par défaut est RFC2307bis.\n" +"\n" +"La fonctionnalité « compat » du schéma autorise IPA à formater à nouveau\n" +"les données pour les systèmes ne prenant pas en charge RFC2307bis. Il est\n" +"recommandé de désactiver cette fonction pendant la migration pour éviter\n" +"de surcharger le système. Vous la réactiverez après migration. Pour faire\n" +"la migration avec la fonction activée,utilisez l'option « --with-compat ».\n" +"\n" +"Les utilisateurs migrés n'ont pas de référence Kerberos, ils n'ont que leur\n" +"mot de passe LDAP. Pour achever le processus de migration, les utilisateurs\n" +"doivent aller à la page http://ipa.example.com/ipa/migration et\n" +"s'authentifier en utilisant leur mot de passe LDAP pour générer leur\n" +"justificatif d'identité Kerberos.\n" +"\n" +"Par défaut, la migration est désactivée. Utilisez la commande\n" +"« ipa config-mod » pour l'activer :\n" "\n" " ipa config-mod --enable-migration=TRUE\n" "\n" -"Si un DN de base n'est pas indiqué avec --basedn, IPA utilise alors, soit\n" -"la valeur de defaultNamingContext si elle est définie, soit la première " -"valeur fixée\n" -"dans namingContexts dans la racine du serveur LDAP distant.\n" +"Si un DN de base n'est pas indiqué avec « --basedn », IPA utilise alors,\n" +"soit la valeur de « defaultNamingContext » si elle est définie, soit la\n" +"première valeur fixée dans « namingContexts » dans la racine du serveur " +"LDAP\n" +"distant.\n" "\n" "Les utilisateurs sont ajoutés comme membres du groupe utilisateur par " -"défaut. Cela peut être\n" -"une tâche consommatrice de temps, ainsi pendant la migration cela se fait en " -"mode batch\n" -"tous les 100 utilisateurs. Il en résulte une fenêtre dans laquelle les " -"utilisateurs sont\n" -"ajoutés à IPA mais sans être des membres du groupe d'utilisateurs par " "défaut.\n" -"\n" +"Cela peut être une tâche demandant du temps, ainsi pendant la migration " +"cela\n" +"se fait en mode « batch » par tranches de 100 utilisateurs. Il y aura donc\n" +"une fenêtre dans laquelle les utilisateurs seront ajoutés à IPA, mais\n" +"ne seront pas encore membres du groupe d'utilisateurs par défaut.\n" "\n" "EXEMPLES :\n" "\n" -" La migration la plus simple, acceptant tous les paramètres par défaut :\n" +" Migration la plus simple, acceptant tous les paramètres par défaut :\n" " ipa migrate-ds ldap://ds.example.com:389\n" "\n" -" En précisant le conteneur utilisateur et groupe. S'utilise pour migrer les " -"données\n" -" utilisateur et groupe d'un serveur IPA v1 :\n" +" En précisant le conteneur utilisateur et groupe. S'utilise pour migrer les\n" +"données utilisateur et groupe d'un serveur IPA v1 :\n" " ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n" -" --group-container='cn=groups,cn=accounts' \\\n" -" ldap://ds.example.com:389\n" -"\n" -" Comme un serveur IPA v2 comporte déjà des groupes prédéfinis pouvant entrer " -"en conflit avec\n" -" des groupes du serveur IPA v1) migré (par exemple admins, ipausers), des " -"utilisateurs avec\n" -" un groupe conflictuel comme groupe principal peuvent se voir rattachés à un " -"groupe inconnu\n" -" sur le nouveau serveur IPA v2.\n" -" Utilisez l'option --group-overwrite-gid pour écraser le GID des groupes " -"préexistants\n" -" afin d'éviter ce problème :\n" +" --group-container='cn=groups,cn=accounts' \\\n" +" ldap://ds.example.com:389\n" +"\n" +" Comme un serveur IPA v2 comporte déjà des groupes prédéfinis pouvant " +"entrer\n" +"en conflit avec des groupes du serveur (IPA v1) migré (par exemple admins,\n" +"ipausers), des utilisateurs dans un groupe en conflit comme groupe " +"principal\n" +"peuvent se voir rattachés à un groupe inconnu sur le nouveau serveur IPA " +"v2.\n" +" Utilisez l'option « --group-overwrite-gid » pour écraser le GID des " +"groupes\n" +"préexistants afin d'éviter ce problème :\n" " ipa migrate-ds --group-overwrite-gid \\\n" -" --user-container='cn=users,cn=accounts' \\\n" -" --group-container='cn=groups,cn=accounts' \\\n" -" ldap://ds.example.com:389\n" +" --user-container='cn=users,cn=accounts' \\\n" +" --group-container='cn=groups,cn=accounts' \\\n" +" ldap://ds.example.com:389\n" "\n" -" Des utilisateurs ou des groupes migrés peuvent posséder des classes d'objet " -"et des attributs\n" -" accompagnants inconnus du serveur IPA v2. Ces classes d'objets et attributs " -"doivent être\n" -" tenus hors du processus de migration :\n" +" Utilisateurs ou groupes migrés peuvent avoir des classes d'objets et\n" +"attributs associés inconnus du serveur IPA v2. Ces classes d'objets et\n" +"attributs doivent être tenus en dehors du processus de migration :\n" " ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n" -" --group-container='cn=groups,cn=accounts' \\\n" -" --user-ignore-objectclass=radiusprofile \\\n" -" --user-ignore-attribute=radiusgroupname \\\n" -" ldap://ds.example.com:389\n" +" --group-container='cn=groups,cn=accounts' \\\n" +" --user-ignore-objectclass=radiusprofile \\\n" +" --user-ignore-attribute=radiusgroupname \\\n" +" ldap://ds.example.com:389\n" "\n" "JOURNALISATION\n" "\n" -"La migration déclenchera des avertissements et des erreurs sur le journal " -"d'erreurs Apache.\n" -"Ce fichier devra être examiné après la migration pour corriger ou enquêter " -"sur tout problème\n" -"qui apparaîtrait.\n" +"La migration inscrit des avertissements et des erreurs sur le journal\n" +"d'erreurs Apache. Ce fichier devra être examiné après la migration pour\n" +"corriger ou enquêter sur tout problème qui serait mentionné.\n" "\n" -"Tous les 100 utilisateurs migrés un message de niveau info est affiché " -"indiquant\n" -"l'avancement en cours et la durée écoulée pour permettre un suivi du " -"processus\n" -"de progression de la migration.\n" +"Tous les 100 utilisateurs migrés un message de niveau info est affiché\n" +"indiquant l'avancement en cours et la durée écoulée pour permettre un suivi\n" +"du processus de progression de la migration.\n" "\n" -"Si le niveau de journalisation est debug, soit en définissant debug = True " -"dans\n" -"/etc/ipa/default.conf ou /etc/ipa/server.conf, alors une entrée sera " -"affichée\n" -"pour chaque utilisateur plus un résumé quand le groupe utilisateur par " -"défaut\n" -"est mis à jour.\n" +"Si le niveau de journalisation est « debug », en définissant « debug=True »\n" +"soit dans « /etc/ipa/default.conf », soit dans « /etc/ipa/server.conf »,\n" +"alors une entrée est inscrite pour chaque utilisateur ajouté, plus un\n" +"résumé quand le groupe utilisateur par défaut est mis à jour.\n" #, python-format msgid "" "Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." msgstr "" "Le principal Kerberos %s existe déjà. Utiliser la commande « ipa user-mod » " -"pour le créer manuellement." +"pour le définir manuellement." #, python-format msgid "" @@ -7007,20 +8609,21 @@ msgid "" "mod' to set it manually." msgstr "" "Impossible de savoir si le principal Kerberos %s existe déjà. Utiliser la " -"commande 'ipa user-mod' pour le créer manuellement." +"commande 'ipa user-mod' pour le définir manuellement." msgid "" "Failed to add user to the default group. Use 'ipa group-add-member' to add " "manually." msgstr "" -"Échec à l'ajout de l'utlisateur dans le groupe par défaut. Utiliser la " -"commande 'ipa group-add-member' pour l'ajouter manuellement." +"Échec à l'ajout de l'utilisateur dans le groupe par défaut. Utiliser la " +"commande « ipa group-add-member » pour l'ajouter manuellement." msgid "Migration of LDAP search reference is not supported." -msgstr "La migration de références de recherche LDAP n'est pas supportée." +msgstr "" +"La migration des références des recherches LDAP n'est pas prise en charge." msgid "Malformed DN" -msgstr "DN malformé" +msgstr "DN mal formé" #, python-format msgid "%(user)s is not a POSIX user" @@ -7030,20 +8633,20 @@ msgid "" ". Check GID of the existing group. Use --group-overwrite-gid option to " "overwrite the GID" msgstr "" -". Vérifier le GID du groupe existant. Utiliser l'option --group-overwrite-" -"gid pour réécrire le GID" +". Vérifier le GID du groupe existant. Utiliser l'option « --group-overwrite-" +"gid » pour surcharger le GID" msgid "Invalid LDAP URI." msgstr "URI LDAP invalide." msgid "Migrate users and groups from DS to IPA." -msgstr "Migrer les utilisateurs et groupes de DS à IPA." +msgstr "Migrer les utilisateurs et groupes de DS vers IPA." msgid "LDAP URI" msgstr "URI LDAP" msgid "LDAP URI of DS server to migrate from" -msgstr "URI LDAP du serveur d'annuaire depuis lequel migrer" +msgstr "URI LDAP du serveur DS depuis lequel effectuer la migration" msgid "bind password" msgstr "mot de passe de connexion" @@ -7052,69 +8655,63 @@ msgid "Bind DN" msgstr "DN de connexion" msgid "User container" -msgstr "Conteneur d'utilisateurs" +msgstr "Conteneur d'utilisateur" msgid "DN of container for users in DS relative to base DN" -msgstr "" -"DN du conteneur pour les utilisateurs dans l'annuaire, relatif par rapport " -"au DN de base" +msgstr "DN du conteneur pour les utilisateurs dans le DS relatif au DN de base" msgid "Group container" msgstr "Conteneur de groupes" msgid "DN of container for groups in DS relative to base DN" -msgstr "DN du conteneur pour les groupes relatif par rapport au DN de base" +msgstr "DN du conteneur pour des groupes dans le DS relatif au DN de base" msgid "User object class" -msgstr "Classes d'objet utilisateur" +msgstr "Classe d'objets utilisateur" msgid "Objectclasses used to search for user entries in DS" msgstr "" -"Classes d'objet à utiliser pour la recherche d'entrées utilisateurs dans " -"l'annuaire" +"Classes d'objets à utiliser pour la recherche d'entrées utilisateurs dans DS" msgid "Group object class" -msgstr "Classes d'objets groupes" +msgstr "Classe d'objets groupe" msgid "Objectclasses used to search for group entries in DS" -msgstr "" -"Classes d'objet à utiliser pour la recherche d'entrées de groupes dans " -"l'annuaire" +msgstr "Classes d'objets à utiliser pour la recherche d'entrées groupe dans DS" msgid "Ignore user object class" -msgstr "Ignorer une classe d'objet de l'utilisateur" +msgstr "Classe d'objets utilisateur à ignorer" msgid "Objectclasses to be ignored for user entries in DS" -msgstr "" -"Classes d'objets à ignorer pour les entrées utilisateurs dans l'annuaire" +msgstr "Classes d'objets à ignorer pour des entrées utilisateur dans DS" msgid "Ignore user attribute" -msgstr "Ignorer des attributs d'un utilisateur" +msgstr "Attribut utilisateur à ignorer" msgid "Attributes to be ignored for user entries in DS" -msgstr "Attributs à ignorer dans les entrées utilisateurs dans l'annuaire" +msgstr "Attributs à ignorer dans des entrées utilisateur dans DS" msgid "Ignore group object class" -msgstr "Ignorer les classes d'objet des groupes" +msgstr "Classe d'objets groupe à ignorer" msgid "Objectclasses to be ignored for group entries in DS" -msgstr "Classes d'objets à ignorer pour les entrées de groupes dans l'annuaire" +msgstr "Classes d'objets à ignorer pour les entrées groupe dans DS" msgid "Ignore group attribute" -msgstr "Ignorer l'attribut groupe" +msgstr "Attribut groupe à ignorer" msgid "Attributes to be ignored for group entries in DS" -msgstr "Attributs à ignorer dans les entrées de groupes dans l'annuaire" +msgstr "Attributs à ignorer dans les entrées groupe dans DS" msgid "Overwrite GID" -msgstr "Réécrire le GID" +msgstr "Surcharger le GID" msgid "" "When migrating a group already existing in IPA domain overwrite the group " "GID and report as success" msgstr "" -"Lors de la migration d'un groupe existant déjà dans le domaine IPA, réécrire " -"le GID du groupe et renvoyer un succès" +"Lors de la migration d'un groupe existant déjà dans le domaine IPA, " +"surcharger le GID du groupe et renvoyer un succès" msgid "LDAP schema" msgstr "Schéma LDAP" @@ -7123,33 +8720,34 @@ msgid "" "The schema used on the LDAP server. Supported values are RFC2307 and " "RFC2307bis. The default is RFC2307bis" msgstr "" -"Le schéma utilisé sur le serveur LDAP. Les valeurs supportées sont RFC2307 " -"et RFC2307bis. La valeur par défaut est RFC2307bis" +"Le schéma utilisé sur le serveur LDAP. Les valeurs prises en charge sont " +"RFC2307 et RFC2307bis. La valeur par défaut est RFC2307bis" msgid "Continue" msgstr "Continuer" msgid "" "Continuous operation mode. Errors are reported but the process continues" -msgstr "Mode continu. Les erreurs sont rapportées mais le processus continue" +msgstr "" +"Mode continu. Les erreurs sont rapportées mais le processus se poursuit" msgid "Base DN" msgstr "DN de base" msgid "Base DN on remote LDAP server" -msgstr "DN de base sur l'annuaire distant" +msgstr "DN de base sur le serveur LDAP distant" msgid "Ignore compat plugin" -msgstr "Ignorer le greffon de compatibilité" +msgstr "Ignorer le greffon « compat »" msgid "Allows migration despite the usage of compat plugin" -msgstr "Autoriser les migrations malgré l'utilisation du greffon compat" +msgstr "Autoriser la migration malgré l'utilisation du greffon « compat »" msgid "CA certificate" -msgstr "Certificat de l'AC" +msgstr "Certificat d'AC" msgid "Load CA certificate of LDAP server from FILE" -msgstr "Charger le certification de l'AC du serveur LDAP depuis FILE" +msgstr "Charger le certificat de l'AC du serveur LDAP depuis FILE" msgid "Lists of objects migrated; categorized by type." msgstr "Liste des objets migrés, catégorisés par type." @@ -7158,12 +8756,11 @@ msgid "Lists of objects that could not be migrated; categorized by type." msgstr "Liste des objets n'ayant pu être migrés, catégorisés par type." msgid "False if migration mode was disabled." -msgstr "Faux si le mode de migration est désactivé." +msgstr "Faux si le mode de migration a été désactivé." msgid "False if migration fails because the compatibility plug-in is enabled." msgstr "" -"False si la migration échoue parce que le greffon de compatibilité est " -"activé." +"False si la migration échoue parce que le greffon « compat » est activé." #, python-format msgid "%s to exclude from migration" @@ -7174,13 +8771,13 @@ msgid "" "have been truncated by the server;\n" "migration process might be incomplete\n" msgstr "" -"les résultats de la recherche sur les objets\n" -"à migrer a été tronquée par le server ; le\n" -"processus peut donc être incomplet\n" +"les résultats des recherches sur les objets\n" +"à migrer ont été tronquées par le serveur ;\n" +"le processus de migration peut être incomplet\n" msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -"Mode migration désactivé. Utiliser la commande 'ipa config-mod' pour " +"Mode migration désactivé. Utiliser la commande « ipa config-mod » pour " "l'activer." msgid "" @@ -7190,7 +8787,7 @@ msgid "" "login at https://your.domain/ipa/migration/ before they\n" "can use their Kerberos accounts." msgstr "" -"Les mots de passe ont été migré dans leur format chiffré.\n" +"Les mots de passe ont été migrés dans un format chiffré.\n" "IPA est incapable de créer des clés Kerberos sauf à\n" "utiliser les mots de passe en clair. Tous les utilisateurs\n" "migrés devront se connecter à https://your.domain/ipa/migration/\n" @@ -7201,7 +8798,7 @@ msgid "" "%(container)s LDAP search did not return any result (search base: " "%(search_base)s, objectclass: %(objectclass)s)" msgstr "" -"La recherche LDAP %(container)s ne retourne aucun résultat (base de " +"La recherche LDAP %(container)s ne renvoie aucun résultat (base de " "recherche : %(search_base)s, classe d'objet : %(objectclass)s)" msgid "Default group for new users not found" @@ -7234,7 +8831,7 @@ msgid "Number of variables returned (<= total)" msgstr "Nombre de variables renvoyées (<= total)" msgid "Show all loaded plugins." -msgstr "Afficher les greffons chargés." +msgstr "Afficher tous les greffons chargés." #, python-format msgid "%(count)d plugin loaded" @@ -7270,48 +8867,48 @@ msgid "" " ipa netgroup-del admins\n" msgstr "" "\n" -"Netgroups\n" +"Groupements réseau\n" "\n" -"Un netgroup est un groupe utilisé pour la vérification de permissions. Il\n" -"peut contenir à la fois des utilisateurs et des noms d'hôtes.\n" +"Un groupement réseau est un groupe utilisé pour la vérification des droits.\n" +"Il peut contenir à la fois des valeurs utilisateur et hôte.\n" "\n" "EXEMPLES :\n" "\n" -" Ajouter un nouveau netgroup :\n" +" Ajouter un nouveau groupement réseau :\n" " ipa netgroup-add --desc=\"NFS admins\" admins\n" "\n" -" Ajouter des membres au netgroup :\n" +" Ajouter des membres au groupement réseau :\n" " ipa netgroup-add-member --users=tuser1 --users=tuser2 admins\n" "\n" -" Retirer un membre du netgroup :\n" +" Retirer un membre du groupement réseau :\n" " ipa netgroup-remove-member --users=tuser2 admins\n" "\n" -" Afficher les informations sur un netgroup :\n" +" Afficher les informations sur un groupement réseau :\n" " ipa netgroup-show admins\n" "\n" -" Supprimer un netgroup :\n" +" Supprimer un groupement réseau :\n" " ipa netgroup-del admins\n" msgid "Member Host" msgstr "Hôte membre" msgid "netgroup" -msgstr "netgroup" +msgstr "groupement réseau" msgid "netgroups" -msgstr "netgroups" +msgstr "groupements réseau" msgid "Netgroups" -msgstr "Netgroups" +msgstr "Groupements réseau" msgid "Netgroup" -msgstr "Netgroup" +msgstr "Groupement réseau" msgid "Netgroup name" -msgstr "Nom de netgroup" +msgstr "Nom de groupement réseau" msgid "Netgroup description" -msgstr "Description de netgroup" +msgstr "Description de groupement réseau" msgid "NIS domain name" msgstr "Nom de domaine NIS" @@ -7320,11 +8917,11 @@ msgid "IPA unique ID" msgstr "ID unique IPA" msgid "Add a new netgroup." -msgstr "Ajouter un nouveau netgroup." +msgstr "Ajouter un nouveau groupement réseau." #, python-format msgid "Added netgroup \"%(value)s\"" -msgstr "Netgroup « %(value)s » ajouté" +msgstr "Groupement réseau « %(value)s » ajouté" #, python-format msgid "" @@ -7332,66 +8929,240 @@ msgid "" "common namespace" msgstr "" "Un groupe d'hôtes nommé « %s » existe déjà. Les groupes d'hôtes et les " -"netgroups partagent le même espace de nommage" +"groupements réseau partagent le même espace de nommage" msgid "Delete a netgroup." -msgstr "Supprimer un netgroup." +msgstr "Supprimer un groupement réseau." #, python-format msgid "Deleted netgroup \"%(value)s\"" -msgstr "Netgroup « %(value)s » supprimé" +msgstr "Groupement réseau « %(value)s » supprimé" msgid "Modify a netgroup." -msgstr "Modifier un netgroup." +msgstr "Modifier un groupement réseau." #, python-format msgid "Modified netgroup \"%(value)s\"" -msgstr "Netgroup « %(value)s » supprimé" +msgstr "Groupement réseau « %(value)s » supprimé" msgid "Search for a netgroup." -msgstr "Rechercher un netgroup." +msgstr "Rechercher un groupement réseau." #, python-format msgid "%(count)d netgroup matched" msgid_plural "%(count)d netgroups matched" -msgstr[0] "%(count)d netgroup correspondant" -msgstr[1] "%(count)d netgroups correspondants" +msgstr[0] "%(count)d groupement réseau correspondant" +msgstr[1] "%(count)d groupements réseau correspondant" msgid "search for managed groups" msgstr "rechercher les groupes administrés" msgid "Display information about a netgroup." -msgstr "Afficher l'information sur un netgroup." +msgstr "Afficher l'information sur un groupement réseau." msgid "Add members to a netgroup." -msgstr "Ajouter des membres à un netgroup." +msgstr "Ajouter des membres à un groupement réseau." msgid "Remove members from a netgroup." -msgstr "Supprimer des membres d'un netgroup." +msgstr "Supprimer des membres d'un groupement réseau." -msgid "Manager" -msgstr "Responsable" +msgid "" +"\n" +"OTP Tokens\n" +msgstr "" +"\n" +"Jetons OTP\n" + +msgid "" +"\n" +"Manage OTP tokens.\n" +msgstr "" +"\n" +"Gérer les jetons OTP.\n" + +msgid "" +"\n" +"IPA supports the use of OTP tokens for multi-factor authentication. This\n" +"code enables the management of OTP tokens.\n" +msgstr "" +"\n" +"IPA prend en charge l'utilisation de jetons OTP pour une authentification\n" +"à facteurs multiples. Ce code active la gestion des jetons OTP.\n" + +msgid "" +"\n" +" Add a new token:\n" +" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" +msgstr "" +"\n" +" Ajouter un nouveau jeton :\n" +" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" + +msgid "" +"\n" +" Examine the token:\n" +" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" +msgstr "" +"\n" +" Examiner un jeton :\n" +" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" + +msgid "" +"\n" +" Change the vendor:\n" +" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red Hat" +"\"\n" +msgstr "" +"\n" +" Modifier le fournisseur :\n" +" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red Hat" +"\"\n" + +msgid "" +"\n" +" Delete a token:\n" +" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" +msgstr "" +"\n" +" Supprimer un jeton :\n" +" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" + +msgid "OTP token" +msgstr "jeton OTP" + +msgid "OTP tokens" +msgstr "jetons OTP" + +msgid "OTP Tokens" +msgstr "Jetons OTP" + +msgid "OTP Token" +msgstr "Jeton OTP" + +msgid "Unique ID" +msgstr "ID unique" + +msgid "Owner" +msgstr "Propriétaire" + +msgid "Validity start" +msgstr "Départ de validation" + +msgid "Validity end" +msgstr "Fin de validation" msgid "Vendor" msgstr "Fournisseur" -msgid "Model" -msgstr "Modèle" +msgid "Model" +msgstr "Modèle" + +msgid "Serial" +msgstr "Numéro de série" + +msgid "Digits" +msgstr "Chiffres" + +msgid "Clock offset" +msgstr "Décalage d'horloge" + +msgid "Clock interval" +msgstr "Intervalle d'horloge" + +msgid "Counter" +msgstr "Compteur" + +msgid "Add a new OTP token." +msgstr "Ajouter un nouveau jeton OTP" + +#, python-format +msgid "Added OTP token \"%(value)s\"" +msgstr "Jeton OTP « %(value)s » ajouté" + +msgid "URI" +msgstr "URI" + +msgid "Delete an OTP token." +msgstr "Supprimer un jeton OTP" + +#, python-format +msgid "Deleted OTP token \"%(value)s\"" +msgstr "Jeton OTP « %(value)s » supprimé" + +msgid "Modify a OTP token." +msgstr "Modifier un jeton OTP" + +#, python-format +msgid "Modified OTP token \"%(value)s\"" +msgstr "Jeton OTP « %(value)s » modifié" + +msgid "Search for OTP token." +msgstr "Rechercher un jeton OTP" + +#, python-format +msgid "%(count)d OTP token matched" +msgid_plural "%(count)d OTP tokens matched" +msgstr[0] "%(count)d jeton OTP correspond" +msgstr[1] "%(count)d jetons OTP correspondant" + +msgid "Display information about an OTP token." +msgstr "Afficher des informations au sujet du jeton OTP" + +msgid "Add users that can manage this token." +msgstr "Ajouter des utilisateurs pouvant gérer ce jeton." + +msgid "Synchronize an OTP token." +msgstr "Synchroniser un jeton OTP." + +msgid "User ID" +msgstr "Identifiant utilisateur" + +msgid "First Code" +msgstr "Premier code" + +msgid "Second Code" +msgstr "Second code" + +msgid "" +"\n" +"YubiKey Tokens\n" +msgstr "" +"\n" +"Jetons YubiKey\n" + +msgid "" +"\n" +"Manage YubiKey tokens.\n" +msgstr "" +"\n" +"Gestion de jetons YubiKey.\n" -msgid "Serial" -msgstr "Numéro de série" +msgid "" +"\n" +"This code is an extension to the otptoken plugin and provides support for\n" +"reading/writing YubiKey tokens directly.\n" +msgstr "" +"\n" +"Ce code est une extension du greffon « otptoken » ; il fournit la prise en\n" +"charge pour lire/écrire des jetons YubiKey directement.\n" -msgid "Clock offset" -msgstr "Décalage de l'horloge" +msgid "" +"\n" +" Add a new token:\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" +msgstr "" +"\n" +" Ajouter un nouveau jeton :\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" -msgid "Clock interval" -msgstr "Intervalle de l'horloge" +msgid "Add a new YubiKey OTP token." +msgstr "Ajouter un nouveau jeton OTP YubiKey." -msgid "Counter" -msgstr "Compteur" +msgid "YubiKey slot" +msgstr "Connecteur YubiKey" -msgid "URI" -msgstr "URI" +msgid "No free YubiKey slot!" +msgstr "Aucun connecteur YubiKey libre !" msgid "" "\n" @@ -7422,12 +9193,12 @@ msgstr "" "son mot de passe.\n" "\n" "La politique de mot de passe de IPA contrôle la fréquence de changement\n" -"des mots de passe, les prérequis quant à leur résistance, et la taille\n" +"des mots de passe, les prérequis de leur résistance, et la taille\n" "de l'historique des mots de passe.\n" "\n" "EXEMPLES :\n" "\n" -" Modifier son mot de passe :\n" +" Réinitialiser son propre mot de passe :\n" " ipa passwd\n" "\n" " Modifier le mot de passe d'un utilisateur :\n" @@ -7436,9 +9207,12 @@ msgstr "" msgid "Set a user's password." msgstr "Définir le mot de passe d'un utilisateur." +msgid "One Time Password" +msgstr "Mot de passe valable une fois" + #, python-format msgid "Changed password for \"%(value)s\"" -msgstr "Mot de passe modifié for « %(value)s »" +msgstr "Mot de passe modifié pour « %(value)s »" msgid "Invalid credentials" msgstr "Données d'authentification invalides" @@ -7450,6 +9224,186 @@ msgstr "" "\n" "Permissions\n" +msgid "" +"\n" +"A permission enables fine-grained delegation of rights. A permission is\n" +"a human-readable wrapper around a 389-ds Access Control Rule,\n" +"or instruction (ACI).\n" +"A permission grants the right to perform a specific task such as adding a\n" +"user, modifying a group, etc.\n" +msgstr "" +"\n" +"Une permission permet une délégation de droits finement nuancée. Elle est\n" +"une enveloppe lisible par le commun de Règles de contrôle d'accès 389-ds,\n" +"ou d'instruction (ACI).\n" +"Une permission donne le droit d'effectuer des tâches données comme ajouter\n" +"un utilisateur, modifier un groupe, etc.\n" + +msgid "" +"\n" +"A permission may not contain other permissions.\n" +msgstr "" +"\n" +"Une permission ne peut pas contenir d'autres permissions.\n" + +msgid "" +"\n" +"* A permission grants access to read, write, add, delete, read, search,\n" +" or compare.\n" +"* A privilege combines similar permissions (for example all the permissions\n" +" needed to add a user).\n" +"* A role grants a set of privileges to users, groups, hosts or hostgroups.\n" +msgstr "" +"\n" +"* Une permission donne le droit de lire, écrire, ajouter, supprimer,\n" +" rechercher, ou comparer.\n" +"* Un privilège combine des permissions semblables (par exemple\n" +" toutes les permissions nécessaires pour ajouter un utilisateur).\n" +"* Un rôle garantit un ensemble de privilèges pour des utilisateurs, des " +"groupes, des hôtes ou des groupes d'hôtes.\n" + +msgid "" +"\n" +"A permission is made up of a number of different parts:\n" +"\n" +"1. The name of the permission.\n" +"2. The target of the permission.\n" +"3. The rights granted by the permission.\n" +msgstr "" +"\n" +"Une permission se compose de plusieurs parties :\n" +"\n" +"1. le nom de la permission.\n" +"2. la cible de la permission.\n" +"3. les droits garantis par la permission.\n" + +msgid "" +"\n" +"Rights define what operations are allowed, and may be one or more\n" +"of the following:\n" +"1. write - write one or more attributes\n" +"2. read - read one or more attributes\n" +"3. search - search on one or more attributes\n" +"4. compare - compare one or more attributes\n" +"5. add - add a new entry to the tree\n" +"6. delete - delete an existing entry\n" +"7. all - all permissions are granted\n" +msgstr "" +"\n" +"Les droits définissent les opérations permises ; ce sont un ou plusieurs\n" +"des éléments suivants :\n" +"1. write - écrire un ou plusieurs attributs\n" +"2. read - lire un ou plusieurs attributs\n" +"3. search - rechercher un ou plusieurs attributs\n" +"4. compare - comparer un ou plusieurs attributs\n" +"5. add - ajouter une nouvelle entrée dans l'arbre\n" +"6. delete - supprimer une entrée existante\n" +"7. all - toutes les permissions sont garanties\n" + +msgid "" +"\n" +"Note the distinction between attributes and entries. The permissions are\n" +"independent, so being able to add a user does not mean that the user will\n" +"be editable.\n" +msgstr "" +"\n" +"Notez la distinction entre attributs et entrées. Les permissions sont\n" +"indépendantes, donc la possibilité d'ajouter un utilisateur ne signifie\n" +"pas qu'il est possible de les modifier.\n" + +msgid "" +"\n" +"There are a number of allowed targets:\n" +"1. subtree: a DN; the permission applies to the subtree under this DN\n" +"2. target filter: an LDAP filter\n" +"3. target: DN with possible wildcards, specifies entries permission applies " +"to\n" +msgstr "" +"\n" +"Il y a un certain nombre de cibles autorisées :\n" +"1. sous-arbre : un DN ; la permission s'applique au sous-arbre sous ce DN\n" +"2. filtre de cibles : un filtre LDAP\n" +"3. cible : un DN avec possiblement des jokers, indique les entrées\n" +"auxquelles la permission s'applique\n" + +msgid "" +"\n" +"Additionally, there are the following convenience options.\n" +"Setting one of these options will set the corresponding attribute(s).\n" +"1. type: a type of object (user, group, etc); sets subtree and target " +"filter.\n" +"2. memberof: apply to members of a group; sets target filter\n" +"3. targetgroup: grant access to modify a specific group (such as granting\n" +" the rights to manage group membership); sets target.\n" +msgstr "" +"\n" +"En plus, il y a les options de commodité suivantes.\n" +"Activer une de ces options définit l'attribut correspondant.\n" +"1. type: un type d'objet (utilisateur, groupe, etc) ; définit le filtre du\n" +"sous-arbre et de la cible.\n" +"2. memberof : s'applique aux membres d'un groupe ; définit le filtre de la\n" +"cible.\n" +"3. targetgroup : permet la modification d'un groupe donné (comme ceux\n" +" de gestion de l'appartenance à un groupe); définit la cible.\n" + +msgid "" +"\n" +"Managed permissions\n" +msgstr "" +"\n" +"Permissions administrées\n" + +msgid "" +"\n" +"Permissions that come with IPA by default can be so-called \"managed\"\n" +"permissions. These have a default set of attributes they apply to,\n" +"but the administrator can add/remove individual attributes to/from the set.\n" +msgstr "" +"\n" +"Les permissions venant par défaut avec IPA sont dites « administrées ».\n" +"Un jeu d'attributs par défaut leur a été appliqué, mais l'administrateur\n" +"peut ajouter/supprimer des attributs individualisés à cet ensemble.\n" + +msgid "" +"\n" +"Deleting or renaming a managed permission, as well as changing its target,\n" +"is not allowed.\n" +msgstr "" +"\n" +"Supprimer ou renommer une permission administrée, ou changer sa cible,\n" +"n'est pas autorisé.\n" + +msgid "" +"\n" +" Add a permission that grants the creation of users:\n" +" ipa permission-add --type=user --permissions=add \"Add Users\"\n" +msgstr "" +"\n" +" Ajouter une permission autorisant la création d'utilisateurs :\n" +" ipa permission-add --type=user --permissions=add \"Add Users\"\n" + +msgid "" +"\n" +" Add a permission that grants the ability to manage group membership:\n" +" ipa permission-add --attrs=member --permissions=write --type=group " +"\"Manage Group Members\"\n" +msgstr "" +"\n" +" Ajouter une permission autorisant de gérer l'appartenance à un groupe :\n" +" ipa permission-add --attrs=member --permissions=write --type=group " +"\"Manage Group Members\"\n" + +msgid "must be enclosed in parentheses" +msgstr "doit être mis entre parenthèses" + +#, python-format +msgid "\"%s\" is not an object type" +msgstr "« %s » n'est pas un type d'objet" + +#, python-format +msgid "\"%s\" is not a valid permission type" +msgstr "« %s » n'est pas un type de permission autorisé" + msgid "permission" msgstr "permission" @@ -7459,19 +9413,145 @@ msgstr "permissions" msgid "Permission name" msgstr "Nom de permission" +msgid "Granted rights" +msgstr "Droits accordés" + +msgid "Rights to grant (read, search, compare, write, add, delete, all)" +msgstr "Droits à accorder (read, search, compare, write, add, delete, all)" + +msgid "Effective attributes" +msgstr "Attributs impactés" + +msgid "All attributes to which the permission applies" +msgstr "Tous les attributs auxquels la permission s'applique" + +msgid "Included attributes" +msgstr "Attributs inclus" + +msgid "User-specified attributes to which the permission applies" +msgstr "Attributs propres à un utilisateur auxquels la permission s'applique" + +msgid "Excluded attributes" +msgstr "Attributs exclus" + +msgid "" +"User-specified attributes to which the permission explicitly does not apply" +msgstr "" +"Attributs propres à un utilisateur auxquels la permission ne s'applique " +"explicitement pas" + +msgid "Default attributes" +msgstr "Attributs par défaut" + +msgid "Attributes to which the permission applies by default" +msgstr "Attributs auxquels la permission s'applique par défaut" + +msgid "Bind rule type" +msgstr "Type de règle liée" + msgid "Subtree to apply permissions to" msgstr "Branche sur laquelle appliquer les permissions" +msgid "Extra target filter" +msgstr "Filtre cible supplémentaire" + +msgid "Raw target filter" +msgstr "Filtre cible brut" + +msgid "All target filters, including those implied by type and memberof" +msgstr "" +"Tous les filtres cible, y compris ceux définis avec « type » et « memberof »" + msgid "Member of group" msgstr "Membre du groupe" +msgid "Target members of a group (sets memberOf targetfilter)" +msgstr "Membres cibles d'un groupe (définit « memberof » du filtre cible)" + +msgid "User group to apply permissions to (sets target)" +msgstr "" +"Groupe d'utilisateurs auquel appliquer les permissions (définit « target »)" + +msgid "Type of IPA object (sets subtree and objectClass targetfilter)" +msgstr "" +"Type d'objets IPA (définit le sous-arbre et le filtre cible de la classe " +"d'objets)" + +#, python-format +msgid "Deprecated; use %s" +msgstr "Abandonné ; utiliser %s" + +#, python-format +msgid "Permission with unknown flag %s may not be modified or removed" +msgstr "" +"Une permission avec un marqueur inconnu %s ne peut pas être modifiée ou " +"supprimée" + +msgid "A SYSTEM permission may not be modified or removed" +msgstr "Une permission SYSTEM ne peut ni être modifiée, ni supprimée" + +#, python-format +msgid "Entry %s not found" +msgstr "Entrée %s introuvable" + +#, python-format +msgid "The ACI for permission %(name)s was not found in %(dn)s " +msgstr "L'ACI de la permission %(name)s n'a pas été trouvée dans %(dn)s " + +msgid "" +"cannot specify full target filter and extra target filter simultaneously" +msgstr "" +"impossible de définir simultanément un filtre de cible totale et un filtre " +"de cible complémentaire" + +#, python-format +msgid "option was renamed; use %s" +msgstr "option renommée ; utiliser %s" + +#, python-format +msgid "Cannot use %(old_name)s with %(new_name)s" +msgstr "Impossible d'utiliser %(old_name)s avec %(new_name)s" + +#, python-format +msgid "%s: group not found" +msgstr "%s : groupe introuvable" + +msgid "target and targetgroup are mutually exclusive" +msgstr "« target » et « targetgroup » s'excluent mutuellement" + +msgid "subtree and type are mutually exclusive" +msgstr "« subtree » et « type » s'excluent mutuellement" + +msgid "Bad search filter" +msgstr "Mauvais filtre de recherche" + +#, python-format +msgid "Entry %s does not exist" +msgstr "L'entrée %s n'existe pas" + +msgid "" +"there must be at least one target entry specifier (e.g. target, " +"targetfilter, attrs)" +msgstr "" +"il doit y avoir au moins une définition d'entrée cible (ex. « target », " +"« targetfilter », « attrs »)" + +msgid "Add a system permission without an ACI (internal command)" +msgstr "Ajout d'une permission système sans ACI (commande interne)" + #, python-format msgid "Added permission \"%(value)s\"" msgstr "Permission « %(value)s » ajoutée" +msgid "Permission flags" +msgstr "Marqueurs de permission" + msgid "Add a new permission." msgstr "Ajouter une nouvelle permission." +msgid "attrs and included attributes are mutually exclusive" +msgstr "« attrs » et attributs inclus s'excluent mutuellement" + msgid "Delete a permission." msgstr "Supprimer une permission." @@ -7482,6 +9562,13 @@ msgstr "Permission « %(value)s » supprimée" msgid "force delete of SYSTEM permissions" msgstr "forcer la suppression des permissions SYSTEM" +msgid "cannot delete managed permissions" +msgstr "impossible de supprimer des permissions administrées" + +#, python-format +msgid "ACI of permission %s was not found" +msgstr "ACI de la permission %s introuvable" + msgid "Modify a permission." msgstr "Modifier une permission." @@ -7489,14 +9576,31 @@ msgstr "Modifier une permission." msgid "Modified permission \"%(value)s\"" msgstr "Permission « %(value)s » modifiée" +msgid "cannot rename managed permissions" +msgstr "impossible de renommer les permissions administrées" + +msgid "not modifiable on managed permissions" +msgstr "non modifiable sur les permissions administrées" + +msgid "only available on managed permissions" +msgstr "uniquement disponible sur les permissions administrées" + +msgid "attrs and included/excluded attributes are mutually exclusive" +msgstr "« attrs » et attributs inclus/exclus s'excluent mutuellement" + +msgid "cannot set bindtype for a permission that is assigned to a privilege" +msgstr "" +"impossible de définir le type de liaison d'une permission assignée à un " +"privilège" + msgid "Search for permissions." msgstr "Recherche des permissions." #, python-format msgid "%(count)d permission matched" msgid_plural "%(count)d permissions matched" -msgstr[0] "%(count)d permission correspondante" -msgstr[1] "%(count)d permissions correspondantes" +msgstr[0] "%(count)d permission correspondant" +msgstr[1] "%(count)d permissions correspondant" msgid "Display information about a permission." msgstr "Afficher les informations sur une permission." @@ -7530,30 +9634,28 @@ msgid "" " -----------------------------------------------------\n" msgstr "" "\n" -"Ping sur le serveur distant IPA afin de s'assurer qu'il est en état de " -"fonctionner.\n" +"« Ping » sur un serveur IPA distant pour s'assurer de son fonctionnement.\n" "\n" -"La commande ping envoie une requête echo au serveur IPA. Le serveur renvoie " -"ses\n" -"informations de version. Ce mécanisme est utilisé par le client IPA pour \n" -"confirmer que le serveur est disponible et en mesure d'accepter les " -"requêtes.\n" +"La commande « ping » envoie une requête « echo « au serveur IPA. Le serveur\n" +"renvoie ses informations de version. Ce mécanisme est utilisé par le client\n" +"IPA pour confirmer que le serveur est disponible et est en mesure " +"d'accepter\n" +"les requêtes.\n" "\n" -"Le serveur spécifié en xmlrpc_uri dans /etc/ipa/default.conf est contacté " -"en \n" -"premier. S'il ne répond pas alors le client contactera tout autre serveur " -"défini\n" -"dans les enregistrements SRV du DNS.\n" +"Le serveur indiqué par « xmlrpc_uri » dans « /etc/ipa/default.conf » est\n" +"contacté en premier. S'il ne répond pas alors le client contactera " +"n'importe\n" +"quel autre serveur défini dans les enregistrements SRV du DNS.\n" "\n" "EXEMPLES :\n" "\n" -" Ping d'un serveur IPA :\n" +" « Ping » d'un serveur IPA :\n" " ipa ping\n" " ------------------------------------------\n" " IPA server version 2.1.9. API version 2.20\n" " ------------------------------------------\n" "\n" -" Ping verbeux d'un serveur IPA :\n" +" « Ping » verbeux d'un serveur IPA :\n" " ipa -v ping\n" " ipa: INFO: trying https://ipa.example.com/ipa/xml\n" " ipa: INFO: Forwarding 'ping' to server 'https://ipa.example.com/ipa/xml'\n" @@ -7562,7 +9664,7 @@ msgstr "" " -----------------------------------------------------\n" msgid "Ping a remote server." -msgstr "Ping sur un serveur distant." +msgstr "« Ping » sur un serveur distant." msgid "" "\n" @@ -7585,26 +9687,26 @@ msgid "" "http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" msgstr "" "\n" -"Options Kerberos pkinit\n" +"Options de « pkinit » de Kerberos\n" "\n" -"Active ou désactive l'opération pkinit anonyme utilisant\n" -"le principal WELLKNOWN/ANONYMOUS@REALM. Le serveur doit avoir\n" -"été installé avec le support pkinit.\n" +"Activer ou désactiver l'opération « pkinit » anonyme en utilisant le\n" +"principal WELLKNOWN/ANONYMOUS@REALM. Le serveur doit avoir\n" +"été installé avec la prise en charge de « pkinit ».\n" "\n" "EXEMPLES :\n" "\n" -" Active le pkinit anonyme :\n" +" Activer le « pkinit » anonyme :\n" " ipa pkinit-anonymous enable\n" "\n" -" Désactive le pkinit anonyme :\n" +" Désactiver le « pkinit » anonyme :\n" " ipa pkinit-anonymous disable\n" "\n" -"Pour plus d'informations sur l'opération pkinit anonyme, cf. :\n" +"Pour plus d'informations sur « pkinit » anonyme, cf. :\n" "\n" "http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" msgid "pkinit" -msgstr "pkinit" +msgstr "« pkinit »" msgid "PKINIT" msgstr "PKINIT" @@ -7614,7 +9716,7 @@ msgid "Unknown command %s" msgstr "Commande %s inconnue" msgid "Enable or Disable Anonymous PKINIT." -msgstr "Active ou désactive le pkinit anonyme" +msgstr "Active ou désactive un PKINIT anonyme" msgid "" "\n" @@ -7645,14 +9747,14 @@ msgstr "" "requièrent une combinaison de plusieurs permissions. Un privilège est la\n" "combinaison de ces permissions pour réaliser une tâche.\n" "\n" -"Par example, la création d'utilisateur requiert les permissions suivantes :\n" -" * Création d'une nouvelle entrée\n" -" * Réinitialisation du mot de passe\n" -" * Ajout du nouvel utilisateur au groupe d'utilisateurs par défaut de IPA\n" +"Par exemple, la création d'utilisateurs requiert les permissions " +"suivantes :\n" +" * création d'une nouvelle entrée\n" +" * réinitialisation du mot de passe\n" +" * ajout du nouvel utilisateur au groupe d'utilisateurs par défaut de IPA\n" "\n" -"La combinaison de ces trois tâches de bas niveau en privilège nommé \"Add " -"User\"\n" -"facilite la gestion des rôles.\n" +"La combinaison de ces trois tâches de bas niveau en privilège nommé\n" +"« Add User » facilite la gestion des rôles.\n" "\n" "Un privilège ne peut contenir d'autres privilèges.\n" "\n" @@ -7675,7 +9777,7 @@ msgid "Privilege name" msgstr "Nom du privilège" msgid "Privilege description" -msgstr "Description du privilege" +msgstr "Description du privilège" msgid "Add a new privilege." msgstr "Ajouter un nouveau privilège." @@ -7705,7 +9807,7 @@ msgstr "Rechercher des privilèges." msgid "%(count)d privilege matched" msgid_plural "%(count)d privileges matched" msgstr[0] "%(count)d privilège correspondant" -msgstr[1] "%(count)d privilèges correspondants" +msgstr[1] "%(count)d privilèges correspondant" msgid "Display information about a privilege." msgstr "Afficher les informations sur un privilège." @@ -7719,6 +9821,14 @@ msgstr "Ajouter des permissions à un privilège." msgid "Number of permissions added" msgstr "Nombre de permissions ajoutées" +#, python-format +msgid "" +"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " +"privilege" +msgstr "" +"impossible d'ajouter la permission « %(perm)s » avec le type de liaison " +"« %(bindtype)s » à un privilège" + msgid "Remove permissions from a privilege." msgstr "Supprimer des permissions d'un privilège." @@ -7772,10 +9882,10 @@ msgstr "" "\n" "Politique de mots de passe\n" "\n" -"Une politique de mots de passe permet de définir des limites sur les mots\n" -"de passe dans IPA, comme leur durée de vie, minimale ou maximale, la taille\n" -"de l'historique de mots de passe, le nombre de classes de caractères " -"requises\n" +"Une politique de mots de passe permet de définir des limites sur les mots " +"de\n" +"passe dans IPA, comme leur durée de vie, minimale ou maximale, la taille de\n" +"l'historique de mots de passe, le nombre de classes de caractères requises\n" "(pour la résistance à force brute) et la longueur minimale du mot de passe.\n" "\n" "Par défaut, une politique unique et globale est définie pour tous les\n" @@ -7789,12 +9899,11 @@ msgstr "" "Chaque politique de groupe requiert un paramètre de priorité unique. Si un\n" "utilisateur appartient à plusieurs groupes ayant des politiques " "différentes,\n" -"la priorité sera utilisée afin de déterminer quelle politique appliquer. " -"Une\n" -"valeur inférieure indique une priorité supérieure pour la politique de mots\n" -"de passe.\n" -"Les politiques de mots de passe sont automatiquement supprimées lorsque les\n" -"groupes auxquels elles sont associées sont supprimés.\n" +"la priorité sera utilisée afin de déterminer quelle politique appliquer.\n" +"Une petite valeur indique une priorité élevée de politique.\n" +"\n" +"Les politiques de mots de passe sont automatiquement supprimées quand les\n" +"groupes auxquels elles ont été associées sont supprimés.\n" "\n" "EXEMPLES :\n" "\n" @@ -7820,7 +9929,7 @@ msgstr "" #, python-format msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -"la priorité doit être une valeur unique (%(prio)d déjà utilisée par " +"la priorité doit être une valeur unique (%(prio)d est déjà utilisé par " "%(gname)s)" msgid "password policy" @@ -7833,20 +9942,19 @@ msgid "Max failures" msgstr "Nombre maximal d'échecs" msgid "Consecutive failures before lockout" -msgstr "Échec consécutif avant verrouillage" +msgstr "Échecs consécutifs avant verrouillage" msgid "Failure reset interval" -msgstr "Intervalle de réinitialisation sur échec" +msgstr "Délai de réinitialisation après échec" msgid "Period after which failure count will be reset (seconds)" -msgstr "" -"Période après laquelle le compteur d'échec sera réinitialisé (secondes)" +msgstr "Temps après lequel le compteur d'échecs sera réinitialisé (secondes)" msgid "Lockout duration" -msgstr "Durée de verrouillage" +msgstr "Durée du verrouillage" msgid "Period for which lockout is enforced (seconds)" -msgstr "Période pendant laquelle le verrouillage est actif (secondes)" +msgstr "Durée pendant laquelle le verrouillage est actif (secondes)" msgid "Password Policies" msgstr "Politiques de mot de passe" @@ -7888,7 +9996,7 @@ msgid "Minimum length of password" msgstr "Taille minimale d'un mot de passe" msgid "Priority of the policy (higher number means lower priority" -msgstr "Priorité de la polique (une valeur élevé indique une priorité basse)" +msgstr "Priorité de la politique (une valeur élevé indique une priorité basse)" msgid "Maximum password life must be greater than minimum." msgstr "" @@ -7901,7 +10009,7 @@ msgid "Delete a group password policy." msgstr "Supprimer une politique de mot de passe." msgid "cannot delete global password policy" -msgstr "impossible de supporimer une politique de mot de passe globale" +msgstr "impossible de supprimer une politique de mot de passe globale" msgid "Modify a group password policy." msgstr "Modifier une politique de mot de passe de groupe." @@ -7913,11 +10021,82 @@ msgid "Display information about password policy." msgstr "Afficher les informations sur une politique de mot de passe." msgid "Display effective policy for a specific user" -msgstr "Afficher la politique effective sur un utilisateur spécifique" +msgstr "Afficher la politique effective d'un utilisateur donné" msgid "Search for group password policies." msgstr "Rechercher des politiques de mot de passe de groupe." +msgid "" +"\n" +"RADIUS Proxy Servers\n" +msgstr "" +"\n" +"Serveurs mandataires RADIUS\n" + +msgid "" +"\n" +"Manage RADIUS Proxy Servers.\n" +msgstr "" +"\n" +"Gestion des serveurs mandataires RADIUS.\n" + +msgid "" +"\n" +"IPA supports the use of an external RADIUS proxy server for krb5 OTP\n" +"authentications. This permits a great deal of flexibility when\n" +"integrating with third-party authentication services.\n" +msgstr "" +"\n" +"IPA prend en charge l'utilisation d'un serveur mandataire externe RADIUS\n" +"pour des authentifications OTP « krb5 ». Cela procure une grande souplesse\n" +"pour l'intégration des services d'authentification tierce partie.\n" + +msgid "" +"\n" +" Add a new server:\n" +" ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812\n" +msgstr "" +"\n" +" Ajouter un nouveau serveur :\n" +" ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812\n" + +msgid "" +"\n" +" Find all servers whose entries include the string \"example.com\":\n" +" ipa radiusproxy-find example.com\n" +msgstr "" +"\n" +" Trouver tous serveurs dont les entrées incluent la chaîne « example." +"com » :\n" +" ipa radiusproxy-find example.com\n" + +msgid "" +"\n" +" Examine the configuration:\n" +" ipa radiusproxy-show MyRADIUS\n" +msgstr "" +"\n" +" Examiner la configuration :\n" +" ipa radiusproxy-show MyRADIUS\n" + +msgid "" +"\n" +" Change the secret:\n" +" ipa radiusproxy-mod MyRADIUS --secret\n" +msgstr "" +"\n" +" Changer le secret :\n" +" ipa radiusproxy-mod MyRADIUS --secret\n" + +msgid "" +"\n" +" Delete a configuration:\n" +" ipa radiusproxy-del MyRADIUS\n" +msgstr "" +"\n" +" Supprimer une configuration:\n" +" ipa radiusproxy-del MyRADIUS\n" + msgid "invalid attribute name" msgstr "nom d'attribut invalide" @@ -7942,9 +10121,6 @@ msgstr "Nom du serveur mandataire RADIUS" msgid "A description of this RADIUS proxy server" msgstr "Description de ce serveur mandataire RADIUS" -msgid "Server" -msgstr "Serveur" - msgid "The hostname or IP (with or without port)" msgstr "Nom d'hôte ou adresse IP (avec ou sans port)" @@ -7952,7 +10128,7 @@ msgid "Secret" msgstr "Secret" msgid "The secret used to encrypt data" -msgstr "Le secret utilisé pour chiffrer les données" +msgstr "Secret utilisé pour chiffrer les données" msgid "Timeout" msgstr "Délai d'expiration" @@ -7964,7 +10140,7 @@ msgid "Retries" msgstr "Tentatives" msgid "The number of times to retry authentication" -msgstr "Le nombre de tentatives de ré-authentification" +msgstr "Le nombre de fois autorisées pour tenter une authentification" msgid "User attribute" msgstr "Attribut utilisateur" @@ -7996,6 +10172,12 @@ msgstr "Serveur mandataire RADIUS « %(value)s » modifié" msgid "Search for RADIUS proxy servers." msgstr "Rechercher des serveurs mandataires RADIUS." +#, python-format +msgid "%(count)d RADIUS proxy server matched" +msgid_plural "%(count)d RADIUS proxy servers matched" +msgstr[0] "%(count)d serveur mandataire RADIUS correspondant" +msgstr[1] "%(count)d serveurs mandataires RADIUS correspondant" + msgid "Display information about a RADIUS proxy server." msgstr "Afficher les informations sur un serveur mandataire RADIUS." @@ -8041,7 +10223,7 @@ msgstr "" " ipa realmdomains-mod --del-domain=olddomain.com\n" msgid "Realm domains" -msgstr "Domaines pour le royaume" +msgstr "Domaines du royaume" msgid "Add domain" msgstr "Ajouter un domaine" @@ -8116,15 +10298,15 @@ msgstr "" "\n" "Rôles\n" "\n" -"Les rôles sont utilisés pour les délégations fines. Une permission accorde\n" +"Les rôles sont utilisés pour affiner les délégations. Une permission " +"accorde\n" "la capacité d'effectuer une tâche de bas niveau (ajouter un utilisateur,\n" "modifier un groupe, etc.). Un privilège combine une ou plusieurs\n" -"permissions\n" -"en une abstraction de plus haut niveau comme useradmin. Un\n" +"permissions en une abstraction de plus haut niveau comme « useradmin ». Un\n" "administrateur d'utilisateur (useradmin) sera capable d'ajouter, modifier\n" "et supprimer des utilisateurs.\n" "\n" -"Les privilèges sont attribués aux Rôles.\n" +"Les privilèges sont assignés aux rôles.\n" "\n" "Peuvent être membres d'un rôle des utilisateurs, des groupes, des systèmes\n" "et des groupes de systèmes.\n" @@ -8149,7 +10331,7 @@ msgstr "" " Afficher les informations sur un rôle :\n" " ipa role-show junioradmin\n" "\n" -" Le résultat des commandes ci-dessus est que le groupe 'junioradmin'\n" +" Le résultat des commandes ci-dessus fait que le groupe « junioradmin »\n" " peut ajouter des utilisateurs, réinitialiser des mots de passe, ou ajouter\n" " un utilisateur au groupe d'utilisateur par défaut de IPA.\n" @@ -8166,7 +10348,7 @@ msgid "Role name" msgstr "Nom du rôle" msgid "A description of this role-group" -msgstr "Description de ce rôle" +msgstr "Description de ce groupe de rôles" msgid "Add a new role." msgstr "Ajouter un nouveau rôle." @@ -8196,7 +10378,7 @@ msgstr "Rechercher des rôles." msgid "%(count)d role matched" msgid_plural "%(count)d roles matched" msgstr[0] "%(count)d rôle correspondant" -msgstr[1] "%(count)d rôles correspondants" +msgstr[1] "%(count)d rôles correspondant" msgid "Display information about a role." msgstr "Afficher les informations sur un rôle." @@ -8251,30 +10433,31 @@ msgid "" " ipa selfservice-del \"Users manage their own address\"\n" msgstr "" "\n" -"Permissions self-service\n" +"Permissions de libre service\n" "\n" -"Une permission permet la délégation fine de permissions. Les règles ou\n" -"instructions de contrôle d'accès (ACI) accorde la permission d'effectuer\n" -"des tâches spécifiques comme ajouter un utilisateur, modifier un groupe, " -"etc.\n" +"Une permission permet d'affiner une délégation de permissions. Les règles " +"ou\n" +"instructions de contrôle d'accès (ACI) accordent la permission de donner " +"les\n" +"permissions d'effectuer des tâches données comme ajouter un utilisateur,\n" +"modifier un groupe, etc.\n" "\n" -"Une permission self-service définit ce qu'un objet peut modifier dans sa\n" +"Une permission de libre service définit ce qu'un objet peut modifier dans " +"sa\n" "propre entrée.\n" "\n" "\n" "EXEMPLES :\n" "\n" -" Ajouter une règle self-service permettant aux utilisateurs de gérer leur " -"adresse\n" -" (en utilisant les capacités d'extension des accolades dans bash) :\n" +" Ajouter une règle de libre service permettant aux utilisateurs de gérer\n" +"leurs adresses (avec les extensions entre accolades de Bash) :\n" " ipa selfservice-add --permissions=write --attrs={street,postalCode,l,c," "st} \"Users manage their own address\"\n" "\n" -" Tous les attributs doivent être mentionnés lors de l'utilisation de listes " -"d'attributs,\n" -" y compris ceux déjà existants. Ajouter telephoneNumber à la liste (en " -"utilisant les capacités\n" -" d'extension des accolades dans bash) :\n" +" En gérant les listes d'attributs, vous devez incorporer tous les attributs\n" +"dans la liste, y compris les existants.\n" +" Ajouter « telephoneNumber » à la liste (avec extension entre accolades " +"Bash) :\n" " ipa selfservice-mod --attrs={street,postalCode,l,c,st,telephoneNumber} " "\"Users manage their own address\"\n" "\n" @@ -8285,55 +10468,55 @@ msgstr "" " ipa selfservice-del \"Users manage their own address\"\n" msgid "self service permission" -msgstr "permission self-service" +msgstr "permission de libre service" msgid "self service permissions" -msgstr "permissions self-service" +msgstr "permissions de libre service" msgid "Self Service Permissions" -msgstr "Permissions Self-Service" +msgstr "Permissions de libre service" msgid "Self Service Permission" -msgstr "Permission Self-Service" +msgstr "Permission de libre service" msgid "Self-service name" -msgstr "Nom de la permission self-service" +msgstr "Nom de la permission de libre service" msgid "Attributes to which the permission applies." msgstr "Attributs auxquels les permissions s'appliquent." msgid "Add a new self-service permission." -msgstr "Ajouter une nouvelle permission self-service." +msgstr "Ajouter une nouvelle permission de libre service." #, python-format msgid "Added selfservice \"%(value)s\"" -msgstr "Permission self-service « %(value)s » ajoutée" +msgstr "Permission de libre service « %(value)s » ajoutée" msgid "Delete a self-service permission." -msgstr "Supprimer une permission self-service." +msgstr "Supprimer une permission de libre service." #, python-format msgid "Deleted selfservice \"%(value)s\"" -msgstr "Permission selfservice « %(value)s » supprimée" +msgstr "Permission de libre service « %(value)s » supprimée" msgid "Modify a self-service permission." -msgstr "Modifier une permission self-service." +msgstr "Modifier une permission de libre service." #, python-format msgid "Modified selfservice \"%(value)s\"" -msgstr "Permission selfservice « %(value)s » modifiée" +msgstr "Permission de libre service « %(value)s » modifiée" msgid "Search for a self-service permission." -msgstr "Rechercher des permissions self-service." +msgstr "Rechercher des permissions de libre service." #, python-format msgid "%(count)d selfservice matched" msgid_plural "%(count)d selfservices matched" -msgstr[0] "%(count)d permission self-service correspondante" -msgstr[1] "%(count)d permissions self-service correspondantes" +msgstr[0] "%(count)d permission de libre service correspondant" +msgstr[1] "%(count)d permissions de libre service correspondant" msgid "Display information about a self-service permission." -msgstr "Afficher les informations sur une permission self-service." +msgstr "Afficher les informations sur une permission de libre service." msgid "" "\n" @@ -8385,65 +10568,62 @@ msgid "" " and the default SELinux user are available in the config-show command.\n" msgstr "" "\n" -"Correspondances d'utilisateurs SELinux\n" +"Mappage d'utilisateur SELinux\n" "\n" -"Correspondance des utilisateurs IPA vers les utilisateurs SELinux par hôte.\n" +"Fait correspondre des utilisateurs IPA aux utilisateurs SELinux par hôte.\n" "\n" -"Systèmes, groupes de systèmes, utilisateurs et groupes peuvent être définis " -"soit\n" -"au sein de la règle ou peuvent pointer vers une règle HBAC existante. Lors " -"de\n" -"l'utilisation de l'option --hbacrule à selinuxusermap-find, une " -"correspondance\n" -"exacte est faite sur le nom de la règle HBAC, de sorte que seule une ou " -"aucune entrée\n" -"soit renvoyée.\n" +"Hôtes, groupes d'hôtes, utilisateurs et groupes peuvent être définis par\n" +"rapport, soit à la règle, soit en pointant vers une règle HBAC existante.\n" +"En utilisant l'option « --hbacrule » de « selinuxusermap-find », une\n" +"recherche de correspondance exacte est faite sur le nom de la règle HBAC,\n" +"de sorte qu'une seule entrée sera renvoyée ou bien aucune.\n" "\n" "EXEMPLES :\n" "\n" -" Créer une règle « test1 » qui attribue tous les utilisateurs à xguest_u:s0 " -"sur\n" -" l'hôte « server » :\n" +" Créer une règle « test1 » qui attribue à tous les utilisateurs le contexte\n" +"« xguest_u:s0 » sur l'hôte « server » :\n" " ipa selinuxusermap-add --usercat=all --selinuxuser=xguest_u:s0 test1\n" " ipa selinuxusermap-add-host --hosts=server.example.com test1\n" "\n" -" Créer une règle « test2 » qui attribue tous les utilisateurs à guest_u:s0 " -"et\n" -" utilise un règle HBAC existante pour les utilisateurs et systèmes :\n" +" Créer une règle « test2 » qui attribue à tous les utilisateurs le contexte\n" +"« guest_u:s0 » et utilise une règle HBAC existante pour utilisateurs et " +"hôtes :\n" " ipa selinuxusermap-add --usercat=all --hbacrule=webserver --" "selinuxuser=guest_u:s0 test1\n" "\n" -" Afficher les informations d'une règle :\n" +" Afficher les propriétés d'une règle :\n" " ipa selinuxusermap-show test2\n" "\n" -" Créer une règle pour un utilisateur spécifique. Ceci définit le contexte\n" -" SELinux d'un utilisateur john à unconfined_u:s0-s0:c0.c1023 sur toute " -"machine :\n" +" Créer une règle pour un utilisateur donné. Elle fixe le contexte\n" +" SELinux de l'utilisateur « john » à « unconfined_u:s0-s0:c0.c1023 »\n" +" sur toute machine :\n" " ipa selinuxusermap-add --hostcat=all --selinuxuser=unconfined_u:s0-s0:c0." "c1023 john_unconfined\n" " ipa selinuxusermap-add-user --users=john john_unconfined\n" "\n" -" Désactiver une règle nommée :\n" +" Désactiver une règle :\n" " ipa selinuxusermap-disable test1\n" "\n" -" Activer une règle nommée :\n" +" Activer une règle :\n" " ipa selinuxusermap-enable test1\n" "\n" -" Trouver une règle référençant une règle HBAC spécifique :\n" +" Trouver une règle référençant une règle HBAC donnée :\n" " ipa selinuxusermap-find --hbacrule=allow_some\n" "\n" -" Supprimer une règle nommée :\n" +" Supprimer une règle :\n" " ipa selinuxusermap-del john_unconfined\n" "\n" "VOIR AUSSI :\n" "\n" -" La liste contrôlant l'ordre dans lequel la carte de correspondance SELinux " -"est appliquée et l'utilisateur SELinux par défaut sont disponibles dans la " -"commande config-show.\n" +" La liste contrôlant l'ordre dans lequel la mappe d'utilisateurs SELinux\n" +" est appliquée, ainsi que l'utilisateur SELinux par défaut, sont " +"disponibles\n" +" avec la commande « config-show ».\n" msgid "HBAC rule and local members cannot both be set" msgstr "" -"Les règles HBAC et les membres locaux ne peuvent être définis simultanément" +"Des membres locaux et des membres d'une règle HBAC ne peuvent pas être " +"définis simultanément" msgid "Invalid SELinux user name, only a-Z and _ are allowed" msgstr "Nom d'utilisateur SELinux invalide, seuls a-Z et _ sont autorisés" @@ -8469,99 +10649,91 @@ msgstr "" "configuration)" msgid "SELinux User Map rule" -msgstr "Règle de correspondance d'utilisateurs SELinux" +msgstr "Règle de mappe utilisateurs SELinux" msgid "SELinux User Map rules" -msgstr "Règles de correspondance d'utilisateurs SELinux" +msgstr "Règles de mappes utilisateurs SELinux" msgid "SELinux User Maps" -msgstr "Correspondance utilisateurs SELinux" +msgstr "Mappes d'utilisateurs SELinux" msgid "SELinux User Map" -msgstr "Liste de correspondance d'utilisateurs SELinux" +msgstr "Mappe d'utilisateurs SELinux" msgid "SELinux User" msgstr "Utilisateur SELinux" msgid "HBAC Rule that defines the users, groups and hostgroups" msgstr "" -"Règle HBAC définissant les utilisateurs, les groupes et les groupes d'hôtes" +"Règle HBAC délimitant les utilisateurs, les groupes et les groupes d'hôtes" #, python-format msgid "HBAC rule %(rule)s not found" msgstr "Règle HBAC %(rule)s introuvable" msgid "Create a new SELinux User Map." -msgstr "Créer une nouvelle liste de correspondance d'utilisateurs SELinux" +msgstr "Créer une nouvelle mappe d'utilisateurs SELinux" #, python-format msgid "Added SELinux User Map \"%(value)s\"" -msgstr "Liste de correspondance d'utilisateurs SELinux « %(value)s » ajoutée" +msgstr "Mappe d'utilisateurs SELinux « %(value)s » ajoutée" msgid "Delete a SELinux User Map." -msgstr "Supprimer une liste de correspondance d'utilisateurs SELinux" +msgstr "Supprimer une mappe d'utilisateurs SELinux" #, python-format msgid "Deleted SELinux User Map \"%(value)s\"" -msgstr "" -"Liste de correspondance d'utilisateurs SELinux « %(value)s » supprimée." +msgstr "Mappe d'utilisateurs SELinux « %(value)s » supprimée." msgid "Modify a SELinux User Map." -msgstr "Modifier une liste de correspondance d'utilisateurs SELinux" +msgstr "Modifier une mappe d'utilisateurs SELinux" #, python-format msgid "Modified SELinux User Map \"%(value)s\"" -msgstr "Liste de correspondance d'utilisateurs SELinux « %(value)s » modifiée" +msgstr "Mappe d'utilisateurs SELinux « %(value)s » modifiée" msgid "Search for SELinux User Maps." -msgstr "Rechercher des listes de correspondance d'utilisateurs SELinux" +msgstr "Rechercher des mappes d'utilisateurs SELinux" #, python-format msgid "%(count)d SELinux User Map matched" msgid_plural "%(count)d SELinux User Maps matched" -msgstr[0] "" -"%(count)d liste de correspondance d'utilisateurs SELinux correspondante" -msgstr[1] "" -"%(count)d listes de correspondance d'utilisateurs SELinux correspondantes" +msgstr[0] "%(count)d mappe d'utilisateurs SELinux correspondant" +msgstr[1] "%(count)d mappe d'utilisateurs SELinux correspondant" msgid "Display the properties of a SELinux User Map rule." -msgstr "" -"Afficher les propriétés d'une règle de correspondance d'utilisateurs SELinux" +msgstr "Afficher les propriétés d'une mappe d'utilisateurs SELinux" msgid "Enable an SELinux User Map rule." -msgstr "Activer une règle de correspondance d'utilisateurs SELinux" +msgstr "Activer une mappe d'utilisateurs SELinux" #, python-format msgid "Enabled SELinux User Map \"%(value)s\"" -msgstr "Règle de correspondance d'utilisateurs SELinux « %(value)s » activée" +msgstr "Mappe d'utilisateurs SELinux « %(value)s » activée" msgid "Disable an SELinux User Map rule." -msgstr "Désactiver une règle de correspondance d'utilisateurs SELinux" +msgstr "Désactiver une mappe d'utilisateurs SELinux" #, python-format msgid "Disabled SELinux User Map \"%(value)s\"" -msgstr "" -"Règle de correspondance d'utilisateurs SELinux « %(value)s » désactivée" +msgstr "Mappe d'utilisateurs SELinux « %(value)s » désactivée" msgid "Add users and groups to an SELinux User Map rule." -msgstr "" -"Ajouter des utilisateurs et groupes à une règle de correspondance " -"d'utilisateurs SELinux" +msgstr "Ajouter des utilisateurs et groupes à une mappe d'utilisateurs SELinux" msgid "Remove users and groups from an SELinux User Map rule." msgstr "" -"Supprimer des utilisateurs et groupes d'une règle de correspondance " -"d'utilisateurs SELinux" +"Supprimer des utilisateurs et groupes d'une mappe d'utilisateurs SELinux" msgid "Add target hosts and hostgroups to an SELinux User Map rule." msgstr "" -"Ajouter des hôtes et groupes d'hôtes cibles à une règle de correspondance " -"d'utilisateurs SELinux" +"Ajouter des hôtes et groupes d'hôtes cibles à une mappe d'utilisateurs " +"SELinux" msgid "Remove target hosts and hostgroups from an SELinux User Map rule." msgstr "" -"Supprimer des hôtes et groupes d'hôtes cibles d'une règle de correspondance " -"d'utilisateurs SELinux" +"Supprimer des hôtes et groupes d'hôtes cibles d'une mappe d'utilisateurs " +"SELinux" msgid "" "\n" @@ -8618,44 +10790,33 @@ msgid "" "\n" " Request a certificate for an IPA service:\n" " ipa cert-request --principal=HTTP/web.example.com example.csr\n" -"\n" -" Generate and retrieve a keytab for an IPA service:\n" -" ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" -"httpd.keytab\n" -"\n" msgstr "" "\n" "Services\n" "\n" -"Un service IPA est un service qui s'exécute sur un hôte. L'enregistrement du " -"service IPA\n" -"peut comporter un principal Kerberos, un certificat SSL ou les deux.\n" -"\n" -"Un service IPA peut être directement géré à partir d'une machine, pour " -"autant que des\n" -"autorisations d'accès correctes aient été fournies à la machine. Ceci est " -"vrai même pour\n" -"les machines autres que celle à laquelle le service est associé. Par " -"exemple,\n" -"demander un certificat SSL en utilisant les justificatifs d'identité du " -"principal du service\n" -"hôte de l'hôte. Pour gérer un service en utilisant les références de l'hôte, " -"vous devrez\n" -"exécuter kinit en tant qu'hôte :\n" +"Un service IPA représente un service qui s'exécute sur un hôte. " +"L'enregistrement du\n" +"service IPA peut contenir un principal Kerberos, un certificat SSL ou les " +"deux.\n" +"\n" +"Un service IPA peut être directement géré à partir d'une machine, pour\n" +"autant que des permissions adéquates aient été données à la machine. Ceci\n" +"est vrai même pour les machines autres que celle à laquelle le service est\n" +"associé. Par exemple, demander un certificat SSL en utilisant les\n" +"justificatifs d'identité du principal du service de l'hôte. Pour gérer un\n" +"service en utilisant les références de l'hôte, vous devrez exécuter\n" +"« kinit » en tant qu'hôte :\n" "\n" " # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n" "\n" -"Ajouter un service IPA permet au service associé de demander un certificat " -"SSL ou\n" -"un tableau de clés, mais cela est réalisé dans une étape distincte ; cela " -"n'est pas\n" -"le résultat de l'ajout du service.\n" +"Ajouter un service IPA permet au service associé de demander un certificat\n" +"SSL ou un tableau de clés, mais cela est réalisé dans une étape distincte ;\n" +"cela n'est pas le résultat de l'ajout du service.\n" "\n" -"Seule la composante publique du certificat est stockée dans un " -"enregistrement de service ;\n" -"la clé privée n'y est pas mise.\n" +"Seule la composante publique du certificat est stockée dans un\n" +"enregistrement de service ; la clé privée n'y est pas enregistrée.\n" "\n" -"EXEMPLES:\n" +"EXEMPLES :\n" "\n" " Ajouter un nouveau service IPA :\n" " ipa service-add HTTP/web.example.com\n" @@ -8664,17 +10825,16 @@ msgstr "" " ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n" " ipa role-add-member --hosts=web.example.com certadmin\n" "\n" -" Écraser la liste par défaut des types PAC pris en charge par le service :\n" +" Écraser la liste par défaut des types PAC pris en charge pour le service :\n" " ipa service-mod HTTP/web.example.com --pac-type=MS-PAC\n" "\n" -" Un cas classique de l'utilisation de l'écrasement du type PAC est " -"nécessaire avec NFS.\n" -" Actuellement le code relatif à cette fonction dans le noyau Linux ne gère " -"les tickets\n" -" Kerberos que jusqu'à une taille maximale donnée. Comme les données PAC " -"peuvent devenir\n" -" bien plus grandes, il est recommandé de fixer --pac-type=NONE pour les " -"services NFS.\n" +" NFS est un cas classique où la surcharge du type PAC est nécessaire.\n" +" Actuellement, le code relatif à cette fonction dans le noyau Linux ne " +"gère\n" +" les tickets Kerberos que jusqu'à une taille maximale donnée. Comme les\n" +" données PAC peuvent devenir bien plus grandes, il est recommandé de " +"fixer\n" +" « --pac-type=NONE » pour les services NFS.\n" "\n" " Supprimer un service IPA :\n" " ipa service-del HTTP/web.example.com\n" @@ -8685,22 +10845,39 @@ msgstr "" " Trouver tous les service HTTP :\n" " ipa service-find HTTP\n" "\n" -" Désactiver la clé du service Kerberos key et le certificat SSL :\n" +" Désactiver la clé Kerberos et le certificat SSL d'un service :\n" " ipa service-disable HTTP/web.example.com\n" "\n" -" Réclamer un certificat pour un service IPA :\n" +" Demander un certificat pour un service IPA :\n" " ipa cert-request --principal=HTTP/web.example.com example.csr\n" + +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" +msgstr "" +"\n" +" Autoriser un utilisateur à créer un tableau de clé :\n" +" ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" + +msgid "" +"\n" +" Generate and retrieve a keytab for an IPA service:\n" +" ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" +"httpd.keytab\n" +"\n" +msgstr "" "\n" -" Générer et retrouver un tableau de clés pour un service IPA :\n" +" Générer et récupérer un tableau de clés d'un service IPA :\n" " ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" "httpd.keytab\n" "\n" msgid "Requires pre-authentication" -msgstr "Nécessite une pré-authentification" +msgstr "Nécessite une authentification préalable" msgid "Pre-authentication is required for the service" -msgstr "Une pré-authentification est requise pour le service" +msgstr "Une authentification préalable est requise pour le service" msgid "Trusted for delegation" msgstr "Approuvé pour délégation." @@ -8709,15 +10886,15 @@ msgid "Client credentials may be delegated to the service" msgstr "" "Les informations d'identification du client peuvent être déléguées au service" -msgid "missing service" -msgstr "service manquant" - msgid "blank service" msgstr "service vierge" msgid "unable to determine realm" msgstr "impossible de déterminer le domaine" +msgid "missing service" +msgstr "service manquant" + msgid "This principal is required by the IPA master" msgstr "Ce principal est nécessaire au serveur IPA" @@ -8779,16 +10956,43 @@ msgstr "Rechercher des services IPA." msgid "%(count)d service matched" msgid_plural "%(count)d services matched" msgstr[0] "%(count)d service correspondant" -msgstr[1] "%(count)d services correspondants" +msgstr[1] "%(count)d services correspondant" msgid "Display information about an IPA service." msgstr "Afficher les informations sur un service IPA." -msgid "Add hosts that can manage this service." -msgstr "Ajouter des sytèmes pouvant administrer ce service." +msgid "Add hosts that can manage this service." +msgstr "Ajouter des hôtes pouvant administrer ce service." + +msgid "Remove hosts that can manage this service." +msgstr "Supprimer des hôtes pouvant administrer ce service." + +msgid "" +"Allow users, groups, hosts or host groups to retrieve a keytab of this " +"service." +msgstr "" +"Autoriser les utilisateurs, groupes, hôtes ou groupes d'hôtes à récupérer un " +"tableau de clés pour ce service." + +msgid "" +"Disallow users, groups, hosts or host groups to retrieve a keytab of this " +"service." +msgstr "" +"Interdire aux utilisateurs, hôtes ou groupes d'hôtes de récupérer un tableau " +"de clés de ce service." + +msgid "" +"Allow users, groups, hosts or host groups to create a keytab of this service." +msgstr "" +"Autoriser utilisateurs, hôtes ou groupes d'hôtes à créer un tableau de clés " +"de ce service." -msgid "Remove hosts that can manage this service." -msgstr "Supprimer des sytèmes pouvant administrer ce service." +msgid "" +"Disallow users, groups, hosts or host groups to create a keytab of this " +"service." +msgstr "" +"Interdire aux utilisateurs, hôtes ou groupes d'hôtes de créer un tableau de " +"clés de ce service." msgid "Disable the Kerberos key and SSL certificate of a service." msgstr "Désactiver la clé Kerberos et le certificat SSL d'un service." @@ -8799,6 +11003,115 @@ msgstr "Service « %(value)s » désactivé" msgid "" "\n" +"Stageusers\n" +"\n" +"Manage stage user entries.\n" +"\n" +"Stage user entries are directly under the container: \"cn=stage users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"User can not authenticate with those entries (even if the entries\n" +"contain credentials) and are candidate to become Active entries.\n" +"\n" +"Active user entries are Posix users directly under the container: " +"\"cn=accounts, SUFFIX\".\n" +"User can authenticate with Active entries, at the condition they have\n" +"credentials\n" +"\n" +"Delete user enties are Posix users directly under the container: " +"\"cn=deleted users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"User can not authenticate with those entries (even if the entries contain " +"credentials)\n" +"\n" +"The stage user container contains entries\n" +" - created by 'stageuser-add' commands that are Posix users\n" +" - created by external provisioning system\n" +"\n" +"A valid stage user entry MUST:\n" +" - entry RDN is 'uid'\n" +" - ipaUniqueID is 'autogenerate'\n" +"\n" +"IPA supports a wide range of username formats, but you need to be aware of " +"any\n" +"restrictions that may apply to your particular environment. For example,\n" +"usernames that start with a digit or usernames that exceed a certain length\n" +"may cause problems for some UNIX systems.\n" +"Use 'ipa config-mod' to change the username format allowed by IPA tools.\n" +"\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new stageuser:\n" +" ipa stageuser-add --first=Tim --last=User --password tuser1\n" +"\n" +" Add a stageuser from the Delete container\n" +" ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" +"\n" +msgstr "" +"\n" +"Utilisateurs en attente\n" +"\n" +"Gestion des entrées des utilisateurs en attente (« stage users »).\n" +"\n" +"Les entrées des utilisateurs en attente sont situées directement dans le \n" +"conteneur \"cn=stage users, cn=accounts, cn=provisioning, SUFFIXE\".\n" +"Les utilisateurs ne peuvent utiliser ces entrées pour s'authentifier (même\n" +"si les entrées contiennent des données d'authentification). Ces entrées\n" +"sont juste candidates à devenir des entrées actives.\n" +"\n" +"Les entrées d'utilisateurs actifs sont des utilisateurs Posix situées dans " +"le \n" +"conteneur \"cn=accounts, SUFFIX\". Les utilisateurs peuvent les utiliser " +"pour \n" +"s'authentifier à la condition qu'elles comportent des données " +"d'authentification.\n" +"\n" +"Les entrées d'utilisateurs supprimés sont des entrées d'utilisateurs Posix " +"situées\n" +"dans le conteneur \"cn=deleted users, cn=accounts, cn=provisioning, SUFFIX" +"\".\n" +"Un utilisateur ne peut s'authentifier à l'aide de ces entrées , mêm si elles " +"contiennent\n" +"des données d'authentification valides.\n" +"\n" +"Le conteneur d'entrées utilisateurs en attente contient des entrées :\n" +" - créées par les commandes 'stageuser-add', qui sont des utilisateurs " +"Posix,\n" +" - créées par des systèmes d'approvisionnement externes.\n" +"\n" +"Un utilisateur en attente valide DOIT posséder les propriétés suivantes :\n" +" - le RDN de l'entrée est « uid »\n" +" - l'attribut « ipaUniqueID » est « autogenerate »\n" +"\n" +"IPA prend en charge une grande variété de formats de noms d'utilisateurs, " +"mais\n" +"il est important de savoir que des restrictions peuvent s'appliquer dans un " +"environnement\n" +"particulier. Ainsi, les noms d'utilisateurs débutant par un chiffre ou ceux " +"excédant une \n" +"certaine taille peuvent poser problème sur certains systèmes UNIX.\n" +"Utiliser la commande 'ipa config-mod' pour modifier le format autorisé par " +"les outils IPA.\n" +"\n" +"\n" +"EXEMPLES :\n" +"\n" +" Ajouter un nouvel utilisateur en attente :\n" +" ipa stageuser-add --first=Tim --last=User --password tuser1\n" +"\n" +" Ajouter un utilisateur en attente depuis le conteneur des utilisateurs " +"supprimés :\n" +" ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" +"\n" + +#, python-format +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "%(count)d utilisateur correspondant" +msgstr[1] "%(count)d utilisateurs correspondant" + +msgid "" +"\n" "Sudo Commands\n" "\n" "Commands used as building blocks for sudo\n" @@ -8845,37 +11158,37 @@ msgid "A description of this command" msgstr "Description de la commande" msgid "Create new Sudo Command." -msgstr "Créer une nouvelle commande Sudo." +msgstr "Créer une nouvelle commande sudo." #, python-format msgid "Added Sudo Command \"%(value)s\"" -msgstr "Commande Sudo « %(value)s » ajoutée" +msgstr "Commande sudo « %(value)s » ajoutée" msgid "Delete Sudo Command." -msgstr "Supprimer une commande Sudo." +msgstr "Supprimer une commande sudo." #, python-format msgid "Deleted Sudo Command \"%(value)s\"" -msgstr "Commande Sudo « %(value)s » supprimée" +msgstr "Commande sudo « %(value)s » supprimée" msgid "Modify Sudo Command." -msgstr "Modifier une commande Sudo." +msgstr "Modifier une commande sudo." #, python-format msgid "Modified Sudo Command \"%(value)s\"" -msgstr "Commande Sudo « %(value)s » modifiée" +msgstr "Commande sudo « %(value)s » modifiée" msgid "Search for Sudo Commands." -msgstr "Rechercher des commandes Sudo." +msgstr "Rechercher des commandes sudo." #, python-format msgid "%(count)d Sudo Command matched" msgid_plural "%(count)d Sudo Commands matched" -msgstr[0] "%(count)d commande Sudo correspondante" -msgstr[1] "%(count)d commandes Sudo correspondantes" +msgstr[0] "%(count)d commande sudo correspondant" +msgstr[1] "%(count)d commandes sudo correspondant" msgid "Display Sudo Command." -msgstr "Afficher une commande Sudo." +msgstr "Afficher une commande sudo." msgid "" "\n" @@ -8902,28 +11215,26 @@ msgid "" " ipa group-show localadmins\n" msgstr "" "\n" -"Groupes de commandes Sudo\n" +"Groupes de commandes sudo\n" "\n" -"Administre les groupes de commandes Sudo.\n" +"Administre les groupes de commandes sudo.\n" "\n" "EXEMPLES :\n" "\n" -" Ajouter un nouveau groupe de commandes Sudo :\n" +" Ajouter un nouveau groupe de commandes sudo :\n" " ipa sudocmdgroup-add --desc='commandes administrateurs' admincmds\n" "\n" -" Supprimer un groupe de commandes Sudo :\n" +" Supprimer un groupe de commandes sudo :\n" " ipa sudocmdgroup-del admincmds\n" "\n" -" Administrer l'appartenance et les commandes d'un groupe de commandes " -"Sudo :\n" +" Gérer les commandes, l'appartenance d'un groupe de commandes sudo :\n" " ipa sudocmdgroup-add-member --sudocmds=/usr/bin/less --sudocmds=/usr/bin/" "vim admincmds\n" "\n" -" Administrer l'appartenance et les commandes d'un groupe de commandes " -"Sudo :\n" +" Administrer les commandes, l'appartenance d'un groupe de commandes sudo :\n" " ipa group-remove-member --sudocmds=/usr/bin/less admincmds\n" "\n" -" Afficher un groupe de commandes Sudo :\n" +" Afficher un groupe de commandes sudo :\n" " ipa group-show localadmins\n" msgid "sudo command group" @@ -8936,56 +11247,191 @@ msgid "Sudo Command Group" msgstr "Groupe de commandes sudo" msgid "Create new Sudo Command Group." -msgstr "Créer un nouveau groupe de commandes Sudo." +msgstr "Créer un nouveau groupe de commandes sudo." #, python-format msgid "Added Sudo Command Group \"%(value)s\"" -msgstr "Groupe de commandes Sudo « %(value)s » ajouté" +msgstr "Groupe de commandes sudo « %(value)s » ajouté" msgid "Delete Sudo Command Group." -msgstr "Supprimer un groupe de commandes Sudo." +msgstr "Supprimer un groupe de commandes sudo." #, python-format msgid "Deleted Sudo Command Group \"%(value)s\"" -msgstr "Groupe de commandes Sudo « %(value)s » supprimé" +msgstr "Groupe de commandes sudo « %(value)s » supprimé" msgid "Modify Sudo Command Group." -msgstr "Modifier un groupe de commandes Sudo." +msgstr "Modifier un groupe de commandes sudo." #, python-format msgid "Modified Sudo Command Group \"%(value)s\"" -msgstr "Groupe de commandes Sudo « %(value)s » modifié." +msgstr "Groupe de commandes sudo « %(value)s » modifié." msgid "Search for Sudo Command Groups." -msgstr "Rechercher des groupes de commandes Sudo." +msgstr "Rechercher des groupes de commandes sudo." #, python-format msgid "%(count)d Sudo Command Group matched" msgid_plural "%(count)d Sudo Command Groups matched" msgstr[0] "%(count)d groupe de commandes Sudo correspondant" -msgstr[1] "%(count)d groupes de commandes Sudo correspondants" +msgstr[1] "%(count)d groupes de commandes Sudo correspondant" msgid "Display Sudo Command Group." -msgstr "Afficher un groupe de commandes Sudo." +msgstr "Afficher un groupe de commandes sudo." msgid "Add members to Sudo Command Group." -msgstr "Ajouter des membres à un groupe de commandes Sudo." +msgstr "Ajouter des membres à un groupe de commandes sudo." msgid "Remove members from Sudo Command Group." -msgstr "Supprimer des membres d'un groupe de commandes Sudo." +msgstr "Supprimer des membres d'un groupe de commandes sudo." msgid "" "\n" "Sudo Rules\n" msgstr "" "\n" -"Règles Sudo\n" +"Règles sudo\n" + +msgid "" +"\n" +"Sudo (su \"do\") allows a system administrator to delegate authority to\n" +"give certain users (or groups of users) the ability to run some (or all)\n" +"commands as root or another user while providing an audit trail of the\n" +"commands and their arguments.\n" +msgstr "" +"\n" +"Sudo (su « do ») autorise un administrateur système à déléguer la " +"possibilité\n" +" à certains utilisateurs (ou groupes d'utilisateurs) d'exécuter certaines\n" +" (ou toutes) commandes en tant qu'administrateur ou autre utilisateur, tout\n" +" en donnant des moyens de contrôle des commandes et de leurs arguments.\n" + +msgid "" +"\n" +"FreeIPA provides a means to configure the various aspects of Sudo:\n" +" Users: The user(s)/group(s) allowed to invoke Sudo.\n" +" Hosts: The host(s)/hostgroup(s) which the user is allowed to to invoke " +"Sudo.\n" +" Allow Command: The specific command(s) permitted to be run via Sudo.\n" +" Deny Command: The specific command(s) prohibited to be run via Sudo.\n" +" RunAsUser: The user(s) or group(s) of users whose rights Sudo will be " +"invoked with.\n" +" RunAsGroup: The group(s) whose gid rights Sudo will be invoked with.\n" +" Options: The various Sudoers Options that can modify Sudo's behavior.\n" +msgstr "" +"\n" +"FreeIPA offre les moyens de configurer les divers aspects de sudo :\n" +" Users : utilisateur/groupe autorisés à invoquer sudo.\n" +" Hosts : hôte/groupe d'hôte dont l'utilisateur peut invoquer sudo.\n" +" Allow Command : commande donnée pouvant être exécutées via sudo.\n" +" Deny Command : commande donnée interdite d'exécution avec sudo.\n" +" RunAsUser : utilisateur ou groupe dont les droits sudo pourront être " +"invoqués.\n" +" RunAsGroup : groupe dont les droits sudo associés au GID pourront être " +"invoqués.\n" +" Options : les diverses options de sudoers pouvant modifier le " +"comportement de sudo.\n" + +msgid "" +"\n" +"An order can be added to a sudorule to control the order in which they\n" +"are evaluated (if the client supports it). This order is an integer and\n" +"must be unique.\n" +msgstr "" +"\n" +"Il est possible d'ajouter aux règles sudo l'indication de l'ordre dans\n" +"lequel elles doivent être examinées (si le client le prend en charge).\n" +"Cet ordre est défini par un entier, qui doit être unique.\n" + +msgid "" +"\n" +"FreeIPA provides a designated binddn to use with Sudo located at:\n" +"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" +msgstr "" +"\n" +"FreeIPA permet la désignation d'un « binddn » à utiliser avec sudo situé " +"à :\n" +"uid=sudo,cn=sysaccounts,cn=etc,dc=example,dc=com\n" + +msgid "" +"\n" +"To enable the binddn run the following command to set the password:\n" +"LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -" +"ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," +"dc=com\n" +msgstr "" +"\n" +"Pour activer « binddn », exécuter la commande pour fixer le mot de passe :\n" +"LDAPTLS_CACERT=/etc/ipa/ca.crt /usr/bin/ldappasswd -S -W -h ipa.example.com -" +"ZZ -D \"cn=Directory Manager\" uid=sudo,cn=sysaccounts,cn=etc,dc=example," +"dc=com\n" + +msgid "" +"\n" +" Create a new rule:\n" +" ipa sudorule-add readfiles\n" +msgstr "" +"\n" +" Création d'une nouvelle règle :\n" +" ipa sudorule-add readfiles\n" + +msgid "" +"\n" +" Add sudo command object and add it as allowed command in the rule:\n" +" ipa sudocmd-add /usr/bin/less\n" +" ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less\n" +msgstr "" +"\n" +" Ajout d'un objet de commande sudo et ajout en tant que commande autorisée " +"dans la règle :\n" +" ipa sudocmd-add /usr/bin/less\n" +" ipa sudorule-add-allow-command readfiles --sudocmds /usr/bin/less\n" + +msgid "" +"\n" +" Add a host to the rule:\n" +" ipa sudorule-add-host readfiles --hosts server.example.com\n" +msgstr "" +"\n" +" Ajout d'un hôte à la règle :\n" +" ipa sudorule-add-host readfiles --hosts server.example.com\n" + +msgid "" +"\n" +" Add a user to the rule:\n" +" ipa sudorule-add-user readfiles --users jsmith\n" +msgstr "" +"\n" +" Ajout d'un utilisateur à la règle :\n" +" ipa sudorule-add-user readfiles --users jsmith\n" + +msgid "" +"\n" +" Add a special Sudo rule for default Sudo server configuration:\n" +" ipa sudorule-add defaults\n" +msgstr "" +"\n" +" Ajout d'une règle sudo spéciale pour la configuration du serveur sudo par " +"défaut :\n" +" ipa sudorule-add defaults\n" + +msgid "" +"\n" +" Set a default Sudo option:\n" +" ipa sudorule-add-option defaults --sudooption '!authenticate'\n" +msgstr "" +"\n" +" Définition d'une option par défaut pour sudo :\n" +" ipa sudorule-add-option defaults --sudooption '!authenticate'\n" msgid "Commands for controlling sudo configuration" msgstr "Commandes pour le contrôle d'une configuration sudo" msgid "this option has been deprecated." -msgstr "cette option a été rendue obsolète." +msgstr "cette option a été abandonnée." + +msgid "host masks of allowed hosts" +msgstr "masques d'hôtes des hôtes autorisés" msgid "sudo rule" msgstr "règle sudo" @@ -8994,7 +11440,7 @@ msgid "sudo rules" msgstr "règles sudo" msgid "Sudo Rules" -msgstr "Règles Sudo" +msgstr "Règles sudo" msgid "Sudo Rule" msgstr "Règle sudo" @@ -9006,77 +11452,84 @@ msgid "Command category the rule applies to" msgstr "Catégorie de commande à laquelle la règle s'applique" msgid "RunAs User category" -msgstr "Catégorie RunAs User" +msgstr "Catégorie « RunAs User »" msgid "RunAs User category the rule applies to" -msgstr "Catégorie RunAs User à laquelle la règle s'applique" +msgstr "Catégorie « RunAs User » à laquelle la règle s'applique" msgid "RunAs Group category" -msgstr "Catégorie RunAs Group" +msgstr "Catégorie « RunAs Group »" msgid "RunAs Group category the rule applies to" -msgstr "Catégorie RunAs Group à laquelle la règle s'applique" +msgstr "Catégorie « RunAs Group » à laquelle la règle s'applique" msgid "Sudo order" msgstr "Ordre sudo" msgid "integer to order the Sudo rules" -msgstr "nombre entier pour ordonner les règles sudo" +msgstr "entier pour ordonner les règles sudo" msgid "External User" msgstr "Utilisateur externe" msgid "External User the rule applies to (sudorule-find only)" msgstr "" -"Utilisateur externe auquel la règle s'applique (sudorule-find uniquement)" +"Utilisateur externe auquel la règle s'applique (« sudorule-find » uniquement)" msgid "Host Masks" msgstr "Masques d'hôtes" msgid "Sudo Allow Commands" -msgstr "Commandes sudo allow" +msgstr "Commandes « sudo allow »" msgid "Sudo Deny Commands" -msgstr "Commande sudo deny" +msgstr "Commande « sudo deny »" msgid "Sudo Allow Command Groups" -msgstr "Autorisation de groupes de commandes Sudo" +msgstr "Groupes de commandes « sudo allow »" msgid "Sudo Deny Command Groups" -msgstr "Interdiction de groupes de commandes Sudo" +msgstr "Groupes de commandes « sudo deny »" msgid "RunAs Users" -msgstr "RunAs Users" +msgstr "« RunAs Users »" msgid "Run as a user" -msgstr "Lancer en tant qu'un utilisateur" +msgstr "Lancer en tant qu'un utilisateur donné" msgid "Groups of RunAs Users" -msgstr "Groupe de RunAs Users" +msgstr "Groupe de « RunAs Users »" msgid "Run as any user within a specified group" -msgstr "Lancer en tant que n'importe quel utilisateur du groupe spécifié" +msgstr "Lancer en tant que n'importe quel utilisateur du groupe indiqué" msgid "RunAs External User" -msgstr "Lancer en tant que l'utilisateur externe" +msgstr "Utilisateur « RunAs External »" msgid "External User the commands can run as (sudorule-find only)" msgstr "" -"Utilisateur externe en tant que lequel les commandes sont lancées (sudorule-" -"find uniquement)" +"Utilisateur externe comme tel les commandes peuvent être lancées (« sudorule-" +"find » uniquement)" + +msgid "External Groups of RunAs Users" +msgstr "Groupes externes de « RunAs Users »" + +msgid "External Groups of users that the command can run as" +msgstr "" +"Groupes externes d'utilisateurs comme tel la commande peut être exécutée" msgid "RunAs Groups" -msgstr "RunAs Groups" +msgstr "« RunAs Groups»" msgid "Run with the gid of a specified POSIX group" -msgstr "Lancer avec le GID d'un groupe POSIX spécifique" +msgstr "Lancer avec le GID d'un groupe POSIX donné" msgid "RunAs External Group" -msgstr "Utilisateur externe" +msgstr "Groupe « RunAs External »" msgid "External Group the commands can run as (sudorule-find only)" msgstr "" -"Groupe externe en tant que lequel les commandes sont lancées (sudorule-find " +"Groupe externe en tant que tel les commandes sont lancées (« sudorule-find » " "uniquement)" msgid "Sudo Option" @@ -9085,28 +11538,35 @@ msgstr "Option sudo" #, python-format msgid "order must be a unique value (%(order)d already used by %(rule)s)" msgstr "" -"l'ordre doit être une valeur unique (%(order)d déjà utilisée par %(rule)s)" +"le rang doit être une valeur unique (%(order)d déjà utilisée par %(rule)s)" msgid "Create new Sudo Rule." -msgstr "Créer une nouvelle règle Sudo." +msgstr "Créer une nouvelle règle sudo." #, python-format msgid "Added Sudo Rule \"%(value)s\"" -msgstr "Règle Sudo « %(value)s » ajoutée" +msgstr "Règle sudo « %(value)s » ajoutée" msgid "Delete Sudo Rule." -msgstr "Règle Sudo supprimée." +msgstr "Règle sudo supprimée." #, python-format msgid "Deleted Sudo Rule \"%(value)s\"" -msgstr "Règle Sudo « %(value)s » supprimée" +msgstr "Règle sudo « %(value)s » supprimée" msgid "Modify Sudo Rule." -msgstr "Modifier une règle Sudo." +msgstr "Modifier une règle sudo." #, python-format msgid "Modified Sudo Rule \"%(value)s\"" -msgstr "Règle Sudo « %(value)s » modifiée" +msgstr "Règle sudo « %(value)s » modifiée" + +#, python-format +msgid "" +"%(type)s category cannot be set to 'all' while there are allowed %(objects)s" +msgstr "" +"la catégorie %(type)s ne peut pas être définie à « all » tant que sont " +"alloués %(objects)s" msgid "user" msgstr "utilisateur" @@ -9133,100 +11593,100 @@ msgid "runAs groups" msgstr "groupes runAs" msgid "Search for Sudo Rule." -msgstr "Rechercher une règle Sudo." +msgstr "Rechercher une règle sudo." #, python-format msgid "%(count)d Sudo Rule matched" msgid_plural "%(count)d Sudo Rules matched" -msgstr[0] "%(count)d règle Sudo correspondante" -msgstr[1] "%(count)d règles Sudo correspondantes" +msgstr[0] "%(count)d règle sudo correspondant" +msgstr[1] "%(count)d règles sudo correspondant" msgid "Display Sudo Rule." -msgstr "Afficher une règle Sudo." +msgstr "Afficher une règle sudo." msgid "Enable a Sudo Rule." -msgstr "Activer une règle Sudo." +msgstr "Activer une règle sudo." #, python-format msgid "Enabled Sudo Rule \"%s\"" -msgstr "Règle Sudo « %s » activée" +msgstr "Règle sudo « %s » activée" msgid "Disable a Sudo Rule." -msgstr "Désactiver une règle Sudo." +msgstr "Désactiver une règle sudo." #, python-format msgid "Disabled Sudo Rule \"%s\"" -msgstr "Règle Sudo « %s » désactivée" +msgstr "Règle sudo « %s » désactivée" msgid "Add commands and sudo command groups affected by Sudo Rule." msgstr "" "Ajouter des commandes et groupes de commandes sudo affectés par la règle " -"Sudo." +"sudo." msgid "commands cannot be added when command category='all'" msgstr "" -"des commandes ne peuvent être ajoutées quand la catégorie commandes est " -"définie à 'all'" +"des commandes ne peuvent pas être ajoutées quand la catégorie de commande " +"est « all »" msgid "Remove commands and sudo command groups affected by Sudo Rule." msgstr "" "Retirer des commandes et groupes de commandes sudo affectés par la règle " -"Sudo." +"sudo." msgid "Add users and groups affected by Sudo Rule." -msgstr "Ajouter des utilisateurs et groupes affectés par la règle Sudo." +msgstr "Ajouter des utilisateurs et groupes affectés par la règle sudo." msgid "Remove users and groups affected by Sudo Rule." -msgstr "Retirer des utilisateurs et groupes affectés par la règle Sudo." +msgstr "Retirer des utilisateurs et groupes affectés par la règle sudo." msgid "Add hosts and hostgroups affected by Sudo Rule." -msgstr "Ajouter des hôtes et groupes d'hôtes affectés par la règle Sudo." +msgstr "Ajouter des hôtes et groupes d'hôtes affectés par la règle sudo." msgid "Remove hosts and hostgroups affected by Sudo Rule." -msgstr "Retirer des hôtes et groupes d'hôtes affectés par la règle Sudo." +msgstr "Retirer des hôtes et groupes d'hôtes affectés par la règle sudo." msgid "Add users and groups for Sudo to execute as." -msgstr "Ajouter des utilisateurs et groupes pour que sudo exécute en tant que." +msgstr "Ajouter des utilisateurs et groupes dans sudo pour exécution comme." msgid "users cannot be added when runAs user or runAs group category='all'" msgstr "" -"des utilisateurs ne peuvent être ajoutés quand une catégorie RunAs User ou " -"Group est définie à 'all'" +"des utilisateurs ne peuvent pas être ajoutés quand la catégorie « RunAs " +"User » ou « RunAs Group » est « all »" #, python-format msgid "RunAsUser does not accept '%(name)s' as a user name" -msgstr "RunAsUser n'accepte pas '%(name)s' comme nom d'utilisateur" +msgstr "« RunAsUser » n'accepte pas « %(name)s » comme nom d'utilisateur" #, python-format msgid "RunAsUser does not accept '%(name)s' as a group name" -msgstr "RunAsUser n'accepte pas '%(name)s' comme nom de groupe" +msgstr "« RunAsUser » n'accepte pas « %(name)s » comme nom de groupe" msgid "Remove users and groups for Sudo to execute as." -msgstr "Retirer des utilisateurs et groupes pour que sudo exécute en tant que." +msgstr "Retirer des utilisateurs et groupes dans sudo pour exécution comme." msgid "Add group for Sudo to execute as." -msgstr "Ajouter un groupe pour que sudo exécute en tant que." +msgstr "Ajouter un groupe dans sudo pour exécution comme." #, python-format msgid "RunAsGroup does not accept '%(name)s' as a group name" -msgstr "RunAsGroup n'accepte pas '%(name)s' comme nom de groupe" +msgstr "« RunAsGroup » n'accepte pas « %(name)s » comme nom de groupe" msgid "Remove group for Sudo to execute as." -msgstr "Retirer un groupe pour que sudo exécute en tant que." +msgstr "Retirer un groupe de sudo pour exécution comme." msgid "Add an option to the Sudo Rule." -msgstr "Ajouter une option à la règle Sudo." +msgstr "Ajouter une option à la règle sudo." #, python-format msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" -msgstr "Option « %(option)s » ajoutée à la règle Sudo « %(rule)s »" +msgstr "Option « %(option)s » ajoutée à la règle sudo « %(rule)s »" msgid "Remove an option from Sudo Rule." -msgstr "Retirer une option d'une règle Sudo." +msgstr "Retirer une option d'une règle sudo." #, python-format msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" -msgstr "Option « %(option)s » supprimée de la règle Sudo « %(rule)s »" +msgstr "Option « %(option)s » supprimée de la règle sudo « %(rule)s »" msgid "" "\n" @@ -9330,29 +11790,24 @@ msgstr "" "\n" "Confiance croisée entre royaumes\n" "\n" -"Gérer les relations de confiance entre les domaines IPA et Active " +"Gérer des relations de confiance croisées entre les domaines IPA et Active " "Directory.\n" "\n" -"Pour permettre aux utilisateurs d'un domaine distant l'accès aux ressources " -"d'un domaine IPA,\n" -"des relations de confiance doivent être établies. Actuellement IPA ne prend " -"en charge que\n" -"la confiance entre des domaines IPA et Active Directory sous le contrôle de " -"Windows\n" -"Server 2008 ou ultérieur, avec le niveau fonctionnel 2008 ou ultérieur.\n" +"Pour permettre aux utilisateurs d'un domaine distant l'accès aux ressources\n" +"d'un domaine IPA, des relations de confiance doivent être établies.\n" +"Actuellement IPA ne prend en charge que la confiance entre des domaines IPA\n" +"et Active Directory sous le contrôle de Windows Server 2008 ou ultérieur,\n" +"avec le niveau fonctionnel 2008 ou ultérieur.\n" "\n" -"Veuillez noter que DNS doit être correctement configuré à la fois côté " -"domaine IPA et côté\n" -"Active Directory pour une découverte mutuelle. La relation de confiance " -"repose sur la capacité\n" -"à repérer des ressources spéciales dans l'autre domaine via des " -"enregistrements DNS.\n" +"Veuillez noter que DNS doit être correctement configuré à la fois côté\n" +"domaine IPA et côté Active Directory pour une découverte mutuelle. La\n" +"relation de confiance repose sur la capacité à repérer des ressources\n" +"spéciales dans l'autre domaine via des enregistrements DNS.\n" "\n" "Exemples :\n" "\n" -"1. Établir des relations de confiance croisées entre royaume avec Active " -"Directory avec les\n" -"autorisations d'accès de l'administrateur AD :\n" +"1. Établir des relations de confiance croisées entre royaumes avec Active\n" +"Directory avec les autorisations d'accès d'un administrateur AD :\n" "\n" " ipa trust-add --type=ad --admin --" "password\n" @@ -9369,87 +11824,82 @@ msgstr "" "\n" " ipa trust-del \n" "\n" -"Une fois la relation de confiance établie, les utilisateurs distants doivent " -"être mis en\n" -"relation avec des groupes POSIX locaux pour utiliser réellement des " -"ressources IPA. La\n" -"relation doit se faire via l'appartenance à un groupe non-POSIX externe, " -"puis ce groupe\n" -"doit être intégré dans un des groupes POSIX locaux.\n" +"Une fois la relation de confiance établie, les utilisateurs distants " +"doivent\n" +"être mis en relation avec des groupes POSIX locaux pour utiliser réellement\n" +"des ressources IPA. La relation doit se faire via l'appartenance à un " +"groupe\n" +"non-POSIX externe, puis ce groupe doit être intégré dans l'un des groupes\n" +"POSIX locaux.\n" "\n" -"Exemple :\n" +"Exemples :\n" "\n" -"1. Créer un groupe pour la mise en relation avec le domaine de confiance " -"admins et leur\n" -" groupe POSIX local :\n" +"1. Créer un groupe pour la mise en relation avec le domaine de confiance\n" +" « admins » et leur groupe POSIX local :\n" "\n" " ipa group-add --desc=' admins external map' ad_admins_external " "--external\n" " ipa group-add --desc=' admins' ad_admins\n" "\n" -"2. Ajouter un identifiant de sécurité de de Domain Admins au " -"groupe\n" -" externe ad_admins :\n" +"2. Ajouter un identifiant de sécurité de de Domain Admins au\n" +" groupe « ad_admins_external » :\n" "\n" " ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" "\n" -"3. Associer des membres du groupe ad_admins_external avec le groupe POSIX " -"ad_admins :\n" +"3. Autoriser des membres du groupe « ad_admins_external » à s'associer\n" +" avec le groupe POSIX ad_admins :\n" "\n" " ipa group-add-member ad_admins --groups ad_admins_external\n" "\n" -"4. Lister les membrer externes du groupe externe ad_admins_external pour " -"voir leur SID :\n" +"4. Lister les membres externes du groupe externe « ad_admins_external »\n" +" pour voir leur SID :\n" "\n" " ipa group-show ad_admins_external\n" "\n" "\n" "CONFIGURATION D'UNE CONFIANCE GLOBALE\n" "\n" -"Quand le sous-paquet IPA AD trust est installé et ipa-adtrust-install est " -"exécuté,\n" -"une configuration de domaine local (SID, GUID, nom NetBIOS) est créée. Ces " -"identifiants\n" -"sont alors utilisés lors de communications avec un domaine de confiance\n" -"de type particulier.\n" +"Une fois le sous-paquet « IPA AD trust » installé et « ipa-adtrust-" +"install »\n" +"exécuté, une configuration de domaine local (SID, GUID, nom NetBIOS) est\n" +"créée. Ces identifiants sont alors utilisés lors de communications avec un\n" +"domaine de confiance de type particulier.\n" "\n" -"1. Afficher la configuration de confiance globale pour les types de " -"confiance Active Directory :\n" +"1. Afficher la configuration de confiance globale pour les types de\n" +" confiance Active Directory :\n" "\n" " ipa trustconfig-show --type ad\n" "\n" -"2. Modifier la configuration globale de toutes les confiances de type Active " -"Directory et\n" -" définir un groupe principal de recours (le GID du groupe principal de " -"recours est utilisé\n" -" comme GID d'utilisateur pricipal si l'utilisateur s'authentifiant auprès " -"du domaine IPA\n" -" n'a pas d'autre GID principal déjà défini) :\n" +"2. Modifier la configuration globale de toutes les confiances de type\n" +" Active Directory et définir un groupe principal de recours (le GID du\n" +" groupe principal de recours est utilisé comme GID d'utilisateur " +"principal\n" +" si l'utilisateur s'authentifiant auprès du domaine IPA n'a pas d'autre\n" +" GID principal déjà défini) :\n" "\n" " ipa trustconfig-mod --type ad --fallback-primary-group \"alternative AD " "group\"\n" "\n" -"3. Revenir au groupe caché par défaut comme groupe de recours principal " -"(tout groupe de la\n" -" classe objet posixGroup est autorisé) :\n" +"3. Revenir au groupe caché par défaut comme groupe de recours principal\n" +" (tout groupe de la classe objet « posixGroup » est autorisé) :\n" "\n" " ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB Group" "\"\n" msgid "Non-Active Directory domain" -msgstr "Domaine non-Active Directory" +msgstr "Domaine autre que Active Directory" msgid "RFC4120-compliant Kerberos realm" msgstr "Domaine Kerberos conforme à la RFC4120" msgid "Trusting forest" -msgstr "Forêt en cours d'approbation" +msgstr "Forêt en cours de mise en confiance" msgid "Trusted forest" -msgstr "Forêt approuvée" +msgstr "Forêt de confiance" msgid "Two-way trust" -msgstr "Approbation croisée" +msgstr "Confiance réciproque" msgid "Established and verified" msgstr "Établie et vérifiée" @@ -9461,25 +11911,25 @@ msgid "Unknown" msgstr "Inconnu" msgid "Trust type (ad for Active Directory, default)" -msgstr "Type d'approbation (par défaut, ad pour Active Directory)" +msgstr "Type de confiance (par défaut, ad pour Active Directory)" msgid "trust" -msgstr "approbation" +msgstr "confiance" msgid "trusts" -msgstr "approbations" +msgstr "confiances" msgid "Trust" -msgstr "Approbation" +msgstr "Confiance" msgid "Realm name" msgstr "Nom du royaume" msgid "SID blacklist incoming" -msgstr "liste noire de SID entrante" +msgstr "Entrant dans liste noire de SID" msgid "SID blacklist outgoing" -msgstr "liste noire de SID sortante" +msgstr "Sortant de liste noire de SID" #, python-format msgid "invalid SID: %(value)s" @@ -9504,106 +11954,107 @@ msgstr "" "Ajout d'une nouvelle relation de confiance.\n" "\n" "Cette commande établit une relation de confiance avec un autre domaine\n" -"qui ainsi devient « de confiance ». En conséquence, des utilisateurs du " -"domaine de confiance\n" -"peuvent avoir accès aux ressources de ce domaine.\n" +"qui ainsi devient « de confiance ». En conséquence, des utilisateurs du\n" +"domaine de confiance peuvent avoir accès aux ressources de ce domaine.\n" "\n" -"Actuellement, seules les relations de confiance avec les domaines Active " -"Directory sont prises en charge.\n" +"Actuellement, seules les relations de confiance avec les domaines\n" +"Active Directory sont prises en charge.\n" "\n" -"Cette commande peut être lancée plusieurs fois en toute sécurité à " -"l'encontre du même domaine,\n" -"elle modifiera les références de la relation de confiance des deux côtés.\n" +"Cette commande peut être lancée plusieurs fois en toute sécurité à\n" +"l'encontre du même domaine, elle modifiera les références de la relation de\n" +"confiance des deux côtés.\n" " " msgid "Active Directory domain administrator" msgstr "Administrateur du domaine Active Directory" -msgid "Active directory domain administrator's password" -msgstr "Mot de passe de l'administrateur du domaine Active Directory" - msgid "Domain controller for the Active Directory domain (optional)" msgstr "Contrôleur de domaine pour le domaine Active Directory (optionnel)" msgid "Shared secret for the trust" -msgstr "Secret partagé pour l'approbation" +msgstr "Secret partagé pour la confiance" msgid "First Posix ID of the range reserved for the trusted domain" -msgstr "Premier ID POSIX de la plage pour le domaine approuvé" +msgstr "Premier ID POSIX de la plage réservée au domaine de confiance" msgid "Size of the ID range reserved for the trusted domain" -msgstr "Taille de la plage d'ID pour le domaine approuvé" +msgstr "Taille de la plage d'ID réservée au domaine de confiance" #, python-brace-format msgid "Type of trusted domain ID range, one of {vals}" msgstr "" -"Type de plage d'identifiants de domaine approuvé, valeur à prendre parmi " -"{vals}" +"Type de plage d'ID de domaine de confiance, une valeur à prendre parmi {vals}" #, python-format msgid "Added Active Directory trust for realm \"%(value)s\"" -msgstr "Approbation Active Directory ajoutée pour le domaine « %(value)s »" +msgstr "Confiance Active Directory ajoutée pour le royaume « %(value)s »" #, python-format msgid "Re-established trust to domain \"%(value)s\"" -msgstr "Ré-approbation du domaine « %(value)s »" +msgstr "Rétablissement de la confiance pour le domaine « %(value)s »" msgid "AD Trust setup" -msgstr "Configuration des relations d'approbations avec AD" +msgstr "Configuration de la confiance AD" msgid "" "Cannot perform join operation without Samba 4 support installed. Make sure " "you have installed server-trust-ad sub-package of IPA" msgstr "" -"Impossible de rejoindre le domaine sans l'installation du support Samba 4. " -"Assurez-vous de bien avoir installé sur le serveur le paquet server-trust-ad " -"de IPA" +"Impossible de rejoindre le domaine sans installation de Samba 4. Assurez-" +"vous de bien avoir installé sur le serveur le paquet IPA « server-trust-ad »" msgid "missing base_id" -msgstr "base_id manquant" +msgstr "« base_id » manquant" msgid "pysss_murmur is not available on the server and no base-id is given." msgstr "" -"pysss_murmur n'est pas disponible sur le serveur, et aucun base-id n'a été " -"fourni." +"« pysss_murmur » non disponible sur le serveur et aucun « base-id » fourni." msgid "trust type" -msgstr "type d'approbation" +msgstr "type de confiance" msgid "only \"ad\" is supported" msgstr "seul « ad » est pris en charge" msgid "Realm-domain mismatch" -msgstr "Non correspondance de domaine et de royaume Kerberos" +msgstr "Incohérence domaine-royaume" + +msgid "" +"To establish trust with Active Directory, the domain name and the realm name " +"of the IPA server must match" +msgstr "" +"Pour établir la confiance avec Active Directory, le nom de domaine et le nom " +"de royaume du serveur IPA doivent correspondre" msgid "Trusted domain and administrator account use different realms" msgstr "" -"Le domaine approuvé et le compte administrateur utilisent des domaines " +"Le domaine de confiance et le compte administrateur utilisent des domaines " "différents" msgid "Realm administrator password should be specified" -msgstr "Le mot de passe de l'administrateur du domaine doit être spécifié" +msgstr "Le mot de passe de l'administrateur du domaine doit être indiqué" msgid "id range type" -msgstr "type de plage d'identifiants" +msgstr "type de plage d'id" msgid "" "Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-" "type when adding an AD trust." msgstr "" -"Seules les valeurs ipa-ad-trust et ipa-ad-trust-posix sont autorisées pour --" -"range-type lors de l'ajout d'une relation d'approbation AD." +"Seules les valeurs « ipa-ad-trust » et « ipa-ad-trust-posix » sont " +"autorisées pour « --range-type » lors de l'ajout d'une relation de confiance " +"AD." msgid "id range" -msgstr "plage d'identifiants" +msgstr "plage id" msgid "" "An id range already exists for this trust. You should either delete the old " "range, or exclude --base-id/--range-size options from the command." msgstr "" -"Une plage d'identifiants existe déjà pour cette relation d'approbation. Vous " -"devez soit supprimer l'ancienne plage, soit exclure les options --base-id/--" -"range-size de la commande." +"Une plage d'identifiants existe déjà pour cette relation de confiance. Vous " +"devez soit supprimer l'ancienne plage, soit exclure les options « --base-" +"id » ou « --range-size » de la commande." msgid "range exists" msgstr "la plage existe" @@ -9612,9 +12063,9 @@ msgid "" "ID range with the same name but different domain SID already exists. The ID " "range for the new trusted domain must be created manually." msgstr "" -"Une plage d'ID avec le même nom mais pour un SID de domaine différent existe " -"déjà. La plage d'ID pour le nouveau domaine approuvé doit être créée " -"manuellement." +"Une plage d'ID avec le même nom, mais pour un SID de domaine différent " +"existe déjà. La plage d'ID pour le nouveau domaine de confiance doit être " +"créée manuellement." msgid "range type change" msgstr "modifier le type de plage" @@ -9624,9 +12075,9 @@ msgid "" "Please remove the old range manually, or do not enforce type via --range-" "type option." msgstr "" -"La plage d'identifiants existe déjà pour ce domaine approuvé, mais est d'un " -"type différent. Vous devez soit supprimer l'ancienne plage manuellement, " -"soit ne pas forcer le type via l'option --range-type." +"La plage ID existe déjà pour ce domaine de confiance, mais est d'un type " +"différent. Vous devez soit supprimer l'ancienne plage manuellement, soit ne " +"pas forcer le type via l'option « --range-type »." #, python-format msgid "Unable to resolve domain controller for '%s' domain. " @@ -9636,8 +12087,8 @@ msgid "" "Forward policy is defined for it in IPA DNS, perhaps forwarder points to " "incorrect host?" msgstr "" -"La politique de transmission est déjà définie dans le DNS IPA, peut-être le " -"transmetteur pointe-t'il vers un hôte incorrect ?" +"La politique de transfert est définie pour lui dans le DNS d'IPA, peut-être " +"le transitaire pointe-t'il vers un hôte incorrect ?" #, python-format msgid "" @@ -9664,14 +12115,14 @@ msgid "Unable to verify write permissions to the AD" msgstr "Impossible de vérifier les permissions en écriture vers AD" msgid "Not enough arguments specified to perform trust setup" -msgstr "Arguments insuffisants pour établir la relation d'approbation" +msgstr "Arguments insuffisants pour établir la relation de confiance" msgid "Delete a trust." -msgstr "Supprimer une approbation." +msgstr "Supprimer la confiance." #, python-format msgid "Deleted trust \"%(value)s\"" -msgstr "Approbation « %(value)s » supprimée" +msgstr "Confiance « %(value)s » supprimée" msgid "" "\n" @@ -9682,36 +12133,36 @@ msgid "" " " msgstr "" "\n" -" Modifier une approbation (pour une utilisation future).\n" +" Modifier la confiance (pour utilisation future).\n" "\n" -" Actuellement seule l'option par défaut d'utiliser LDAP pour modifier\n" -" les attributs est disponible. Des options plus précises seront ajoutées\n" +" Actuellement seule l'option par défaut pour modifier les attributs LDAP\n" +" est disponible. D'autres options particulières seront ajoutées\n" " dans les versions à venir.\n" " " #, python-format msgid "Modified trust \"%(value)s\" (change will be effective in 60 seconds)" msgstr "" -"Relation d'approbation « %(value)s » modifiée (la modification prendra effet " -"d'ici 60 secondes)" +"Relation de confiance « %(value)s » modifiée (la modification sera effective " +"dans 60 secondes)" msgid "Search for trusts." -msgstr "Rechercher des approbations." +msgstr "Rechercher des confiances." #, python-format msgid "%(count)d trust matched" msgid_plural "%(count)d trusts matched" -msgstr[0] "%(count)d approbation correspondante" -msgstr[1] "%(count)d approbations correspondantes" +msgstr[0] "%(count)d confiance correspondante" +msgstr[1] "%(count)d confiances correspondantes" msgid "Display information about a trust." -msgstr "Afficher les informations sur une relation d'approbation." +msgstr "Afficher des informations sur une relation de confiance." msgid "trust configuration" -msgstr "configuration des relations d'approbation" +msgstr "configuration des relations de confiance" msgid "Global Trust Configuration" -msgstr "Configuration globale des relations d'approbation" +msgstr "Configuration globale des relations de confiance" msgid "Security Identifier" msgstr "Identifiant de sécurité" @@ -9726,22 +12177,22 @@ msgid "Fallback primary group" msgstr "Groupe principal de repli" msgid "unsupported trust type" -msgstr "type de relation d'approbation non pris en charge" +msgstr "type de relation de confiance non pris en charge" msgid "Modify global trust configuration." -msgstr "Modifier la configuration globale des relations d'approbation." +msgstr "Modifier la configuration globale des relations de confiance." #, python-format msgid "Modified \"%(value)s\" trust configuration" -msgstr "Configuration de la relation d'approbation « %(value)s » modifiée." +msgstr "Configuration de la relation de confiance « %(value)s » modifiée." msgid "Show global trust configuration." -msgstr "Afficher la configuration globale des relations d'approbation." +msgstr "Afficher la configuration globale des relations de confiance." msgid "Resolve security identifiers of users and groups in trusted domains" msgstr "" -"Résoudre les identifiants de sécurité des groupes et utilisateurs des " -"domaines approuvés" +"Résoudre les identifiants de sécurité des groupes et utilisateurs dans des " +"domaines de confiance" msgid "Security Identifiers (SIDs)" msgstr "Identifiants de sécurité (SID)" @@ -9754,7 +12205,7 @@ msgstr "SID" msgid "Determine whether ipa-adtrust-install has been run on this system" msgstr "" -"Déterminer si la commande ipa-adtrust-install a déjà été exécutée sur ce " +"Déterminer si la commande « ipa-adtrust-install » a été exécutée sur ce " "système" msgid "" @@ -9766,98 +12217,98 @@ msgstr "" msgid "Determine whether ipa-adtrust-install has been run with sidgen task" msgstr "" -"Déterminer si la commande ipa-adtrust-install a été lancée avec la tâche " -"sidgen" +"Déterminer si la commande « ipa-adtrust-install » a été exécutée avec la " +"tâche « sidgen »" msgid "sidgen_was_run" -msgstr "sidgen_was_run" +msgstr "« sidgen_was_run »" msgid "" "This command relies on the existence of the \"editors\" group, but this " "group was not found." msgstr "" -"Cette commande s'appuie sur l'existence effective du groupe « editors », " -"mais ce groupe est introuvable." +"Cette commande s'appuie sur l'existence du groupe « editors », mais ce " +"groupe n'a pas été trouvé." msgid "trust domain" -msgstr "domaine d'approbation" +msgstr "domaine de confiance" msgid "trust domains" -msgstr "domaines d'approbation" +msgstr "domaines de confiance" msgid "Trusted domains" -msgstr "Domaines approuvés" +msgstr "Domaines de confiance" msgid "Trusted domain" -msgstr "Domaine approuvé" +msgstr "Domaine de confiance" msgid "Domain name" msgstr "Nom de domaine" msgid "Trusted domain partner" -msgstr "Partenaire de domaine approuvé" +msgstr "Partenaire de domaine de confiance" msgid "Search domains of the trust" -msgstr "Recherches dans les domaines approuvés" +msgstr "Recherches dans les domaines de confiance" msgid "Domain enabled" msgstr "Domaine activé" msgid "Modify trustdomain of the trust" -msgstr "Modifier le domaine de la relation d'approbation" +msgstr "Modifier le domaine de confiance de la confiance" msgid "Allow access from the trusted domain" -msgstr "Autoriser l'accès depuis le domaine approuvé" +msgstr "Autoriser l'accès depuis le domaine de confiance" msgid "Remove infromation about the domain associated with the trust." -msgstr "" -"Supprimer les informations du domaine associées à la relation d'approbation." +msgstr "Supprimer les informations du domaine associées à la confiance." #, python-format msgid "Removed information about the trusted domain \"%(value)s\"" -msgstr "Informations sur le domaine approuvé « %(value)s » supprimées" +msgstr "Informations sur le domaine de confiance « %(value)s » supprimées" msgid "" "cannot delete root domain of the trust, use trust-del to delete the trust " "itself" msgstr "" -"impossible de supprimer le domaine racine de la relation d'approbation, " -"utiliser la commande trust-del pour supprimer la relation d'approbation" +"impossible de supprimer le domaine racine de la relation de confiance, " +"utiliser la commande « trust-del » pour supprimer la relation de confiance" msgid "Refresh list of the domains associated with the trust" -msgstr "Rafraîchir la liste des domaines associés à la relation d'approbation" +msgstr "Rafraîchir la liste des domaines associés à la relation de confiance" msgid "List of trust domains successfully refreshed" -msgstr "Liste des domaines approuvés rafraîchie avec succès" +msgstr "Liste des domaines de confiance rafraîchie avec succès" msgid "No new trust domains were found" -msgstr "Aucun nouveau domaine approuvé trouvé" +msgstr "Aucun nouveau domaine de confiance trouvé" msgid "Allow use of IPA resources by the domain of the trust" -msgstr "Autoriser l'utlisation de ressources IPA par le domain approuvé" +msgstr "Autoriser l'utilisation des ressources IPA par le domaine de confiance" #, python-format msgid "Enabled trust domain \"%(value)s\"" -msgstr "Activation du domaine approuvé « %(value)s »" +msgstr "Activation du domaine de confiance « %(value)s »" msgid "Root domain of the trust is always enabled for the existing trust" msgstr "" -"Le domaine racine de la relation d'approbation est toujours activé pour la " -"relation existante" +"Le domaine racine de la relation de confiance est toujours activé pour la " +"confiance existante" msgid "Disable use of IPA resources by the domain of the trust" -msgstr "Interdire l'utlisation de ressources IPA par le domain approuvé" +msgstr "Interdire l'utilisation de ressources IPA par le domaine de confiance" #, python-format msgid "Disabled trust domain \"%(value)s\"" -msgstr "Domaine approuvé « %(value)s » désactivé" +msgstr "Domaine de confiance « %(value)s » désactivé" msgid "" "cannot disable root domain of the trust, use trust-del to delete the trust " "itself" msgstr "" -"impossible de désactiver le domaine racine de la relation d'approbation, " -"utiliser la commande trust-del pour supprimer la relation" +"impossible de désactiver le domaine racine de la relation de confiance, " +"utiliser la commande « trust-del » pour supprimer la relation de confiance " +"elle-même" msgid "" "\n" @@ -9906,28 +12357,27 @@ msgstr "" "\n" "Utilisateurs\n" "\n" -"Administration des utilisateurs. Tous les utilisateurs sont de type POSIX.\n" +"Gestion des utilisateurs. Tous les utilisateurs sont de type POSIX.\n" "\n" -"IPA permet l'utilisation d'un grand nombre de formats de noms " -"d'utilisateurs.\n" -"Certaines restrictions peuvent cependant s'appliquer à un environnement\n" -"particulier. À titre d'exemple, les noms d'utilisateurs commençant par\n" -"un chiffre ou ceux excédant une certaine longueur peuvent poser souci à\n" -"certains systèmes UNIX.\n" +"IPA prend en charge un grand nombre de formats de noms d'utilisateurs.\n" +"Certaines restrictions peuvent cependant s'appliquer dans un environnement\n" +"particulier. Par exemple, les noms d'utilisateurs commençant par un chiffre\n" +"ou ceux dépassant une certaine longueur peuvent poser problème à certains\n" +"systèmes UNIX.\n" "Utiliser la commande « ipa config-mod » afin de modifier le format de nom\n" -"autorisé par les outils IPA.\n" +"d'utilisateur autorisé par les outils IPA.\n" "\n" "La désactivation d'un compte utilisateur lui interdit d'obtenir de\n" -"nouvelles informations de crédit Kerberos. Elle n'invalide pas les crédits\n" -"déjà obtenus.\n" +"nouveaux justificatifs d'identité Kerberos. Elle n'invalide pas les\n" +"justificatifs déjà obtenus.\n" "\n" "L'administration des mots de passe ne fait pas partie de ce module. Pour\n" -"plus d'informations sur ce sujet, cf. : ipa help passwd\n" +"plus d'informations sur ce sujet, cf. : « ipa help passwd »\n" "\n" -"Le verrouillage de compte en cas d'échec de mot de passe se passe par \n" -"maître IPA. La comamnde « user-status » peut être utilisée pour identifier \n" -"le maître sur lequel l'utilisateur est bloqué. C'est sur ​​ce maître\n" -"que l'administrateur doit déverrouiller l'utilisateur.\n" +"Le verrouillage de compte en cas d'échec de mot de passe est déclenché par\n" +"le maître IPA de l'utilisateur. La commande « user-status » permet de\n" +"l'identifier. C'est sur ​​ce maître que l'administrateur doit déverrouiller\n" +"l'utilisateur.\n" "\n" "EXEMPLES :\n" "\n" @@ -9950,149 +12400,9 @@ msgstr "" " ipa user-del tuser1\n" "\n" -msgid "Kerberos keys available" -msgstr "Clés Kerberos disponibles" - -msgid "Failed logins" -msgstr "Connexions échouées" - -msgid "Last successful authentication" -msgstr "Dernière authentification réussie" - -msgid "Last failed authentication" -msgstr "Dernière authentification échouée" - -msgid "Time now" -msgstr "Heure actuelle" - -msgid "must be TRUE or FALSE" -msgstr "doit être TRUE ou FALSE" - -msgid "User login" -msgstr "Identifiant de connexion" - -msgid "First name" -msgstr "Prénom" - -msgid "Last name" -msgstr "Nom" - -msgid "Full name" -msgstr "Nom complet" - -msgid "Display name" -msgstr "Nom affiché" - -msgid "Initials" -msgstr "Initiales" - -msgid "Home directory" -msgstr "Répertoire utilisateur" - -msgid "GECOS" -msgstr "GECOS" - -msgid "Login shell" -msgstr "Shell de connexion" - -msgid "Kerberos principal" -msgstr "Principal Kerberos" - -msgid "Email address" -msgstr "Adresse courriel" - -msgid "Prompt to set the user password" -msgstr "Invite de modification du mot de passe" - -msgid "Generate a random user password" -msgstr "Créer un mot de passe aléatoire" - -msgid "UID" -msgstr "UID" - -msgid "User ID Number (system will assign one if not provided)" -msgstr "" -"Numéro d'identifiant de l'utilisateur (le système en assignera un si non " -"spécifié)" - -msgid "Group ID Number" -msgstr "Numéro d'identifiant de groupe" - -msgid "Street address" -msgstr "Adresse" - -msgid "City" -msgstr "Ville" - -msgid "State/Province" -msgstr "État/province" - -msgid "ZIP" -msgstr "Code postal" - -msgid "Telephone Number" -msgstr "Numéro de téléphone" - -msgid "Mobile Telephone Number" -msgstr "Numéro de téléphone mobile" - -msgid "Pager Number" -msgstr "Numéro de téléavertisseur" - -msgid "Fax Number" -msgstr "Numéro de fax" - -msgid "Org. Unit" -msgstr "Unité organisationnelle" - -msgid "Job Title" -msgstr "Titre de poste" - -msgid "Car License" -msgstr "Carte d'identité" - msgid "Account disabled" msgstr "Compte désactivé" -msgid "User authentication types" -msgstr "Types d'authentification utilisateur" - -msgid "Types of supported user authentication" -msgstr "Types d'authentification utilisateur pris en charge" - -msgid "" -"User category (semantics placed on this attribute are for local " -"interpretation)" -msgstr "" -"Catégorie d'utilisateurs (les sémantiques associées à cet attribut vous sont " -"propres)" - -msgid "RADIUS proxy configuration" -msgstr "Configuration du mandataire RADIUS" - -msgid "RADIUS proxy username" -msgstr "Nom d'utilisateur du mandataire RADIUS" - -msgid "Department Number" -msgstr "Numéro de département" - -msgid "Employee Number" -msgstr "Matricule" - -msgid "Employee Type" -msgstr "Type d'employé" - -msgid "Preferred Language" -msgstr "Langue préférée" - -#, python-format -msgid "invalid e-mail format: %(email)s" -msgstr "format d'e-mail invalide : %(email)s" - -#, python-format -msgid "manager %(manager)s not found" -msgstr "responsable %(manager)s introuvable" - msgid "Add a new user." msgstr "Ajouter un nouvel utilisateur." @@ -10103,10 +12413,6 @@ msgstr "Utilisateur « %(value)s » ajouté" msgid "Don't create user private group" msgstr "Ne pas créer de groupe privé" -#, python-format -msgid "can be at most %(len)d characters" -msgstr "doit contenir au plus %(len)d caractères" - msgid "Default group for new users is not POSIX" msgstr "Le groupe par défaut des nouveaux utilisateurs n'est pas POSIX" @@ -10131,14 +12437,8 @@ msgid "Self" msgstr "Moi-même" msgid "Display user record for current Kerberos principal" -msgstr "" -"Afficher l'enregistrement utilisateur pour le principal Kerberos actuel" - -#, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "%(count)d utilisateur correspondant" -msgstr[1] "%(count)d utilisateurs correspondants" +msgstr "" +"Afficher l'enregistrement utilisateur pour le principal Kerberos en cours" msgid "Display information about a user." msgstr "Afficher l'information sur un utilisateur." @@ -10170,11 +12470,11 @@ msgstr "" "\n" " Déverrouiller un compte utilisateur\n" "\n" -" Un compte utilisateur peut se verrouiller si le mot de passe est saisi\n" -" de manière incorrecte de trop nombreuses fois sur une période précise\n" -" spécifiée par la politique de mot de passe. Le verrouillage d'un compte\n" -" est une situation temporaire et le compte peut être déverrouillé par un\n" -" administrateur." +" Un compte utilisateur peut se verrouiller si le mot de passe n'est pas\n" +" saisi correctement plusieurs fois de suite dans un laps de temps donné\n" +" défini par la politique du mot de passe. Le verrouillage d'un compte " +"est\n" +" un état temporaire ; il peut être déverrouillé par un administrateur." #, python-format msgid "Unlocked account \"%(value)s\"" @@ -10208,35 +12508,29 @@ msgid "" " means that the user may attempt a login again. " msgstr "" "\n" -" Verrouillage de l'état d'un compte utilisateur\n" +" État verrouillé d'un compte utilisateur\n" "\n" -" Un compte peut être verrouillé si un mot de passe incorrect est entre à " -"plusieurs\n" -" reprises pendant une période de temps donnée selon la règle de contrôle " -"des mots de\n" -" passe. Le verrouillage du compte est un état temporaire ; le compte peut " -"être\n" -" déverrouillé par un administrateur.\n" +" Un compte peut être verrouillé si un mot de passe incorrect est entre à\n" +" plusieurs reprises dans un laps de temps donnée selon la politique de\n" +" contrôle des mots de passe. Le verrouillage du compte est un état\n" +" temporaire ; le compte peut être déverrouillé par un administrateur.\n" "\n" -" Ce dernier se connecte sur l'IPA maître et affiche l'état verrouillé de\n" -" chacun.\n" +" Ce dernier se connecte sur l'IPA maître et affiche l'état du\n" +" verrouillage de chacun.\n" "\n" " Pour savoir si un compte est verrouillé sur un serveur donné, vous " "devez\n" " comparer le nombre d'échecs de connexion et l'heure du dernier échec.\n" -" Pour qu'un compte soit verrouillé, le nombre d'échecs doit dépasser le " -"maximum\n" -" autorisé dans le délai voulu tel que défini dans la règle pour le mot de " -"passe\n" -" correspondant à l'utilisateur.\n" +" Pour qu'un compte soit verrouillé, le nombre d'échecs doit dépasser le\n" +" maximum autorisé dans l'intervalle de temps donné tel que défini dans " +"la\n" +" politique de mot de passe propre à l'utilisateur.\n" "\n" -" Le compteur d'échecs de connexion n'est modifié que lorsqu'un " -"utilisateur tente une\n" -" connexion, il est donc possible qu'un compte apparaisse bloqué mais que " -"la dernière\n" -" tentative de connexion soit antérieure à la durée de verrouillage de la " -"règle. Cela\n" -" signifie que l'utilisateur peut tenter de connecter à nouveau." +" Le compteur d'échecs de connexion n'est incrémenté que lorsqu'un\n" +" utilisateur tente une connexion, il est donc possible qu'un compte\n" +" paraisse bloqué mais que la dernière tentative de connexion soit\n" +" antérieure à la durée de verrouillage de la règle. Cela\n" +" signifie que l'utilisateur peut tenter de se connecter à nouveau." #, python-format msgid "%(host)s failed: %(error)s" @@ -10250,6 +12544,373 @@ msgstr "%(host)s en échec" msgid "Account disabled: %(disabled)s" msgstr "Compte désactivé : %(disabled)s" +msgid "" +"\n" +"Vaults\n" +msgstr "" +"\n" +"Coffres-forts (vaults)\n" + +msgid "" +"\n" +"Manage vaults.\n" +msgstr "" +"\n" +"Gestion des coffres-forts.\n" + +msgid "" +"\n" +" List private vaults:\n" +" ipa vault-find\n" +msgstr "" +"\n" +" Énumérer les coffres-forts privés :\n" +" ipa vault-find\n" + +msgid "" +"\n" +" List service vaults:\n" +" ipa vault-find --service \n" +msgstr "" +"\n" +" Énumérer les coffres-forts pour un service :\n" +" ipa vault-find --service \n" + +msgid "" +"\n" +" List shared vaults:\n" +" ipa vault-find --shared\n" +msgstr "" +"\n" +" Énumérer les coffres-forts partagés :\n" +" ipa vault-find --shared\n" + +msgid "" +"\n" +" List user vaults:\n" +" ipa vault-find --user \n" +msgstr "" +"\n" +" Énumérer les coffres-forts d'un utilisateur :\n" +" ipa vault-find --user \n" + +msgid "" +"\n" +" Add a private vault:\n" +" ipa vault-add \n" +msgstr "" +"\n" +" Ajouter un coffre-fort privé :\n" +" ipa vault-add \n" + +msgid "" +"\n" +" Add a service vault:\n" +" ipa vault-add --service \n" +msgstr "" +"\n" +" Ajouter un coffre-fort de service :\n" +" ipa vault-add --service \n" + +msgid "" +"\n" +" Add a shared vault:\n" +" ipa vault-add --shared\n" +msgstr "" +"\n" +" Ajouter un coffre-fort partagé :\n" +" ipa vault-add --shared\n" + +msgid "" +"\n" +" Add a user vault:\n" +" ipa vault-add --user \n" +msgstr "" +"\n" +" Ajouter un coffre-fort d'utilisateur :\n" +" ipa vault-add --user \n" + +msgid "" +"\n" +" Show a private vault:\n" +" ipa vault-show \n" +msgstr "" +"\n" +" Show a private vault:\n" +" ipa vault-show \n" + +msgid "" +"\n" +" Show a service vault:\n" +" ipa vault-show --service \n" +msgstr "" +"\n" +" Afficher un coffre-fort privé :\n" +" ipa vault-show --service \n" + +msgid "" +"\n" +" Show a shared vault:\n" +" ipa vault-show --shared\n" +msgstr "" +"\n" +" Afficher un coffre-fort partagé :\n" +" ipa vault-show --shared\n" + +msgid "" +"\n" +" Show a user vault:\n" +" ipa vault-show --user \n" +msgstr "" +"\n" +" Afficher un coffre-fort d'utilisateur :\n" +" ipa vault-show --user \n" + +msgid "" +"\n" +" Modify a private vault:\n" +" ipa vault-mod --desc \n" +msgstr "" +"\n" +" Modifier un coffre-fort privé :\n" +" ipa vault-mod --desc \n" + +msgid "" +"\n" +" Modify a service vault:\n" +" ipa vault-mod --service --desc \n" +msgstr "" +"\n" +" Modifier un coffre-fort de service :\n" +" ipa vault-mod --service --desc \n" + +msgid "" +"\n" +" Modify a shared vault:\n" +" ipa vault-mod --shared --desc \n" +msgstr "" +"\n" +" Modifier un coffre-fort partagé :\n" +" ipa vault-mod --shared --desc \n" + +msgid "" +"\n" +" Modify a user vault:\n" +" ipa vault-mod --user --desc \n" +msgstr "" +"\n" +" Modifier un coffre-fort d'utilisateur :\n" +" ipa vault-mod --user --desc \n" + +msgid "" +"\n" +" Delete a private vault:\n" +" ipa vault-del \n" +msgstr "" +"\n" +" Supprimer un coffre-fort privé :\n" +" ipa vault-del \n" + +msgid "" +"\n" +" Delete a service vault:\n" +" ipa vault-del --service \n" +msgstr "" +"\n" +" Supprimer un coffre-fort de service :\n" +" ipa vault-del --service \n" + +msgid "" +"\n" +" Delete a shared vault:\n" +" ipa vault-del --shared\n" +msgstr "" +"\n" +" Supprimer un coffre-fort partagé :\n" +" ipa vault-del --shared\n" + +msgid "" +"\n" +" Delete a user vault:\n" +" ipa vault-del --user \n" +msgstr "" +"\n" +" Supprimer un coffre-fort d'utilisateur :\n" +" ipa vault-del --user \n" + +msgid "" +"\n" +" Display vault configuration:\n" +" ipa vault-config\n" +msgstr "" +"\n" +" Afficher la configuration des coffres-forts :\n" +" ipa vault-config\n" + +msgid "" +"\n" +" Archive data into private vault:\n" +" ipa vault-archive --in \n" +msgstr "" +"\n" +" Archiver des données dans un coffre-fort privé :\n" +" ipa vault-archive --in \n" + +msgid "" +"\n" +" Archive data into service vault:\n" +" ipa vault-archive --service --in \n" +msgstr "" +"\n" +" Archiver des données dans un coffre-fort de service :\n" +" ipa vault-archive --service --in \n" + +msgid "" +"\n" +" Archive data into shared vault:\n" +" ipa vault-archive --shared --in \n" +msgstr "" +"\n" +" Archiver des données dans un coffre-fort partagé :\n" +" ipa vault-archive --shared --in \n" + +msgid "" +"\n" +" Archive data into user vault:\n" +" ipa vault-archive --user --in \n" +msgstr "" +"\n" +" Archiver des données dans un coffre-fort d'utilisateur :\n" +" ipa vault-archive --user --in \n" + +msgid "" +"\n" +" Retrieve data from private vault:\n" +" ipa vault-retrieve --out \n" +msgstr "" +"\n" +" Récupérer des données d'un coffre-fort privé :\n" +" ipa vault-retrieve --out \n" + +msgid "" +"\n" +" Retrieve data from service vault:\n" +" ipa vault-retrieve --service --out \n" +msgstr "" +"\n" +" Récupérer des données d'un coffre-fort de service :\n" +" ipa vault-retrieve --service --out \n" + +msgid "" +"\n" +" Retrieve data from shared vault:\n" +" ipa vault-retrieve --shared --out \n" +msgstr "" +"\n" +" Récupérer des données d'un coffre-fort partagé :\n" +" ipa vault-retrieve --shared --out \n" + +msgid "" +"\n" +" Retrieve data from user vault:\n" +" ipa vault-retrieve --user --out \n" +msgstr "" +"\n" +" Récupérer des données d'un coffre-fort d'utilisateur :\n" +" ipa vault-retrieve --user --out \n" + +msgid "Shared vault" +msgstr "Coffre-fort partagé" + +msgid "" +"\n" +" Vault object.\n" +" " +msgstr "" +"\n" +" Objet coffre-fort.\n" +" " + +msgid "vault" +msgstr "coffre-fort" + +msgid "vaults" +msgstr "coffres-forts" + +msgid "Vaults" +msgstr "Coffres-forts" + +msgid "Vault" +msgstr "Coffre-fort" + +msgid "Vault name" +msgstr "Nom du coffre-fort" + +msgid "Vault description" +msgstr "Description du coffre-fort" + +msgid "Create a new vault." +msgstr "Créer un nouveau coffre-fort." + +#, python-format +msgid "Added vault \"%(value)s\"" +msgstr "Ajout de « %(value)s » au coffre" + +msgid "KRA service is not enabled" +msgstr "Le service KRA est désactivé" + +msgid "Delete a vault." +msgstr "Supprimer un coffre-fort." + +#, python-format +msgid "Deleted vault \"%(value)s\"" +msgstr "Valeur « %(value)s » supprimée du coffre" + +msgid "Search for vaults." +msgstr "Rechercher des coffres-forts" + +#, python-format +msgid "%(count)d vault matched" +msgid_plural "%(count)d vaults matched" +msgstr[0] "%(count)d coffre-fort correspondant" +msgstr[1] "%(count)d coffre-forts correspondants" + +msgid "Modify a vault." +msgstr "Modifier un coffre-fort." + +#, python-format +msgid "Modified vault \"%(value)s\"" +msgstr "Coffre-fort « %(value)s » modifié" + +msgid "Display information about a vault." +msgstr "Afficher des informations sur un coffre-fort." + +msgid "Vault configuration" +msgstr "Configuration du coffre-fort" + +msgid "Transport Certificate" +msgstr "Certificat de transport" + +msgid "Show vault configuration." +msgstr "Afficher la configuration du coffre-fort." + +msgid "Archive data into a vault." +msgstr "Archiver des données dans un coffre-fort." + +#, python-format +msgid "Archived data into vault \"%(value)s\"" +msgstr "Données archivées dans le coffre-fort « %(value)s »" + +msgid "Vault data encrypted with session key" +msgstr "Les données du coffre-fort sont chiffrées avec la clé de session" + +msgid "Retrieve a data from a vault." +msgstr "Récupérer une donnée depuis un coffre-fort" + +#, python-format +msgid "Retrieved data from vault \"%(value)s\"" +msgstr "Donnée récupérée depuis le coffre-fort « %(value)s »" + msgid "operation not defined" msgstr "opération non définie" @@ -10260,10 +12921,10 @@ msgid "No such virtual command" msgstr "Commande virtuelle inconnue" msgid "any of the configured servers" -msgstr "n'importe lequel des serveurs configurés" +msgstr "n'importe quel serveur configuré" msgid "could not allocate unique new session_id" -msgstr "impossible d'allouer un unique session_id" +msgstr "impossible d'allouer un seul « session_id »" msgid "Filename is empty" msgstr "Le nom de fichier est vide" @@ -10272,28 +12933,25 @@ msgstr "Le nom de fichier est vide" msgid "Permission denied: %(file)s" msgstr "Autorisation refusée : %(file)s" +msgid "empty DNS label" +msgstr "libellé DNS vide" + msgid "DNS label cannot be longer that 63 characters" -msgstr "un libellé DNS ne peut excéder 63 caractères" +msgstr "un libellé DNS ne peut pas dépasser 63 caractères" #, python-format msgid "" "only letters, numbers, %(chars)s are allowed. DNS label may not start or end " "with %(chars2)s" msgstr "" -"seuls des lettres, des nombres, des %(chars)s sont autorisés. Les noms DNS " -"ne peuvent commencer ou se terminer par %(chars2)s" +"uniquement lettres, nombres, %(chars)s sont autorisés. Les noms DNS ne " +"peuvent commencer ou se terminer par %(chars2)s" msgid "too many '@' characters" -msgstr "trop de caractères '@'" - -msgid "missing address domain" -msgstr "domaine d'adresse manquant" - -msgid "missing mail account" -msgstr "compte de messagerie manquant" +msgstr "trop de caractères « @ »" msgid "cannot be longer that 255 characters" -msgstr "ne peut excéder 255 caractères." +msgstr "ne peut pas dépasser 255 caractères." msgid "hostname contains empty label (consecutive dots)" msgstr "le nom d'hôte contient un libellé vide (plusieurs points consécutifs)" @@ -10310,12 +12968,29 @@ msgstr "les options ne sont pas autorisées" msgid "invalid hostmask" msgstr "masque d'hôte invalide" +msgid "invalid escape code in domain name" +msgstr "code d'échappement invalide dans le nom du domaine" + +msgid "domain name cannot be longer than 255 characters" +msgstr "le nom de domaine ne peut pas dépasser 255 caractères" + +msgid "DNS label cannot be longer than 63 characters" +msgstr "un libellé de DNS ne peut pas dépasser 63 caractères" + +msgid "invalid domain name" +msgstr "nom de domaine invalide" + +#, python-format +msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" +msgstr "" +"le nom de domaine « %(domain)s » doit être normalisé à : %(normalized)s" + msgid "improperly formatted DER-encoded certificate" -msgstr "formatage incorrect du certificat encodé DER" +msgstr "format incorrect du certificat encodé DER" #, python-format msgid "Issuer \"%(issuer)s\" does not match the expected issuer" -msgstr "L'Émetteur « %(issuer)s » ne correspond pas à l'émetteur attendu" +msgstr "L'émetteur « %(issuer)s » ne correspond pas à l'émetteur attendu" #, python-format msgid "Retrieving CA cert chain failed: %s" @@ -10341,15 +13016,13 @@ msgid "" "and Samba4 python bindings.\n" msgstr "" "\n" -"Classes permettant de gérer les insertions d'approbations utilisant les " -"appels DCE-RPC\n" +"Classes pour gérer des jonctions de confiance avec des appels DCE-RPC\n" "\n" -"Le code de ce module s'appuie en majeure partie sur le paquet samba4-python " -"package\n" -"and Samba4 python bindings.\n" +"Le code de ce module s'appuie pour l'essentiel sur le paquet\n" +"« samba4-python » et les liaisons python de Samba4.\n" msgid "CIFS server denied your credentials" -msgstr "Le serveur CIFS a refusé vos informations d'identification" +msgstr "Le serveur CIFS a refusé vos justificatifs d'identité" msgid "communication with CIFS server was unsuccessful" msgstr "la communication avec le serveur CIFS a échoué" @@ -10360,83 +13033,91 @@ msgstr "Contrôleur de domaine AD" msgid "unsupported functional level" msgstr "niveau de fonctionnalité non pris en charge" +msgid "" +"AD domain controller complains about communication sequence. It may mean " +"unsynchronized time on both sides, for example" +msgstr "" +"Le contrôleur de domaine AD se plaint à propos de la suite de mise en " +"communication. Cela peut signifier qu'il y a de mauvaises synchronisations " +"de l'un ou l'autre côté, par exemple." + msgid "Cannot find specified domain or server name" msgstr "Impossible de trouver le domaine ou le serveur indiqué" msgid "At least the domain or IP address should be specified" -msgstr "Au moins un nom de domaine ou une adresse IP doit être indiquée" +msgstr "Au moins un nom de domaine ou une adresse IP doit être indiqué" #, python-format msgid "" "CIFS server communication error: code \"%(num)s\",\n" " message \"%(message)s\" (both may be \"None\")" msgstr "" -"Erreur de communication avec le serveur CIFS : code  «%(num)s »,\n" -" message « %(message)s » (les deux pouvant être vides)" +"Erreur de communication avec le serveur CIFS : code  « %(num)s »,\n" +" message « %(message)s » (les deux peuvent être « None »)" msgid "no trusted domain is configured" -msgstr "pas de relation d'approbation configurée" +msgstr "pas de relation de confiance configurée" msgid "domain is not configured" msgstr "le domaine n'est pas configuré" msgid "SID is not valid" -msgstr "Le SID est invalide" +msgstr "Le SID n'est pas valide" msgid "SID does not match exactlywith any trusted domain's SID" -msgstr "Le SID ne correspond à aucun SID du domaine approuvé" +msgstr "Le SID ne correspond exactement à aucun SID du domaine de confiance" msgid "SID does not match any trusted domain" -msgstr "Le SID ne correspond à aucun domaine approuvé" +msgstr "Le SID ne correspond à aucun domaine de confiance" msgid "Trust setup" -msgstr "Configuration des relations d'approbation" +msgstr "Configuration des relations de confiance" msgid "Our domain is not configured" msgstr "Notre domaine n'est pas configuré" msgid "No trusted domain is not configured" -msgstr "Aucun domaine approuvé n'est pas configuré" +msgstr "Aucun domaine de confiance n'est pas configuré" msgid "trusted domain object" -msgstr "objet domaine approuvé" +msgstr "objet domaine de confiance" msgid "domain is not trusted" -msgstr "le domaine n'est pas approuvé" +msgstr "le domaine n'est pas de confiance" msgid "no trusted domain matched the specified flat name" -msgstr "aucun domaine approuvé ne correspond au nom spécifié" +msgstr "aucun domaine de confiance ne correspond au nom simple indiqué" msgid "trusted domain object not found" -msgstr "objet relation d'approbation introuvable" +msgstr "objet relation de confiance introuvable" msgid "Ambiguous search, user domain was not specified" -msgstr "Recherche ambigüe, le domaine utilisateur n'a pas été spécifié" +msgstr "Recherche ambiguë, le domaine utilisateur n'a pas été indiqué" msgid "Trusted domain did not return a unique object" -msgstr "Le domaine approuvé n'a pas renvoyé un unique objet" +msgstr "Le domaine de confiance n'a pas renvoyé un objet unique" msgid "Trusted domain did not return a valid SID for the object" -msgstr "Le domaine approuvé n'a pas renvoyé un SID valide pour l'objet" +msgstr "Le domaine de confiance n'a pas renvoyé un SID valide pour l'objet" msgid "trusted domain user not found" -msgstr "utilisateur de domaine approuvé introuvable" +msgstr "utilisateur de domaine de confiance introuvable" msgid "Cannot retrieve trusted domain GC list" -msgstr "Impossible de récupérer la liste de GC pour le domaine approuvé" +msgstr "Impossible de récupérer la liste GC du domaine de confiance" msgid "CIFS credentials object" -msgstr "Objet identification CIFS" +msgstr "Objet justificatif d'identité de CIFS" #, python-format msgid "CIFS server %(host)s denied your credentials" -msgstr "Le serveur CIFS %(host)s a refusé vos informations d'identification" +msgstr "Le serveur CIFS %(host)s a refusé vos justificatifs d'identité" #, python-format msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" msgstr "" "Impossible d'établir la connexion LSA vers %(host)s. Le serveur CIFS est-il " -"en fonction ?" +"en cours d'exécution ?" #, python-format msgid "" @@ -10454,11 +13135,11 @@ msgstr "Impossible de communiquer avec le CMS" msgid "find not supported on CAs upgraded from 9 to 10" msgstr "" -"la recherche n'est pas prise en charge sur les AC mises à jour de la version " -"9 à la version 10" +"recherche non prise en charge sur les CA mis à jour de la version 9 à la " +"version 10" msgid "The hostname to register as" -msgstr "Le nom d'hôte sous lequel s'enregistrer" +msgstr "Le nom d'hôte sous lequel enregistrer" msgid "The IPA realm" msgstr "Le domaine IPA" @@ -10467,16 +13148,21 @@ msgid "Hardware platform of the host (e.g. Lenovo T61)" msgstr "Plate-forme matérielle de l'hôte (par ex. Lenovo T61)" msgid "Operating System and version of the host (e.g. Fedora 9)" -msgstr "Système d'exploitation et version du système (par ex. Fedora 9)" +msgstr "Système d'exploitation et version de l'hôte (par ex. Fedora 9)" #, python-format msgid "" "Insufficient 'write' privilege to the 'krbLastPwdChange' attribute of entry " "'%s'." msgstr "" -"Privilège en écriture insuffisant sur l'attribut « krbLastPwdChange » de " +"Privilège « write » insuffisant pour l'attribut « krbLastPwdChange » de " "l'entrée « %s »." +msgid "Could not read UPG Definition originfilter. Check your permissions." +msgstr "" +"Impossible de lire « originfilter » de « UPG Definition ». Vérifiez vos " +"permissions." + msgid "Request must be a dict" msgstr "La requête doit être un dictionnaire" @@ -10487,16 +13173,16 @@ msgid "Request is missing \"params\"" msgstr "Il manque le paramètre « params » à la requête" msgid "params must be a list" -msgstr "params doit être une liste" +msgstr "« params » doit être une liste" msgid "params must contain [args, options]" -msgstr "params doit contenir [args, options]" +msgstr "« params » doit contenir [args, options]" msgid "params[0] (aka args) must be a list" -msgstr "params[0] (args) doit être une liste" +msgstr "« params[0] » (alias « args ») doit être une liste" msgid "params[1] (aka options) must be a dict" -msgstr "params[1] (options) doit être un dictionnaire " +msgstr "« params[1] » (alias « options ») doit être un dictionnaire " #, c-format msgid "cannot open configuration file %s\n" @@ -10504,7 +13190,7 @@ msgstr "impossible d'ouvrir le fichier de configuration %s\n" #, c-format msgid "cannot stat() configuration file %s\n" -msgstr "impossible d'utiliser stat() sur le fichier de configuration %s\n" +msgstr "impossible d'utiliser « stat() » sur le fichier de configuration %s\n" #, c-format msgid "out of memory\n" @@ -10531,24 +13217,44 @@ msgid "Out of memory \n" msgstr "Mémoire saturée\n" #, c-format +msgid "Unable to set LDAP_OPT_X_TLS_CERTIFICATE\n" +msgstr "Impossible de paramétrer LDAP_OPT_X_TLS_CERTIFICATE\n" + +#, c-format +msgid "Unable to init for ldaps(636) connection\n" +msgstr "Impossible d'initialiser une connexion « ldaps(636) »\n" + +#, c-format +msgid "Unable to set LDAP_OPT_X_TLS\n" +msgstr "Impossible de paramétrer LDAP_OPT_X_TLS\n" + +#, c-format +msgid "Unable to init for ldap(389) connection\n" +msgstr "Impossible d'initialiser une connexion « ldap(389) »\n" + +#, c-format msgid "Unable to initialize ldap library!\n" msgstr "Impossible d'initialiser la bibliothèque LDAP !\n" #, c-format msgid "Unable to set LDAP_OPT_X_SASL_NOCANON\n" -msgstr "Impossible de positionner LDAP_OPT_X_SASL_NOCANON\n" +msgstr "Impossible de définir LDAP_OPT_X_SASL_NOCANON\n" + +#, c-format +msgid "Unable to set LDAP_OPT_PROTOCOL_VERSION\n" +msgstr "Impossible de définir LDAP_OPT_PROTOCOL_VERSION\n" #, c-format msgid "Simple bind failed\n" msgstr "Échec de la connexion simple\n" #, c-format -msgid "Operation failed! %s\n" -msgstr "Échec de l'opération %s !\n" +msgid "Missing reply control list!\n" +msgstr "Absence de liste de contrôle des réponses !\n" #, c-format msgid "Missing reply control!\n" -msgstr "Absence de contrôle dans la réponse !\n" +msgstr "Absence de contrôle de réponse !\n" #, c-format msgid "Out of Memory!\n" @@ -10559,12 +13265,20 @@ msgid "Failed to create control!\n" msgstr "Échec à la création du contrôle !\n" #, c-format +msgid "Failed to bind to server!\n" +msgstr "La liaison au serveur a échoué !\n" + +#, c-format +msgid "Failed to get keytab!\n" +msgstr "Échec d'obtention du tableau de clés !\n" + +#, c-format msgid "ber_init() failed, Invalid control ?!\n" -msgstr "Échec de ber_init(), contrôle invalide ?!\n" +msgstr "Échec de « ber_init() », contrôle invalide ?!\n" #, c-format msgid "ber_scanf() failed, unable to find kvno ?!\n" -msgstr "échec de ber_scanf() failed, kvno introuvable ?!\n" +msgstr "échec de « ber_scanf() », « kvno » introuvable ?!\n" #, c-format msgid "Failed to retrieve encryption type type #%d\n" @@ -10576,48 +13290,45 @@ msgstr "Échec lors de la récupération du type de chiffrement %1$s (#%2$d)\n" #, c-format msgid "Failed to retrieve any keys" -msgstr "Échec lors de la récupération des clés" - -#, c-format -msgid "Out of memory!\n" -msgstr "Mémoire saturée !\n" +msgstr "Échec lors de la récupération de toute clé" msgid "New Principal Password" msgstr "Nouveau mot de passe du principal" msgid "Verify Principal Password" -msgstr "Vérfier le mot de passe du principal" +msgstr "Vérifier le mot de passe du principal" msgid "Print as little as possible" -msgstr "Affiche aussi peu que possible" +msgstr "Afficher aussi peu que possible" msgid "Output only on errors" -msgstr "N'affiche que les erreurs" +msgstr "N'afficher que les erreurs" msgid "Contact this specific KDC Server" -msgstr "Contacter ce serveur KDC spécifique" +msgstr "Contacter ce serveur KDC particulier" msgid "Server Name" -msgstr "Nom de serveur" +msgstr "Nom du serveur" msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -"Le principal pour lequel obtenir le (par ex: ftp/ftp.example.com@EXAMPLE.COM)" +"Le principal pour lequel obtenir un tableau de clés (par ex: ftp/ftp.example." +"com@EXAMPLE.COM)" msgid "Kerberos Service Principal Name" msgstr "Nom de principal de service Kerberos" msgid "File were to store the keytab information" -msgstr "Fichier dans lequel stocker l'information de keytab" +msgstr "Fichier dans lequel stocker l'information du tableau de clés" msgid "Keytab File Name" -msgstr "Nom de fichier keytab" +msgstr "Nom de fichier du tableau de clés" msgid "Encryption types to request" msgstr "Type de chiffrement à demander" msgid "Comma separated encryption types list" -msgstr "Liste séparée par des virgules des types de chiffrement" +msgstr "Liste, séparée par des virgules, des types de chiffrement" msgid "Show the list of permitted encryption types and exit" msgstr "Affiche la liste des types de chiffrement autorisés, et sort." @@ -10632,7 +13343,7 @@ msgid "LDAP DN" msgstr "DN LDAP" msgid "DN to bind as if not using kerberos" -msgstr "DN à utiliser pour la connexion en cas de non-utilisation de kerberos" +msgstr "DN à utiliser pour la connexion en cas de non-utilisation de Kerberos" msgid "LDAP password" msgstr "Mot de passe LDAP" @@ -10640,7 +13351,10 @@ msgstr "Mot de passe LDAP" msgid "password to use if not using kerberos" msgstr "" "mot de passe à utiliser pour la connexion en cas de non-utilisation de " -"kerberos" +"Kerberos" + +msgid "Retrieve current keys without changing them" +msgstr "Retrouver les clés courantes sans les modifier" #, c-format msgid "Kerberos context initialization failed\n" @@ -10648,11 +13362,11 @@ msgstr "Échec de l'initialisation du contexte Kerberos\n" #, c-format msgid "No system preferred enctypes ?!\n" -msgstr "Pas d'enctypes préféré sur le système ?!\n" +msgstr "Aucune préférence de type de chiffrement sur le système ?!\n" #, c-format msgid "Supported encryption types:\n" -msgstr "Type de chiffrements supportés :\n" +msgstr "Type de chiffrements pris en charge :\n" #, c-format msgid "Warning: failed to convert type (#%d)\n" @@ -10661,14 +13375,17 @@ msgstr "Avertissement : échec de conversion de type (#%d)\n" #, c-format msgid "Bind password required when using a bind DN.\n" msgstr "" -"Mot de passe de connexion requis lors de l'utilisation d'un DN de " -"connexion.\n" +"Mot de passe de laison requis lors de l'utilisation d'un DN de liaison.\n" + +#, c-format +msgid "Incompatible options provided (-r and -P)\n" +msgstr "Options incompatibles indiquées (-r et -P)\n" #, c-format msgid "" "Warning: salt types are not honored with randomized passwords (see opt. -P)\n" msgstr "" -"Avertissement : les types de sels ne sont pas utilisés avec les mots de " +"Avertissement : les types « salt » ne sont pas traités avec des mots de " "passe aléatoires (cf. option -P)\n" #, c-format @@ -10678,46 +13395,56 @@ msgstr "Nom de principal de service invalide\n" #, c-format msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n" msgstr "" -"Cache de crédits Kerberos introuvable. Possédez-vous un ticket Kerberos ?\n" +"Cache des justificatifs d'identité Kerberos introuvable. Possédez-vous un " +"ticket Kerberos ?\n" #, c-format msgid "" "Kerberos User Principal not found. Do you have a valid Credential Cache?\n" msgstr "" -"Principal d'utilisateur Kerberos introuvable. Possédez-vous un cache de " -"crédits Kerberos ?\n" +"Principal d'utilisateur Kerberos introuvable. Avez-vous un cache de " +"justificatifs d'identité Kerberos ?\n" #, c-format msgid "Failed to open Keytab\n" -msgstr "Échec à l'ouverture du keytab\n" +msgstr "Échec à l'ouverture du tableau de clés\n" + +#, c-format +msgid "Retrying with pre-4.0 keytab retrieval method...\n" +msgstr "Nouvelle tentative de récupération avec la méthode pre-4.0...\n" #, c-format msgid "Failed to create key material\n" msgstr "Échec de création du contenu de la clé\n" #, c-format +msgid "Failed to get keytab\n" +msgstr "Échec à l'obtention du tableau de clés\n" + +#, c-format msgid "Failed to add key to the keytab\n" -msgstr "Échec lors de l'ajout de la clé au keytab\n" +msgstr "Échec lors de l'ajout de la clé au tableau\n" #, c-format msgid "Failed to close the keytab\n" -msgstr "Échec à la fermeture du keytab\n" +msgstr "Échec à la fermeture du tableau de clés\n" #, c-format msgid "Keytab successfully retrieved and stored in: %s\n" -msgstr "Récupération du keytab et stockage avec succès dans : %s\n" +msgstr "Récupération du tableau de clés et stockage avec succès dans : %s\n" #, c-format msgid "No permission to join this host to the IPA domain.\n" -msgstr "Inscription de cet hôte au domaine IPA interdite.\n" +msgstr "Pas d'autorisation pour joindre cet hôte dans le domaine IPA.\n" #, c-format msgid "No write permissions on keytab file '%s'\n" -msgstr "Pas de permissions en écriture sur le fichier keytab « %s »\n" +msgstr "" +"Pas de permission en écriture sur le fichier « %s » du tableau de clés\n" #, c-format msgid "access() on %1$s failed: errno = %2$d\n" -msgstr "Échec de access() sur %1$s : errno = %2$d\n" +msgstr "Échec de « access() » sur %1$s : erreur n°= %2$d\n" #, c-format msgid "Out of memory!" @@ -10725,7 +13452,7 @@ msgstr "Mémoire saturée !" #, c-format msgid "Unable to initialize connection to ldap server: %s" -msgstr "Impossible d'établir la connexion au serveur LDAP : %s" +msgstr "Impossible d'établir la connexion sur le serveur LDAP : %s" #, c-format msgid "Unable to enable SSL in LDAP\n" @@ -10733,15 +13460,15 @@ msgstr "Impossible d'activer SSL dans LDAP\n" #, c-format msgid "Unable to set LDAP version\n" -msgstr "Impossible de positionner la version LDAP\n" +msgstr "Impossible de définir une version LDAP\n" #, c-format msgid "Bind failed: %s\n" -msgstr "Échec de bind : %s\n" +msgstr "Échec de « bind » : %s\n" #, c-format msgid "Search for %1$s on rootdse failed with error %2$d\n" -msgstr "La recherche de %1$s sur rootdse a échoué avec l'erreur %2$d\n" +msgstr "La recherche de %1$s sur « rootdse » a échoué avec l'erreur %2$d\n" #, c-format msgid "No values for %s" @@ -10749,15 +13476,20 @@ msgstr "Aucune valeur pour %s" #, c-format msgid "Search for IPA namingContext failed with error %d\n" -msgstr "La recherche du namingContext d'IPA a échoué avec l'erreur %d\n" +msgstr "La recherche du « namingContext » d'IPA a échoué avec l'erreur %d\n" #, c-format msgid "IPA namingContext not found\n" -msgstr "namingContext IPA introuvable\n" +msgstr "« namingContext » d'IPA introuvable\n" + +#, c-format +msgid "Out of memory!\n" +msgstr "Mémoire saturée !\n" #, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" -msgstr "Échec de la recherche de ipaCertificateSubjectBase avec une erreur %d" +msgstr "" +"La recherche de « ipaCertificateSubjectBase » a échoué avec l'erreur %d" #, c-format msgid "Unable to determine root DN of %s\n" @@ -10781,7 +13513,7 @@ msgstr "principal introuvable dans la réponse XML-RPC\n" #, c-format msgid "Host is already joined.\n" -msgstr "Hôte déjà inscrit.\n" +msgstr "Hôte déjà joint.\n" #, c-format msgid "Unable to determine IPA server from %s\n" @@ -10794,16 +13526,16 @@ msgstr "Le nom d'hôte doit être pleinement qualifié : %s\n" #, c-format msgid "Unable to join host: Kerberos context initialization failed\n" msgstr "" -"Impossible d'inscrire l'hôte : échec à l'initialisation du contexte " -"Kerberos\n" +"Impossible de joindre l'hôte : l'initialisation du contexte Kerberos a " +"échoué\n" #, c-format msgid "Error resolving keytab: %s.\n" -msgstr "Erreur à la résolution du keytab : %s.\n" +msgstr "Erreur à la résolution du tableau de clés : %s.\n" #, c-format msgid "Error getting default Kerberos realm: %s.\n" -msgstr "Erreur lors de l'obtention du domaine Kerberos par défaut : %s.\n" +msgstr "Erreur à l'obtention du royaume Kerberos par défaut : %s.\n" #, c-format msgid "Error parsing \"%1$s\": %2$s.\n" @@ -10811,15 +13543,16 @@ msgstr "Erreur à l'analyse de « %1$s » : %2$s.\n" #, c-format msgid "Error obtaining initial credentials: %s.\n" -msgstr "Impossible d'obtenir les crédits initiaux : %s.\n" +msgstr "Impossible d'obtenir les justificatifs d'identité initiaux : %s.\n" #, c-format msgid "Unable to generate Kerberos Credential Cache\n" -msgstr "Impossible de créer le cache de crédits Kerberos\n" +msgstr "Impossible de créer le cache des justificatifs d'identité Kerberos\n" #, c-format msgid "Error storing creds in credential cache: %s.\n" -msgstr "Erreur lors du stockage des crédits dans le cache : %s.\n" +msgstr "" +"Erreur lors du stockage des justificatifs d'identité dans le cache : %s.\n" #, c-format msgid "Unenrollment successful.\n" @@ -10835,35 +13568,37 @@ msgstr "résultat de la réponse XML-RPC introuvable\n" #, c-format msgid "The hostname must not be: %s\n" -msgstr "Le nom d'hôte ne peut être : %s\n" +msgstr "Le nom d'hôte ne doit pas être : %s\n" #, c-format msgid "Unable to join host: Kerberos Credential Cache not found\n" -msgstr "Impossible d'inscrire l'hôte : cache de crédit Kerberos introuvable\n" +msgstr "" +"Impossible de joindre l'hôte : cache des justificatifs d'identité Kerberos " +"introuvable\n" #, c-format msgid "" "Unable to join host: Kerberos User Principal not found and host password not " "provided.\n" msgstr "" -"Impossible d'inscrire l'hôte : Principal d'utilisateur Kerberos introuvable " +"Impossible de joindre l'hôte : principal d'utilisateur Kerberos introuvable " "et mot de passe non fourni.\n" #, c-format msgid "fork() failed\n" -msgstr "echec de fork()\n" +msgstr "echec de « fork() »\n" #, c-format msgid "ipa-getkeytab not found\n" -msgstr "ipa-getkeytab introuvable\n" +msgstr "« ipa-getkeytab » introuvable\n" #, c-format msgid "ipa-getkeytab has bad permissions?\n" -msgstr "ipa-getkeytab a des permissions incorrectes ?\n" +msgstr "« ipa-getkeytab » a des permissions incorrectes ?\n" #, c-format msgid "executing ipa-getkeytab failed, errno %d\n" -msgstr "échec de l'exécution de ipa-getkeytab, errno %d\n" +msgstr "échec de l'exécution de « ipa-getkeytab », erreur n° %d\n" #, c-format msgid "child exited with %d\n" @@ -10871,13 +13606,13 @@ msgstr "processus fils terminé avec %d\n" #, c-format msgid "Certificate subject base is: %s\n" -msgstr "Le sujet de base du certificat est : %s\n" +msgstr "La base du sujet du certificat est : %s\n" msgid "Print the raw XML-RPC output in GSSAPI mode" msgstr "Affiche la sortie XML-RPC brute en mode GSSAPI" msgid "Quiet mode. Only errors are displayed." -msgstr "Mode silencieux. Seules les erreurs sont affichées." +msgstr "Mode discret. Seules les erreurs sont affichées." msgid "Unenroll this host from IPA server" msgstr "Désinscrire cet hôte du serveur IPA" @@ -10892,7 +13627,7 @@ msgid "IPA Server to use" msgstr "Serveur IPA à utiliser" msgid "Specifies where to store keytab information." -msgstr "Spécifie où stocker l'information keytab." +msgstr "Indique où stocker l'information du tableau de clés." msgid "filename" msgstr "nom de fichier" @@ -10909,10 +13644,10 @@ msgid "password" msgstr "mot de passe" msgid "LDAP basedn" -msgstr "basedn LDAP" +msgstr "« basedn » de LDAP" msgid "basedn" -msgstr "basedn" +msgstr "« basedn »" #, c-format msgid "Unable to parse principal name\n" @@ -10920,7 +13655,7 @@ msgstr "Impossible d'analyser le nom du principal\n" #, c-format msgid "krb5_parse_name %1$d: %2$s\n" -msgstr "krb5_parse_name %1$d : %2$s\n" +msgstr "« krb5_parse_name » %1$d : %2$s\n" #, c-format msgid "Removing principal %s\n" @@ -10928,7 +13663,7 @@ msgstr "Suppression du principal %s\n" #, c-format msgid "Failed to open keytab\n" -msgstr "Impossible d'ouvrir le keytab\n" +msgstr "Impossible d'ouvrir le tableau de clés\n" #, c-format msgid "principal not found\n" @@ -10936,7 +13671,7 @@ msgstr "principal introuvable\n" #, c-format msgid "krb5_kt_get_entry %1$d: %2$s\n" -msgstr "krb5_kt_get_entry %1$d : %2$s\n" +msgstr "« krb5_kt_get_entry » %1$d : %2$s\n" #, c-format msgid "Unable to remove entry\n" @@ -10944,11 +13679,11 @@ msgstr "Impossible de supprimer l'entrée\n" #, c-format msgid "kvno %d\n" -msgstr "kvno %d\n" +msgstr "« kvno » %d\n" #, c-format msgid "krb5_kt_remove_entry %1$d: %2$s\n" -msgstr "krb5_kt_remove_entry %1$d : %2$s\n" +msgstr "« krb5_kt_remove_entry » %1$d : %2$s\n" #, c-format msgid "Unable to parse principal\n" @@ -10956,7 +13691,7 @@ msgstr "Impossible d'analyser le principal\n" #, c-format msgid "krb5_unparse_name %1$d: %2$s\n" -msgstr "krb5_unparse_name %1$d : %2$s\n" +msgstr "« krb5_unparse_name » %1$d : %2$s\n" #, c-format msgid "realm not found\n" @@ -10968,12 +13703,23 @@ msgstr "Affiche les informations de débogage" msgid "Debugging output" msgstr "Sortie de débogage" +msgid "" +"The principal to remove from the keytab (ex: ftp/ftp.example.com@EXAMPLE.COM)" +msgstr "" +"Le principal à supprimer d'un tableau de clés (par ex. : ftp/ftp.example." +"com@EXAMPLE.COM)" + +msgid "The keytab file to remove the principcal(s) from" +msgstr "" +"Le fichier tableau de clés duquel il faut retirer le principal ou les " +"principaux." + msgid "Remove all principals in this realm" -msgstr "Retirer tous les principals de ce royaume" +msgstr "Supprimer tous les principaux de ce royaume" #, c-format msgid "Failed to open keytab '%1$s': %2$s\n" -msgstr "Échec lors de l'ouverture de la keytab « %1$s » : %2$s\n" +msgstr "Échec de l'ouverture du tableau de clés « %1$s » : %2$s\n" #, c-format msgid "Closing keytab failed\n" @@ -10981,7 +13727,7 @@ msgstr "La fermeture du tableau des clés a échoué\n" #, c-format msgid "krb5_kt_close %1$d: %2$s\n" -msgstr "krb5_kt_close %1$d : %2$s\n" +msgstr "« krb5_kt_close » %1$d : %2$s\n" msgid "Out of memory\n" msgstr "Mémoire saturée\n" @@ -10990,19 +13736,19 @@ msgid "Warning unrecognized encryption type.\n" msgstr "Avertissement, type de chiffrement inconnu.\n" msgid "Warning unrecognized salt type.\n" -msgstr "Avertissement, type de sel inconnu.\n" +msgstr "Avertissement, type « salt » inconnu.\n" msgid "Out of memory!?\n" msgstr "Mémoire saturée !?\n" msgid "Enctype comparison failed!\n" -msgstr "Échec de comparaison enctype !\n" +msgstr "Échec de comparaison du « enctype » !\n" msgid "Failed to create random key!\n" -msgstr "Échec à la création de la clé aléatoire !\n" +msgstr "Échec de création d'une clé aléatoire !\n" msgid "Failed to create key!\n" -msgstr "Échec à la création de la clé !\n" +msgstr "Échec de création de la clé !\n" msgid "Bad or unsupported salt type.\n" -msgstr "Type de sel non-conforme ou non pris en compte.\n" +msgstr "Type « salt » non-conforme ou non pris en compte.\n" diff --git a/install/po/hi.po b/install/po/hi.po index 7e91535..b809a9b 100644 --- a/install/po/hi.po +++ b/install/po/hi.po @@ -6,19 +6,20 @@ # solomonsunder , 2014 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-04 21:21+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-07-04 05:21-0400\n" "Last-Translator: solomonsunder \n" "Language-Team: Hindi (http://www.transifex.com/projects/p/freeipa/language/" "hi/)\n" "Language: hi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " diff --git a/install/po/hu.po b/install/po/hu.po index 72a46f3..5050405 100644 --- a/install/po/hu.po +++ b/install/po/hu.po @@ -6,19 +6,20 @@ # Endre ZELENA, 2014 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/freeipa/" "language/hu/)\n" "Language: hu\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" msgid "Passwords do not match" msgstr "A jelszavak nem egyeznek meg" @@ -59,9 +60,15 @@ msgstr "Jogosultságok" msgid "Description" msgstr "Leírás" +msgid "GID" +msgstr "GID" + msgid "Certificate" msgstr "Tanúsítvány" +msgid "Services" +msgstr "Szolgáltatások" + msgid "Subject" msgstr "Tárgy" @@ -110,9 +117,6 @@ msgstr "Zóna neve (FQDN)" msgid "SOA serial" msgstr "SOA sorozatszám" -msgid "GID" -msgstr "GID" - msgid "GID (use this option to set it manually)" msgstr "GID (kézzel történő beállításhoz)" @@ -122,9 +126,6 @@ msgstr "POSIX-csoportra módosít" msgid "Rule name" msgstr "Szabály neve" -msgid "Services" -msgstr "Szolgáltatások" - msgid "Service Groups" msgstr "Szolgáltatás-csoportok" diff --git a/install/po/id.po b/install/po/id.po index 5b1cb5d..fb9d8ce 100644 --- a/install/po/id.po +++ b/install/po/id.po @@ -7,19 +7,20 @@ # Teguh Dwicaksana , 2010 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/freeipa/" "language/id/)\n" "Language: id\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -257,6 +258,11 @@ msgid "priority cannot be set on global policy" msgstr "prioritas tidak dapat ditetapkan pada kebijakan global" #, python-format +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "%(count)d pengguna sesuai" + +#, python-format msgid "Added user \"%(value)s\"" msgstr "Pengguna \"%(value)s\" telah ditambahkan" @@ -269,10 +275,5 @@ msgid "Modified user \"%(value)s\"" msgstr "Pengguna \"%(value)s\" telah dimodifikasi" #, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "%(count)d pengguna sesuai" - -#, python-format msgid "Unable to communicate with CMS (%s)" msgstr "Tidak dapat berkomunikasi dengan CMS (%s)" diff --git a/install/po/ipa.pot b/install/po/ipa.pot index bc24273..fc5a84d 100644 --- a/install/po/ipa.pot +++ b/install/po/ipa.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -24,7 +24,7 @@ msgstr "" msgid "Enter %(label)s again to verify: " msgstr "" -#: ipalib/cli.py:607 ipa-client/ipa-getkeytab.c:739 +#: ipalib/cli.py:607 ipa-client/ipa-getkeytab.c:587 #, c-format msgid "Passwords do not match!" msgstr "" @@ -41,36 +41,36 @@ msgstr "" msgid "The topic or command name." msgstr "" -#: ipalib/cli.py:844 +#: ipalib/cli.py:847 msgid "Topic commands:" msgstr "" -#: ipalib/cli.py:849 +#: ipalib/cli.py:852 msgid "To get command help, use:" msgstr "" -#: ipalib/cli.py:850 +#: ipalib/cli.py:853 msgid " ipa --help" msgstr "" -#: ipalib/cli.py:859 +#: ipalib/cli.py:862 msgid "Command name" msgstr "" -#: ipalib/cli.py:1027 +#: ipalib/cli.py:1030 msgid "Positional arguments" msgstr "" -#: ipalib/cli.py:1175 +#: ipalib/cli.py:1178 #, python-format msgid "Same as --%s" msgstr "" -#: ipalib/cli.py:1178 +#: ipalib/cli.py:1181 msgid "Deprecated options" msgstr "" -#: ipalib/cli.py:1300 +#: ipalib/cli.py:1303 msgid "No file to read" msgstr "" @@ -170,320 +170,325 @@ msgstr "" msgid "Principal %(principal)s cannot be authenticated: %(message)s" msgstr "" -#: ipalib/errors.py:603 +#: ipalib/errors.py:609 #, python-format msgid "Insufficient access: %(info)s" msgstr "" -#: ipalib/errors.py:647 +#: ipalib/errors.py:653 #, python-format msgid "command '%(name)s' takes no arguments" msgstr "" -#: ipalib/errors.py:667 +#: ipalib/errors.py:673 #, python-format msgid "command '%(name)s' takes at most %(count)d argument" msgid_plural "command '%(name)s' takes at most %(count)d arguments" msgstr[0] "" msgstr[1] "" -#: ipalib/errors.py:697 +#: ipalib/errors.py:703 #, python-format msgid "overlapping arguments and options: %(names)s" msgstr "" -#: ipalib/errors.py:713 +#: ipalib/errors.py:719 #, python-format msgid "'%(name)s' is required" msgstr "" -#: ipalib/errors.py:729 ipalib/errors.py:745 +#: ipalib/errors.py:735 ipalib/errors.py:751 #, python-format msgid "invalid '%(name)s': %(error)s" msgstr "" -#: ipalib/errors.py:761 +#: ipalib/errors.py:767 #, python-format msgid "api has no such namespace: '%(name)s'" msgstr "" -#: ipalib/errors.py:770 +#: ipalib/errors.py:776 msgid "Passwords do not match" msgstr "" -#: ipalib/errors.py:779 +#: ipalib/errors.py:785 msgid "Command not implemented" msgstr "" -#: ipalib/errors.py:788 +#: ipalib/errors.py:794 msgid "Client is not configured. Run ipa-client-install." msgstr "" -#: ipalib/errors.py:797 +#: ipalib/errors.py:803 #, python-format msgid "Could not get %(name)s interactively" msgstr "" -#: ipalib/errors.py:812 +#: ipalib/errors.py:818 #, python-format msgid "Command '%(name)s' has been deprecated" msgstr "" -#: ipalib/errors.py:840 ipalib/errors.py:1080 ipalib/errors.py:1174 -#: ipalib/errors.py:1605 ipalib/errors.py:1622 +#: ipalib/errors.py:834 +#, python-format +msgid "Domain '%(domain)s' is not a root domain for forest '%(forest)s'" +msgstr "" + +#: ipalib/errors.py:862 ipalib/errors.py:1102 ipalib/errors.py:1196 +#: ipalib/errors.py:1658 ipalib/errors.py:1675 #, python-format msgid "%(reason)s" msgstr "" -#: ipalib/errors.py:856 +#: ipalib/errors.py:878 msgid "This entry already exists" msgstr "" -#: ipalib/errors.py:872 +#: ipalib/errors.py:894 msgid "You must enroll a host in order to create a host service" msgstr "" -#: ipalib/errors.py:888 +#: ipalib/errors.py:910 #, python-format msgid "" "Service principal is not of the form: service/fully-qualified host name: " "%(reason)s" msgstr "" -#: ipalib/errors.py:904 +#: ipalib/errors.py:926 msgid "" "The realm for the principal does not match the realm for this IPA server" msgstr "" -#: ipalib/errors.py:920 +#: ipalib/errors.py:942 msgid "This command requires root access" msgstr "" -#: ipalib/errors.py:936 +#: ipalib/errors.py:958 msgid "This is already a posix group" msgstr "" -#: ipalib/errors.py:952 +#: ipalib/errors.py:974 #, python-format msgid "Principal is not of the form user@REALM: '%(principal)s'" msgstr "" -#: ipalib/errors.py:968 +#: ipalib/errors.py:990 msgid "This entry is already enabled" msgstr "" -#: ipalib/errors.py:984 +#: ipalib/errors.py:1006 msgid "This entry is already disabled" msgstr "" -#: ipalib/errors.py:1000 +#: ipalib/errors.py:1022 msgid "This entry cannot be enabled or disabled" msgstr "" -#: ipalib/errors.py:1016 +#: ipalib/errors.py:1038 msgid "This entry is not a member" msgstr "" -#: ipalib/errors.py:1032 +#: ipalib/errors.py:1054 msgid "A group may not be a member of itself" msgstr "" -#: ipalib/errors.py:1048 +#: ipalib/errors.py:1070 msgid "This entry is already a member" msgstr "" -#: ipalib/errors.py:1064 +#: ipalib/errors.py:1086 #, python-format msgid "Base64 decoding failed: %(reason)s" msgstr "" -#: ipalib/errors.py:1096 +#: ipalib/errors.py:1118 msgid "A group may not be added as a member of itself" msgstr "" -#: ipalib/errors.py:1112 +#: ipalib/errors.py:1134 msgid "The default users group cannot be removed" msgstr "" -#: ipalib/errors.py:1128 -msgid "Host does not have corresponding DNS A record" +#: ipalib/errors.py:1150 +msgid "Host does not have corresponding DNS A/AAAA record" msgstr "" -#: ipalib/errors.py:1143 +#: ipalib/errors.py:1165 msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" -#: ipalib/errors.py:1158 +#: ipalib/errors.py:1180 msgid "A managed group cannot have a password policy." msgstr "" -#: ipalib/errors.py:1190 +#: ipalib/errors.py:1212 #, python-format msgid "'%(entry)s' doesn't have a certificate." msgstr "" -#: ipalib/errors.py:1206 +#: ipalib/errors.py:1228 #, python-format msgid "Unable to create private group. A group '%(group)s' already exists." msgstr "" -#: ipalib/errors.py:1222 +#: ipalib/errors.py:1244 #, python-format msgid "" "A problem was encountered when verifying that all members were %(verb)s: " "%(exc)s" msgstr "" -#: ipalib/errors.py:1240 +#: ipalib/errors.py:1262 #, python-format msgid "%(attr)s does not contain '%(value)s'" msgstr "" -#: ipalib/errors.py:1257 +#: ipalib/errors.py:1279 #, python-format msgid "" "The search criteria was not specific enough. Expected 1 and found %(found)d." msgstr "" -#: ipalib/errors.py:1274 +#: ipalib/errors.py:1296 msgid "This group already allows external members" msgstr "" -#: ipalib/errors.py:1291 +#: ipalib/errors.py:1313 msgid "This group cannot be posix because it is external" msgstr "" -#: ipalib/errors.py:1308 +#: ipalib/errors.py:1330 msgid "This is already a posix group and cannot be converted to external one" msgstr "" -#: ipalib/errors.py:1331 +#: ipalib/errors.py:1384 #, python-format msgid "no command nor help topic '%(topic)s'" msgstr "" -#: ipalib/errors.py:1355 +#: ipalib/errors.py:1408 msgid "change collided with another change" msgstr "" -#: ipalib/errors.py:1371 +#: ipalib/errors.py:1424 msgid "no modifications to be performed" msgstr "" -#: ipalib/errors.py:1387 +#: ipalib/errors.py:1440 #, python-format msgid "%(desc)s: %(info)s" msgstr "" -#: ipalib/errors.py:1403 +#: ipalib/errors.py:1456 msgid "limits exceeded for this query" msgstr "" -#: ipalib/errors.py:1418 +#: ipalib/errors.py:1471 #, python-format msgid "%(info)s" msgstr "" -#: ipalib/errors.py:1433 +#: ipalib/errors.py:1486 msgid "modifying primary key is not allowed" msgstr "" -#: ipalib/errors.py:1449 +#: ipalib/errors.py:1502 #, python-format msgid "%(attr)s: Only one value allowed." msgstr "" -#: ipalib/errors.py:1465 +#: ipalib/errors.py:1518 #, python-format msgid "%(attr)s: Invalid syntax." msgstr "" -#: ipalib/errors.py:1481 +#: ipalib/errors.py:1534 #, python-format msgid "Bad search filter %(info)s" msgstr "" -#: ipalib/errors.py:1497 +#: ipalib/errors.py:1550 msgid "Not allowed on non-leaf entry" msgstr "" -#: ipalib/errors.py:1513 +#: ipalib/errors.py:1566 msgid "LDAP timeout" msgstr "" -#: ipalib/errors.py:1531 +#: ipalib/errors.py:1584 #, python-format msgid "DNS check failed: Expected {%(expected)s} got {%(got)s}" msgstr "" -#: ipalib/errors.py:1547 +#: ipalib/errors.py:1600 #, python-format msgid "%(task)s LDAP task timeout, Task DN: '%(task_dn)s'" msgstr "" -#: ipalib/errors.py:1572 +#: ipalib/errors.py:1625 #, python-format msgid "Certificate operation cannot be completed: %(error)s" msgstr "" -#: ipalib/errors.py:1588 +#: ipalib/errors.py:1641 #, python-format msgid "Certificate format error: %(error)s" msgstr "" -#: ipalib/errors.py:1639 +#: ipalib/errors.py:1692 msgid "Already registered" msgstr "" -#: ipalib/errors.py:1655 +#: ipalib/errors.py:1708 msgid "Not registered yet" msgstr "" -#: ipalib/errors.py:1671 +#: ipalib/errors.py:1724 #, python-format msgid "%(key)s cannot be deleted because %(label)s %(dependent)s requires it" msgstr "" -#: ipalib/errors.py:1687 +#: ipalib/errors.py:1740 #, python-format msgid "" "%(key)s cannot be deleted or disabled because it is the last member of " "%(label)s %(container)s" msgstr "" -#: ipalib/errors.py:1703 +#: ipalib/errors.py:1756 #, python-format msgid "%(label)s %(key)s cannot be deleted/modified: %(reason)s" msgstr "" -#: ipalib/errors.py:1720 +#: ipalib/errors.py:1773 #, python-format msgid "%(name)s certificate is not valid" msgstr "" -#: ipalib/frontend.py:412 +#: ipalib/frontend.py:416 msgid "Results are truncated, try a more specific search" msgstr "" -#: ipalib/frontend.py:535 +#: ipalib/frontend.py:541 #, python-format msgid "Unknown option: %(option)s" msgstr "" -#: ipalib/frontend.py:898 +#: ipalib/frontend.py:904 msgid "" "Retrieve and print all attributes from the server. Affects command output." msgstr "" -#: ipalib/frontend.py:904 +#: ipalib/frontend.py:910 msgid "Print entries as stored on the server. Only affects output format." msgstr "" -#: ipalib/frontend.py:910 ipalib/plugins/batch.py:73 +#: ipalib/frontend.py:916 ipalib/plugins/batch.py:73 msgid "Client version. Used to determine if server will accept request." msgstr "" -#: ipalib/frontend.py:1087 +#: ipalib/frontend.py:1093 msgid "Forward to server instead of running locally" msgstr "" @@ -512,6 +517,53 @@ msgid "" "%(additional_info)s" msgstr "" +#: ipalib/messages.py:168 +#, python-format +msgid "'%(option)s' option is deprecated. %(additional_info)s" +msgstr "" + +#: ipalib/messages.py:178 +#, python-format +msgid "" +"Semantic of %(label)s was changed. %(current_behavior)s\n" +"%(hint)s" +msgstr "" + +#: ipalib/messages.py:189 +#, python-format +msgid "DNS server %(server)s: %(error)s." +msgstr "" + +#: ipalib/messages.py:199 +#, python-format +msgid "" +"DNS server %(server)s does not support DNSSEC: %(error)s.\n" +"If DNSSEC validation is enabled on IPA server(s), please disable it." +msgstr "" + +#: ipalib/messages.py:212 +#, python-format +msgid "" +"forward zone \"%(fwzone)s\" is not effective because of missing proper NS " +"delegation in authoritative zone \"%(authzone)s\". Please add NS record " +"\"%(ns_rec)s\" to parent zone \"%(authzone)s\"." +msgstr "" + +#: ipalib/messages.py:226 +#, python-format +msgid "" +"DNS server %(server)s does not support EDNS0 (RFC 6891): %(error)s.\n" +"If DNSSEC validation is enabled on IPA server(s), please disable it." +msgstr "" + +#: ipalib/messages.py:239 +#, python-format +msgid "" +"DNSSEC validation failed: %(error)s.\n" +"Please verify your DNSSEC configuration or disable DNSSEC validation on all " +"IPA servers." +msgstr "" + #: ipalib/output.py:93 msgid "A dictionary representing an LDAP entry" msgstr "" @@ -544,7 +596,7 @@ msgstr "" msgid "List of deletions that failed" msgstr "" -#: ipalib/output.py:193 ipalib/plugins/dns.py:308 +#: ipalib/output.py:193 ipalib/plugins/dns.py:313 msgid "True means the operation was successful" msgstr "" @@ -677,36 +729,11 @@ msgstr "" msgid "must be DNS name" msgstr "" -#: ipalib/parameters.py:1955 -msgid "invalid escape code in domain name" -msgstr "" - -#: ipalib/parameters.py:1957 ipalib/util.py:240 -msgid "empty DNS label" -msgstr "" - -#: ipalib/parameters.py:1959 -msgid "domain name cannot be longer than 255 characters" -msgstr "" - -#: ipalib/parameters.py:1961 -msgid "DNS label cannot be longer than 63 characters" -msgstr "" - -#: ipalib/parameters.py:1963 -msgid "invalid domain name" -msgstr "" - -#: ipalib/parameters.py:1975 -#, python-format -msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" -msgstr "" - -#: ipalib/parameters.py:1991 +#: ipalib/parameters.py:1966 msgid "must be absolute" msgstr "" -#: ipalib/parameters.py:1995 +#: ipalib/parameters.py:1970 msgid "must be relative" msgstr "" @@ -817,8 +844,8 @@ msgstr "" msgid "Attributes" msgstr "" -#: ipalib/plugins/aci.py:472 ipalib/plugins/otptoken.py:141 -#: ipalib/plugins/permission.py:315 +#: ipalib/plugins/aci.py:472 ipalib/plugins/otptoken.py:160 +#: ipalib/plugins/permission.py:333 msgid "Type" msgstr "" @@ -834,7 +861,8 @@ msgstr "" msgid "Member of a group" msgstr "" -#: ipalib/plugins/aci.py:485 ipalib/plugins/internal.py:206 +#: ipalib/plugins/aci.py:485 ipalib/plugins/internal.py:216 +#: ipalib/plugins/internal.py:591 msgid "Filter" msgstr "" @@ -842,7 +870,7 @@ msgstr "" msgid "Legal LDAP filter (e.g. ou=Engineering)" msgstr "" -#: ipalib/plugins/aci.py:491 ipalib/plugins/permission.py:277 +#: ipalib/plugins/aci.py:491 ipalib/plugins/permission.py:278 msgid "Subtree" msgstr "" @@ -850,7 +878,7 @@ msgstr "" msgid "Subtree to apply ACI to" msgstr "" -#: ipalib/plugins/aci.py:497 ipalib/plugins/permission.py:309 +#: ipalib/plugins/aci.py:497 ipalib/plugins/permission.py:327 msgid "Target group" msgstr "" @@ -957,10 +985,11 @@ msgid "" "against existing entries, thus rebuilding their membership.\n" msgstr "" -#: ipalib/plugins/automember.py:50 ipalib/plugins/host.py:79 -#: ipalib/plugins/otptoken.py:46 ipalib/plugins/otptoken_yubikey.py:37 +#: ipalib/plugins/automember.py:50 ipalib/plugins/host.py:80 +#: ipalib/plugins/otptoken.py:46 ipalib/plugins/otptoken_yubikey.py:38 #: ipalib/plugins/permission.py:90 ipalib/plugins/radiusproxy.py:35 -#: ipalib/plugins/sudorule.py:66 +#: ipalib/plugins/server.py:19 ipalib/plugins/sudorule.py:66 +#: ipalib/plugins/vault.py:52 msgid "" "\n" "EXAMPLES:\n" @@ -1157,14 +1186,16 @@ msgid "Auto Membership Rule" msgstr "" #: ipalib/plugins/automember.py:237 ipalib/plugins/automount.py:600 -#: ipalib/plugins/group.py:222 ipalib/plugins/hbacrule.py:233 -#: ipalib/plugins/hbacsvc.py:108 ipalib/plugins/hbacsvcgroup.py:112 -#: ipalib/plugins/host.py:385 ipalib/plugins/hostgroup.py:144 -#: ipalib/plugins/netgroup.py:179 ipalib/plugins/otptoken.py:149 -#: ipalib/plugins/privilege.py:107 ipalib/plugins/radiusproxy.py:109 -#: ipalib/plugins/role.py:139 ipalib/plugins/selinuxusermap.py:227 -#: ipalib/plugins/sudocmd.py:119 ipalib/plugins/sudocmdgroup.py:122 -#: ipalib/plugins/sudorule.py:223 +#: ipalib/plugins/caacl.py:222 ipalib/plugins/group.py:242 +#: ipalib/plugins/hbacrule.py:233 ipalib/plugins/hbacsvc.py:108 +#: ipalib/plugins/hbacsvcgroup.py:112 ipalib/plugins/host.py:459 +#: ipalib/plugins/hostgroup.py:156 ipalib/plugins/idviews.py:82 +#: ipalib/plugins/idviews.py:553 ipalib/plugins/netgroup.py:189 +#: ipalib/plugins/otptoken.py:169 ipalib/plugins/privilege.py:107 +#: ipalib/plugins/radiusproxy.py:109 ipalib/plugins/role.py:141 +#: ipalib/plugins/selinuxusermap.py:227 ipalib/plugins/sudocmd.py:119 +#: ipalib/plugins/sudocmdgroup.py:122 ipalib/plugins/sudorule.py:223 +#: ipalib/plugins/vault.py:195 msgid "Description" msgstr "" @@ -1363,9 +1394,10 @@ msgstr "" msgid "Rebuild membership for all members of a grouping" msgstr "" -#: ipalib/plugins/automember.py:657 ipalib/plugins/hbacrule.py:240 -#: ipalib/plugins/internal.py:513 ipalib/plugins/selinuxusermap.py:234 -#: ipalib/plugins/sudorule.py:267 ipalib/plugins/user.py:429 +#: ipalib/plugins/automember.py:657 ipalib/plugins/baseuser.py:208 +#: ipalib/plugins/caacl.py:269 ipalib/plugins/hbacrule.py:240 +#: ipalib/plugins/internal.py:573 ipalib/plugins/selinuxusermap.py:234 +#: ipalib/plugins/sudorule.py:267 ipalib/plugins/user.py:125 msgid "Users" msgstr "" @@ -1373,9 +1405,10 @@ msgstr "" msgid "Rebuild membership for specified users" msgstr "" -#: ipalib/plugins/automember.py:662 ipalib/plugins/hbacrule.py:248 -#: ipalib/plugins/host.py:373 ipalib/plugins/internal.py:507 -#: ipalib/plugins/selinuxusermap.py:242 ipalib/plugins/sudorule.py:280 +#: ipalib/plugins/automember.py:662 ipalib/plugins/caacl.py:277 +#: ipalib/plugins/hbacrule.py:248 ipalib/plugins/host.py:447 +#: ipalib/plugins/internal.py:567 ipalib/plugins/selinuxusermap.py:242 +#: ipalib/plugins/sudorule.py:280 msgid "Hosts" msgstr "" @@ -1415,20 +1448,20 @@ msgstr "" msgid "users cannot be set when type is 'hostgroup'" msgstr "" -#: ipalib/plugins/automember.py:759 +#: ipalib/plugins/automember.py:762 msgid "Automember rebuild membership task started" msgstr "" -#: ipalib/plugins/automember.py:763 ipalib/plugins/internal.py:158 +#: ipalib/plugins/automember.py:766 ipalib/plugins/internal.py:158 msgid "Automember rebuild membership task completed" msgstr "" -#: ipalib/plugins/automember.py:780 +#: ipalib/plugins/automember.py:783 #, python-format msgid "Task DN = '%s'" msgstr "" -#: ipalib/plugins/automember.py:783 ipalib/plugins/internal.py:702 +#: ipalib/plugins/automember.py:786 ipalib/plugins/internal.py:792 msgid "Automember" msgstr "" @@ -1556,7 +1589,7 @@ msgstr "" msgid "Automount Location" msgstr "" -#: ipalib/plugins/automount.py:243 ipalib/plugins/host.py:395 +#: ipalib/plugins/automount.py:243 ipalib/plugins/host.py:469 msgid "Location" msgstr "" @@ -1716,7 +1749,7 @@ msgid "automount keys" msgstr "" #: ipalib/plugins/automount.py:701 ipalib/plugins/automount.py:950 -#: ipalib/plugins/automount.py:1057 ipalib/plugins/otptoken.py:191 +#: ipalib/plugins/automount.py:1057 ipalib/plugins/otptoken.py:214 msgid "Key" msgstr "" @@ -1837,13 +1870,14 @@ msgstr[1] "" msgid "Display an automount key." msgstr "" -#: ipalib/plugins/baseldap.py:43 ipalib/plugins/internal.py:292 -#: ipalib/plugins/internal.py:666 ipalib/plugins/migration.py:502 -#: ipalib/plugins/otptoken.py:442 ipalib/plugins/user.py:497 +#: ipalib/plugins/baseldap.py:43 ipalib/plugins/baseuser.py:276 +#: ipalib/plugins/internal.py:196 ipalib/plugins/internal.py:314 +#: ipalib/plugins/internal.py:756 ipalib/plugins/migration.py:500 +#: ipalib/plugins/otptoken.py:522 msgid "Password" msgstr "" -#: ipalib/plugins/baseldap.py:46 +#: ipalib/plugins/baseldap.py:46 ipalib/plugins/servicedelegation.py:100 msgid "Failed members" msgstr "" @@ -1871,7 +1905,7 @@ msgstr "" msgid "Member of host-groups" msgstr "" -#: ipalib/plugins/baseldap.py:73 ipalib/plugins/role.py:128 +#: ipalib/plugins/baseldap.py:73 ipalib/plugins/role.py:130 msgid "Roles" msgstr "" @@ -1976,8290 +2010,10378 @@ msgstr "" msgid "Invalid format. Should be name=value" msgstr "" -#: ipalib/plugins/baseldap.py:311 +#: ipalib/plugins/baseldap.py:319 msgid "External host" msgstr "" -#: ipalib/plugins/baseldap.py:483 +#: ipalib/plugins/baseldap.py:491 msgid "An IPA master host cannot be deleted or disabled" msgstr "" -#: ipalib/plugins/baseldap.py:497 +#: ipalib/plugins/baseldap.py:522 msgid "entry" msgstr "" -#: ipalib/plugins/baseldap.py:498 +#: ipalib/plugins/baseldap.py:523 msgid "entries" msgstr "" -#: ipalib/plugins/baseldap.py:531 ipalib/plugins/baseldap.py:532 +#: ipalib/plugins/baseldap.py:556 ipalib/plugins/baseldap.py:557 msgid "Entry" msgstr "" -#: ipalib/plugins/baseldap.py:535 +#: ipalib/plugins/baseldap.py:560 #, python-format msgid "container entry (%(container)s) not found" msgstr "" -#: ipalib/plugins/baseldap.py:536 +#: ipalib/plugins/baseldap.py:561 #, python-format msgid "%(parent)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:537 +#: ipalib/plugins/baseldap.py:562 #, python-format msgid "%(pkey)s: %(oname)s not found" msgstr "" -#: ipalib/plugins/baseldap.py:538 +#: ipalib/plugins/baseldap.py:563 #, python-format msgid "%(oname)s with name \"%(pkey)s\" already exists" msgstr "" -#: ipalib/plugins/baseldap.py:738 ipalib/plugins/baseldap.py:746 -#: ipalib/plugins/baseldap.py:751 +#: ipalib/plugins/baseldap.py:844 ipalib/plugins/baseldap.py:852 +#: ipalib/plugins/baseldap.py:857 #, python-format msgid "attribute \"%(attribute)s\" not allowed" msgstr "" -#: ipalib/plugins/baseldap.py:813 +#: ipalib/plugins/baseldap.py:919 msgid "" "Set an attribute to a name/value pair. Format is attr=value.\n" "For multi-valued attributes, the command replaces the values already present." msgstr "" -#: ipalib/plugins/baseldap.py:819 +#: ipalib/plugins/baseldap.py:925 msgid "" "Add an attribute/value pair. Format is attr=value. The attribute\n" "must be part of the schema." msgstr "" -#: ipalib/plugins/baseldap.py:825 +#: ipalib/plugins/baseldap.py:931 msgid "" "Delete an attribute/value pair. The option will be evaluated\n" "last, after all sets and adds." msgstr "" -#: ipalib/plugins/baseldap.py:859 +#: ipalib/plugins/baseldap.py:965 msgid "attribute is not configurable" msgstr "" -#: ipalib/plugins/baseldap.py:962 +#: ipalib/plugins/baseldap.py:1068 msgid "No such attribute on this entry" msgstr "" -#: ipalib/plugins/baseldap.py:1058 +#: ipalib/plugins/baseldap.py:1164 msgid "Suppress processing of membership attributes." msgstr "" -#: ipalib/plugins/baseldap.py:1235 +#: ipalib/plugins/baseldap.py:1343 msgid "Continuous mode: Don't stop on errors." msgstr "" -#: ipalib/plugins/baseldap.py:1256 ipalib/plugins/baseldap.py:1332 +#: ipalib/plugins/baseldap.py:1364 ipalib/plugins/baseldap.py:1442 msgid "Rights" msgstr "" -#: ipalib/plugins/baseldap.py:1257 ipalib/plugins/baseldap.py:1333 +#: ipalib/plugins/baseldap.py:1365 ipalib/plugins/baseldap.py:1443 msgid "" "Display the access rights of this entry (requires --all). See ipa man page " "for details." msgstr "" -#: ipalib/plugins/baseldap.py:1342 +#: ipalib/plugins/baseldap.py:1452 msgid "Rename" msgstr "" -#: ipalib/plugins/baseldap.py:1343 +#: ipalib/plugins/baseldap.py:1453 #, python-format msgid "Rename the %(ldap_obj_name)s object" msgstr "" -#: ipalib/plugins/baseldap.py:1424 +#: ipalib/plugins/baseldap.py:1543 msgid "the entry was deleted while being modified" msgstr "" -#: ipalib/plugins/baseldap.py:1555 ipalib/plugins/baseldap.py:2023 +#: ipalib/plugins/baseldap.py:1676 ipalib/plugins/baseldap.py:2151 #, python-format msgid "%s" msgstr "" -#: ipalib/plugins/baseldap.py:1567 +#: ipalib/plugins/baseldap.py:1688 ipalib/plugins/servicedelegation.py:184 +#: ipalib/plugins/servicedelegation.py:267 #, python-format msgid "member %s" msgstr "" -#: ipalib/plugins/baseldap.py:1597 ipalib/plugins/baseldap.py:2048 +#: ipalib/plugins/baseldap.py:1718 ipalib/plugins/baseldap.py:2176 #, python-format msgid "%s to add" msgstr "" -#: ipalib/plugins/baseldap.py:1605 ipalib/plugins/baseldap.py:2060 +#: ipalib/plugins/baseldap.py:1726 ipalib/plugins/baseldap.py:2188 #: ipalib/plugins/privilege.py:176 ipalib/plugins/privilege.py:231 -#: ipalib/plugins/role.py:211 ipalib/plugins/role.py:234 +#: ipalib/plugins/role.py:213 ipalib/plugins/role.py:236 msgid "Members that could not be added" msgstr "" -#: ipalib/plugins/baseldap.py:1609 ipalib/plugins/baseldap.py:2064 +#: ipalib/plugins/baseldap.py:1730 ipalib/plugins/baseldap.py:2192 msgid "Number of members added" msgstr "" -#: ipalib/plugins/baseldap.py:1697 ipalib/plugins/baseldap.py:2152 +#: ipalib/plugins/baseldap.py:1820 ipalib/plugins/baseldap.py:2277 #, python-format msgid "%s to remove" msgstr "" -#: ipalib/plugins/baseldap.py:1704 ipalib/plugins/baseldap.py:2164 +#: ipalib/plugins/baseldap.py:1827 ipalib/plugins/baseldap.py:2289 msgid "Members that could not be removed" msgstr "" -#: ipalib/plugins/baseldap.py:1708 ipalib/plugins/baseldap.py:2168 +#: ipalib/plugins/baseldap.py:1831 ipalib/plugins/baseldap.py:2293 msgid "Number of members removed" msgstr "" -#: ipalib/plugins/baseldap.py:1797 +#: ipalib/plugins/baseldap.py:1922 msgid "Primary key only" msgstr "" -#: ipalib/plugins/baseldap.py:1798 +#: ipalib/plugins/baseldap.py:1923 #, python-format msgid "Results should contain primary key attribute only (\"%s\")" msgstr "" -#: ipalib/plugins/baseldap.py:1806 +#: ipalib/plugins/baseldap.py:1931 #, python-format msgid "" "Search for %(searched_object)s with these %(relationship)s %(ldap_object)s." msgstr "" -#: ipalib/plugins/baseldap.py:1807 +#: ipalib/plugins/baseldap.py:1932 #, python-format msgid "" "Search for %(searched_object)s without these %(relationship)s " "%(ldap_object)s." msgstr "" -#: ipalib/plugins/baseldap.py:1816 +#: ipalib/plugins/baseldap.py:1941 msgid "Time Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1817 +#: ipalib/plugins/baseldap.py:1942 msgid "Time limit of search in seconds" msgstr "" -#: ipalib/plugins/baseldap.py:1823 ipalib/plugins/cert.py:721 +#: ipalib/plugins/baseldap.py:1948 ipalib/plugins/cert.py:786 #: ipalib/plugins/hbactest.py:289 msgid "Size Limit" msgstr "" -#: ipalib/plugins/baseldap.py:1824 +#: ipalib/plugins/baseldap.py:1949 msgid "Maximum number of entries returned" msgstr "" -#: ipalib/plugins/batch.py:66 -msgid "Nested Methods to execute" -msgstr "" - -#: ipalib/plugins/cert.py:47 +#: ipalib/plugins/baseuser.py:44 msgid "" "\n" -"IPA certificate operations\n" -"\n" -"Implements a set of commands for managing server SSL certificates.\n" -"\n" -"Certificate requests exist in the form of a Certificate Signing Request " -"(CSR)\n" -"in PEM format.\n" -"\n" -"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" -"subject to values configured in the server.\n" -"\n" -"A certificate is stored with a service principal and a service principal\n" -"needs a host.\n" -"\n" -"In order to request a certificate:\n" -"\n" -"* The host must exist\n" -"* The service must exist (or you use the --add option to automatically add " -"it)\n" -"\n" -"SEARCHING:\n" -"\n" -"Certificates may be searched on by certificate subject, serial number,\n" -"revocation reason, validity dates and the issued date.\n" -"\n" -"When searching on dates the _from date does a >= search and the _to date\n" -"does a <= search. When combined these are done as an AND.\n" -"\n" -"Dates are treated as GMT to match the dates in the certificates.\n" -"\n" -"The date format is YYYY-mm-dd.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Request a new certificate and add the principal:\n" -" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" -"\n" -" Retrieve an existing certificate:\n" -" ipa cert-show 1032\n" -"\n" -" Revoke a certificate (see RFC 5280 for reason details):\n" -" ipa cert-revoke --revocation-reason=6 1032\n" -"\n" -" Remove a certificate from revocation hold status:\n" -" ipa cert-remove-hold 1032\n" -"\n" -" Check the status of a signing request:\n" -" ipa cert-status 10\n" -"\n" -" Search for certificates by hostname:\n" -" ipa cert-find --subject=ipaserver.example.com\n" -"\n" -" Search for revoked certificates by reason:\n" -" ipa cert-find --revocation-reason=5\n" -"\n" -" Search for certificates based on issuance date\n" -" ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\n" -"\n" -"IPA currently immediately issues (or declines) all certificate requests so\n" -"the status of a request is not normally useful. This is for future use\n" -"or the case where a CA does not immediately issue a certificate.\n" -"\n" -"The following revocation reasons are supported:\n" -"\n" -" * 0 - unspecified\n" -" * 1 - keyCompromise\n" -" * 2 - cACompromise\n" -" * 3 - affiliationChanged\n" -" * 4 - superseded\n" -" * 5 - cessationOfOperation\n" -" * 6 - certificateHold\n" -" * 8 - removeFromCRL\n" -" * 9 - privilegeWithdrawn\n" -" * 10 - aACompromise\n" -"\n" -"Note that reason code 7 is not used. See RFC 5280 for more details:\n" -"\n" -"http://www.ietf.org/rfc/rfc5280.txt\n" +"Baseuser\n" "\n" +"This contains common definitions for user/stageuser\n" msgstr "" -#: ipalib/plugins/cert.py:155 ipalib/plugins/cert.py:320 -#, python-format -msgid "Failure decoding Certificate Signing Request: %s" +#: ipalib/plugins/baseuser.py:56 +msgid "Kerberos keys available" msgstr "" -#: ipalib/plugins/cert.py:219 -msgid "Submit a certificate signing request." +#: ipalib/plugins/baseuser.py:59 ipalib/plugins/host.py:217 +msgid "SSH public key fingerprint" msgstr "" -#: ipalib/plugins/cert.py:223 -msgid "CSR" +#: ipalib/plugins/baseuser.py:65 ipalib/plugins/radiusproxy.py:114 +msgid "Server" msgstr "" -#: ipalib/plugins/cert.py:232 ipalib/plugins/service.py:371 -msgid "Principal" +#: ipalib/plugins/baseuser.py:68 +msgid "Failed logins" msgstr "" -#: ipalib/plugins/cert.py:233 -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" +#: ipalib/plugins/baseuser.py:71 +msgid "Last successful authentication" msgstr "" -#: ipalib/plugins/cert.py:240 -msgid "automatically add the principal if it doesn't exist" +#: ipalib/plugins/baseuser.py:74 +msgid "Last failed authentication" msgstr "" -#: ipalib/plugins/cert.py:248 ipalib/plugins/cert.py:504 -#: ipalib/plugins/host.py:424 ipalib/plugins/internal.py:332 -#: ipalib/plugins/service.py:378 -msgid "Certificate" +#: ipalib/plugins/baseuser.py:77 +msgid "Time now" msgstr "" -#: ipalib/plugins/cert.py:251 ipalib/plugins/cert.py:507 -#: ipalib/plugins/cert.py:661 ipalib/plugins/cert.py:662 -#: ipalib/plugins/host.py:169 ipalib/plugins/internal.py:345 -#: ipalib/plugins/service.py:105 -msgid "Subject" +#: ipalib/plugins/baseuser.py:98 +msgid "must be TRUE or FALSE" msgstr "" -#: ipalib/plugins/cert.py:254 ipalib/plugins/cert.py:510 -#: ipalib/plugins/host.py:178 ipalib/plugins/service.py:114 -msgid "Issuer" +#: ipalib/plugins/baseuser.py:209 ipalib/plugins/internal.py:571 +#: ipalib/plugins/internal.py:637 ipalib/plugins/pwpolicy.py:524 +#: ipalib/plugins/user.py:126 +msgid "User" msgstr "" -#: ipalib/plugins/cert.py:257 ipalib/plugins/cert.py:513 -#: ipalib/plugins/host.py:181 ipalib/plugins/service.py:117 -msgid "Not Before" +#: ipalib/plugins/baseuser.py:217 ipalib/plugins/idviews.py:690 +msgid "User login" msgstr "" -#: ipalib/plugins/cert.py:260 ipalib/plugins/cert.py:516 -#: ipalib/plugins/host.py:184 ipalib/plugins/service.py:120 -msgid "Not After" +#: ipalib/plugins/baseuser.py:224 +msgid "First name" msgstr "" -#: ipalib/plugins/cert.py:263 ipalib/plugins/cert.py:519 -#: ipalib/plugins/host.py:187 ipalib/plugins/service.py:123 -msgid "Fingerprint (MD5)" +#: ipalib/plugins/baseuser.py:228 +msgid "Last name" msgstr "" -#: ipalib/plugins/cert.py:266 ipalib/plugins/cert.py:522 -#: ipalib/plugins/host.py:190 ipalib/plugins/service.py:126 -msgid "Fingerprint (SHA1)" +#: ipalib/plugins/baseuser.py:231 +msgid "Full name" msgstr "" -#: ipalib/plugins/cert.py:269 ipalib/plugins/cert.py:491 -#: ipalib/plugins/cert.py:735 -msgid "Serial number" +#: ipalib/plugins/baseuser.py:236 +msgid "Display name" msgstr "" -#: ipalib/plugins/cert.py:272 ipalib/plugins/cert.py:528 -#: ipalib/plugins/cert.py:732 -msgid "Serial number (hex)" +#: ipalib/plugins/baseuser.py:241 +msgid "Initials" msgstr "" -#: ipalib/plugins/cert.py:279 ipalib/plugins/misc.py:61 -msgid "Dictionary mapping variable name to value" +#: ipalib/plugins/baseuser.py:247 ipalib/plugins/idviews.py:709 +msgid "Home directory" msgstr "" -#: ipalib/plugins/cert.py:332 -msgid "No hostname was found in subject of request." +#: ipalib/plugins/baseuser.py:250 ipalib/plugins/idviews.py:700 +msgid "GECOS" msgstr "" -#: ipalib/plugins/cert.py:337 -#, python-format -msgid "" -"hostname in subject of request '%(subject_host)s' does not match principal " -"hostname '%(hostname)s'" +#: ipalib/plugins/baseuser.py:256 ipalib/plugins/idviews.py:713 +msgid "Login shell" msgstr "" -#: ipalib/plugins/cert.py:344 -#, python-format -msgid "extension %s is forbidden" +#: ipalib/plugins/baseuser.py:260 +msgid "Kerberos principal" msgstr "" -#: ipalib/plugins/cert.py:352 -#, python-format -msgid "subject alt name type %s is forbidden" +#: ipalib/plugins/baseuser.py:268 +msgid "Kerberos principal expiration" msgstr "" -#: ipalib/plugins/cert.py:366 -msgid "The service principal for this request doesn't exist." +#: ipalib/plugins/baseuser.py:272 +msgid "Email address" msgstr "" -#: ipalib/plugins/cert.py:371 -msgid "You need to be a member of the serviceadmin role to add services" +#: ipalib/plugins/baseuser.py:277 +msgid "Prompt to set the user password" msgstr "" -#: ipalib/plugins/cert.py:378 -#, python-format -msgid "" -"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " -"'%s'." +#: ipalib/plugins/baseuser.py:283 +msgid "Generate a random user password" msgstr "" -#: ipalib/plugins/cert.py:396 -#, python-format -msgid "" -"The service principal for subject alt name %s in certificate request does " -"not exist" +#: ipalib/plugins/baseuser.py:288 ipalib/plugins/host.py:493 +msgid "Random password" msgstr "" -#: ipalib/plugins/cert.py:402 -#, python-format -msgid "" -"Insufficient privilege to create a certificate with subject alt name '%s'." +#: ipalib/plugins/baseuser.py:293 ipalib/plugins/idviews.py:695 +msgid "UID" msgstr "" -#: ipalib/plugins/cert.py:408 -#, python-format -msgid "" -"Principal '%s' in subject alt name does not match requested service principal" +#: ipalib/plugins/baseuser.py:294 +msgid "User ID Number (system will assign one if not provided)" msgstr "" -#: ipalib/plugins/cert.py:412 -#, python-format -msgid "Subject alt name type %s is forbidden" +#: ipalib/plugins/baseuser.py:298 ipalib/plugins/group.py:247 +#: ipalib/plugins/idviews.py:703 ipalib/plugins/idviews.py:775 +msgid "GID" msgstr "" -#: ipalib/plugins/cert.py:465 -msgid "Check the status of a certificate signing request." +#: ipalib/plugins/baseuser.py:299 ipalib/plugins/idviews.py:704 +#: ipalib/plugins/idviews.py:776 +msgid "Group ID Number" msgstr "" -#: ipalib/plugins/cert.py:469 -msgid "Request id" +#: ipalib/plugins/baseuser.py:304 +msgid "Street address" msgstr "" -#: ipalib/plugins/cert.py:475 -msgid "Request status" +#: ipalib/plugins/baseuser.py:308 +msgid "City" msgstr "" -#: ipalib/plugins/cert.py:492 -msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" +#: ipalib/plugins/baseuser.py:312 +msgid "State/Province" msgstr "" -#: ipalib/plugins/cert.py:498 -msgid "Retrieve an existing certificate." +#: ipalib/plugins/baseuser.py:315 +msgid "ZIP" msgstr "" -#: ipalib/plugins/cert.py:525 ipalib/plugins/host.py:193 -#: ipalib/plugins/internal.py:342 ipalib/plugins/internal.py:372 -#: ipalib/plugins/service.py:129 -msgid "Revocation reason" +#: ipalib/plugins/baseuser.py:319 +msgid "Telephone Number" msgstr "" -#: ipalib/plugins/cert.py:534 -msgid "Output filename" +#: ipalib/plugins/baseuser.py:322 +msgid "Mobile Telephone Number" msgstr "" -#: ipalib/plugins/cert.py:535 -msgid "File to store the certificate in." +#: ipalib/plugins/baseuser.py:325 +msgid "Pager Number" msgstr "" -#: ipalib/plugins/cert.py:586 -msgid "Revoke a certificate." +#: ipalib/plugins/baseuser.py:329 +msgid "Fax Number" msgstr "" -#: ipalib/plugins/cert.py:592 -msgid "Revoked" +#: ipalib/plugins/baseuser.py:333 +msgid "Org. Unit" msgstr "" -#: ipalib/plugins/cert.py:600 ipalib/plugins/cert.py:666 -msgid "Reason" +#: ipalib/plugins/baseuser.py:336 +msgid "Job Title" msgstr "" -#: ipalib/plugins/cert.py:601 ipalib/plugins/cert.py:667 -msgid "Reason for revoking the certificate (0-10)" +#: ipalib/plugins/baseuser.py:339 ipalib/plugins/otptoken.py:178 +msgid "Manager" msgstr "" -#: ipalib/plugins/cert.py:623 -msgid "7 is not a valid revocation reason" +#: ipalib/plugins/baseuser.py:342 +msgid "Car License" msgstr "" -#: ipalib/plugins/cert.py:633 -msgid "Take a revoked certificate off hold." +#: ipalib/plugins/baseuser.py:346 ipalib/plugins/host.py:516 +#: ipalib/plugins/idviews.py:720 +msgid "SSH public key" msgstr "" -#: ipalib/plugins/cert.py:639 -msgid "Unrevoked" +#: ipalib/plugins/baseuser.py:353 +msgid "User authentication types" msgstr "" -#: ipalib/plugins/cert.py:642 ipalib/plugins/internal.py:261 -msgid "Error" +#: ipalib/plugins/baseuser.py:354 +msgid "Types of supported user authentication" msgstr "" -#: ipalib/plugins/cert.py:657 -msgid "Search for existing certificates." +#: ipalib/plugins/baseuser.py:360 ipalib/plugins/host.py:523 +msgid "Class" msgstr "" -#: ipalib/plugins/cert.py:673 -msgid "minimum serial number" +#: ipalib/plugins/baseuser.py:361 +msgid "" +"User category (semantics placed on this attribute are for local " +"interpretation)" msgstr "" -#: ipalib/plugins/cert.py:679 -msgid "maximum serial number" +#: ipalib/plugins/baseuser.py:366 +msgid "RADIUS proxy configuration" msgstr "" -#: ipalib/plugins/cert.py:685 -msgid "match the common name exactly" +#: ipalib/plugins/baseuser.py:370 +msgid "RADIUS proxy username" msgstr "" -#: ipalib/plugins/cert.py:689 -msgid "Valid not after from this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:373 +msgid "Department Number" msgstr "" -#: ipalib/plugins/cert.py:693 -msgid "Valid not after to this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:376 +msgid "Employee Number" msgstr "" -#: ipalib/plugins/cert.py:697 -msgid "Valid not before from this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:379 +msgid "Employee Type" msgstr "" -#: ipalib/plugins/cert.py:701 -msgid "Valid not before to this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:382 +msgid "Preferred Language" msgstr "" -#: ipalib/plugins/cert.py:705 -msgid "Issued on from this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:389 ipalib/plugins/cert.py:258 +#: ipalib/plugins/cert.py:566 ipalib/plugins/host.py:498 +#: ipalib/plugins/internal.py:354 ipalib/plugins/service.py:453 +msgid "Certificate" msgstr "" -#: ipalib/plugins/cert.py:709 -msgid "Issued on to this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:390 ipalib/plugins/host.py:499 +#: ipalib/plugins/service.py:454 +msgid "Base-64 encoded server certificate" msgstr "" -#: ipalib/plugins/cert.py:713 -msgid "Revoked on from this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:409 ipalib/plugins/baseuser.py:413 +#, python-format +msgid "invalid e-mail format: %(email)s" msgstr "" -#: ipalib/plugins/cert.py:717 -msgid "Revoked on to this date (YYYY-mm-dd)" +#: ipalib/plugins/baseuser.py:439 +#, python-format +msgid "manager %(manager)s not found" msgstr "" -#: ipalib/plugins/cert.py:722 -msgid "Maximum number of certs returned" +#: ipalib/plugins/baseuser.py:491 ipalib/plugins/stageuser.py:300 +#: ipalib/plugins/stageuser.py:526 ipalib/plugins/user.py:442 +#, python-format +msgid "can be at most %(len)d characters" msgstr "" -#: ipalib/plugins/cert.py:738 ipalib/plugins/internal.py:380 -#: ipalib/plugins/internal.py:489 ipalib/plugins/internal.py:576 -#: ipalib/plugins/internal.py:696 -msgid "Status" +#: ipalib/plugins/batch.py:66 +msgid "Nested Methods to execute" msgstr "" -#: ipalib/plugins/cert.py:743 -#, python-format -msgid "%(count)d certificate matched" -msgid_plural "%(count)d certificates matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/config.py:33 +#: ipalib/plugins/caacl.py:20 msgid "" "\n" -"Server configuration\n" -"\n" -"Manage the default values that IPA uses and some of its tuning parameters.\n" -"\n" -"NOTES:\n" -"\n" -"The password notification value (--pwdexpnotify) is stored here so it will\n" -"be replicated. It is not currently used to notify users in advance of an\n" -"expiring password.\n" +"Manage CA ACL rules.\n" "\n" -"Some attributes are read-only, provided only for information purposes. " -"These\n" -"include:\n" +"This plugin is used to define rules governing which principals are\n" +"permitted to have certificates issued using a given certificate\n" +"profile.\n" "\n" -"Certificate Subject base: the configured certificate subject base,\n" -" e.g. O=EXAMPLE.COM. This is configurable only at install time.\n" -"Password plug-in features: currently defines additional hashes that the\n" -" password will generate (there may be other conditions).\n" +"PROFILE ID SYNTAX:\n" "\n" -"When setting the order list for mapping SELinux users you may need to\n" -"quote the value so it isn't interpreted by the shell.\n" +"A Profile ID is a string without spaces or punctuation starting with a " +"letter\n" +"and followed by a sequence of letters, digits or underscore (\"_\").\n" "\n" "EXAMPLES:\n" "\n" -" Show basic server configuration:\n" -" ipa config-show\n" -"\n" -" Show all configuration options:\n" -" ipa config-show --all\n" -"\n" -" Change maximum username length to 99 characters:\n" -" ipa config-mod --maxusername=99\n" +" Create a CA ACL \"test\" that grants all users access to the\n" +" \"UserCert\" profile:\n" +" ipa caacl-add test --usercat=all\n" +" ipa caacl-add-profile test --certprofiles UserCert\n" "\n" -" Increase default time and size limits for maximum IPA server search:\n" -" ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000\n" +" Display the properties of a named CA ACL:\n" +" ipa caacl-show test\n" "\n" -" Set default user e-mail domain:\n" -" ipa config-mod --emaildomain=example.com\n" +" Create a CA ACL to let user \"alice\" use the \"DNP3\" profile:\n" +" ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" +" ipa caacl-add-user alice_dnp3 --user=alice\n" "\n" -" Enable migration mode to make \"ipa migrate-ds\" command operational:\n" -" ipa config-mod --enable-migration=TRUE\n" +" Disable a CA ACL:\n" +" ipa caacl-disable test\n" "\n" -" Define SELinux user map order:\n" -" ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-" -"s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" +" Remove a CA ACL:\n" +" ipa caacl-del test\n" msgstr "" -#: ipalib/plugins/config.py:83 -msgid "searchtimelimit must be -1 or > 1." +#: ipalib/plugins/caacl.py:135 ipalib/plugins/caacl.py:212 +msgid "CA ACL" msgstr "" -#: ipalib/plugins/config.py:91 -msgid "configuration options" +#: ipalib/plugins/caacl.py:136 ipalib/plugins/caacl.py:211 +msgid "CA ACLs" msgstr "" -#: ipalib/plugins/config.py:124 ipalib/plugins/config.py:125 -msgid "Configuration" +#: ipalib/plugins/caacl.py:217 +msgid "ACL name" msgstr "" -#: ipalib/plugins/config.py:130 -msgid "Maximum username length" +#: ipalib/plugins/caacl.py:225 ipalib/plugins/hbacrule.py:236 +#: ipalib/plugins/internal.py:785 ipalib/plugins/selinuxusermap.py:230 +#: ipalib/plugins/sudorule.py:226 +msgid "Enabled" msgstr "" -#: ipalib/plugins/config.py:135 -msgid "Home directory base" +#: ipalib/plugins/caacl.py:237 +msgid "Profile category" msgstr "" -#: ipalib/plugins/config.py:136 -msgid "Default location of home directories" +#: ipalib/plugins/caacl.py:238 +msgid "Profile category the ACL applies to" msgstr "" -#: ipalib/plugins/config.py:140 -msgid "Default shell" +#: ipalib/plugins/caacl.py:243 ipalib/plugins/hbacrule.py:210 +#: ipalib/plugins/netgroup.py:206 ipalib/plugins/selinuxusermap.py:215 +#: ipalib/plugins/sudorule.py:231 +msgid "User category" msgstr "" -#: ipalib/plugins/config.py:141 -msgid "Default shell for new users" +#: ipalib/plugins/caacl.py:244 +msgid "User category the ACL applies to" msgstr "" -#: ipalib/plugins/config.py:145 -msgid "Default users group" +#: ipalib/plugins/caacl.py:249 ipalib/plugins/hbacrule.py:216 +#: ipalib/plugins/netgroup.py:212 ipalib/plugins/selinuxusermap.py:221 +#: ipalib/plugins/sudorule.py:237 +msgid "Host category" msgstr "" -#: ipalib/plugins/config.py:146 -msgid "Default group for new users" +#: ipalib/plugins/caacl.py:250 +msgid "Host category the ACL applies to" msgstr "" -#: ipalib/plugins/config.py:150 ipalib/plugins/config.py:151 -msgid "Default e-mail domain" +#: ipalib/plugins/caacl.py:255 ipalib/plugins/hbacrule.py:223 +msgid "Service category" msgstr "" -#: ipalib/plugins/config.py:155 -msgid "Search time limit" +#: ipalib/plugins/caacl.py:256 +msgid "Service category the ACL applies to" msgstr "" -#: ipalib/plugins/config.py:156 -msgid "" -"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" +#: ipalib/plugins/caacl.py:265 +msgid "Profiles" msgstr "" -#: ipalib/plugins/config.py:161 -msgid "Search size limit" +#: ipalib/plugins/caacl.py:273 ipalib/plugins/group.py:227 +#: ipalib/plugins/hbacrule.py:244 ipalib/plugins/internal.py:572 +#: ipalib/plugins/selinuxusermap.py:238 ipalib/plugins/sudorule.py:271 +msgid "User Groups" msgstr "" -#: ipalib/plugins/config.py:162 -msgid "Maximum number of records to search (-1 is unlimited)" +#: ipalib/plugins/caacl.py:281 ipalib/plugins/hbacrule.py:252 +#: ipalib/plugins/hostgroup.py:141 ipalib/plugins/internal.py:566 +#: ipalib/plugins/selinuxusermap.py:246 ipalib/plugins/sudorule.py:284 +msgid "Host Groups" msgstr "" -#: ipalib/plugins/config.py:167 -msgid "User search fields" +#: ipalib/plugins/caacl.py:285 ipalib/plugins/hbacrule.py:258 +#: ipalib/plugins/internal.py:485 ipalib/plugins/service.py:440 +msgid "Services" msgstr "" -#: ipalib/plugins/config.py:168 -msgid "A comma-separated list of fields to search in when searching for users" +#: ipalib/plugins/caacl.py:293 +msgid "Create a new CA ACL." msgstr "" -#: ipalib/plugins/config.py:173 -msgid "A comma-separated list of fields to search in when searching for groups" +#: ipalib/plugins/caacl.py:295 +#, python-format +msgid "Added CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/config.py:177 ipalib/plugins/config.py:178 -msgid "Enable migration mode" +#: ipalib/plugins/caacl.py:305 +msgid "Delete a CA ACL." msgstr "" -#: ipalib/plugins/config.py:182 -msgid "Certificate Subject base" +#: ipalib/plugins/caacl.py:307 +#, python-format +msgid "Deleted CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/config.py:183 -msgid "Base for certificate subjects (OU=Test,O=Example)" +#: ipalib/plugins/caacl.py:312 +msgid "Modify a CA ACL." msgstr "" -#: ipalib/plugins/config.py:188 -msgid "Default group objectclasses" +#: ipalib/plugins/caacl.py:314 +#, python-format +msgid "Modified CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/config.py:189 -msgid "Default group objectclasses (comma-separated list)" +#: ipalib/plugins/caacl.py:332 +msgid "" +"profile category cannot be set to 'all' while there are allowed profiles" msgstr "" -#: ipalib/plugins/config.py:194 -msgid "Default user objectclasses" +#: ipalib/plugins/caacl.py:336 ipalib/plugins/hbacrule.py:316 +#: ipalib/plugins/netgroup.py:279 +msgid "user category cannot be set to 'all' while there are allowed users" msgstr "" -#: ipalib/plugins/config.py:195 -msgid "Default user objectclasses (comma-separated list)" +#: ipalib/plugins/caacl.py:340 ipalib/plugins/hbacrule.py:318 +#: ipalib/plugins/netgroup.py:281 +msgid "host category cannot be set to 'all' while there are allowed hosts" msgstr "" -#: ipalib/plugins/config.py:200 -msgid "Password Expiration Notification (days)" +#: ipalib/plugins/caacl.py:344 ipalib/plugins/hbacrule.py:320 +msgid "" +"service category cannot be set to 'all' while there are allowed services" msgstr "" -#: ipalib/plugins/config.py:201 -msgid "Number of days's notice of impending password expiration" +#: ipalib/plugins/caacl.py:351 +msgid "Search for CA ACLs." msgstr "" -#: ipalib/plugins/config.py:206 -msgid "Password plugin features" -msgstr "" +#: ipalib/plugins/caacl.py:354 +#, python-format +msgid "%(count)d CA ACL matched" +msgid_plural "%(count)d CA ACLs matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/config.py:207 -msgid "Extra hashes to generate in password plug-in" +#: ipalib/plugins/caacl.py:360 +msgid "Display the properties of a CA ACL." msgstr "" -#: ipalib/plugins/config.py:213 -msgid "SELinux user map order" +#: ipalib/plugins/caacl.py:365 +msgid "Enable a CA ACL." msgstr "" -#: ipalib/plugins/config.py:214 -msgid "Order in increasing priority of SELinux users, delimited by $" +#: ipalib/plugins/caacl.py:367 +#, python-format +msgid "Enabled CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/config.py:217 -msgid "Default SELinux user" +#: ipalib/plugins/caacl.py:394 +msgid "Disable a CA ACL." msgstr "" -#: ipalib/plugins/config.py:218 -msgid "Default SELinux user when no match is found in SELinux map rule" +#: ipalib/plugins/caacl.py:396 +#, python-format +msgid "Disabled CA ACL \"%(value)s\"" msgstr "" -#: ipalib/plugins/config.py:222 -msgid "Default PAC types" +#: ipalib/plugins/caacl.py:423 +msgid "Add users and groups to a CA ACL." msgstr "" -#: ipalib/plugins/config.py:223 -msgid "Default types of PAC supported for services" +#: ipalib/plugins/caacl.py:427 +#, python-format +msgid "%i user or group added." msgstr "" -#: ipalib/plugins/config.py:229 -msgid "Default user authentication types" +#: ipalib/plugins/caacl.py:428 +#, python-format +msgid "%i users or groups added." msgstr "" -#: ipalib/plugins/config.py:230 -msgid "Default types of supported user authentication" +#: ipalib/plugins/caacl.py:439 ipalib/plugins/hbacrule.py:499 +#: ipalib/plugins/selinuxusermap.py:509 ipalib/plugins/sudorule.py:590 +msgid "users cannot be added when user category='all'" msgstr "" -#: ipalib/plugins/config.py:243 -msgid "Modify configuration options." +#: ipalib/plugins/caacl.py:445 +msgid "Remove users and groups from a CA ACL." msgstr "" -#: ipalib/plugins/config.py:252 -msgid "The group doesn't exist" +#: ipalib/plugins/caacl.py:449 +#, python-format +msgid "%i user or group removed." msgstr "" -#: ipalib/plugins/config.py:267 +#: ipalib/plugins/caacl.py:450 #, python-format -msgid "attribute \"%s\" not allowed" +msgid "%i users or groups removed." msgstr "" -#: ipalib/plugins/config.py:275 -msgid "May not be empty" +#: ipalib/plugins/caacl.py:455 +msgid "Add target hosts and hostgroups to a CA ACL." msgstr "" -#: ipalib/plugins/config.py:293 +#: ipalib/plugins/caacl.py:459 #, python-format -msgid "%(obj)s default attribute %(attr)s would not be allowed!" -msgstr "" - -#: ipalib/plugins/config.py:325 -msgid "A list of SELinux users delimited by $ expected" +msgid "%i host or hostgroup added." msgstr "" -#: ipalib/plugins/config.py:329 +#: ipalib/plugins/caacl.py:460 #, python-format -msgid "SELinux user '%(user)s' is not valid: %(error)s" +msgid "%i hosts or hostgroups added." msgstr "" -#: ipalib/plugins/config.py:341 -msgid "SELinux user map default user not in order list" +#: ipalib/plugins/caacl.py:471 ipalib/plugins/hbacrule.py:530 +#: ipalib/plugins/selinuxusermap.py:542 ipalib/plugins/sudorule.py:644 +msgid "hosts cannot be added when host category='all'" msgstr "" -#: ipalib/plugins/config.py:349 -msgid "Show the current configuration." +#: ipalib/plugins/caacl.py:477 +msgid "Remove target hosts and hostgroups from a CA ACL." msgstr "" -#: ipalib/plugins/delegation.py:30 -msgid "" -"\n" -"Group to Group Delegation\n" -"\n" -"A permission enables fine-grained delegation of permissions. Access Control\n" -"Rules, or instructions (ACIs), grant permission to permissions to perform\n" -"given tasks such as adding a user, modifying a group, etc.\n" -"\n" -"Group to Group Delegations grants the members of one group to update a set\n" -"of attributes of members of another group.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a delegation rule to allow managers to edit employee's addresses:\n" -" ipa delegation-add --attrs=street --group=managers --" -"membergroup=employees \"managers edit employees' street\"\n" -"\n" -" When managing the list of attributes you need to include all attributes\n" -" in the list, including existing ones. Add postalCode to the list:\n" -" ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --" -"membergroup=employees \"managers edit employees' street\"\n" -"\n" -" Display our updated rule:\n" -" ipa delegation-show \"managers edit employees' street\"\n" -"\n" -" Delete a rule:\n" -" ipa delegation-del \"managers edit employees' street\"\n" +#: ipalib/plugins/caacl.py:481 +#, python-format +msgid "%i host or hostgroup removed." msgstr "" -#: ipalib/plugins/delegation.py:73 -msgid "delegation" +#: ipalib/plugins/caacl.py:482 +#, python-format +msgid "%i hosts or hostgroups removed." msgstr "" -#: ipalib/plugins/delegation.py:74 -msgid "delegations" +#: ipalib/plugins/caacl.py:487 +msgid "Add services to a CA ACL." msgstr "" -#: ipalib/plugins/delegation.py:75 -msgid "Delegations" +#: ipalib/plugins/caacl.py:490 +#, python-format +msgid "%i service added." msgstr "" -#: ipalib/plugins/delegation.py:76 -msgid "Delegation" +#: ipalib/plugins/caacl.py:490 +#, python-format +msgid "%i services added." msgstr "" -#: ipalib/plugins/delegation.py:81 ipalib/plugins/delegation.py:82 -msgid "Delegation name" +#: ipalib/plugins/caacl.py:501 ipalib/plugins/hbacrule.py:585 +msgid "services cannot be added when service category='all'" msgstr "" -#: ipalib/plugins/delegation.py:88 ipalib/plugins/selfservice.py:92 -msgid "Permissions to grant (read, write). Default is write." +#: ipalib/plugins/caacl.py:507 +msgid "Remove services from a CA ACL." msgstr "" -#: ipalib/plugins/delegation.py:94 -msgid "Attributes to which the delegation applies" +#: ipalib/plugins/caacl.py:510 +#, python-format +msgid "%i service removed." msgstr "" -#: ipalib/plugins/delegation.py:100 -msgid "Member user group" +#: ipalib/plugins/caacl.py:510 +#, python-format +msgid "%i services removed." msgstr "" -#: ipalib/plugins/delegation.py:101 -msgid "User group to apply delegation to" +#: ipalib/plugins/caacl.py:515 +msgid "Failed profiles" msgstr "" -#: ipalib/plugins/delegation.py:134 -msgid "Add a new delegation." +#: ipalib/plugins/caacl.py:526 +msgid "Add profiles to a CA ACL." msgstr "" -#: ipalib/plugins/delegation.py:136 +#: ipalib/plugins/caacl.py:531 #, python-format -msgid "Added delegation \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/delegation.py:155 -msgid "Delete a delegation." +msgid "%i profile added." msgstr "" -#: ipalib/plugins/delegation.py:158 +#: ipalib/plugins/caacl.py:531 #, python-format -msgid "Deleted delegation \"%(value)s\"" +msgid "%i profiles added." msgstr "" -#: ipalib/plugins/delegation.py:173 -msgid "Modify a delegation." +#: ipalib/plugins/caacl.py:542 +msgid "profiles cannot be added when profile category='all'" msgstr "" -#: ipalib/plugins/delegation.py:175 -#, python-format -msgid "Modified delegation \"%(value)s\"" +#: ipalib/plugins/caacl.py:548 +msgid "Remove profiles from a CA ACL." msgstr "" -#: ipalib/plugins/delegation.py:192 -msgid "Search for delegations." +#: ipalib/plugins/caacl.py:553 +#, python-format +msgid "%i profile removed." msgstr "" -#: ipalib/plugins/delegation.py:195 +#: ipalib/plugins/caacl.py:553 #, python-format -msgid "%(count)d delegation matched" -msgid_plural "%(count)d delegations matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/delegation.py:218 -msgid "Display information about a delegation." +msgid "%i profiles removed." msgstr "" -#: ipalib/plugins/dns.py:49 +#: ipalib/plugins/cert.py:47 msgid "" "\n" -"Domain Name System (DNS)\n" +"IPA certificate operations\n" +"\n" +"Implements a set of commands for managing server SSL certificates.\n" +"\n" +"Certificate requests exist in the form of a Certificate Signing Request " +"(CSR)\n" +"in PEM format.\n" +"\n" +"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" +"subject to values configured in the server.\n" +"\n" +"A certificate is stored with a service principal and a service principal\n" +"needs a host.\n" +"\n" +"In order to request a certificate:\n" +"\n" +"* The host must exist\n" +"* The service must exist (or you use the --add option to automatically add " +"it)\n" +"\n" +"SEARCHING:\n" +"\n" +"Certificates may be searched on by certificate subject, serial number,\n" +"revocation reason, validity dates and the issued date.\n" +"\n" +"When searching on dates the _from date does a >= search and the _to date\n" +"does a <= search. When combined these are done as an AND.\n" +"\n" +"Dates are treated as GMT to match the dates in the certificates.\n" +"\n" +"The date format is YYYY-mm-dd.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Request a new certificate and add the principal:\n" +" ipa cert-request --add --principal=HTTP/lion.example.com example.csr\n" +"\n" +" Retrieve an existing certificate:\n" +" ipa cert-show 1032\n" +"\n" +" Revoke a certificate (see RFC 5280 for reason details):\n" +" ipa cert-revoke --revocation-reason=6 1032\n" +"\n" +" Remove a certificate from revocation hold status:\n" +" ipa cert-remove-hold 1032\n" +"\n" +" Check the status of a signing request:\n" +" ipa cert-status 10\n" +"\n" +" Search for certificates by hostname:\n" +" ipa cert-find --subject=ipaserver.example.com\n" +"\n" +" Search for revoked certificates by reason:\n" +" ipa cert-find --revocation-reason=5\n" +"\n" +" Search for certificates based on issuance date\n" +" ipa cert-find --issuedon-from=2013-02-01 --issuedon-to=2013-02-07\n" +"\n" +"IPA currently immediately issues (or declines) all certificate requests so\n" +"the status of a request is not normally useful. This is for future use\n" +"or the case where a CA does not immediately issue a certificate.\n" +"\n" +"The following revocation reasons are supported:\n" +"\n" +" * 0 - unspecified\n" +" * 1 - keyCompromise\n" +" * 2 - cACompromise\n" +" * 3 - affiliationChanged\n" +" * 4 - superseded\n" +" * 5 - cessationOfOperation\n" +" * 6 - certificateHold\n" +" * 8 - removeFromCRL\n" +" * 9 - privilegeWithdrawn\n" +" * 10 - aACompromise\n" +"\n" +"Note that reason code 7 is not used. See RFC 5280 for more details:\n" +"\n" +"http://www.ietf.org/rfc/rfc5280.txt\n" +"\n" msgstr "" -#: ipalib/plugins/dns.py:51 -msgid "" -"\n" -"Manage DNS zone and resource records.\n" +#: ipalib/plugins/cert.py:157 ipalib/plugins/cert.py:366 +#, python-format +msgid "Failure decoding Certificate Signing Request: %s" msgstr "" -#: ipalib/plugins/dns.py:53 -msgid "" -"\n" -"SUPPORTED ZONE TYPES\n" -"\n" -" * Master zone (dnszone-*), contains authoritative data.\n" -" * Forward zone (dnsforwardzone-*), forwards queries to configured " -"forwarders\n" -" (a set of DNS servers).\n" +#: ipalib/plugins/cert.py:221 ipalib/plugins/certprofile.py:65 +msgid "CA is not configured" msgstr "" -#: ipalib/plugins/dns.py:59 -msgid "" -"\n" -"USING STRUCTURED PER-TYPE OPTIONS\n" +#: ipalib/plugins/cert.py:225 +msgid "Submit a certificate signing request." msgstr "" -#: ipalib/plugins/dns.py:61 -msgid "" -"\n" -"There are many structured DNS RR types where DNS data stored in LDAP server\n" -"is not just a scalar value, for example an IP address or a domain name, but\n" -"a data structure which may be often complex. A good example is a LOC record\n" -"[RFC1876] which consists of many mandatory and optional parts (degrees,\n" -"minutes, seconds of latitude and longitude, altitude or precision).\n" +#: ipalib/plugins/cert.py:229 +msgid "CSR" msgstr "" -#: ipalib/plugins/dns.py:67 -msgid "" -"\n" -"It may be difficult to manipulate such DNS records without making a mistake\n" -"and entering an invalid value. DNS module provides an abstraction over " -"these\n" -"raw records and allows to manipulate each RR type with specific options. " -"For\n" -"each supported RR type, DNS module provides a standard option to manipulate\n" -"a raw records with format ---rec, e.g. --mx-rec, and special " -"options\n" -"for every part of the RR structure with format ---, e.g.\n" -"--mx-preference and --mx-exchanger.\n" +#: ipalib/plugins/cert.py:238 ipalib/plugins/service.py:446 +msgid "Principal" msgstr "" -#: ipalib/plugins/dns.py:75 -msgid "" -"\n" -"When adding a record, either RR specific options or standard option for a " -"raw\n" -"value can be used, they just should not be combined in one add operation. " -"When\n" -"modifying an existing entry, new RR specific options can be used to change\n" -"one part of a DNS record, where the standard option for raw value is used\n" -"to specify the modified value. The following example demonstrates\n" -"a modification of MX record preference from 0 to 1 in a record without\n" -"modifying the exchanger:\n" -"ipa dnsrecord-mod --mx-rec=\"0 mx.example.com.\" --mx-preference=1\n" +#: ipalib/plugins/cert.py:239 +msgid "Principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -#: ipalib/plugins/dns.py:84 -msgid "" -"\n" -"\n" -"EXAMPLES:\n" +#: ipalib/plugins/cert.py:246 +msgid "automatically add the principal if it doesn't exist" msgstr "" -#: ipalib/plugins/dns.py:87 -msgid "" -"\n" -" Add new zone:\n" -" ipa dnszone-add example.com --name-server=ns \\\n" -" --admin-email=admin@example.com \\\n" -" --ip-address=192.0.2.1\n" +#: ipalib/plugins/cert.py:251 ipalib/plugins/certprofile.py:102 +msgid "Profile ID" msgstr "" -#: ipalib/plugins/dns.py:92 -msgid "" -"\n" -" Add system permission that can be used for per-zone privilege delegation:\n" -" ipa dnszone-add-permission example.com\n" +#: ipalib/plugins/cert.py:252 +msgid "Certificate Profile to use" msgstr "" -#: ipalib/plugins/dns.py:95 -msgid "" -"\n" -" Modify the zone to allow dynamic updates for hosts own records in realm " -"EXAMPLE.COM:\n" -" ipa dnszone-mod example.com --dynamic-update=TRUE\n" +#: ipalib/plugins/cert.py:261 ipalib/plugins/cert.py:569 +#: ipalib/plugins/cert.py:726 ipalib/plugins/cert.py:727 +#: ipalib/plugins/host.py:187 ipalib/plugins/internal.py:367 +#: ipalib/plugins/service.py:108 +msgid "Subject" msgstr "" -#: ipalib/plugins/dns.py:98 -msgid "" -"\n" -" This is the equivalent of:\n" -" ipa dnszone-mod example.com --dynamic-update=TRUE \\\n" -" --update-policy=\"grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM " -"krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;\"\n" +#: ipalib/plugins/cert.py:264 ipalib/plugins/cert.py:572 +#: ipalib/plugins/host.py:196 ipalib/plugins/service.py:117 +msgid "Issuer" msgstr "" -#: ipalib/plugins/dns.py:102 -msgid "" -"\n" -" Modify the zone to allow zone transfers for local network only:\n" -" ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24\n" +#: ipalib/plugins/cert.py:267 ipalib/plugins/cert.py:575 +#: ipalib/plugins/host.py:199 ipalib/plugins/service.py:120 +msgid "Not Before" msgstr "" -#: ipalib/plugins/dns.py:105 -msgid "" -"\n" -" Add new reverse zone specified by network IP address:\n" -" ipa dnszone-add --name-from-ip=192.0.2.0/24 \\\n" -" --name-server=ns.example.com.\n" +#: ipalib/plugins/cert.py:270 ipalib/plugins/cert.py:578 +#: ipalib/plugins/host.py:202 ipalib/plugins/service.py:123 +msgid "Not After" msgstr "" -#: ipalib/plugins/dns.py:109 -msgid "" -"\n" -" Add second nameserver for example.com:\n" -" ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com\n" +#: ipalib/plugins/cert.py:273 ipalib/plugins/cert.py:581 +#: ipalib/plugins/host.py:205 ipalib/plugins/service.py:126 +msgid "Fingerprint (MD5)" msgstr "" -#: ipalib/plugins/dns.py:112 -msgid "" -"\n" -" Add a mail server for example.com:\n" -" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail1\"\n" +#: ipalib/plugins/cert.py:276 ipalib/plugins/cert.py:584 +#: ipalib/plugins/host.py:208 ipalib/plugins/service.py:129 +msgid "Fingerprint (SHA1)" msgstr "" -#: ipalib/plugins/dns.py:115 -msgid "" -"\n" -" Add another record using MX record specific options:\n" -" ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2\n" +#: ipalib/plugins/cert.py:279 ipalib/plugins/cert.py:553 +#: ipalib/plugins/cert.py:800 +msgid "Serial number" msgstr "" -#: ipalib/plugins/dns.py:118 -msgid "" -"\n" -" Add another record using interactive mode (started when dnsrecord-add, " -"dnsrecord-mod,\n" -" or dnsrecord-del are executed with no options):\n" -" ipa dnsrecord-add example.com @\n" -" Please choose a type of DNS resource record to be added\n" -" The most common types for this type of zone are: NS, MX, LOC\n" -"\n" -" DNS resource record type: MX\n" -" MX Preference: 30\n" -" MX Exchanger: mail3\n" -" Record name: example.com\n" -" MX record: 10 mail1, 20 mail2, 30 mail3\n" -" NS record: nameserver.example.com., nameserver2.example.com.\n" +#: ipalib/plugins/cert.py:282 ipalib/plugins/cert.py:590 +#: ipalib/plugins/cert.py:797 +msgid "Serial number (hex)" msgstr "" -#: ipalib/plugins/dns.py:131 -msgid "" -"\n" -" Delete previously added nameserver from example.com:\n" -" ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com.\n" +#: ipalib/plugins/cert.py:289 ipalib/plugins/misc.py:61 +msgid "Dictionary mapping variable name to value" msgstr "" -#: ipalib/plugins/dns.py:134 +#: ipalib/plugins/cert.py:336 +#, python-format msgid "" -"\n" -" Add LOC record for example.com:\n" -" ipa dnsrecord-add example.com @ --loc-rec=\"49 11 42.4 N 16 36 29.6 E " -"227.64m\"\n" +"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " +"'%(profile_id)s' for certificate issuance." msgstr "" -#: ipalib/plugins/dns.py:137 -msgid "" -"\n" -" Add new A record for www.example.com. Create a reverse record in " -"appropriate\n" -" reverse zone as well. In this case a PTR record \"2\" pointing to www." -"example.com\n" -" will be created in zone 2.0.192.in-addr.arpa.\n" -" ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse\n" +#: ipalib/plugins/cert.py:391 +msgid "The principal for this request doesn't exist." msgstr "" -#: ipalib/plugins/dns.py:142 -msgid "" -"\n" -" Add new PTR record for www.example.com\n" -" ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com.\n" +#: ipalib/plugins/cert.py:399 +msgid "No Common Name was found in subject of request." msgstr "" -#: ipalib/plugins/dns.py:145 +#: ipalib/plugins/cert.py:404 +#, python-format msgid "" -"\n" -" Add new SRV records for LDAP servers. Three quarters of the requests\n" -" should go to fast.example.com, one quarter to slow.example.com. If neither\n" -" is available, switch to backup.example.com.\n" -" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example." -"com\"\n" -" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example." -"com\"\n" -" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup." -"example.com\"\n" +"hostname in subject of request '%(cn)s' does not match principal hostname " +"'%(hostname)s'" msgstr "" -#: ipalib/plugins/dns.py:152 -msgid "" -"\n" -" The interactive mode can be used for easy modification:\n" -" ipa dnsrecord-mod example.com _ldap._tcp\n" -" No option to modify specific record provided.\n" -" Current DNS record contents:\n" -"\n" -" SRV record: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 " -"backup.example.com\n" -"\n" -" Modify SRV record '0 3 389 fast.example.com'? Yes/No (default No):\n" -" Modify SRV record '0 1 389 slow.example.com'? Yes/No (default No): y\n" -" SRV Priority [0]: (keep the default value)\n" -" SRV Weight [1]: 2 (modified value)\n" -" SRV Port [389]: (keep the default value)\n" -" SRV Target [slow.example.com]: (keep the default value)\n" -" 1 SRV record skipped. Only one value per DNS record type can be modified " -"at one time.\n" -" Record name: _ldap._tcp\n" -" SRV record: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 " -"389 slow.example.com\n" +#: ipalib/plugins/cert.py:413 +msgid "DN commonName does not match any of user's email addresses" msgstr "" -#: ipalib/plugins/dns.py:169 -msgid "" -"\n" -" After this modification, three fifths of the requests should go to\n" -" fast.example.com and two fifths to slow.example.com.\n" +#: ipalib/plugins/cert.py:423 +msgid "DN emailAddress does not match any of user's email addresses" msgstr "" -#: ipalib/plugins/dns.py:172 -msgid "" -"\n" -" An example of the interactive mode for dnsrecord-del command:\n" -" ipa dnsrecord-del example.com www\n" -" No option to delete specific record provided.\n" -" Delete all? Yes/No (default No): (do not delete all records)\n" -" Current DNS record contents:\n" -"\n" -" A record: 192.0.2.2, 192.0.2.3\n" -"\n" -" Delete A record '192.0.2.2'? Yes/No (default No):\n" -" Delete A record '192.0.2.3'? Yes/No (default No): y\n" -" Record name: www\n" -" A record: 192.0.2.2 (A record 192.0.2.3 has been " -"deleted)\n" +#: ipalib/plugins/cert.py:430 +#, python-format +msgid "extension %s is forbidden" msgstr "" -#: ipalib/plugins/dns.py:185 +#: ipalib/plugins/cert.py:434 +#, python-format msgid "" -"\n" -" Show zone example.com:\n" -" ipa dnszone-show example.com\n" +"Insufficient 'write' privilege to the 'userCertificate' attribute of entry " +"'%s'." msgstr "" -#: ipalib/plugins/dns.py:188 -msgid "" -"\n" -" Find zone with \"example\" in its domain name:\n" -" ipa dnszone-find example\n" +#: ipalib/plugins/cert.py:452 +#, python-format +msgid "subject alt name type %s is forbidden for user principals" msgstr "" -#: ipalib/plugins/dns.py:191 +#: ipalib/plugins/cert.py:459 +#, python-format msgid "" -"\n" -" Find records for resources with \"www\" in their name in zone example.com:\n" -" ipa dnsrecord-find example.com www\n" +"The service principal for subject alt name %s in certificate request does " +"not exist" msgstr "" -#: ipalib/plugins/dns.py:194 +#: ipalib/plugins/cert.py:466 +#, python-format msgid "" -"\n" -" Find A records with value 192.0.2.2 in zone example.com\n" -" ipa dnsrecord-find example.com --a-rec=192.0.2.2\n" +"Insufficient privilege to create a certificate with subject alt name '%s'." msgstr "" -#: ipalib/plugins/dns.py:197 -msgid "" -"\n" -" Show records for resource www in zone example.com\n" -" ipa dnsrecord-show example.com www\n" +#: ipalib/plugins/cert.py:472 +#, python-format +msgid "Principal '%s' in subject alt name does not match requested principal" msgstr "" -#: ipalib/plugins/dns.py:200 -msgid "" -"\n" -" Delegate zone sub.example to another nameserver:\n" -" ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1\n" -" ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com.\n" +#: ipalib/plugins/cert.py:480 +msgid "RFC822Name does not match any of user's email addresses" msgstr "" -#: ipalib/plugins/dns.py:204 -msgid "" -"\n" -" Delete zone example.com with all resource records:\n" -" ipa dnszone-del example.com\n" +#: ipalib/plugins/cert.py:486 +#, python-format +msgid "subject alt name type %s is forbidden for non-user principals" msgstr "" -#: ipalib/plugins/dns.py:207 -msgid "" -"\n" -" If a global forwarder is configured, all queries for which this server is " -"not\n" -" authoritative (e.g. sub.example.com) will be routed to the global " -"forwarder.\n" -" Global forwarding configuration can be overridden per-zone.\n" +#: ipalib/plugins/cert.py:491 +#, python-format +msgid "Subject alt name type %s is forbidden" msgstr "" -#: ipalib/plugins/dns.py:211 -msgid "" -"\n" -" Semantics of forwarding in IPA matches BIND sematics and depends on type\n" -" of the zone:\n" -" * Master zone: local BIND replies authoritatively to queries for data in\n" -" the given zone (including authoritative NXDOMAIN answers) and forwarding\n" -" affects only queries for names bellow zone cuts (NS records) of locally\n" -" served zones.\n" -"\n" -" * Forward zone: forward zone contains no authoritative data. BIND " -"forwards\n" -" queries, which cannot be answered from its local cache, to configured\n" -" forwarders.\n" +#: ipalib/plugins/cert.py:526 +msgid "Check the status of a certificate signing request." msgstr "" -#: ipalib/plugins/dns.py:222 -msgid "" -"\n" -" Semantics of the --forwarder-policy option:\n" -" * none - disable forwarding for the given zone.\n" -" * first - forward all queries to configured forwarders. If they fail,\n" -" do resolution using DNS root servers.\n" -" * only - forward all queries to configured forwarders and if they fail,\n" -" return failure.\n" +#: ipalib/plugins/cert.py:530 +msgid "Request id" msgstr "" -#: ipalib/plugins/dns.py:229 -msgid "" -"\n" -" Disable global forwarding for given sub-tree:\n" -" ipa dnszone-mod example.com --forward-policy=none\n" +#: ipalib/plugins/cert.py:536 +msgid "Request status" msgstr "" -#: ipalib/plugins/dns.py:232 -msgid "" -"\n" -" This configuration forwards all queries for names outside the example.com\n" -" sub-tree to global forwarders. Normal recursive resolution process is used\n" -" for names inside the example.com sub-tree (i.e. NS records are followed " -"etc.).\n" +#: ipalib/plugins/cert.py:554 +msgid "Serial number in decimal or if prefixed with 0x in hexadecimal" msgstr "" -#: ipalib/plugins/dns.py:236 -msgid "" -"\n" -" Forward all requests for the zone external.example.com to another " -"forwarder\n" -" using a \"first\" policy (it will send the queries to the selected " -"forwarder\n" -" and if not answered it will use global root servers):\n" -" ipa dnsforwardzone-add external.example.com --forward-policy=first \\\n" -" --forwarder=203.0.113.1\n" +#: ipalib/plugins/cert.py:560 +msgid "Retrieve an existing certificate." msgstr "" -#: ipalib/plugins/dns.py:242 -msgid "" -"\n" -" Change forward-policy for external.example.com:\n" -" ipa dnsforwardzone-mod external.example.com --forward-policy=only\n" +#: ipalib/plugins/cert.py:587 ipalib/plugins/host.py:211 +#: ipalib/plugins/internal.py:364 ipalib/plugins/internal.py:394 +#: ipalib/plugins/service.py:132 +msgid "Revocation reason" msgstr "" -#: ipalib/plugins/dns.py:245 -msgid "" -"\n" -" Show forward zone external.example.com:\n" -" ipa dnsforwardzone-show external.example.com\n" +#: ipalib/plugins/cert.py:596 +msgid "Output filename" msgstr "" -#: ipalib/plugins/dns.py:248 -msgid "" -"\n" -" List all forward zones:\n" -" ipa dnsforwardzone-find\n" +#: ipalib/plugins/cert.py:597 +msgid "File to store the certificate in." msgstr "" -#: ipalib/plugins/dns.py:251 -msgid "" -"\n" -" Delete forward zone external.example.com:\n" -" ipa dnsforwardzone-del external.example.com\n" +#: ipalib/plugins/cert.py:649 +msgid "Revoke a certificate." msgstr "" -#: ipalib/plugins/dns.py:254 -msgid "" -"\n" -" Resolve a host name to see if it exists (will add default IPA domain\n" -" if one is not included):\n" -" ipa dns-resolve www.example.com\n" -" ipa dns-resolve www\n" +#: ipalib/plugins/cert.py:655 +msgid "Revoked" msgstr "" -#: ipalib/plugins/dns.py:259 -msgid "" -"\n" -"\n" -"GLOBAL DNS CONFIGURATION\n" +#: ipalib/plugins/cert.py:663 ipalib/plugins/cert.py:731 +msgid "Reason" msgstr "" -#: ipalib/plugins/dns.py:262 -msgid "" -"\n" -"DNS configuration passed to command line install script is stored in a " -"local\n" -"configuration file on each IPA server where DNS service is configured. " -"These\n" -"local settings can be overridden with a common configuration stored in LDAP\n" -"server:\n" +#: ipalib/plugins/cert.py:664 ipalib/plugins/cert.py:732 +msgid "Reason for revoking the certificate (0-10)" msgstr "" -#: ipalib/plugins/dns.py:267 -msgid "" -"\n" -" Show global DNS configuration:\n" -" ipa dnsconfig-show\n" +#: ipalib/plugins/cert.py:687 +msgid "7 is not a valid revocation reason" msgstr "" -#: ipalib/plugins/dns.py:270 -msgid "" -"\n" -" Modify global DNS configuration and set a list of global forwarders:\n" -" ipa dnsconfig-mod --forwarder=203.0.113.113\n" +#: ipalib/plugins/cert.py:697 +msgid "Take a revoked certificate off hold." msgstr "" -#: ipalib/plugins/dns.py:309 -msgid "Permission value" +#: ipalib/plugins/cert.py:703 +msgid "Unrevoked" msgstr "" -#: ipalib/plugins/dns.py:355 -#, python-format -msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" +#: ipalib/plugins/cert.py:706 ipalib/plugins/internal.py:275 +msgid "Error" msgstr "" -#: ipalib/plugins/dns.py:358 -msgid "invalid IP address format" +#: ipalib/plugins/cert.py:722 +msgid "Search for existing certificates." msgstr "" -#: ipalib/plugins/dns.py:371 -msgid "invalid IP network format" +#: ipalib/plugins/cert.py:738 +msgid "minimum serial number" msgstr "" -#: ipalib/plugins/dns.py:380 -msgid "each ACL element must be terminated with a semicolon" +#: ipalib/plugins/cert.py:744 +msgid "maximum serial number" msgstr "" -#: ipalib/plugins/dns.py:397 -msgid "invalid address format" +#: ipalib/plugins/cert.py:750 +msgid "match the common name exactly" msgstr "" -#: ipalib/plugins/dns.py:447 -#, python-format -msgid "%(port)s is not a valid port" +#: ipalib/plugins/cert.py:754 +msgid "Valid not after from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:458 -msgid "" -"expected format: <0-255> <0-255> <0-65535> even-" -"length_hexadecimal_digits_or_hyphen" +#: ipalib/plugins/cert.py:758 +msgid "Valid not after to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:467 -msgid "algorithm value: allowed interval 0-255" +#: ipalib/plugins/cert.py:762 +msgid "Valid not before from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:470 -msgid "flags value: allowed interval 0-255" +#: ipalib/plugins/cert.py:766 +msgid "Valid not before to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:473 -msgid "iterations value: allowed interval 0-65535" +#: ipalib/plugins/cert.py:770 +msgid "Issued on from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:481 -#, python-format -msgid "salt value: %(err)s" +#: ipalib/plugins/cert.py:774 +msgid "Issued on to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:488 -msgid "invalid domain-name: not fully qualified" +#: ipalib/plugins/cert.py:778 +msgid "Revoked on from this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:543 -#, python-format -msgid "DNS reverse zone for IP address %(addr)s not found" +#: ipalib/plugins/cert.py:782 +msgid "Revoked on to this date (YYYY-mm-dd)" msgstr "" -#: ipalib/plugins/dns.py:558 -#, python-format -msgid "DNS zone %(zone)s not found" +#: ipalib/plugins/cert.py:787 +msgid "Maximum number of certs returned" msgstr "" -#: ipalib/plugins/dns.py:572 -#, python-format -msgid "IP address %(ip)s is already assigned in domain %(domain)s." +#: ipalib/plugins/cert.py:803 ipalib/plugins/internal.py:402 +#: ipalib/plugins/internal.py:520 ipalib/plugins/internal.py:647 +#: ipalib/plugins/internal.py:786 +msgid "Status" msgstr "" -#: ipalib/plugins/dns.py:585 +#: ipalib/plugins/cert.py:808 #, python-format -msgid "" -"Reverse record for IP address %(ip)s already exists in reverse zone %(zone)s." -msgstr "" +msgid "%(count)d certificate matched" +msgid_plural "%(count)d certificates matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/dns.py:662 -#, python-format -msgid "%s record" +#: ipalib/plugins/certprofile.py:20 +msgid "" +"\n" +"Manage Certificate Profiles\n" +"\n" +"Certificate Profiles are used by Certificate Authority (CA) in the signing " +"of\n" +"certificates to determine if a Certificate Signing Request (CSR) is " +"acceptable,\n" +"and if so what features and extensions will be present on the certificate.\n" +"\n" +"The Certificate Profile format is the property-list format understood by " +"the\n" +"Dogtag or Red Hat Certificate System CA.\n" +"\n" +"PROFILE ID SYNTAX:\n" +"\n" +"A Profile ID is a string without spaces or punctuation starting with a " +"letter\n" +"and followed by a sequence of letters, digits or underscore (\"_\").\n" +"\n" +"EXAMPLES:\n" +"\n" +" Import a profile that will not store issued certificates:\n" +" ipa certprofile-import ShortLivedUserCert \\\n" +" --file UserCert.profile --summary \"User Certificates\" \\\n" +" --store=false\n" +"\n" +" Delete a certificate profile:\n" +" ipa certprofile-del ShortLivedUserCert\n" +"\n" +" Show information about a profile:\n" +" ipa certprofile-show ShortLivedUserCert\n" +"\n" +" Search for profiles that do not store certificates:\n" +" ipa certprofile-find --store=false\n" +"\n" msgstr "" -#: ipalib/plugins/dns.py:664 -#, python-format -msgid "Raw %s records" +#: ipalib/plugins/certprofile.py:74 +msgid "invalid Profile ID" msgstr "" -#: ipalib/plugins/dns.py:665 -#, python-format -msgid "%s Record" +#: ipalib/plugins/certprofile.py:85 ipalib/plugins/certprofile.py:96 +msgid "Certificate Profile" msgstr "" -#: ipalib/plugins/dns.py:666 -#, python-format -msgid "(see RFC %s for details)" +#: ipalib/plugins/certprofile.py:86 ipalib/plugins/certprofile.py:95 +msgid "Certificate Profiles" msgstr "" -#: ipalib/plugins/dns.py:731 -#, python-format -msgid "'%s' is a required part of DNS record" +#: ipalib/plugins/certprofile.py:103 +msgid "Profile ID for referring to this profile" msgstr "" -#: ipalib/plugins/dns.py:738 -msgid "Invalid number of parts!" +#: ipalib/plugins/certprofile.py:108 +msgid "Profile description" msgstr "" -#: ipalib/plugins/dns.py:793 -#, python-format -msgid "DNS RR type \"%s\" is not supported by bind-dyndb-ldap plugin" +#: ipalib/plugins/certprofile.py:109 +msgid "Brief description of this profile" msgstr "" -#: ipalib/plugins/dns.py:809 -#, python-format -msgid "format must be specified as \"%(format)s\" %(rfcs)s" +#: ipalib/plugins/certprofile.py:114 +msgid "Store issued certificates" msgstr "" -#: ipalib/plugins/dns.py:933 -msgid "Create reverse" +#: ipalib/plugins/certprofile.py:115 +msgid "Whether to store certs issued using this profile" msgstr "" -#: ipalib/plugins/dns.py:934 -msgid "Create reverse record for this IP Address" +#: ipalib/plugins/certprofile.py:164 +msgid "Search for Certificate Profiles." msgstr "" -#: ipalib/plugins/dns.py:969 +#: ipalib/plugins/certprofile.py:166 #, python-format -msgid "Cannot create reverse record for \"%(value)s\": %(exc)s" +msgid "%(count)d profile matched" +msgid_plural "%(count)d profiles matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/certprofile.py:176 +msgid "Display the properties of a Certificate Profile." msgstr "" -#: ipalib/plugins/dns.py:978 ipalib/plugins/dns.py:1001 -#: ipalib/plugins/host.py:525 -msgid "IP Address" +#: ipalib/plugins/certprofile.py:185 +msgid "Import a Certificate Profile." msgstr "" -#: ipalib/plugins/dns.py:987 ipalib/plugins/dns.py:1530 -msgid "Record data" +#: ipalib/plugins/certprofile.py:186 +#, python-format +msgid "Imported profile \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:1010 -msgid "Subtype" +#: ipalib/plugins/certprofile.py:189 +msgid "Filename" msgstr "" -#: ipalib/plugins/dns.py:1015 ipalib/plugins/dns.py:1053 -#: ipalib/plugins/dns.py:1292 ipalib/plugins/dns.py:1356 -#: ipalib/plugins/dns.py:3691 -msgid "Hostname" +#: ipalib/plugins/certprofile.py:203 +msgid "Profile ID is not present in profile data" msgstr "" -#: ipalib/plugins/dns.py:1029 -msgid "Certificate Type" +#: ipalib/plugins/certprofile.py:206 +#, python-format +msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" msgstr "" -#: ipalib/plugins/dns.py:1034 ipalib/plugins/dns.py:1082 -msgid "Key Tag" +#: ipalib/plugins/certprofile.py:232 +msgid "Delete a Certificate Profile." msgstr "" -#: ipalib/plugins/dns.py:1039 ipalib/plugins/dns.py:1087 -#: ipalib/plugins/dns.py:1419 ipalib/plugins/otptoken.py:198 -msgid "Algorithm" +#: ipalib/plugins/certprofile.py:233 +#, python-format +msgid "Deleted profile \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:1044 -msgid "Certificate/CRL" +#: ipalib/plugins/certprofile.py:248 +msgid "Modify Certificate Profile configuration." msgstr "" -#: ipalib/plugins/dns.py:1054 -msgid "A hostname which this alias hostname points to" +#: ipalib/plugins/certprofile.py:249 +#, python-format +msgid "Modified Certificate Profile \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:1068 ipalib/plugins/dns.py:1386 -#: ipalib/plugins/internal.py:523 -msgid "Target" -msgstr "" - -#: ipalib/plugins/dns.py:1092 -msgid "Digest Type" +#: ipalib/plugins/config.py:33 +msgid "" +"\n" +"Server configuration\n" +"\n" +"Manage the default values that IPA uses and some of its tuning parameters.\n" +"\n" +"NOTES:\n" +"\n" +"The password notification value (--pwdexpnotify) is stored here so it will\n" +"be replicated. It is not currently used to notify users in advance of an\n" +"expiring password.\n" +"\n" +"Some attributes are read-only, provided only for information purposes. " +"These\n" +"include:\n" +"\n" +"Certificate Subject base: the configured certificate subject base,\n" +" e.g. O=EXAMPLE.COM. This is configurable only at install time.\n" +"Password plug-in features: currently defines additional hashes that the\n" +" password will generate (there may be other conditions).\n" +"\n" +"When setting the order list for mapping SELinux users you may need to\n" +"quote the value so it isn't interpreted by the shell.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Show basic server configuration:\n" +" ipa config-show\n" +"\n" +" Show all configuration options:\n" +" ipa config-show --all\n" +"\n" +" Change maximum username length to 99 characters:\n" +" ipa config-mod --maxusername=99\n" +"\n" +" Increase default time and size limits for maximum IPA server search:\n" +" ipa config-mod --searchtimelimit=10 --searchrecordslimit=2000\n" +"\n" +" Set default user e-mail domain:\n" +" ipa config-mod --emaildomain=example.com\n" +"\n" +" Enable migration mode to make \"ipa migrate-ds\" command operational:\n" +" ipa config-mod --enable-migration=TRUE\n" +"\n" +" Define SELinux user map order:\n" +" ipa config-mod --ipaselinuxusermaporder='guest_u:s0$xguest_u:s0$user_u:s0-" +"s0:c0.c1023$staff_u:s0-s0:c0.c1023$unconfined_u:s0-s0:c0.c1023'\n" msgstr "" -#: ipalib/plugins/dns.py:1097 -msgid "Digest" +#: ipalib/plugins/config.py:83 +msgid "searchtimelimit must be -1 or > 1." msgstr "" -#: ipalib/plugins/dns.py:1130 ipalib/plugins/dns.py:1275 -#: ipalib/plugins/dns.py:1330 -msgid "Preference" +#: ipalib/plugins/config.py:91 +msgid "configuration options" msgstr "" -#: ipalib/plugins/dns.py:1131 ipalib/plugins/dns.py:1276 -msgid "Preference given to this exchanger. Lower values are more preferred" +#: ipalib/plugins/config.py:124 ipalib/plugins/config.py:125 +msgid "Configuration" msgstr "" -#: ipalib/plugins/dns.py:1136 ipalib/plugins/dns.py:1281 -msgid "Exchanger" +#: ipalib/plugins/config.py:130 +msgid "Maximum username length" msgstr "" -#: ipalib/plugins/dns.py:1137 -msgid "A host willing to act as a key exchanger" +#: ipalib/plugins/config.py:135 +msgid "Home directory base" msgstr "" -#: ipalib/plugins/dns.py:1146 -msgid "Degrees Latitude" +#: ipalib/plugins/config.py:136 +msgid "Default location of home directories" msgstr "" -#: ipalib/plugins/dns.py:1151 -msgid "Minutes Latitude" +#: ipalib/plugins/config.py:140 +msgid "Default shell" msgstr "" -#: ipalib/plugins/dns.py:1156 -msgid "Seconds Latitude" +#: ipalib/plugins/config.py:141 +msgid "Default shell for new users" msgstr "" -#: ipalib/plugins/dns.py:1162 -msgid "Direction Latitude" +#: ipalib/plugins/config.py:145 +msgid "Default users group" msgstr "" -#: ipalib/plugins/dns.py:1166 -msgid "Degrees Longitude" +#: ipalib/plugins/config.py:146 +msgid "Default group for new users" msgstr "" -#: ipalib/plugins/dns.py:1171 -msgid "Minutes Longitude" +#: ipalib/plugins/config.py:150 ipalib/plugins/config.py:151 +msgid "Default e-mail domain" msgstr "" -#: ipalib/plugins/dns.py:1176 -msgid "Seconds Longitude" +#: ipalib/plugins/config.py:155 +msgid "Search time limit" msgstr "" -#: ipalib/plugins/dns.py:1182 -msgid "Direction Longitude" +#: ipalib/plugins/config.py:156 +msgid "" +"Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)" msgstr "" -#: ipalib/plugins/dns.py:1186 -msgid "Altitude" +#: ipalib/plugins/config.py:161 +msgid "Search size limit" msgstr "" -#: ipalib/plugins/dns.py:1192 -msgid "Size" +#: ipalib/plugins/config.py:162 +msgid "Maximum number of records to search (-1 is unlimited)" msgstr "" -#: ipalib/plugins/dns.py:1198 -msgid "Horizontal Precision" +#: ipalib/plugins/config.py:167 +msgid "User search fields" msgstr "" -#: ipalib/plugins/dns.py:1204 -msgid "Vertical Precision" +#: ipalib/plugins/config.py:168 +msgid "A comma-separated list of fields to search in when searching for users" msgstr "" -#: ipalib/plugins/dns.py:1211 -msgid "" -"format must be specified as\n" -" \"d1 [m1 [s1]] {\"N\"|\"S\"} d2 [m2 [s2]] {\"E\"|\"W\"} alt[\"m\"] " -"[siz[\"m\"] [hp[\"m\"] [vp[\"m\"]]]]\"\n" -" where:\n" -" d1: [0 .. 90] (degrees latitude)\n" -" d2: [0 .. 180] (degrees longitude)\n" -" m1, m2: [0 .. 59] (minutes latitude/longitude)\n" -" s1, s2: [0 .. 59.999] (seconds latitude/longitude)\n" -" alt: [-100000.00 .. 42849672.95] BY .01 (altitude in meters)\n" -" siz, hp, vp: [0 .. 90000000.00] (size/precision in meters)\n" -" See RFC 1876 for details" +#: ipalib/plugins/config.py:173 +msgid "A comma-separated list of fields to search in when searching for groups" msgstr "" -#: ipalib/plugins/dns.py:1265 -#, python-format -msgid "'%(required)s' must not be empty when '%(name)s' is set" +#: ipalib/plugins/config.py:177 ipalib/plugins/config.py:178 +msgid "Enable migration mode" msgstr "" -#: ipalib/plugins/dns.py:1282 -msgid "A host willing to act as a mail exchanger" +#: ipalib/plugins/config.py:182 +msgid "Certificate Subject base" msgstr "" -#: ipalib/plugins/dns.py:1317 -msgid "flags must be one of \"S\", \"A\", \"U\", or \"P\"" +#: ipalib/plugins/config.py:183 +msgid "Base for certificate subjects (OU=Test,O=Example)" msgstr "" -#: ipalib/plugins/dns.py:1325 -msgid "Order" +#: ipalib/plugins/config.py:188 +msgid "Default group objectclasses" msgstr "" -#: ipalib/plugins/dns.py:1336 -msgid "Flags" +#: ipalib/plugins/config.py:189 +msgid "Default group objectclasses (comma-separated list)" msgstr "" -#: ipalib/plugins/dns.py:1340 ipalib/plugins/hbactest.py:269 -#: ipalib/plugins/internal.py:575 ipalib/plugins/service.py:366 -msgid "Service" +#: ipalib/plugins/config.py:194 +msgid "Default user objectclasses" msgstr "" -#: ipalib/plugins/dns.py:1343 -msgid "Regular Expression" +#: ipalib/plugins/config.py:195 +msgid "Default user objectclasses (comma-separated list)" msgstr "" -#: ipalib/plugins/dns.py:1346 -msgid "Replacement" +#: ipalib/plugins/config.py:200 +msgid "Password Expiration Notification (days)" msgstr "" -#: ipalib/plugins/dns.py:1357 -msgid "The hostname this reverse record points to" +#: ipalib/plugins/config.py:201 +msgid "Number of days's notice of impending password expiration" msgstr "" -#: ipalib/plugins/dns.py:1371 ipalib/plugins/pwpolicy.py:346 -msgid "Priority" +#: ipalib/plugins/config.py:206 +msgid "Password plugin features" msgstr "" -#: ipalib/plugins/dns.py:1376 -msgid "Weight" +#: ipalib/plugins/config.py:207 +msgid "Extra hashes to generate in password plug-in" msgstr "" -#: ipalib/plugins/dns.py:1381 -msgid "Port" +#: ipalib/plugins/config.py:213 +msgid "SELinux user map order" msgstr "" -#: ipalib/plugins/dns.py:1387 -msgid "" -"The domain name of the target host or '.' if the service is decidedly not " -"available at this domain" +#: ipalib/plugins/config.py:214 +msgid "Order in increasing priority of SELinux users, delimited by $" msgstr "" -#: ipalib/plugins/dns.py:1396 -msgid "the value does not follow \"YYYYMMDDHHMMSS\" time format" +#: ipalib/plugins/config.py:217 +msgid "Default SELinux user" msgstr "" -#: ipalib/plugins/dns.py:1424 -msgid "Fingerprint Type" +#: ipalib/plugins/config.py:218 +msgid "Default SELinux user when no match is found in SELinux map rule" msgstr "" -#: ipalib/plugins/dns.py:1429 -msgid "Fingerprint" +#: ipalib/plugins/config.py:222 +msgid "Default PAC types" msgstr "" -#: ipalib/plugins/dns.py:1443 -msgid "Certificate Usage" +#: ipalib/plugins/config.py:223 +msgid "Default types of PAC supported for services" msgstr "" -#: ipalib/plugins/dns.py:1448 -msgid "Selector" +#: ipalib/plugins/config.py:229 +msgid "Default user authentication types" msgstr "" -#: ipalib/plugins/dns.py:1453 -msgid "Matching Type" +#: ipalib/plugins/config.py:230 +msgid "Default types of supported user authentication" msgstr "" -#: ipalib/plugins/dns.py:1458 -msgid "Certificate Association Data" +#: ipalib/plugins/config.py:243 +msgid "Modify configuration options." msgstr "" -#: ipalib/plugins/dns.py:1476 -msgid "Text Data" +#: ipalib/plugins/config.py:252 +msgid "The group doesn't exist" msgstr "" -#: ipalib/plugins/dns.py:1524 -msgid "Records" +#: ipalib/plugins/config.py:267 +#, python-format +msgid "attribute \"%s\" not allowed" msgstr "" -#: ipalib/plugins/dns.py:1527 -msgid "Record type" +#: ipalib/plugins/config.py:275 +msgid "May not be empty" msgstr "" -#: ipalib/plugins/dns.py:1562 +#: ipalib/plugins/config.py:293 #, python-format -msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" +msgid "%(obj)s default attribute %(attr)s would not be allowed!" msgstr "" -#: ipalib/plugins/dns.py:1581 -msgid "Managedby permission" +#: ipalib/plugins/config.py:325 +msgid "A list of SELinux users delimited by $ expected" msgstr "" -#: ipalib/plugins/dns.py:1736 -msgid "Zone name" +#: ipalib/plugins/config.py:329 +#, python-format +msgid "SELinux user '%(user)s' is not valid: %(error)s" msgstr "" -#: ipalib/plugins/dns.py:1737 -msgid "Zone name (FQDN)" +#: ipalib/plugins/config.py:341 +msgid "SELinux user map default user not in order list" msgstr "" -#: ipalib/plugins/dns.py:1743 -msgid "Reverse zone IP network" +#: ipalib/plugins/config.py:349 +msgid "Show the current configuration." msgstr "" -#: ipalib/plugins/dns.py:1744 -msgid "IP network to create reverse zone name from" +#: ipalib/plugins/delegation.py:30 +msgid "" +"\n" +"Group to Group Delegation\n" +"\n" +"A permission enables fine-grained delegation of permissions. Access Control\n" +"Rules, or instructions (ACIs), grant permission to permissions to perform\n" +"given tasks such as adding a user, modifying a group, etc.\n" +"\n" +"Group to Group Delegations grants the members of one group to update a set\n" +"of attributes of members of another group.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a delegation rule to allow managers to edit employee's addresses:\n" +" ipa delegation-add --attrs=street --group=managers --" +"membergroup=employees \"managers edit employees' street\"\n" +"\n" +" When managing the list of attributes you need to include all attributes\n" +" in the list, including existing ones. Add postalCode to the list:\n" +" ipa delegation-mod --attrs=street --attrs=postalCode --group=managers --" +"membergroup=employees \"managers edit employees' street\"\n" +"\n" +" Display our updated rule:\n" +" ipa delegation-show \"managers edit employees' street\"\n" +"\n" +" Delete a rule:\n" +" ipa delegation-del \"managers edit employees' street\"\n" msgstr "" -#: ipalib/plugins/dns.py:1749 -msgid "Active zone" +#: ipalib/plugins/delegation.py:73 +msgid "delegation" msgstr "" -#: ipalib/plugins/dns.py:1750 -msgid "Is zone active?" +#: ipalib/plugins/delegation.py:74 +msgid "delegations" msgstr "" -#: ipalib/plugins/dns.py:1757 -msgid "Zone forwarders" +#: ipalib/plugins/delegation.py:75 +msgid "Delegations" msgstr "" -#: ipalib/plugins/dns.py:1758 -msgid "" -"Per-zone forwarders. A custom port can be specified for each forwarder using " -"a standard format \"IP_ADDRESS port PORT\"" +#: ipalib/plugins/delegation.py:76 +msgid "Delegation" msgstr "" -#: ipalib/plugins/dns.py:1764 ipalib/plugins/dns.py:3760 -msgid "Forward policy" -msgstr "" - -#: ipalib/plugins/dns.py:1765 -msgid "" -"Per-zone conditional forwarding policy. Set to \"none\" to disable " -"forwarding to global forwarder for this zone. In that case, conditional zone " -"forwarders are disregarded." +#: ipalib/plugins/delegation.py:81 ipalib/plugins/delegation.py:82 +#: ipalib/plugins/servicedelegation.py:161 +msgid "Delegation name" msgstr "" -#: ipalib/plugins/dns.py:1837 -msgid "DNS is not configured" +#: ipalib/plugins/delegation.py:88 ipalib/plugins/selfservice.py:92 +msgid "Permissions to grant (read, write). Default is write." msgstr "" -#: ipalib/plugins/dns.py:1848 -msgid "Only one zone type is allowed per zone name" +#: ipalib/plugins/delegation.py:94 +msgid "Attributes to which the delegation applies" msgstr "" -#: ipalib/plugins/dns.py:1878 ipalib/plugins/dns.py:2488 -msgid "Search for DNS zones (SOA records)." +#: ipalib/plugins/delegation.py:100 +msgid "Member user group" msgstr "" -#: ipalib/plugins/dns.py:1965 -#, python-format -msgid "Added system permission \"%(value)s\"" +#: ipalib/plugins/delegation.py:101 +msgid "User group to apply delegation to" msgstr "" -#: ipalib/plugins/dns.py:1992 -#, python-format -msgid "permission \"%(value)s\" already exists" +#: ipalib/plugins/delegation.py:134 +msgid "Add a new delegation." msgstr "" -#: ipalib/plugins/dns.py:2020 +#: ipalib/plugins/delegation.py:136 #, python-format -msgid "Removed system permission \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/dns.py:2059 -msgid "DNS zone" -msgstr "" - -#: ipalib/plugins/dns.py:2060 -msgid "DNS zones" -msgstr "" - -#: ipalib/plugins/dns.py:2067 -msgid "DNS Zones" -msgstr "" - -#: ipalib/plugins/dns.py:2068 -msgid "DNS Zone" -msgstr "" - -#: ipalib/plugins/dns.py:2073 -msgid "Authoritative nameserver" +msgid "Added delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2074 -msgid "Authoritative nameserver domain name" +#: ipalib/plugins/delegation.py:155 +msgid "Delete a delegation." msgstr "" -#: ipalib/plugins/dns.py:2080 ipalib/plugins/dns.py:2081 -msgid "Administrator e-mail address" +#: ipalib/plugins/delegation.py:158 +#, python-format +msgid "Deleted delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2088 -msgid "SOA serial" +#: ipalib/plugins/delegation.py:173 +msgid "Modify a delegation." msgstr "" -#: ipalib/plugins/dns.py:2089 -msgid "SOA record serial number" +#: ipalib/plugins/delegation.py:175 +#, python-format +msgid "Modified delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/dns.py:2097 -msgid "SOA refresh" +#: ipalib/plugins/delegation.py:192 +msgid "Search for delegations." msgstr "" -#: ipalib/plugins/dns.py:2098 -msgid "SOA record refresh time" -msgstr "" +#: ipalib/plugins/delegation.py:195 +#, python-format +msgid "%(count)d delegation matched" +msgid_plural "%(count)d delegations matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/dns.py:2106 -msgid "SOA retry" +#: ipalib/plugins/delegation.py:218 +msgid "Display information about a delegation." msgstr "" -#: ipalib/plugins/dns.py:2107 -msgid "SOA record retry time" +#: ipalib/plugins/dns.py:56 +msgid "" +"\n" +"Domain Name System (DNS)\n" msgstr "" -#: ipalib/plugins/dns.py:2115 -msgid "SOA expire" +#: ipalib/plugins/dns.py:58 +msgid "" +"\n" +"Manage DNS zone and resource records.\n" msgstr "" -#: ipalib/plugins/dns.py:2116 -msgid "SOA record expire time" +#: ipalib/plugins/dns.py:60 +msgid "" +"\n" +"SUPPORTED ZONE TYPES\n" +"\n" +" * Master zone (dnszone-*), contains authoritative data.\n" +" * Forward zone (dnsforwardzone-*), forwards queries to configured " +"forwarders\n" +" (a set of DNS servers).\n" msgstr "" -#: ipalib/plugins/dns.py:2124 -msgid "SOA minimum" +#: ipalib/plugins/dns.py:66 +msgid "" +"\n" +"USING STRUCTURED PER-TYPE OPTIONS\n" msgstr "" -#: ipalib/plugins/dns.py:2125 -msgid "How long should negative responses be cached" +#: ipalib/plugins/dns.py:68 +msgid "" +"\n" +"There are many structured DNS RR types where DNS data stored in LDAP server\n" +"is not just a scalar value, for example an IP address or a domain name, but\n" +"a data structure which may be often complex. A good example is a LOC record\n" +"[RFC1876] which consists of many mandatory and optional parts (degrees,\n" +"minutes, seconds of latitude and longitude, altitude or precision).\n" msgstr "" -#: ipalib/plugins/dns.py:2133 ipalib/plugins/dns.py:2588 -#: ipalib/plugins/dns.py:2589 -msgid "Time to live" +#: ipalib/plugins/dns.py:74 +msgid "" +"\n" +"It may be difficult to manipulate such DNS records without making a mistake\n" +"and entering an invalid value. DNS module provides an abstraction over " +"these\n" +"raw records and allows to manipulate each RR type with specific options. " +"For\n" +"each supported RR type, DNS module provides a standard option to manipulate\n" +"a raw records with format ---rec, e.g. --mx-rec, and special " +"options\n" +"for every part of the RR structure with format ---, e.g.\n" +"--mx-preference and --mx-exchanger.\n" msgstr "" -#: ipalib/plugins/dns.py:2134 -msgid "Time to live for records at zone apex" +#: ipalib/plugins/dns.py:82 +msgid "" +"\n" +"When adding a record, either RR specific options or standard option for a " +"raw\n" +"value can be used, they just should not be combined in one add operation. " +"When\n" +"modifying an existing entry, new RR specific options can be used to change\n" +"one part of a DNS record, where the standard option for raw value is used\n" +"to specify the modified value. The following example demonstrates\n" +"a modification of MX record preference from 0 to 1 in a record without\n" +"modifying the exchanger:\n" +"ipa dnsrecord-mod --mx-rec=\"0 mx.example.com.\" --mx-preference=1\n" msgstr "" -#: ipalib/plugins/dns.py:2140 -msgid "SOA class" +#: ipalib/plugins/dns.py:91 +msgid "" +"\n" +"\n" +"EXAMPLES:\n" msgstr "" -#: ipalib/plugins/dns.py:2141 -msgid "SOA record class" +#: ipalib/plugins/dns.py:94 +msgid "" +"\n" +" Add new zone:\n" +" ipa dnszone-add example.com --admin-email=admin@example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2146 ipalib/plugins/dns.py:2147 -msgid "BIND update policy" +#: ipalib/plugins/dns.py:97 +msgid "" +"\n" +" Add system permission that can be used for per-zone privilege delegation:\n" +" ipa dnszone-add-permission example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2153 -msgid "Dynamic update" +#: ipalib/plugins/dns.py:100 +msgid "" +"\n" +" Modify the zone to allow dynamic updates for hosts own records in realm " +"EXAMPLE.COM:\n" +" ipa dnszone-mod example.com --dynamic-update=TRUE\n" msgstr "" -#: ipalib/plugins/dns.py:2154 -msgid "Allow dynamic updates." +#: ipalib/plugins/dns.py:103 +msgid "" +"\n" +" This is the equivalent of:\n" +" ipa dnszone-mod example.com --dynamic-update=TRUE \\\n" +" --update-policy=\"grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM " +"krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;\"\n" msgstr "" -#: ipalib/plugins/dns.py:2163 -msgid "Allow query" +#: ipalib/plugins/dns.py:107 +msgid "" +"\n" +" Modify the zone to allow zone transfers for local network only:\n" +" ipa dnszone-mod example.com --allow-transfer=192.0.2.0/24\n" msgstr "" -#: ipalib/plugins/dns.py:2164 +#: ipalib/plugins/dns.py:110 msgid "" -"Semicolon separated list of IP addresses or networks which are allowed to " -"issue queries" +"\n" +" Add new reverse zone specified by network IP address:\n" +" ipa dnszone-add --name-from-ip=192.0.2.0/24\n" msgstr "" -#: ipalib/plugins/dns.py:2172 -msgid "Allow transfer" +#: ipalib/plugins/dns.py:113 +msgid "" +"\n" +" Add second nameserver for example.com:\n" +" ipa dnsrecord-add example.com @ --ns-rec=nameserver2.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2173 +#: ipalib/plugins/dns.py:116 msgid "" -"Semicolon separated list of IP addresses or networks which are allowed to " -"transfer the zone" +"\n" +" Add a mail server for example.com:\n" +" ipa dnsrecord-add example.com @ --mx-rec=\"10 mail1\"\n" msgstr "" -#: ipalib/plugins/dns.py:2179 ipalib/plugins/dns.py:3767 -msgid "Allow PTR sync" +#: ipalib/plugins/dns.py:119 +msgid "" +"\n" +" Add another record using MX record specific options:\n" +" ipa dnsrecord-add example.com @ --mx-preference=20 --mx-exchanger=mail2\n" msgstr "" -#: ipalib/plugins/dns.py:2180 +#: ipalib/plugins/dns.py:122 msgid "" -"Allow synchronization of forward (A, AAAA) and reverse (PTR) records in the " -"zone" +"\n" +" Add another record using interactive mode (started when dnsrecord-add, " +"dnsrecord-mod,\n" +" or dnsrecord-del are executed with no options):\n" +" ipa dnsrecord-add example.com @\n" +" Please choose a type of DNS resource record to be added\n" +" The most common types for this type of zone are: NS, MX, LOC\n" +"\n" +" DNS resource record type: MX\n" +" MX Preference: 30\n" +" MX Exchanger: mail3\n" +" Record name: example.com\n" +" MX record: 10 mail1, 20 mail2, 30 mail3\n" +" NS record: nameserver.example.com., nameserver2.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:2185 -msgid "Allow in-line DNSSEC signing" +#: ipalib/plugins/dns.py:135 +msgid "" +"\n" +" Delete previously added nameserver from example.com:\n" +" ipa dnsrecord-del example.com @ --ns-rec=nameserver2.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:2186 -msgid "Allow inline DNSSEC signing of records in the zone" +#: ipalib/plugins/dns.py:138 +msgid "" +"\n" +" Add LOC record for example.com:\n" +" ipa dnsrecord-add example.com @ --loc-rec=\"49 11 42.4 N 16 36 29.6 E " +"227.64m\"\n" msgstr "" -#: ipalib/plugins/dns.py:2191 -msgid "NSEC3PARAM record" +#: ipalib/plugins/dns.py:141 +msgid "" +"\n" +" Add new A record for www.example.com. Create a reverse record in " +"appropriate\n" +" reverse zone as well. In this case a PTR record \"2\" pointing to www." +"example.com\n" +" will be created in zone 2.0.192.in-addr.arpa.\n" +" ipa dnsrecord-add example.com www --a-rec=192.0.2.2 --a-create-reverse\n" msgstr "" -#: ipalib/plugins/dns.py:2192 +#: ipalib/plugins/dns.py:146 msgid "" -"NSEC3PARAM record for zone in format: hash_algorithm flags iterations salt" +"\n" +" Add new PTR record for www.example.com\n" +" ipa dnsrecord-add 2.0.192.in-addr.arpa. 2 --ptr-rec=www.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:2292 +#: ipalib/plugins/dns.py:149 msgid "" -"Manual configuration needed, please visit 'http://www.freeipa.org/page/" -"Releases/4.0.0#Experimental_DNSSEC_Support'" +"\n" +" Add new SRV records for LDAP servers. Three quarters of the requests\n" +" should go to fast.example.com, one quarter to slow.example.com. If neither\n" +" is available, switch to backup.example.com.\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 3 389 fast.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"0 1 389 slow.example." +"com\"\n" +" ipa dnsrecord-add example.com _ldap._tcp --srv-rec=\"1 1 389 backup." +"example.com\"\n" msgstr "" -#: ipalib/plugins/dns.py:2299 +#: ipalib/plugins/dns.py:156 msgid "" -"If you encounter any problems please report them and restart 'named' service " -"on affected IPA server." +"\n" +" The interactive mode can be used for easy modification:\n" +" ipa dnsrecord-mod example.com _ldap._tcp\n" +" No option to modify specific record provided.\n" +" Current DNS record contents:\n" +"\n" +" SRV record: 0 3 389 fast.example.com, 0 1 389 slow.example.com, 1 1 389 " +"backup.example.com\n" +"\n" +" Modify SRV record '0 3 389 fast.example.com'? Yes/No (default No):\n" +" Modify SRV record '0 1 389 slow.example.com'? Yes/No (default No): y\n" +" SRV Priority [0]: (keep the default value)\n" +" SRV Weight [1]: 2 (modified value)\n" +" SRV Port [389]: (keep the default value)\n" +" SRV Target [slow.example.com]: (keep the default value)\n" +" 1 SRV record skipped. Only one value per DNS record type can be modified " +"at one time.\n" +" Record name: _ldap._tcp\n" +" SRV record: 0 3 389 fast.example.com, 1 1 389 backup.example.com, 0 2 " +"389 slow.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2307 -msgid "Create new DNS zone (SOA record)." +#: ipalib/plugins/dns.py:173 +msgid "" +"\n" +" After this modification, three fifths of the requests should go to\n" +" fast.example.com and two fifths to slow.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:2311 ipalib/plugins/dns.py:2460 -#: ipalib/plugins/dns.py:3080 ipalib/plugins/host.py:517 -#: ipalib/plugins/permission.py:996 ipalib/plugins/realmdomains.py:124 -#: ipalib/plugins/service.py:419 -msgid "Force" -msgstr "" +#: ipalib/plugins/dns.py:176 +msgid "" +"\n" +" An example of the interactive mode for dnsrecord-del command:\n" +" ipa dnsrecord-del example.com www\n" +" No option to delete specific record provided.\n" +" Delete all? Yes/No (default No): (do not delete all records)\n" +" Current DNS record contents:\n" +"\n" +" A record: 192.0.2.2, 192.0.2.3\n" +"\n" +" Delete A record '192.0.2.2'? Yes/No (default No):\n" +" Delete A record '192.0.2.3'? Yes/No (default No): y\n" +" Record name: www\n" +" A record: 192.0.2.2 (A record 192.0.2.3 has been " +"deleted)\n" +msgstr "" -#: ipalib/plugins/dns.py:2312 -msgid "Force DNS zone creation even if nameserver is not resolvable." +#: ipalib/plugins/dns.py:189 +msgid "" +"\n" +" Show zone example.com:\n" +" ipa dnszone-show example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2315 -msgid "Add forward record for nameserver located in the created zone" +#: ipalib/plugins/dns.py:192 +msgid "" +"\n" +" Find zone with \"example\" in its domain name:\n" +" ipa dnszone-find example\n" msgstr "" -#: ipalib/plugins/dns.py:2316 ipalib/plugins/dns.py:2345 -msgid "Nameserver IP address" +#: ipalib/plugins/dns.py:195 +msgid "" +"\n" +" Find records for resources with \"www\" in their name in zone example.com:\n" +" ipa dnsrecord-find example.com www\n" msgstr "" -#: ipalib/plugins/dns.py:2360 -msgid "Nameserver address is not a domain name" +#: ipalib/plugins/dns.py:198 +msgid "" +"\n" +" Find A records with value 192.0.2.2 in zone example.com\n" +" ipa dnsrecord-find example.com --a-rec=192.0.2.2\n" msgstr "" -#: ipalib/plugins/dns.py:2372 -msgid "Nameserver for reverse zone cannot be a relative DNS name" +#: ipalib/plugins/dns.py:201 +msgid "" +"\n" +" Show records for resource www in zone example.com\n" +" ipa dnsrecord-show example.com www\n" msgstr "" -#: ipalib/plugins/dns.py:2376 -msgid "Nameserver DNS record is created for for forward zones only" +#: ipalib/plugins/dns.py:204 +msgid "" +"\n" +" Delegate zone sub.example to another nameserver:\n" +" ipa dnsrecord-add example.com ns.sub --a-rec=203.0.113.1\n" +" ipa dnsrecord-add example.com sub --ns-rec=ns.sub.example.com.\n" msgstr "" -#: ipalib/plugins/dns.py:2381 -msgid "Nameserver DNS record is created only for nameservers in current zone" +#: ipalib/plugins/dns.py:208 +msgid "" +"\n" +" Delete zone example.com with all resource records:\n" +" ipa dnszone-del example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2430 -msgid "Delete DNS zone (SOA record)." +#: ipalib/plugins/dns.py:211 +msgid "" +"\n" +" If a global forwarder is configured, all queries for which this server is " +"not\n" +" authoritative (e.g. sub.example.com) will be routed to the global " +"forwarder.\n" +" Global forwarding configuration can be overridden per-zone.\n" msgstr "" -#: ipalib/plugins/dns.py:2432 -#, python-format -msgid "Deleted DNS zone \"%(value)s\"" +#: ipalib/plugins/dns.py:215 +msgid "" +"\n" +" Semantics of forwarding in IPA matches BIND semantics and depends on the " +"type\n" +" of zone:\n" +" * Master zone: local BIND replies authoritatively to queries for data in\n" +" the given zone (including authoritative NXDOMAIN answers) and forwarding\n" +" affects only queries for names below zone cuts (NS records) of locally\n" +" served zones.\n" +"\n" +" * Forward zone: forward zone contains no authoritative data. BIND " +"forwards\n" +" queries, which cannot be answered from its local cache, to configured\n" +" forwarders.\n" msgstr "" -#: ipalib/plugins/dns.py:2456 -msgid "Modify DNS zone (SOA record)." +#: ipalib/plugins/dns.py:226 +msgid "" +"\n" +" Semantics of the --forwarder-policy option:\n" +" * none - disable forwarding for the given zone.\n" +" * first - forward all queries to configured forwarders. If they fail,\n" +" do resolution using DNS root servers.\n" +" * only - forward all queries to configured forwarders and if they fail,\n" +" return failure.\n" msgstr "" -#: ipalib/plugins/dns.py:2461 -msgid "Force nameserver change even if nameserver not in DNS" +#: ipalib/plugins/dns.py:233 +msgid "" +"\n" +" Disable global forwarding for given sub-tree:\n" +" ipa dnszone-mod example.com --forward-policy=none\n" msgstr "" -#: ipalib/plugins/dns.py:2492 -msgid "Forward zones only" +#: ipalib/plugins/dns.py:236 +msgid "" +"\n" +" This configuration forwards all queries for names outside the example.com\n" +" sub-tree to global forwarders. Normal recursive resolution process is used\n" +" for names inside the example.com sub-tree (i.e. NS records are followed " +"etc.).\n" msgstr "" -#: ipalib/plugins/dns.py:2494 -msgid "Search for forward zones only" +#: ipalib/plugins/dns.py:240 +msgid "" +"\n" +" Forward all requests for the zone external.example.com to another " +"forwarder\n" +" using a \"first\" policy (it will send the queries to the selected " +"forwarder\n" +" and if not answered it will use global root servers):\n" +" ipa dnsforwardzone-add external.example.com --forward-policy=first \\\n" +" --forwarder=203.0.113.1\n" msgstr "" -#: ipalib/plugins/dns.py:2526 -msgid "Display information about a DNS zone (SOA record)." +#: ipalib/plugins/dns.py:246 +msgid "" +"\n" +" Change forward-policy for external.example.com:\n" +" ipa dnsforwardzone-mod external.example.com --forward-policy=only\n" msgstr "" -#: ipalib/plugins/dns.py:2542 -msgid "Disable DNS Zone." +#: ipalib/plugins/dns.py:249 +msgid "" +"\n" +" Show forward zone external.example.com:\n" +" ipa dnsforwardzone-show external.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2543 -#, python-format -msgid "Disabled DNS zone \"%(value)s\"" +#: ipalib/plugins/dns.py:252 +msgid "" +"\n" +" List all forward zones:\n" +" ipa dnsforwardzone-find\n" msgstr "" -#: ipalib/plugins/dns.py:2548 -msgid "Enable DNS Zone." +#: ipalib/plugins/dns.py:255 +msgid "" +"\n" +" Delete forward zone external.example.com:\n" +" ipa dnsforwardzone-del external.example.com\n" msgstr "" -#: ipalib/plugins/dns.py:2549 -#, python-format -msgid "Enabled DNS zone \"%(value)s\"" +#: ipalib/plugins/dns.py:258 +msgid "" +"\n" +" Resolve a host name to see if it exists (will add default IPA domain\n" +" if one is not included):\n" +" ipa dns-resolve www.example.com\n" +" ipa dns-resolve www\n" msgstr "" -#: ipalib/plugins/dns.py:2554 -msgid "Add a permission for per-zone access delegation." +#: ipalib/plugins/dns.py:263 +msgid "" +"\n" +"\n" +"GLOBAL DNS CONFIGURATION\n" msgstr "" -#: ipalib/plugins/dns.py:2559 -msgid "Remove a permission for per-zone access delegation." +#: ipalib/plugins/dns.py:266 +msgid "" +"\n" +"DNS configuration passed to command line install script is stored in a " +"local\n" +"configuration file on each IPA server where DNS service is configured. " +"These\n" +"local settings can be overridden with a common configuration stored in LDAP\n" +"server:\n" msgstr "" -#: ipalib/plugins/dns.py:2569 -msgid "DNS resource record" +#: ipalib/plugins/dns.py:271 +msgid "" +"\n" +" Show global DNS configuration:\n" +" ipa dnsconfig-show\n" msgstr "" -#: ipalib/plugins/dns.py:2570 -msgid "DNS resource records" +#: ipalib/plugins/dns.py:274 +msgid "" +"\n" +" Modify global DNS configuration and set a list of global forwarders:\n" +" ipa dnsconfig-mod --forwarder=203.0.113.113\n" msgstr "" -#: ipalib/plugins/dns.py:2576 -msgid "DNS Resource Records" +#: ipalib/plugins/dns.py:314 +msgid "Permission value" msgstr "" -#: ipalib/plugins/dns.py:2577 -msgid "DNS Resource Record" +#: ipalib/plugins/dns.py:360 +#, python-format +msgid "invalid IP address version (is %(value)d, must be %(required_value)d)!" msgstr "" -#: ipalib/plugins/dns.py:2582 ipalib/plugins/dns.py:2583 -msgid "Record name" +#: ipalib/plugins/dns.py:363 +msgid "invalid IP address format" msgstr "" -#: ipalib/plugins/dns.py:2593 ipalib/plugins/host.py:448 -#: ipalib/plugins/user.py:585 -msgid "Class" +#: ipalib/plugins/dns.py:376 +msgid "invalid IP network format" msgstr "" -#: ipalib/plugins/dns.py:2594 -msgid "DNS class" +#: ipalib/plugins/dns.py:385 +msgid "each ACL element must be terminated with a semicolon" msgstr "" -#: ipalib/plugins/dns.py:2600 -msgid "Structured" +#: ipalib/plugins/dns.py:402 +msgid "invalid address format" msgstr "" -#: ipalib/plugins/dns.py:2601 -msgid "Parse all raw DNS records and return them in a structured way" +#: ipalib/plugins/dns.py:452 +#, python-format +msgid "%(port)s is not a valid port" msgstr "" -#: ipalib/plugins/dns.py:2619 +#: ipalib/plugins/dns.py:463 msgid "" -"out-of-zone data: record name must be a subdomain of the zone or a relative " -"name" +"expected format: <0-255> <0-255> <0-65535> even-" +"length_hexadecimal_digits_or_hyphen" msgstr "" -#: ipalib/plugins/dns.py:2646 -#, python-format -msgid "" -"Reverse zone for PTR record should be a sub-zone of one the following fully " -"qualified domains: %s" +#: ipalib/plugins/dns.py:472 +msgid "algorithm value: allowed interval 0-255" msgstr "" -#: ipalib/plugins/dns.py:2661 -#, python-format -msgid "" -"Reverse zone %(name)s requires exactly %(count)d IP address components, " -"%(user_count)d given" +#: ipalib/plugins/dns.py:475 +msgid "flags value: allowed interval 0-255" msgstr "" -#: ipalib/plugins/dns.py:2702 -msgid "only master zones can contain records" +#: ipalib/plugins/dns.py:478 +msgid "iterations value: allowed interval 0-65535" msgstr "" -#: ipalib/plugins/dns.py:2871 -msgid "only one CNAME record is allowed per name (RFC 2136, section 1.1.5)" +#: ipalib/plugins/dns.py:486 +#, python-format +msgid "salt value: %(err)s" msgstr "" -#: ipalib/plugins/dns.py:2877 -msgid "" -"CNAME record is not allowed to coexist with any other record (RFC 1034, " -"section 3.6.2)" +#: ipalib/plugins/dns.py:493 +msgid "invalid domain-name: not fully qualified" msgstr "" -#: ipalib/plugins/dns.py:2889 -msgid "only one DNAME record is allowed per name (RFC 6672, section 2.4)" +#: ipalib/plugins/dns.py:502 +msgid "should not be a wildcard domain name (RFC 4592 section 4)" msgstr "" -#: ipalib/plugins/dns.py:2894 -msgid "" -"DNAME record is not allowed to coexist with an NS record except when located " -"in a zone root record (RFC 6672, section 2.3)" +#: ipalib/plugins/dns.py:556 +#, python-format +msgid "DNS reverse zone for IP address %(addr)s not found" msgstr "" -#: ipalib/plugins/dns.py:3074 -msgid "Add new DNS resource record." +#: ipalib/plugins/dns.py:571 +#, python-format +msgid "DNS zone %(zone)s not found" msgstr "" -#: ipalib/plugins/dns.py:3082 -msgid "force NS record creation even if its hostname is not in DNS" +#: ipalib/plugins/dns.py:585 +#, python-format +msgid "IP address %(ip)s is already assigned in domain %(domain)s." msgstr "" -#: ipalib/plugins/dns.py:3129 -msgid "Please choose a type of DNS resource record to be added" +#: ipalib/plugins/dns.py:598 +#, python-format +msgid "" +"Reverse record for IP address %(ip)s already exists in reverse zone %(zone)s." msgstr "" -#: ipalib/plugins/dns.py:3130 +#: ipalib/plugins/dns.py:675 #, python-format -msgid "The most common types for this type of zone are: %s\n" +msgid "%s record" msgstr "" -#: ipalib/plugins/dns.py:3135 -msgid "DNS resource record type" +#: ipalib/plugins/dns.py:677 +#, python-format +msgid "Raw %s records" msgstr "" -#: ipalib/plugins/dns.py:3151 +#: ipalib/plugins/dns.py:678 #, python-format -msgid "Invalid or unsupported type. Allowed values are: %s" +msgid "%s Record" msgstr "" -#: ipalib/plugins/dns.py:3179 +#: ipalib/plugins/dns.py:679 #, python-format -msgid "Raw value of a DNS record was already set by \"%(name)s\" option" +msgid "(see RFC %s for details)" msgstr "" -#: ipalib/plugins/dns.py:3281 -msgid "Modify a DNS resource record." +#: ipalib/plugins/dns.py:744 +#, python-format +msgid "'%s' is a required part of DNS record" msgstr "" -#: ipalib/plugins/dns.py:3298 -msgid "DNS zone root record cannot be renamed" +#: ipalib/plugins/dns.py:751 +msgid "Invalid number of parts!" msgstr "" -#: ipalib/plugins/dns.py:3316 -msgid "DNS records can be only updated one at a time" +#: ipalib/plugins/dns.py:806 +#, python-format +msgid "DNS RR type \"%s\" is not supported by bind-dyndb-ldap plugin" msgstr "" -#: ipalib/plugins/dns.py:3407 -msgid "No option to modify specific record provided." +#: ipalib/plugins/dns.py:822 +#, python-format +msgid "format must be specified as \"%(format)s\" %(rfcs)s" msgstr "" -#: ipalib/plugins/dns.py:3410 ipalib/plugins/dns.py:3596 -msgid "Current DNS record contents:\n" +#: ipalib/plugins/dns.py:947 +msgid "Create reverse" msgstr "" -#: ipalib/plugins/dns.py:3432 -#, python-format -msgid "Modify %(name)s '%(value)s'?" +#: ipalib/plugins/dns.py:948 +msgid "Create reverse record for this IP Address" msgstr "" -#: ipalib/plugins/dns.py:3440 +#: ipalib/plugins/dns.py:983 #, python-format -msgid "" -"%(count)d %(type)s record skipped. Only one value per DNS record type can be " -"modified at one time." -msgid_plural "" -"%(count)d %(type)s records skipped. Only one value per DNS record type can " -"be modified at one time." -msgstr[0] "" -msgstr[1] "" +msgid "Cannot create reverse record for \"%(value)s\": %(exc)s" +msgstr "" -#: ipalib/plugins/dns.py:3452 -#, python-format -msgid "Deleted record \"%(value)s\"" +#: ipalib/plugins/dns.py:1003 ipalib/plugins/dns.py:1026 +#: ipalib/plugins/host.py:603 +msgid "IP Address" msgstr "" -#: ipalib/plugins/dns.py:3459 -msgid "Delete DNS resource record." +#: ipalib/plugins/dns.py:1012 ipalib/plugins/dns.py:1546 +msgid "Record data" msgstr "" -#: ipalib/plugins/dns.py:3463 -msgid "" -"Neither --del-all nor options to delete a specific record provided.\n" -"Command help may be consulted for all supported record types." +#: ipalib/plugins/dns.py:1035 +msgid "Subtype" msgstr "" -#: ipalib/plugins/dns.py:3469 -msgid "Delete all associated records" +#: ipalib/plugins/dns.py:1040 ipalib/plugins/dns.py:1077 +#: ipalib/plugins/dns.py:1312 ipalib/plugins/dns.py:1370 +#: ipalib/plugins/dns.py:4136 +msgid "Hostname" msgstr "" -#: ipalib/plugins/dns.py:3538 -#, python-format -msgid "Zone record '%s' cannot be deleted" +#: ipalib/plugins/dns.py:1053 +msgid "Certificate Type" msgstr "" -#: ipalib/plugins/dns.py:3588 -msgid "No option to delete specific record provided." +#: ipalib/plugins/dns.py:1058 ipalib/plugins/dns.py:1104 +msgid "Key Tag" msgstr "" -#: ipalib/plugins/dns.py:3589 -msgid "Delete all?" +#: ipalib/plugins/dns.py:1063 ipalib/plugins/dns.py:1109 +#: ipalib/plugins/dns.py:1431 ipalib/plugins/otptoken.py:222 +msgid "Algorithm" msgstr "" -#: ipalib/plugins/dns.py:3617 -#, python-format -msgid "Delete %(name)s '%(value)s'?" +#: ipalib/plugins/dns.py:1068 +msgid "Certificate/CRL" msgstr "" -#: ipalib/plugins/dns.py:3628 -msgid "Display DNS resource." +#: ipalib/plugins/dns.py:1078 +msgid "A hostname which this alias hostname points to" msgstr "" -#: ipalib/plugins/dns.py:3645 -msgid "Search for DNS resources." +#: ipalib/plugins/dns.py:1091 ipalib/plugins/dns.py:1399 +#: ipalib/plugins/internal.py:594 +msgid "Target" msgstr "" -#: ipalib/plugins/dns.py:3684 -msgid "Resolve a host name in DNS." +#: ipalib/plugins/dns.py:1114 +msgid "Digest Type" msgstr "" -#: ipalib/plugins/dns.py:3687 -#, python-format -msgid "Found '%(value)s'" +#: ipalib/plugins/dns.py:1119 +msgid "Digest" msgstr "" -#: ipalib/plugins/dns.py:3704 -#, python-format -msgid "Host '%(host)s' not found" +#: ipalib/plugins/dns.py:1150 ipalib/plugins/dns.py:1295 +#: ipalib/plugins/dns.py:1344 +msgid "Preference" msgstr "" -#: ipalib/plugins/dns.py:3741 -msgid "DNS configuration options" +#: ipalib/plugins/dns.py:1151 ipalib/plugins/dns.py:1296 +msgid "Preference given to this exchanger. Lower values are more preferred" msgstr "" -#: ipalib/plugins/dns.py:3746 ipalib/plugins/dns.py:3747 -msgid "DNS Global Configuration" +#: ipalib/plugins/dns.py:1156 ipalib/plugins/dns.py:1301 +msgid "Exchanger" msgstr "" -#: ipalib/plugins/dns.py:3753 -msgid "Global forwarders" +#: ipalib/plugins/dns.py:1157 +msgid "A host willing to act as a key exchanger" msgstr "" -#: ipalib/plugins/dns.py:3754 -msgid "" -"Global forwarders. A custom port can be specified for each forwarder using a " -"standard format \"IP_ADDRESS port PORT\"" +#: ipalib/plugins/dns.py:1166 +msgid "Degrees Latitude" msgstr "" -#: ipalib/plugins/dns.py:3761 -msgid "" -"Global forwarding policy. Set to \"none\" to disable any configured global " -"forwarders." +#: ipalib/plugins/dns.py:1171 +msgid "Minutes Latitude" msgstr "" -#: ipalib/plugins/dns.py:3768 -msgid "Allow synchronization of forward (A, AAAA) and reverse (PTR) records" +#: ipalib/plugins/dns.py:1176 +msgid "Seconds Latitude" msgstr "" -#: ipalib/plugins/dns.py:3772 -msgid "Zone refresh interval" +#: ipalib/plugins/dns.py:1182 +msgid "Direction Latitude" msgstr "" -#: ipalib/plugins/dns.py:3816 -msgid "Global DNS configuration is empty" +#: ipalib/plugins/dns.py:1186 +msgid "Degrees Longitude" msgstr "" -#: ipalib/plugins/dns.py:3822 -msgid "Modify global DNS configuration." +#: ipalib/plugins/dns.py:1191 +msgid "Minutes Longitude" msgstr "" -#: ipalib/plugins/dns.py:3833 -msgid "Show the current global DNS configuration." +#: ipalib/plugins/dns.py:1196 +msgid "Seconds Longitude" msgstr "" -#: ipalib/plugins/dns.py:3846 -msgid "DNS forward zone" +#: ipalib/plugins/dns.py:1202 +msgid "Direction Longitude" msgstr "" -#: ipalib/plugins/dns.py:3847 -msgid "DNS forward zones" +#: ipalib/plugins/dns.py:1206 +msgid "Altitude" msgstr "" -#: ipalib/plugins/dns.py:3849 -msgid "DNS Forward Zones" +#: ipalib/plugins/dns.py:1212 +msgid "Size" msgstr "" -#: ipalib/plugins/dns.py:3850 -msgid "DNS Forward Zone" +#: ipalib/plugins/dns.py:1218 +msgid "Horizontal Precision" msgstr "" -#: ipalib/plugins/dns.py:3859 -msgid "Create new DNS forward zone." +#: ipalib/plugins/dns.py:1224 +msgid "Vertical Precision" msgstr "" -#: ipalib/plugins/dns.py:3873 ipalib/plugins/dns.py:3913 -msgid "Please specify forwarders." +#: ipalib/plugins/dns.py:1231 +msgid "" +"format must be specified as\n" +" \"d1 [m1 [s1]] {\"N\"|\"S\"} d2 [m2 [s2]] {\"E\"|\"W\"} alt[\"m\"] " +"[siz[\"m\"] [hp[\"m\"] [vp[\"m\"]]]]\"\n" +" where:\n" +" d1: [0 .. 90] (degrees latitude)\n" +" d2: [0 .. 180] (degrees longitude)\n" +" m1, m2: [0 .. 59] (minutes latitude/longitude)\n" +" s1, s2: [0 .. 59.999] (seconds latitude/longitude)\n" +" alt: [-100000.00 .. 42849672.95] BY .01 (altitude in meters)\n" +" siz, hp, vp: [0 .. 90000000.00] (size/precision in meters)\n" +" See RFC 1876 for details" msgstr "" -#: ipalib/plugins/dns.py:3880 -msgid "Delete DNS forward zone." +#: ipalib/plugins/dns.py:1285 +#, python-format +msgid "'%(required)s' must not be empty when '%(name)s' is set" msgstr "" -#: ipalib/plugins/dns.py:3882 -#, python-format -msgid "Deleted DNS forward zone \"%(value)s\"" +#: ipalib/plugins/dns.py:1302 +msgid "A host willing to act as a mail exchanger" msgstr "" -#: ipalib/plugins/dns.py:3887 -msgid "Modify DNS forward zone." +#: ipalib/plugins/dns.py:1331 +msgid "flags must be one of \"S\", \"A\", \"U\", or \"P\"" msgstr "" -#: ipalib/plugins/dns.py:3920 -msgid "Search for DNS forward zones." +#: ipalib/plugins/dns.py:1339 +msgid "Order" msgstr "" -#: ipalib/plugins/dns.py:3925 -msgid "Display information about a DNS forward zone." +#: ipalib/plugins/dns.py:1350 +msgid "Flags" msgstr "" -#: ipalib/plugins/dns.py:3932 -msgid "Disable DNS Forward Zone." +#: ipalib/plugins/dns.py:1354 ipalib/plugins/hbactest.py:269 +#: ipalib/plugins/internal.py:646 ipalib/plugins/service.py:441 +msgid "Service" msgstr "" -#: ipalib/plugins/dns.py:3933 -#, python-format -msgid "Disabled DNS forward zone \"%(value)s\"" +#: ipalib/plugins/dns.py:1357 +msgid "Regular Expression" msgstr "" -#: ipalib/plugins/dns.py:3938 -msgid "Enable DNS Forward Zone." +#: ipalib/plugins/dns.py:1360 +msgid "Replacement" msgstr "" -#: ipalib/plugins/dns.py:3939 -#, python-format -msgid "Enabled DNS forward zone \"%(value)s\"" +#: ipalib/plugins/dns.py:1371 +msgid "The hostname this reverse record points to" msgstr "" -#: ipalib/plugins/dns.py:3944 -msgid "Add a permission for per-forward zone access delegation." +#: ipalib/plugins/dns.py:1384 ipalib/plugins/pwpolicy.py:351 +msgid "Priority" msgstr "" -#: ipalib/plugins/dns.py:3949 -msgid "Remove a permission for per-forward zone access delegation." +#: ipalib/plugins/dns.py:1389 +msgid "Weight" msgstr "" -#: ipalib/plugins/group.py:34 -msgid "" -"\n" -"Groups of users\n" -"\n" -"Manage groups of users. By default, new groups are POSIX groups. You\n" -"can add the --nonposix option to the group-add command to mark a new group\n" -"as non-POSIX. You can use the --posix argument with the group-mod command\n" -"to convert a non-POSIX group into a POSIX group. POSIX groups cannot be\n" -"converted to non-POSIX groups.\n" -"\n" -"Every group must have a description.\n" -"\n" -"POSIX groups must have a Group ID (GID) number. Changing a GID is\n" -"supported but can have an impact on your file permissions. It is not " -"necessary\n" -"to supply a GID when creating a group. IPA will generate one automatically\n" -"if it is not provided.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new group:\n" -" ipa group-add --desc='local administrators' localadmins\n" -"\n" -" Add a new non-POSIX group:\n" -" ipa group-add --nonposix --desc='remote administrators' remoteadmins\n" -"\n" -" Convert a non-POSIX group to posix:\n" -" ipa group-mod --posix remoteadmins\n" -"\n" -" Add a new POSIX group with a specific Group ID number:\n" -" ipa group-add --gid=500 --desc='unix admins' unixadmins\n" -"\n" -" Add a new POSIX group and let IPA assign a Group ID number:\n" -" ipa group-add --desc='printer admins' printeradmins\n" -"\n" -" Remove a group:\n" -" ipa group-del unixadmins\n" -"\n" -" To add the \"remoteadmins\" group to the \"localadmins\" group:\n" -" ipa group-add-member --groups=remoteadmins localadmins\n" -"\n" -" Add multiple users to the \"localadmins\" group:\n" -" ipa group-add-member --users=test1 --users=test2 localadmins\n" -"\n" -" Remove a user from the \"localadmins\" group:\n" -" ipa group-remove-member --users=test2 localadmins\n" -"\n" -" Display information about a named group.\n" -" ipa group-show localadmins\n" -"\n" -"External group membership is designed to allow users from trusted domains\n" -"to be mapped to local POSIX groups in order to actually use IPA resources.\n" -"External members should be added to groups that specifically created as\n" -"external and non-POSIX. Such group later should be included into one of " -"POSIX\n" -"groups.\n" -"\n" -"An external group member is currently a Security Identifier (SID) as defined " -"by\n" -"the trusted domain. When adding external group members, it is possible to\n" -"specify them in either SID, or DOM\\name, or name@domain format. IPA will " -"attempt\n" -"to resolve passed name to SID with the use of Global Catalog of the trusted " -"domain.\n" -"\n" -"Example:\n" -"\n" -"1. Create group for the trusted domain admins' mapping and their local POSIX " -"group:\n" -"\n" -" ipa group-add --desc=' admins external map' ad_admins_external " -"--external\n" -" ipa group-add --desc=' admins' ad_admins\n" -"\n" -"2. Add security identifier of Domain Admins of the to the " -"ad_admins_external\n" -" group:\n" -"\n" -" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" -"\n" -"3. Allow members of ad_admins_external group to be associated with ad_admins " -"POSIX group:\n" -"\n" -" ipa group-add-member ad_admins --groups ad_admins_external\n" -"\n" -"4. List members of external members of ad_admins_external group to see their " -"SIDs:\n" -"\n" -" ipa group-show ad_admins_external\n" +#: ipalib/plugins/dns.py:1394 +msgid "Port" msgstr "" -#: ipalib/plugins/group.py:125 ipalib/plugins/group.py:295 -#: ipalib/plugins/group.py:532 ipalib/plugins/user.py:204 -msgid "group" +#: ipalib/plugins/dns.py:1400 +msgid "" +"The domain name of the target host or '.' if the service is decidedly not " +"available at this domain" msgstr "" -#: ipalib/plugins/group.py:126 -msgid "groups" +#: ipalib/plugins/dns.py:1409 +msgid "the value does not follow \"YYYYMMDDHHMMSS\" time format" msgstr "" -#: ipalib/plugins/group.py:207 ipalib/plugins/hbacrule.py:244 -#: ipalib/plugins/internal.py:512 ipalib/plugins/selinuxusermap.py:238 -#: ipalib/plugins/sudorule.py:271 -msgid "User Groups" +#: ipalib/plugins/dns.py:1436 +msgid "Fingerprint Type" msgstr "" -#: ipalib/plugins/group.py:208 -msgid "User Group" +#: ipalib/plugins/dns.py:1441 +msgid "Fingerprint" msgstr "" -#: ipalib/plugins/group.py:216 -msgid "Group name" +#: ipalib/plugins/dns.py:1462 +msgid "Certificate Usage" msgstr "" -#: ipalib/plugins/group.py:223 ipalib/plugins/sudocmdgroup.py:123 -msgid "Group description" +#: ipalib/plugins/dns.py:1467 +msgid "Selector" msgstr "" -#: ipalib/plugins/group.py:227 ipalib/plugins/user.py:519 -msgid "GID" +#: ipalib/plugins/dns.py:1472 +msgid "Matching Type" msgstr "" -#: ipalib/plugins/group.py:228 -msgid "GID (use this option to set it manually)" +#: ipalib/plugins/dns.py:1477 +msgid "Certificate Association Data" msgstr "" -#: ipalib/plugins/group.py:236 -msgid "External member" +#: ipalib/plugins/dns.py:1493 +msgid "Text Data" msgstr "" -#: ipalib/plugins/group.py:237 -msgid "Members of a trusted domain in DOM\\name or name@domain form" +#: ipalib/plugins/dns.py:1540 +msgid "Records" msgstr "" -#: ipalib/plugins/group.py:245 -msgid "Create a new group." +#: ipalib/plugins/dns.py:1543 +msgid "Record type" msgstr "" -#: ipalib/plugins/group.py:247 +#: ipalib/plugins/dns.py:1578 #, python-format -msgid "Added group \"%(value)s\"" +msgid "Nameserver '%(host)s' does not have a corresponding A/AAAA record" msgstr "" -#: ipalib/plugins/group.py:252 -msgid "Create as a non-POSIX group" +#: ipalib/plugins/dns.py:1597 +msgid "Managedby permission" msgstr "" -#: ipalib/plugins/group.py:257 -msgid "Allow adding external non-IPA members from trusted domains" +#: ipalib/plugins/dns.py:1986 +msgid "Zone name" msgstr "" -#: ipalib/plugins/group.py:280 -msgid "Delete group." +#: ipalib/plugins/dns.py:1987 +msgid "Zone name (FQDN)" msgstr "" -#: ipalib/plugins/group.py:282 -#, python-format -msgid "Deleted group \"%(value)s\"" +#: ipalib/plugins/dns.py:1993 +msgid "Reverse zone IP network" msgstr "" -#: ipalib/plugins/group.py:296 -msgid "privileged group" +#: ipalib/plugins/dns.py:1994 +msgid "IP network to create reverse zone name from" msgstr "" -#: ipalib/plugins/group.py:313 -msgid "Modify a group." +#: ipalib/plugins/dns.py:1999 +msgid "Active zone" msgstr "" -#: ipalib/plugins/group.py:315 -#, python-format -msgid "Modified group \"%(value)s\"" +#: ipalib/plugins/dns.py:2000 +msgid "Is zone active?" msgstr "" -#: ipalib/plugins/group.py:320 -msgid "change to a POSIX group" +#: ipalib/plugins/dns.py:2007 +msgid "Zone forwarders" msgstr "" -#: ipalib/plugins/group.py:324 -msgid "change to support external non-IPA members from trusted domains" +#: ipalib/plugins/dns.py:2008 +msgid "" +"Per-zone forwarders. A custom port can be specified for each forwarder using " +"a standard format \"IP_ADDRESS port PORT\"" msgstr "" -#: ipalib/plugins/group.py:384 -msgid "Search for groups." +#: ipalib/plugins/dns.py:2014 ipalib/plugins/dns.py:4205 +msgid "Forward policy" msgstr "" -#: ipalib/plugins/group.py:389 -#, python-format -msgid "%(count)d group matched" -msgid_plural "%(count)d groups matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/dns.py:2015 +msgid "" +"Per-zone conditional forwarding policy. Set to \"none\" to disable " +"forwarding to global forwarder for this zone. In that case, conditional zone " +"forwarders are disregarded." +msgstr "" -#: ipalib/plugins/group.py:395 -msgid "search for private groups" +#: ipalib/plugins/dns.py:2105 +msgid "DNS is not configured" msgstr "" -#: ipalib/plugins/group.py:399 -msgid "search for POSIX groups" +#: ipalib/plugins/dns.py:2116 +msgid "Only one zone type is allowed per zone name" msgstr "" -#: ipalib/plugins/group.py:403 -msgid "" -"search for groups with support of external non-IPA members from trusted " -"domains" +#: ipalib/plugins/dns.py:2151 ipalib/plugins/dns.py:2835 +msgid "Search for DNS zones (SOA records)." msgstr "" -#: ipalib/plugins/group.py:407 -msgid "search for non-POSIX groups" +#: ipalib/plugins/dns.py:2248 +#, python-format +msgid "Added system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:453 -msgid "Display information about a named group." +#: ipalib/plugins/dns.py:2276 +#, python-format +msgid "permission \"%(value)s\" already exists" msgstr "" -#: ipalib/plugins/group.py:474 -msgid "Add members to a group." +#: ipalib/plugins/dns.py:2304 +#, python-format +msgid "Removed system permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/group.py:483 ipalib/plugins/group.py:540 -#: ipalib/plugins/hbactest.py:386 -msgid "" -"Cannot perform external member validation without Samba 4 support installed. " -"Make sure you have installed server-trust-ad sub-package of IPA on the server" +#: ipalib/plugins/dns.py:2340 +msgid "DNS zone" msgstr "" -#: ipalib/plugins/group.py:488 ipalib/plugins/group.py:545 -#: ipalib/plugins/trust.py:561 ipalib/plugins/trust.py:1334 -msgid "" -"Cannot perform join operation without own domain configured. Make sure you " -"have run ipa-adtrust-install on the IPA server first" +#: ipalib/plugins/dns.py:2341 +msgid "DNS zones" msgstr "" -#: ipalib/plugins/group.py:519 -msgid "Remove members from a group." +#: ipalib/plugins/dns.py:2348 +msgid "DNS Zones" msgstr "" -#: ipalib/plugins/group.py:576 -msgid "Detach a managed group from a user." +#: ipalib/plugins/dns.py:2349 +msgid "DNS Zone" msgstr "" -#: ipalib/plugins/group.py:579 -#, python-format -msgid "Detached group \"%(value)s\" from user \"%(value)s\"" +#: ipalib/plugins/dns.py:2354 +msgid "Authoritative nameserver" msgstr "" -#: ipalib/plugins/group.py:600 -msgid "not allowed to modify user entries" +#: ipalib/plugins/dns.py:2355 +msgid "Authoritative nameserver domain name" msgstr "" -#: ipalib/plugins/group.py:606 -msgid "not allowed to modify group entries" +#: ipalib/plugins/dns.py:2361 ipalib/plugins/dns.py:2362 +msgid "Administrator e-mail address" msgstr "" -#: ipalib/plugins/group.py:625 -msgid "Not a managed group" +#: ipalib/plugins/dns.py:2369 +msgid "SOA serial" msgstr "" -#: ipalib/plugins/hbacrule.py:26 -msgid "" -"\n" -"Host-based access control\n" -"\n" -"Control who can access what services on what hosts. You\n" -"can use HBAC to control which users or groups can\n" -"access a service, or group of services, on a target host.\n" -"\n" -"You can also specify a category of users and target hosts.\n" -"This is currently limited to \"all\", but might be expanded in the\n" -"future.\n" -"\n" -"Target hosts in HBAC rules must be hosts managed by IPA.\n" -"\n" -"The available services and groups of services are controlled by the\n" -"hbacsvc and hbacsvcgroup plug-ins respectively.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Create a rule, \"test1\", that grants all users access to the host \"server" -"\" from\n" -" anywhere:\n" -" ipa hbacrule-add --usercat=all test1\n" -" ipa hbacrule-add-host --hosts=server.example.com test1\n" -"\n" -" Display the properties of a named HBAC rule:\n" -" ipa hbacrule-show test1\n" -"\n" -" Create a rule for a specific service. This lets the user john access\n" -" the sshd service on any machine from any machine:\n" -" ipa hbacrule-add --hostcat=all john_sshd\n" -" ipa hbacrule-add-user --users=john john_sshd\n" -" ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n" -"\n" -" Create a rule for a new service group. This lets the user john access\n" -" the FTP service on any machine from any machine:\n" -" ipa hbacsvcgroup-add ftpers\n" -" ipa hbacsvc-add sftp\n" -" ipa hbacsvcgroup-add-member --hbacsvcs=ftp --hbacsvcs=sftp ftpers\n" -" ipa hbacrule-add --hostcat=all john_ftp\n" -" ipa hbacrule-add-user --users=john john_ftp\n" -" ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp\n" -"\n" -" Disable a named HBAC rule:\n" -" ipa hbacrule-disable test1\n" -"\n" -" Remove a named HBAC rule:\n" -" ipa hbacrule-del allow_server\n" +#: ipalib/plugins/dns.py:2370 +msgid "SOA record serial number" msgstr "" -#: ipalib/plugins/hbacrule.py:91 -msgid "Host-based access control commands" +#: ipalib/plugins/dns.py:2378 +msgid "SOA refresh" msgstr "" -#: ipalib/plugins/hbacrule.py:95 -msgid "The deny type has been deprecated." +#: ipalib/plugins/dns.py:2379 +msgid "SOA record refresh time" msgstr "" -#: ipalib/plugins/hbacrule.py:118 -msgid "HBAC rule" +#: ipalib/plugins/dns.py:2387 +msgid "SOA retry" msgstr "" -#: ipalib/plugins/hbacrule.py:119 -msgid "HBAC rules" +#: ipalib/plugins/dns.py:2388 +msgid "SOA record retry time" msgstr "" -#: ipalib/plugins/hbacrule.py:188 -msgid "HBAC Rules" +#: ipalib/plugins/dns.py:2396 +msgid "SOA expire" msgstr "" -#: ipalib/plugins/hbacrule.py:189 ipalib/plugins/selinuxusermap.py:210 -msgid "HBAC Rule" +#: ipalib/plugins/dns.py:2397 +msgid "SOA record expire time" msgstr "" -#: ipalib/plugins/hbacrule.py:194 ipalib/plugins/selinuxusermap.py:201 -#: ipalib/plugins/sudorule.py:218 -msgid "Rule name" +#: ipalib/plugins/dns.py:2405 +msgid "SOA minimum" msgstr "" -#: ipalib/plugins/hbacrule.py:199 -msgid "Rule type (allow)" +#: ipalib/plugins/dns.py:2406 +msgid "How long should negative responses be cached" msgstr "" -#: ipalib/plugins/hbacrule.py:200 -msgid "Rule type" +#: ipalib/plugins/dns.py:2414 ipalib/plugins/dns.py:2949 +#: ipalib/plugins/dns.py:2950 +msgid "Time to live" msgstr "" -#: ipalib/plugins/hbacrule.py:210 ipalib/plugins/netgroup.py:196 -#: ipalib/plugins/selinuxusermap.py:215 ipalib/plugins/sudorule.py:231 -msgid "User category" +#: ipalib/plugins/dns.py:2415 +msgid "Time to live for records at zone apex" msgstr "" -#: ipalib/plugins/hbacrule.py:211 ipalib/plugins/netgroup.py:197 -#: ipalib/plugins/selinuxusermap.py:216 ipalib/plugins/sudorule.py:232 -msgid "User category the rule applies to" +#: ipalib/plugins/dns.py:2427 ipalib/plugins/dns.py:2428 +msgid "BIND update policy" msgstr "" -#: ipalib/plugins/hbacrule.py:216 ipalib/plugins/netgroup.py:202 -#: ipalib/plugins/selinuxusermap.py:221 ipalib/plugins/sudorule.py:237 -msgid "Host category" +#: ipalib/plugins/dns.py:2434 +msgid "Dynamic update" msgstr "" -#: ipalib/plugins/hbacrule.py:217 ipalib/plugins/netgroup.py:203 -#: ipalib/plugins/selinuxusermap.py:222 ipalib/plugins/sudorule.py:238 -msgid "Host category the rule applies to" +#: ipalib/plugins/dns.py:2435 +msgid "Allow dynamic updates." msgstr "" -#: ipalib/plugins/hbacrule.py:223 -msgid "Service category" +#: ipalib/plugins/dns.py:2444 +msgid "Allow query" msgstr "" -#: ipalib/plugins/hbacrule.py:224 -msgid "Service category the rule applies to" +#: ipalib/plugins/dns.py:2445 +msgid "" +"Semicolon separated list of IP addresses or networks which are allowed to " +"issue queries" msgstr "" -#: ipalib/plugins/hbacrule.py:236 ipalib/plugins/internal.py:695 -#: ipalib/plugins/selinuxusermap.py:230 ipalib/plugins/sudorule.py:226 -msgid "Enabled" +#: ipalib/plugins/dns.py:2453 +msgid "Allow transfer" msgstr "" -#: ipalib/plugins/hbacrule.py:252 ipalib/plugins/hostgroup.py:129 -#: ipalib/plugins/internal.py:506 ipalib/plugins/selinuxusermap.py:246 -#: ipalib/plugins/sudorule.py:284 -msgid "Host Groups" +#: ipalib/plugins/dns.py:2454 +msgid "" +"Semicolon separated list of IP addresses or networks which are allowed to " +"transfer the zone" msgstr "" -#: ipalib/plugins/hbacrule.py:258 ipalib/plugins/internal.py:454 -#: ipalib/plugins/service.py:365 -msgid "Services" +#: ipalib/plugins/dns.py:2460 ipalib/plugins/dns.py:4212 +msgid "Allow PTR sync" msgstr "" -#: ipalib/plugins/hbacrule.py:262 -msgid "Service Groups" +#: ipalib/plugins/dns.py:2461 +msgid "" +"Allow synchronization of forward (A, AAAA) and reverse (PTR) records in the " +"zone" msgstr "" -#: ipalib/plugins/hbacrule.py:272 -msgid "Create a new HBAC rule." +#: ipalib/plugins/dns.py:2466 +msgid "Allow in-line DNSSEC signing" msgstr "" -#: ipalib/plugins/hbacrule.py:274 -#, python-format -msgid "Added HBAC rule \"%(value)s\"" +#: ipalib/plugins/dns.py:2467 +msgid "Allow inline DNSSEC signing of records in the zone" msgstr "" -#: ipalib/plugins/hbacrule.py:286 -msgid "Delete an HBAC rule." +#: ipalib/plugins/dns.py:2472 +msgid "NSEC3PARAM record" msgstr "" -#: ipalib/plugins/hbacrule.py:288 -#, python-format -msgid "Deleted HBAC rule \"%(value)s\"" +#: ipalib/plugins/dns.py:2473 +msgid "" +"NSEC3PARAM record for zone in format: hash_algorithm flags iterations salt" msgstr "" -#: ipalib/plugins/hbacrule.py:303 -msgid "Modify an HBAC rule." +#: ipalib/plugins/dns.py:2626 +msgid "Visit 'http://www.freeipa.org/page/Releases/4.1.0#DNSSEC_Support'." msgstr "" -#: ipalib/plugins/hbacrule.py:305 -#, python-format -msgid "Modified HBAC rule \"%(value)s\"" +#: ipalib/plugins/dns.py:2631 +msgid "" +"If you encounter any problems please report them and restart 'named' service " +"on affected IPA server." msgstr "" -#: ipalib/plugins/hbacrule.py:316 ipalib/plugins/netgroup.py:269 -msgid "user category cannot be set to 'all' while there are allowed users" +#: ipalib/plugins/dns.py:2641 +msgid "setting Authoritative nameserver" msgstr "" -#: ipalib/plugins/hbacrule.py:318 ipalib/plugins/netgroup.py:271 -msgid "host category cannot be set to 'all' while there are allowed hosts" +#: ipalib/plugins/dns.py:2642 +msgid "It is used only for setting the SOA MNAME attribute." msgstr "" -#: ipalib/plugins/hbacrule.py:320 -msgid "" -"service category cannot be set to 'all' while there are allowed services" +#: ipalib/plugins/dns.py:2644 +msgid "NS record(s) can be edited in zone apex - '@'. " msgstr "" -#: ipalib/plugins/hbacrule.py:327 -msgid "Search for HBAC rules." +#: ipalib/plugins/dns.py:2666 +msgid "Create new DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/hbacrule.py:330 +#: ipalib/plugins/dns.py:2670 ipalib/plugins/dns.py:2797 +#: ipalib/plugins/dns.py:3504 ipalib/plugins/host.py:595 +#: ipalib/plugins/permission.py:1041 ipalib/plugins/realmdomains.py:124 +#: ipalib/plugins/service.py:497 +msgid "Force" +msgstr "" + +#: ipalib/plugins/dns.py:2671 +msgid "Force DNS zone creation even if nameserver is not resolvable." +msgstr "" + +#: ipalib/plugins/dns.py:2706 +msgid "Nameserver for reverse zone cannot be a relative DNS name" +msgstr "" + +#: ipalib/plugins/dns.py:2760 +msgid "Delete DNS zone (SOA record)." +msgstr "" + +#: ipalib/plugins/dns.py:2762 #, python-format -msgid "%(count)d HBAC rule matched" -msgid_plural "%(count)d HBAC rules matched" -msgstr[0] "" -msgstr[1] "" +msgid "Deleted DNS zone \"%(value)s\"" +msgstr "" -#: ipalib/plugins/hbacrule.py:337 -msgid "Display the properties of an HBAC rule." +#: ipalib/plugins/dns.py:2793 +msgid "Modify DNS zone (SOA record)." msgstr "" -#: ipalib/plugins/hbacrule.py:343 -msgid "Enable an HBAC rule." +#: ipalib/plugins/dns.py:2798 +msgid "Force nameserver change even if nameserver not in DNS" msgstr "" -#: ipalib/plugins/hbacrule.py:345 +#: ipalib/plugins/dns.py:2815 +msgid "is required" +msgstr "" + +#: ipalib/plugins/dns.py:2839 +msgid "Forward zones only" +msgstr "" + +#: ipalib/plugins/dns.py:2841 +msgid "Search for forward zones only" +msgstr "" + +#: ipalib/plugins/dns.py:2876 +msgid "Display information about a DNS zone (SOA record)." +msgstr "" + +#: ipalib/plugins/dns.py:2893 +msgid "Disable DNS Zone." +msgstr "" + +#: ipalib/plugins/dns.py:2894 #, python-format -msgid "Enabled HBAC rule \"%(value)s\"" +msgid "Disabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:373 -msgid "Disable an HBAC rule." +#: ipalib/plugins/dns.py:2904 +msgid "Enable DNS Zone." msgstr "" -#: ipalib/plugins/hbacrule.py:375 +#: ipalib/plugins/dns.py:2905 #, python-format -msgid "Disabled HBAC rule \"%(value)s\"" +msgid "Enabled DNS zone \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacrule.py:409 ipalib/plugins/hbacrule.py:449 -msgid "Access time" +#: ipalib/plugins/dns.py:2915 +msgid "Add a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/hbacrule.py:484 -msgid "Add users and groups to an HBAC rule." +#: ipalib/plugins/dns.py:2920 +msgid "Remove a permission for per-zone access delegation." msgstr "" -#: ipalib/plugins/hbacrule.py:499 ipalib/plugins/selinuxusermap.py:509 -#: ipalib/plugins/sudorule.py:590 -msgid "users cannot be added when user category='all'" +#: ipalib/plugins/dns.py:2930 +msgid "DNS resource record" msgstr "" -#: ipalib/plugins/hbacrule.py:506 -msgid "Remove users and groups from an HBAC rule." +#: ipalib/plugins/dns.py:2931 +msgid "DNS resource records" msgstr "" -#: ipalib/plugins/hbacrule.py:515 -msgid "Add target hosts and hostgroups to an HBAC rule." +#: ipalib/plugins/dns.py:2937 +msgid "DNS Resource Records" msgstr "" -#: ipalib/plugins/hbacrule.py:530 ipalib/plugins/selinuxusermap.py:542 -#: ipalib/plugins/sudorule.py:644 -msgid "hosts cannot be added when host category='all'" +#: ipalib/plugins/dns.py:2938 +msgid "DNS Resource Record" msgstr "" -#: ipalib/plugins/hbacrule.py:537 -msgid "Remove target hosts and hostgroups from an HBAC rule." +#: ipalib/plugins/dns.py:2943 ipalib/plugins/dns.py:2944 +msgid "Record name" msgstr "" -#: ipalib/plugins/hbacrule.py:570 -msgid "Add services to an HBAC rule." +#: ipalib/plugins/dns.py:2961 +msgid "Structured" msgstr "" -#: ipalib/plugins/hbacrule.py:585 -msgid "services cannot be added when service category='all'" +#: ipalib/plugins/dns.py:2962 +msgid "Parse all raw DNS records and return them in a structured way" msgstr "" -#: ipalib/plugins/hbacrule.py:592 -msgid "Remove service and service groups from an HBAC rule." +#: ipalib/plugins/dns.py:2971 +msgid "DS record must not be in zone apex (RFC 4035 section 2.4)" msgstr "" -#: ipalib/plugins/hbacsvc.py:28 +#: ipalib/plugins/dns.py:2988 msgid "" -"\n" -"HBAC Services\n" -"\n" -"The PAM services that HBAC can control access to. The name used here\n" -"must match the service name that PAM is evaluating.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new HBAC service:\n" -" ipa hbacsvc-add tftp\n" -"\n" -" Modify an existing HBAC service:\n" -" ipa hbacsvc-mod --desc=\"TFTP service\" tftp\n" -"\n" -" Search for HBAC services. This example will return two results, the FTP\n" -" service and the newly-added tftp service:\n" -" ipa hbacsvc-find ftp\n" -"\n" -" Delete an HBAC service:\n" -" ipa hbacsvc-del tftp\n" -"\n" +"out-of-zone data: record name must be a subdomain of the zone or a relative " +"name" msgstr "" -#: ipalib/plugins/hbacsvc.py:53 ipalib/plugins/hbacsvcgroup.py:48 -msgid "Host based access control commands" +#: ipalib/plugins/dns.py:2999 +#, python-format +msgid "" +"owner of %(types)s records should not be a wildcard domain name (RFC 4592 " +"section 4)" msgstr "" -#: ipalib/plugins/hbacsvc.py:61 ipalib/plugins/hbacsvc.py:102 -msgid "HBAC service" +#: ipalib/plugins/dns.py:3028 +#, python-format +msgid "" +"Reverse zone for PTR record should be a sub-zone of one the following fully " +"qualified domains: %s" msgstr "" -#: ipalib/plugins/hbacsvc.py:62 -msgid "HBAC services" +#: ipalib/plugins/dns.py:3043 +#, python-format +msgid "" +"Reverse zone %(name)s requires exactly %(count)d IP address components, " +"%(user_count)d given" msgstr "" -#: ipalib/plugins/hbacsvc.py:95 -msgid "HBAC Services" +#: ipalib/plugins/dns.py:3084 +msgid "only master zones can contain records" msgstr "" -#: ipalib/plugins/hbacsvc.py:96 -msgid "HBAC Service" +#: ipalib/plugins/dns.py:3254 +msgid "only one CNAME record is allowed per name (RFC 2136, section 1.1.5)" msgstr "" -#: ipalib/plugins/hbacsvc.py:101 -msgid "Service name" +#: ipalib/plugins/dns.py:3260 +msgid "" +"CNAME record is not allowed to coexist with any other record (RFC 1034, " +"section 3.6.2)" msgstr "" -#: ipalib/plugins/hbacsvc.py:109 -msgid "HBAC service description" +#: ipalib/plugins/dns.py:3268 +msgid "only one DNAME record is allowed per name (RFC 6672, section 2.4)" msgstr "" -#: ipalib/plugins/hbacsvc.py:117 -msgid "Add a new HBAC service." +#: ipalib/plugins/dns.py:3284 +#, python-format +msgid "" +"NS record is not allowed to coexist with an %(type)s record except when " +"located in a zone root record (RFC 2181, section 6.1)" msgstr "" -#: ipalib/plugins/hbacsvc.py:119 -#, python-format -msgid "Added HBAC service \"%(value)s\"" +#: ipalib/plugins/dns.py:3300 +msgid "" +"DS record requires to coexist with an NS record (RFC 4592 section 4.6, RFC " +"4035 section 2.4)" msgstr "" -#: ipalib/plugins/hbacsvc.py:125 -msgid "Delete an existing HBAC service." +#: ipalib/plugins/dns.py:3498 +msgid "Add new DNS resource record." msgstr "" -#: ipalib/plugins/hbacsvc.py:127 +#: ipalib/plugins/dns.py:3506 +msgid "force NS record creation even if its hostname is not in DNS" +msgstr "" + +#: ipalib/plugins/dns.py:3553 +msgid "Please choose a type of DNS resource record to be added" +msgstr "" + +#: ipalib/plugins/dns.py:3554 #, python-format -msgid "Deleted HBAC service \"%(value)s\"" +msgid "The most common types for this type of zone are: %s\n" msgstr "" -#: ipalib/plugins/hbacsvc.py:133 -msgid "Modify an HBAC service." +#: ipalib/plugins/dns.py:3559 +msgid "DNS resource record type" msgstr "" -#: ipalib/plugins/hbacsvc.py:135 +#: ipalib/plugins/dns.py:3575 #, python-format -msgid "Modified HBAC service \"%(value)s\"" +msgid "Invalid or unsupported type. Allowed values are: %s" msgstr "" -#: ipalib/plugins/hbacsvc.py:141 -msgid "Search for HBAC services." +#: ipalib/plugins/dns.py:3603 +#, python-format +msgid "Raw value of a DNS record was already set by \"%(name)s\" option" msgstr "" -#: ipalib/plugins/hbacsvc.py:144 +#: ipalib/plugins/dns.py:3707 +msgid "Modify a DNS resource record." +msgstr "" + +#: ipalib/plugins/dns.py:3724 +msgid "DNS zone root record cannot be renamed" +msgstr "" + +#: ipalib/plugins/dns.py:3742 +msgid "DNS records can be only updated one at a time" +msgstr "" + +#: ipalib/plugins/dns.py:3845 +msgid "No option to modify specific record provided." +msgstr "" + +#: ipalib/plugins/dns.py:3848 ipalib/plugins/dns.py:4041 +msgid "Current DNS record contents:\n" +msgstr "" + +#: ipalib/plugins/dns.py:3870 #, python-format -msgid "%(count)d HBAC service matched" -msgid_plural "%(count)d HBAC services matched" +msgid "Modify %(name)s '%(value)s'?" +msgstr "" + +#: ipalib/plugins/dns.py:3878 +#, python-format +msgid "" +"%(count)d %(type)s record skipped. Only one value per DNS record type can be " +"modified at one time." +msgid_plural "" +"%(count)d %(type)s records skipped. Only one value per DNS record type can " +"be modified at one time." msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/hbacsvc.py:151 -msgid "Display information about an HBAC service." +#: ipalib/plugins/dns.py:3890 +#, python-format +msgid "Deleted record \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:25 +#: ipalib/plugins/dns.py:3897 +msgid "Delete DNS resource record." +msgstr "" + +#: ipalib/plugins/dns.py:3901 msgid "" -"\n" -"HBAC Service Groups\n" -"\n" -"HBAC service groups can contain any number of individual services,\n" -"or \"members\". Every group must have a description.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new HBAC service group:\n" -" ipa hbacsvcgroup-add --desc=\"login services\" login\n" -"\n" -" Add members to an HBAC service group:\n" -" ipa hbacsvcgroup-add-member --hbacsvcs=sshd --hbacsvcs=login login\n" -"\n" -" Display information about a named group:\n" -" ipa hbacsvcgroup-show login\n" -"\n" -" Delete an HBAC service group:\n" -" ipa hbacsvcgroup-del login\n" +"Neither --del-all nor options to delete a specific record provided.\n" +"Command help may be consulted for all supported record types." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:56 -msgid "HBAC service group" +#: ipalib/plugins/dns.py:3907 +msgid "Delete all associated records" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:57 -msgid "HBAC service groups" +#: ipalib/plugins/dns.py:3979 +#, python-format +msgid "Zone record '%s' cannot be deleted" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:100 -msgid "HBAC Service Groups" +#: ipalib/plugins/dns.py:4033 +msgid "No option to delete specific record provided." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:101 -msgid "HBAC Service Group" +#: ipalib/plugins/dns.py:4034 +msgid "Delete all?" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:106 -msgid "Service group name" +#: ipalib/plugins/dns.py:4062 +#, python-format +msgid "Delete %(name)s '%(value)s'?" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:113 -msgid "HBAC service group description" +#: ipalib/plugins/dns.py:4073 +msgid "Display DNS resource." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:121 -msgid "Add a new HBAC service group." +#: ipalib/plugins/dns.py:4090 +msgid "Search for DNS resources." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:123 -#, python-format -msgid "Added HBAC service group \"%(value)s\"" +#: ipalib/plugins/dns.py:4129 +msgid "Resolve a host name in DNS." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:129 -msgid "Delete an HBAC service group." +#: ipalib/plugins/dns.py:4132 +#, python-format +msgid "Found '%(value)s'" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:131 +#: ipalib/plugins/dns.py:4149 #, python-format -msgid "Deleted HBAC service group \"%(value)s\"" +msgid "Host '%(host)s' not found" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:137 -msgid "Modify an HBAC service group." +#: ipalib/plugins/dns.py:4186 +msgid "DNS configuration options" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:139 -#, python-format -msgid "Modified HBAC service group \"%(value)s\"" +#: ipalib/plugins/dns.py:4191 ipalib/plugins/dns.py:4192 +msgid "DNS Global Configuration" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:145 -msgid "Search for an HBAC service group." +#: ipalib/plugins/dns.py:4198 +msgid "Global forwarders" msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:148 +#: ipalib/plugins/dns.py:4199 +msgid "" +"Global forwarders. A custom port can be specified for each forwarder using a " +"standard format \"IP_ADDRESS port PORT\"" +msgstr "" + +#: ipalib/plugins/dns.py:4206 +msgid "" +"Global forwarding policy. Set to \"none\" to disable any configured global " +"forwarders." +msgstr "" + +#: ipalib/plugins/dns.py:4213 +msgid "Allow synchronization of forward (A, AAAA) and reverse (PTR) records" +msgstr "" + +#: ipalib/plugins/dns.py:4217 +msgid "Zone refresh interval" +msgstr "" + +#: ipalib/plugins/dns.py:4261 +msgid "Global DNS configuration is empty" +msgstr "" + +#: ipalib/plugins/dns.py:4267 +msgid "Modify global DNS configuration." +msgstr "" + +#: ipalib/plugins/dns.py:4275 ipalib/plugins/dns.py:4436 +#: ipalib/plugins/dns.py:4482 +msgid "Server will check DNS forwarder(s)." +msgstr "" + +#: ipalib/plugins/dns.py:4277 ipalib/plugins/dns.py:4438 +#: ipalib/plugins/dns.py:4484 +msgid "This may take some time, please wait ..." +msgstr "" + +#: ipalib/plugins/dns.py:4318 +msgid "Show the current global DNS configuration." +msgstr "" + +#: ipalib/plugins/dns.py:4331 +msgid "DNS forward zone" +msgstr "" + +#: ipalib/plugins/dns.py:4332 +msgid "DNS forward zones" +msgstr "" + +#: ipalib/plugins/dns.py:4334 +msgid "DNS Forward Zones" +msgstr "" + +#: ipalib/plugins/dns.py:4335 +msgid "DNS Forward Zone" +msgstr "" + +#: ipalib/plugins/dns.py:4429 +msgid "Create new DNS forward zone." +msgstr "" + +#: ipalib/plugins/dns.py:4452 ipalib/plugins/dns.py:4510 +msgid "Please specify forwarders." +msgstr "" + +#: ipalib/plugins/dns.py:4468 +msgid "Delete DNS forward zone." +msgstr "" + +#: ipalib/plugins/dns.py:4470 #, python-format -msgid "%(count)d HBAC service group matched" -msgid_plural "%(count)d HBAC service groups matched" -msgstr[0] "" -msgstr[1] "" +msgid "Deleted DNS forward zone \"%(value)s\"" +msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:155 -msgid "Display information about an HBAC service group." +#: ipalib/plugins/dns.py:4475 +msgid "Modify DNS forward zone." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:161 -msgid "Add members to an HBAC service group." +#: ipalib/plugins/dns.py:4523 +msgid "Search for DNS forward zones." msgstr "" -#: ipalib/plugins/hbacsvcgroup.py:167 -msgid "Remove members from an HBAC service group." +#: ipalib/plugins/dns.py:4528 +msgid "Display information about a DNS forward zone." msgstr "" -#: ipalib/plugins/hbactest.py:36 -msgid "" -"\n" -"Simulate use of Host-based access controls\n" -"\n" -"HBAC rules control who can access what services on what hosts.\n" -"You can use HBAC to control which users or groups can access a service,\n" -"or group of services, on a target host.\n" -"\n" -"Since applying HBAC rules implies use of a production environment,\n" -"this plugin aims to provide simulation of HBAC rules evaluation without\n" -"having access to the production environment.\n" -"\n" -" Test user coming to a service on a named host against\n" -" existing enabled rules.\n" -"\n" -" ipa hbactest --user= --host= --service=\n" -" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" -" [--sizelimit= ]\n" -"\n" -" --user, --host, and --service are mandatory, others are optional.\n" -"\n" -" If --rules is specified simulate enabling of the specified rules and test\n" -" the login of the user using only these rules.\n" +#: ipalib/plugins/dns.py:4535 +msgid "Disable DNS Forward Zone." +msgstr "" + +#: ipalib/plugins/dns.py:4536 +#, python-format +msgid "Disabled DNS forward zone \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/dns.py:4541 +msgid "Enable DNS Forward Zone." +msgstr "" + +#: ipalib/plugins/dns.py:4542 +#, python-format +msgid "Enabled DNS forward zone \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/dns.py:4552 +msgid "Add a permission for per-forward zone access delegation." +msgstr "" + +#: ipalib/plugins/dns.py:4557 +msgid "Remove a permission for per-forward zone access delegation." +msgstr "" + +#: ipalib/plugins/domainlevel.py:18 +msgid "" "\n" -" If --enabled is specified, all enabled HBAC rules will be added to " -"simulation\n" +"Raise the IPA Domain Level.\n" +msgstr "" + +#: ipalib/plugins/domainlevel.py:27 +msgid "Current domain level:" +msgstr "" + +#: ipalib/plugins/domainlevel.py:76 +msgid "Query current Domain Level." +msgstr "" + +#: ipalib/plugins/domainlevel.py:92 +msgid "Change current Domain Level." +msgstr "" + +#: ipalib/plugins/domainlevel.py:99 ipalib/plugins/internal.py:456 +#: ipalib/plugins/internal.py:457 +msgid "Domain Level" +msgstr "" + +#: ipalib/plugins/domainlevel.py:122 +msgid "Domain Level cannot be lowered." +msgstr "" + +#: ipalib/plugins/domainlevel.py:130 +#, python-brace-format +msgid "Domain Level cannot be raised to {0}, server {1} does not support it." +msgstr "" + +#: ipalib/plugins/group.py:34 +msgid "" "\n" -" If --disabled is specified, all disabled HBAC rules will be added to " -"simulation\n" +"Groups of users\n" "\n" -" If --nodetail is specified, do not return information about rules matched/" -"not matched.\n" +"Manage groups of users. By default, new groups are POSIX groups. You\n" +"can add the --nonposix option to the group-add command to mark a new group\n" +"as non-POSIX. You can use the --posix argument with the group-mod command\n" +"to convert a non-POSIX group into a POSIX group. POSIX groups cannot be\n" +"converted to non-POSIX groups.\n" "\n" -" If both --rules and --enabled are specified, apply simulation to --rules " -"_and_\n" -" all IPA enabled rules.\n" +"Every group must have a description.\n" "\n" -" If no --rules specified, simulation is run against all IPA enabled rules.\n" -" By default there is a IPA-wide limit to number of entries fetched, you can " -"change it\n" -" with --sizelimit option.\n" +"POSIX groups must have a Group ID (GID) number. Changing a GID is\n" +"supported but can have an impact on your file permissions. It is not " +"necessary\n" +"to supply a GID when creating a group. IPA will generate one automatically\n" +"if it is not provided.\n" "\n" "EXAMPLES:\n" "\n" -" 1. Use all enabled HBAC rules in IPA database to simulate:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Matched rules: allow_all\n" -"\n" -" 2. Disable detailed summary of how rules were applied:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -"\n" -" 3. Test explicitly specified HBAC rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --rules=myrule --rules=my-second-rule\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: myrule\n" +" Add a new group:\n" +" ipa group-add --desc='local administrators' localadmins\n" "\n" -" 4. Use all enabled HBAC rules in IPA database + explicitly specified " -"rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --rules=myrule --rules=my-second-rule --enabled\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Matched rules: allow_all\n" +" Add a new non-POSIX group:\n" +" ipa group-add --nonposix --desc='remote administrators' remoteadmins\n" "\n" -" 5. Test all disabled HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: new-rule\n" +" Convert a non-POSIX group to posix:\n" +" ipa group-mod --posix remoteadmins\n" "\n" -" 6. Test all disabled HBAC rules in IPA database + explicitly specified " -"rules:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --rules=myrule --rules=my-second-rule --disabled\n" -" ---------------------\n" -" Access granted: False\n" -" ---------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" +" Add a new POSIX group with a specific Group ID number:\n" +" ipa group-add --gid=500 --desc='unix admins' unixadmins\n" "\n" -" 7. Test all (enabled and disabled) HBAC rules in IPA database:\n" -" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" -" --enabled --disabled\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Not matched rules: my-second-rule\n" -" Not matched rules: my-third-rule\n" -" Not matched rules: myrule\n" -" Not matched rules: new-rule\n" -" Matched rules: allow_all\n" +" Add a new POSIX group and let IPA assign a Group ID number:\n" +" ipa group-add --desc='printer admins' printeradmins\n" "\n" +" Remove a group:\n" +" ipa group-del unixadmins\n" "\n" -"HBACTEST AND TRUSTED DOMAINS\n" +" To add the \"remoteadmins\" group to the \"localadmins\" group:\n" +" ipa group-add-member --groups=remoteadmins localadmins\n" "\n" -"When an external trusted domain is configured in IPA, HBAC rules are also " -"applied\n" -"on users accessing IPA resources from the trusted domain. Trusted domain " -"users and\n" -"groups (and their SIDs) can be then assigned to external groups which can " -"be\n" -"members of POSIX groups in IPA which can be used in HBAC rules and thus " -"allowing\n" -"access to resources protected by the HBAC system.\n" +" Add multiple users to the \"localadmins\" group:\n" +" ipa group-add-member --users=test1 --users=test2 localadmins\n" "\n" -"hbactest plugin is capable of testing access for both local IPA users and " -"users\n" -"from the trusted domains, either by a fully qualified user name or by user " -"SID.\n" -"Such user names need to have a trusted domain specified as a short name\n" -"(DOMAIN\\Administrator) or with a user principal name (UPN), " -"Administrator@ad.test.\n" +" Remove a user from the \"localadmins\" group:\n" +" ipa group-remove-member --users=test2 localadmins\n" "\n" -"Please note that hbactest executed with a trusted domain user as --user " -"parameter\n" -"can be only run by members of \"trust admins\" group.\n" +" Display information about a named group.\n" +" ipa group-show localadmins\n" "\n" -"EXAMPLES:\n" +"External group membership is designed to allow users from trusted domains\n" +"to be mapped to local POSIX groups in order to actually use IPA resources.\n" +"External members should be added to groups that specifically created as\n" +"external and non-POSIX. Such group later should be included into one of " +"POSIX\n" +"groups.\n" "\n" -" 1. Test if a user from a trusted domain specified by its shortname " -"matches any\n" -" rule:\n" +"An external group member is currently a Security Identifier (SID) as defined " +"by\n" +"the trusted domain. When adding external group members, it is possible to\n" +"specify them in either SID, or DOM\\name, or name@domain format. IPA will " +"attempt\n" +"to resolve passed name to SID with the use of Global Catalog of the trusted " +"domain.\n" "\n" -" $ ipa hbactest --user 'DOMAIN\\Administrator' --host `hostname` --" -"service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" +"Example:\n" "\n" -" 2. Test if a user from a trusted domain specified by its domain name " -"matches\n" -" any rule:\n" +"1. Create group for the trusted domain admins' mapping and their local POSIX " +"group:\n" "\n" -" $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --" -"service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" +" ipa group-add --desc=' admins external map' ad_admins_external " +"--external\n" +" ipa group-add --desc=' admins' ad_admins\n" "\n" -" 3. Test if a user from a trusted domain specified by its SID matches any " -"rule:\n" +"2. Add security identifier of Domain Admins of the to the " +"ad_admins_external\n" +" group:\n" "\n" -" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \\\n" -" --host `hostname` --service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Matched rules: can_login\n" +" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" "\n" -" 4. Test if other user from a trusted domain specified by its SID matches " -"any rule:\n" +"3. Allow members of ad_admins_external group to be associated with ad_admins " +"POSIX group:\n" "\n" -" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \\\n" -" --host `hostname` --service sshd\n" -" --------------------\n" -" Access granted: True\n" -" --------------------\n" -" Matched rules: allow_all\n" -" Not matched rules: can_login\n" +" ipa group-add-member ad_admins --groups ad_admins_external\n" "\n" -" 5. Test if other user from a trusted domain specified by its shortname " -"matches\n" -" any rule:\n" +"4. List members of external members of ad_admins_external group to see their " +"SIDs:\n" "\n" -" $ ipa hbactest --user 'DOMAIN\\Otheruser' --host `hostname` --service " -"sshd\n" -" --------------------\n" -" Access granted: True\n" +" ipa group-show ad_admins_external\n" +msgstr "" + +#: ipalib/plugins/group.py:125 ipalib/plugins/group.py:315 +#: ipalib/plugins/group.py:552 ipalib/plugins/user.py:115 +msgid "group" +msgstr "" + +#: ipalib/plugins/group.py:126 +msgid "groups" +msgstr "" + +#: ipalib/plugins/group.py:228 +msgid "User Group" +msgstr "" + +#: ipalib/plugins/group.py:236 ipalib/plugins/idviews.py:770 +msgid "Group name" +msgstr "" + +#: ipalib/plugins/group.py:243 ipalib/plugins/sudocmdgroup.py:123 +msgid "Group description" +msgstr "" + +#: ipalib/plugins/group.py:248 +msgid "GID (use this option to set it manually)" +msgstr "" + +#: ipalib/plugins/group.py:256 +msgid "External member" +msgstr "" + +#: ipalib/plugins/group.py:257 +msgid "Members of a trusted domain in DOM\\name or name@domain form" +msgstr "" + +#: ipalib/plugins/group.py:265 +msgid "Create a new group." +msgstr "" + +#: ipalib/plugins/group.py:267 +#, python-format +msgid "Added group \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/group.py:272 +msgid "Create as a non-POSIX group" +msgstr "" + +#: ipalib/plugins/group.py:277 +msgid "Allow adding external non-IPA members from trusted domains" +msgstr "" + +#: ipalib/plugins/group.py:290 +msgid "gid cannot be set for external group" +msgstr "" + +#: ipalib/plugins/group.py:300 +msgid "Delete group." +msgstr "" + +#: ipalib/plugins/group.py:302 +#, python-format +msgid "Deleted group \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/group.py:316 +msgid "privileged group" +msgstr "" + +#: ipalib/plugins/group.py:333 +msgid "Modify a group." +msgstr "" + +#: ipalib/plugins/group.py:335 +#, python-format +msgid "Modified group \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/group.py:340 +msgid "change to a POSIX group" +msgstr "" + +#: ipalib/plugins/group.py:344 +msgid "change to support external non-IPA members from trusted domains" +msgstr "" + +#: ipalib/plugins/group.py:404 +msgid "Search for groups." +msgstr "" + +#: ipalib/plugins/group.py:409 +#, python-format +msgid "%(count)d group matched" +msgid_plural "%(count)d groups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/group.py:415 +msgid "search for private groups" +msgstr "" + +#: ipalib/plugins/group.py:419 +msgid "search for POSIX groups" +msgstr "" + +#: ipalib/plugins/group.py:423 +msgid "" +"search for groups with support of external non-IPA members from trusted " +"domains" +msgstr "" + +#: ipalib/plugins/group.py:427 +msgid "search for non-POSIX groups" +msgstr "" + +#: ipalib/plugins/group.py:473 +msgid "Display information about a named group." +msgstr "" + +#: ipalib/plugins/group.py:494 +msgid "Add members to a group." +msgstr "" + +#: ipalib/plugins/group.py:503 ipalib/plugins/group.py:560 +#: ipalib/plugins/hbactest.py:386 +msgid "" +"Cannot perform external member validation without Samba 4 support installed. " +"Make sure you have installed server-trust-ad sub-package of IPA on the server" +msgstr "" + +#: ipalib/plugins/group.py:508 ipalib/plugins/group.py:565 +#: ipalib/plugins/trust.py:587 ipalib/plugins/trust.py:1362 +msgid "" +"Cannot perform join operation without own domain configured. Make sure you " +"have run ipa-adtrust-install on the IPA server first" +msgstr "" + +#: ipalib/plugins/group.py:539 +msgid "Remove members from a group." +msgstr "" + +#: ipalib/plugins/group.py:596 +msgid "Detach a managed group from a user." +msgstr "" + +#: ipalib/plugins/group.py:599 +#, python-format +msgid "Detached group \"%(value)s\" from user \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/group.py:620 +msgid "not allowed to modify user entries" +msgstr "" + +#: ipalib/plugins/group.py:626 +msgid "not allowed to modify group entries" +msgstr "" + +#: ipalib/plugins/group.py:645 +msgid "Not a managed group" +msgstr "" + +#: ipalib/plugins/hbacrule.py:26 +msgid "" +"\n" +"Host-based access control\n" +"\n" +"Control who can access what services on what hosts. You\n" +"can use HBAC to control which users or groups can\n" +"access a service, or group of services, on a target host.\n" +"\n" +"You can also specify a category of users and target hosts.\n" +"This is currently limited to \"all\", but might be expanded in the\n" +"future.\n" +"\n" +"Target hosts in HBAC rules must be hosts managed by IPA.\n" +"\n" +"The available services and groups of services are controlled by the\n" +"hbacsvc and hbacsvcgroup plug-ins respectively.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a rule, \"test1\", that grants all users access to the host \"server" +"\" from\n" +" anywhere:\n" +" ipa hbacrule-add --usercat=all test1\n" +" ipa hbacrule-add-host --hosts=server.example.com test1\n" +"\n" +" Display the properties of a named HBAC rule:\n" +" ipa hbacrule-show test1\n" +"\n" +" Create a rule for a specific service. This lets the user john access\n" +" the sshd service on any machine from any machine:\n" +" ipa hbacrule-add --hostcat=all john_sshd\n" +" ipa hbacrule-add-user --users=john john_sshd\n" +" ipa hbacrule-add-service --hbacsvcs=sshd john_sshd\n" +"\n" +" Create a rule for a new service group. This lets the user john access\n" +" the FTP service on any machine from any machine:\n" +" ipa hbacsvcgroup-add ftpers\n" +" ipa hbacsvc-add sftp\n" +" ipa hbacsvcgroup-add-member --hbacsvcs=ftp --hbacsvcs=sftp ftpers\n" +" ipa hbacrule-add --hostcat=all john_ftp\n" +" ipa hbacrule-add-user --users=john john_ftp\n" +" ipa hbacrule-add-service --hbacsvcgroups=ftpers john_ftp\n" +"\n" +" Disable a named HBAC rule:\n" +" ipa hbacrule-disable test1\n" +"\n" +" Remove a named HBAC rule:\n" +" ipa hbacrule-del allow_server\n" +msgstr "" + +#: ipalib/plugins/hbacrule.py:91 +msgid "Host-based access control commands" +msgstr "" + +#: ipalib/plugins/hbacrule.py:95 +msgid "The deny type has been deprecated." +msgstr "" + +#: ipalib/plugins/hbacrule.py:118 +msgid "HBAC rule" +msgstr "" + +#: ipalib/plugins/hbacrule.py:119 +msgid "HBAC rules" +msgstr "" + +#: ipalib/plugins/hbacrule.py:188 +msgid "HBAC Rules" +msgstr "" + +#: ipalib/plugins/hbacrule.py:189 ipalib/plugins/selinuxusermap.py:210 +msgid "HBAC Rule" +msgstr "" + +#: ipalib/plugins/hbacrule.py:194 ipalib/plugins/selinuxusermap.py:201 +#: ipalib/plugins/sudorule.py:218 +msgid "Rule name" +msgstr "" + +#: ipalib/plugins/hbacrule.py:199 +msgid "Rule type (allow)" +msgstr "" + +#: ipalib/plugins/hbacrule.py:200 +msgid "Rule type" +msgstr "" + +#: ipalib/plugins/hbacrule.py:211 ipalib/plugins/netgroup.py:207 +#: ipalib/plugins/selinuxusermap.py:216 ipalib/plugins/sudorule.py:232 +msgid "User category the rule applies to" +msgstr "" + +#: ipalib/plugins/hbacrule.py:217 ipalib/plugins/netgroup.py:213 +#: ipalib/plugins/selinuxusermap.py:222 ipalib/plugins/sudorule.py:238 +msgid "Host category the rule applies to" +msgstr "" + +#: ipalib/plugins/hbacrule.py:224 +msgid "Service category the rule applies to" +msgstr "" + +#: ipalib/plugins/hbacrule.py:262 +msgid "Service Groups" +msgstr "" + +#: ipalib/plugins/hbacrule.py:272 +msgid "Create a new HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:274 +#, python-format +msgid "Added HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:286 +msgid "Delete an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:288 +#, python-format +msgid "Deleted HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:303 +msgid "Modify an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:305 +#, python-format +msgid "Modified HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:327 +msgid "Search for HBAC rules." +msgstr "" + +#: ipalib/plugins/hbacrule.py:330 +#, python-format +msgid "%(count)d HBAC rule matched" +msgid_plural "%(count)d HBAC rules matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/hbacrule.py:337 +msgid "Display the properties of an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:343 +msgid "Enable an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:345 +#, python-format +msgid "Enabled HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:373 +msgid "Disable an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:375 +#, python-format +msgid "Disabled HBAC rule \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacrule.py:409 ipalib/plugins/hbacrule.py:449 +msgid "Access time" +msgstr "" + +#: ipalib/plugins/hbacrule.py:484 +msgid "Add users and groups to an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:506 +msgid "Remove users and groups from an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:515 +msgid "Add target hosts and hostgroups to an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:537 +msgid "Remove target hosts and hostgroups from an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:570 +msgid "Add services to an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacrule.py:592 +msgid "Remove service and service groups from an HBAC rule." +msgstr "" + +#: ipalib/plugins/hbacsvc.py:28 +msgid "" +"\n" +"HBAC Services\n" +"\n" +"The PAM services that HBAC can control access to. The name used here\n" +"must match the service name that PAM is evaluating.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new HBAC service:\n" +" ipa hbacsvc-add tftp\n" +"\n" +" Modify an existing HBAC service:\n" +" ipa hbacsvc-mod --desc=\"TFTP service\" tftp\n" +"\n" +" Search for HBAC services. This example will return two results, the FTP\n" +" service and the newly-added tftp service:\n" +" ipa hbacsvc-find ftp\n" +"\n" +" Delete an HBAC service:\n" +" ipa hbacsvc-del tftp\n" +"\n" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:53 ipalib/plugins/hbacsvcgroup.py:48 +msgid "Host based access control commands" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:61 ipalib/plugins/hbacsvc.py:102 +msgid "HBAC service" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:62 +msgid "HBAC services" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:95 +msgid "HBAC Services" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:96 +msgid "HBAC Service" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:101 ipalib/plugins/vault.py:149 +msgid "Service name" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:109 +msgid "HBAC service description" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:117 +msgid "Add a new HBAC service." +msgstr "" + +#: ipalib/plugins/hbacsvc.py:119 +#, python-format +msgid "Added HBAC service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:125 +msgid "Delete an existing HBAC service." +msgstr "" + +#: ipalib/plugins/hbacsvc.py:127 +#, python-format +msgid "Deleted HBAC service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:133 +msgid "Modify an HBAC service." +msgstr "" + +#: ipalib/plugins/hbacsvc.py:135 +#, python-format +msgid "Modified HBAC service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvc.py:141 +msgid "Search for HBAC services." +msgstr "" + +#: ipalib/plugins/hbacsvc.py:144 +#, python-format +msgid "%(count)d HBAC service matched" +msgid_plural "%(count)d HBAC services matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/hbacsvc.py:151 +msgid "Display information about an HBAC service." +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:25 +msgid "" +"\n" +"HBAC Service Groups\n" +"\n" +"HBAC service groups can contain any number of individual services,\n" +"or \"members\". Every group must have a description.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new HBAC service group:\n" +" ipa hbacsvcgroup-add --desc=\"login services\" login\n" +"\n" +" Add members to an HBAC service group:\n" +" ipa hbacsvcgroup-add-member --hbacsvcs=sshd --hbacsvcs=login login\n" +"\n" +" Display information about a named group:\n" +" ipa hbacsvcgroup-show login\n" +"\n" +" Delete an HBAC service group:\n" +" ipa hbacsvcgroup-del login\n" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:56 +msgid "HBAC service group" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:57 +msgid "HBAC service groups" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:100 +msgid "HBAC Service Groups" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:101 +msgid "HBAC Service Group" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:106 +msgid "Service group name" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:113 +msgid "HBAC service group description" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:121 +msgid "Add a new HBAC service group." +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:123 +#, python-format +msgid "Added HBAC service group \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:129 +msgid "Delete an HBAC service group." +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:131 +#, python-format +msgid "Deleted HBAC service group \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:137 +msgid "Modify an HBAC service group." +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:139 +#, python-format +msgid "Modified HBAC service group \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:145 +msgid "Search for an HBAC service group." +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:148 +#, python-format +msgid "%(count)d HBAC service group matched" +msgid_plural "%(count)d HBAC service groups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/hbacsvcgroup.py:155 +msgid "Display information about an HBAC service group." +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:161 +msgid "Add members to an HBAC service group." +msgstr "" + +#: ipalib/plugins/hbacsvcgroup.py:167 +msgid "Remove members from an HBAC service group." +msgstr "" + +#: ipalib/plugins/hbactest.py:36 +msgid "" +"\n" +"Simulate use of Host-based access controls\n" +"\n" +"HBAC rules control who can access what services on what hosts.\n" +"You can use HBAC to control which users or groups can access a service,\n" +"or group of services, on a target host.\n" +"\n" +"Since applying HBAC rules implies use of a production environment,\n" +"this plugin aims to provide simulation of HBAC rules evaluation without\n" +"having access to the production environment.\n" +"\n" +" Test user coming to a service on a named host against\n" +" existing enabled rules.\n" +"\n" +" ipa hbactest --user= --host= --service=\n" +" [--rules=rules-list] [--nodetail] [--enabled] [--disabled]\n" +" [--sizelimit= ]\n" +"\n" +" --user, --host, and --service are mandatory, others are optional.\n" +"\n" +" If --rules is specified simulate enabling of the specified rules and test\n" +" the login of the user using only these rules.\n" +"\n" +" If --enabled is specified, all enabled HBAC rules will be added to " +"simulation\n" +"\n" +" If --disabled is specified, all disabled HBAC rules will be added to " +"simulation\n" +"\n" +" If --nodetail is specified, do not return information about rules matched/" +"not matched.\n" +"\n" +" If both --rules and --enabled are specified, apply simulation to --rules " +"_and_\n" +" all IPA enabled rules.\n" +"\n" +" If no --rules specified, simulation is run against all IPA enabled rules.\n" +" By default there is a IPA-wide limit to number of entries fetched, you can " +"change it\n" +" with --sizelimit option.\n" +"\n" +"EXAMPLES:\n" +"\n" +" 1. Use all enabled HBAC rules in IPA database to simulate:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Matched rules: allow_all\n" +"\n" +" 2. Disable detailed summary of how rules were applied:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --nodetail\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +"\n" +" 3. Test explicitly specified HBAC rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --rules=myrule --rules=my-second-rule\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: myrule\n" +"\n" +" 4. Use all enabled HBAC rules in IPA database + explicitly specified " +"rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --rules=myrule --rules=my-second-rule --enabled\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Matched rules: allow_all\n" +"\n" +" 5. Test all disabled HBAC rules in IPA database:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd --disabled\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: new-rule\n" +"\n" +" 6. Test all disabled HBAC rules in IPA database + explicitly specified " +"rules:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --rules=myrule --rules=my-second-rule --disabled\n" +" ---------------------\n" +" Access granted: False\n" +" ---------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +"\n" +" 7. Test all (enabled and disabled) HBAC rules in IPA database:\n" +" $ ipa hbactest --user=a1a --host=bar --service=sshd \\\n" +" --enabled --disabled\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Not matched rules: my-second-rule\n" +" Not matched rules: my-third-rule\n" +" Not matched rules: myrule\n" +" Not matched rules: new-rule\n" +" Matched rules: allow_all\n" +"\n" +"\n" +"HBACTEST AND TRUSTED DOMAINS\n" +"\n" +"When an external trusted domain is configured in IPA, HBAC rules are also " +"applied\n" +"on users accessing IPA resources from the trusted domain. Trusted domain " +"users and\n" +"groups (and their SIDs) can be then assigned to external groups which can " +"be\n" +"members of POSIX groups in IPA which can be used in HBAC rules and thus " +"allowing\n" +"access to resources protected by the HBAC system.\n" +"\n" +"hbactest plugin is capable of testing access for both local IPA users and " +"users\n" +"from the trusted domains, either by a fully qualified user name or by user " +"SID.\n" +"Such user names need to have a trusted domain specified as a short name\n" +"(DOMAIN\\Administrator) or with a user principal name (UPN), " +"Administrator@ad.test.\n" +"\n" +"Please note that hbactest executed with a trusted domain user as --user " +"parameter\n" +"can be only run by members of \"trust admins\" group.\n" +"\n" +"EXAMPLES:\n" +"\n" +" 1. Test if a user from a trusted domain specified by its shortname " +"matches any\n" +" rule:\n" +"\n" +" $ ipa hbactest --user 'DOMAIN\\Administrator' --host `hostname` --" +"service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 2. Test if a user from a trusted domain specified by its domain name " +"matches\n" +" any rule:\n" +"\n" +" $ ipa hbactest --user 'Administrator@domain.com' --host `hostname` --" +"service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 3. Test if a user from a trusted domain specified by its SID matches any " +"rule:\n" +"\n" +" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-500 \\\n" +" --host `hostname` --service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Matched rules: can_login\n" +"\n" +" 4. Test if other user from a trusted domain specified by its SID matches " +"any rule:\n" +"\n" +" $ ipa hbactest --user S-1-5-21-3035198329-144811719-1378114514-1203 \\\n" +" --host `hostname` --service sshd\n" +" --------------------\n" +" Access granted: True\n" +" --------------------\n" +" Matched rules: allow_all\n" +" Not matched rules: can_login\n" +"\n" +" 5. Test if other user from a trusted domain specified by its shortname " +"matches\n" +" any rule:\n" +"\n" +" $ ipa hbactest --user 'DOMAIN\\Otheruser' --host `hostname` --service " +"sshd\n" +" --------------------\n" +" Access granted: True\n" " --------------------\n" " Matched rules: allow_all\n" " Not matched rules: can_login\n" msgstr "" -#: ipalib/plugins/hbactest.py:245 -msgid "Simulate use of Host-based access controls" +#: ipalib/plugins/hbactest.py:245 +msgid "Simulate use of Host-based access controls" +msgstr "" + +#: ipalib/plugins/hbactest.py:249 +msgid "Warning" +msgstr "" + +#: ipalib/plugins/hbactest.py:250 +msgid "Matched rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:251 +msgid "Not matched rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:252 +msgid "Non-existent or invalid rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:253 +msgid "Result of simulation" +msgstr "" + +#: ipalib/plugins/hbactest.py:259 ipalib/plugins/krbtpolicy.py:124 +#: ipalib/plugins/passwd.py:74 +msgid "User name" +msgstr "" + +#: ipalib/plugins/hbactest.py:265 +msgid "Target host" +msgstr "" + +#: ipalib/plugins/hbactest.py:273 +msgid "Rules to test. If not specified, --enabled is assumed" +msgstr "" + +#: ipalib/plugins/hbactest.py:278 +msgid "Hide details which rules are matched, not matched, or invalid" +msgstr "" + +#: ipalib/plugins/hbactest.py:282 +msgid "Include all enabled IPA rules into test [default]" +msgstr "" + +#: ipalib/plugins/hbactest.py:286 +msgid "Include all disabled IPA rules into test" +msgstr "" + +#: ipalib/plugins/hbactest.py:290 +msgid "Maximum number of rules to process when no --rules is specified" +msgstr "" + +#: ipalib/plugins/hbactest.py:368 +msgid "Unresolved rules in --rules" +msgstr "" + +#: ipalib/plugins/hbactest.py:392 ipalib/plugins/trust.py:230 +msgid "" +"Cannot search in trusted domains without own domain configured. Make sure " +"you have run ipa-adtrust-install on the IPA server first" +msgstr "" + +#: ipalib/plugins/hbactest.py:478 +#, python-format +msgid "Access granted: %s" +msgstr "" + +#: ipalib/plugins/host.py:50 +msgid "" +"\n" +"Hosts/Machines\n" +"\n" +"A host represents a machine. It can be used in a number of contexts:\n" +"- service entries are associated with a host\n" +"- a host stores the host/ service principal\n" +"- a host can be used in Host-based Access Control (HBAC) rules\n" +"- every enrolled client generates a host entry\n" +msgstr "" + +#: ipalib/plugins/host.py:58 +msgid "" +"\n" +"ENROLLMENT:\n" +"\n" +"There are three enrollment scenarios when enrolling a new client:\n" +"\n" +"1. You are enrolling as a full administrator. The host entry may exist\n" +" or not. A full administrator is a member of the hostadmin role\n" +" or the admins group.\n" +"2. You are enrolling as a limited administrator. The host must already\n" +" exist. A limited administrator is a member a role with the\n" +" Host Enrollment privilege.\n" +"3. The host has been created with a one-time password.\n" +msgstr "" + +#: ipalib/plugins/host.py:70 +msgid "" +"\n" +"RE-ENROLLMENT:\n" +"\n" +"Host that has been enrolled at some point, and lost its configuration (e.g. " +"VM\n" +"destroyed) can be re-enrolled.\n" +"\n" +"For more information, consult the manual pages for ipa-client-install.\n" +"\n" +"A host can optionally store information such as where it is located,\n" +"the OS that it runs, etc.\n" +msgstr "" + +#: ipalib/plugins/host.py:82 +msgid "" +"\n" +" Add a new host:\n" +" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example." +"com\n" +msgstr "" + +#: ipalib/plugins/host.py:85 +msgid "" +"\n" +" Delete a host:\n" +" ipa host-del test.example.com\n" +msgstr "" + +#: ipalib/plugins/host.py:88 +msgid "" +"\n" +" Add a new host with a one-time password:\n" +" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n" +msgstr "" + +#: ipalib/plugins/host.py:91 +msgid "" +"\n" +" Add a new host with a random one-time password:\n" +" ipa host-add --os='Fedora 12' --random test.example.com\n" +msgstr "" + +#: ipalib/plugins/host.py:94 +msgid "" +"\n" +" Modify information about a host:\n" +" ipa host-mod --os='Fedora 12' test.example.com\n" +msgstr "" + +#: ipalib/plugins/host.py:97 +msgid "" +"\n" +" Remove SSH public keys of a host and update DNS to reflect this change:\n" +" ipa host-mod --sshpubkey= --updatedns test.example.com\n" +msgstr "" + +#: ipalib/plugins/host.py:100 +msgid "" +"\n" +" Disable the host Kerberos key, SSL certificate and all of its services:\n" +" ipa host-disable test.example.com\n" +msgstr "" + +#: ipalib/plugins/host.py:103 +msgid "" +"\n" +" Add a host that can manage this host's keytab and certificate:\n" +" ipa host-add-managedby --hosts=test2 test\n" +msgstr "" + +#: ipalib/plugins/host.py:106 +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa host-allow-create-keytab test2 --users=tuser1\n" +msgstr "" + +#: ipalib/plugins/host.py:178 ipalib/plugins/service.py:102 +msgid "Keytab" +msgstr "" + +#: ipalib/plugins/host.py:190 ipalib/plugins/internal.py:399 +#: ipalib/plugins/service.py:111 +msgid "Serial Number" +msgstr "" + +#: ipalib/plugins/host.py:193 ipalib/plugins/internal.py:400 +#: ipalib/plugins/service.py:114 +msgid "Serial Number (hex)" +msgstr "" + +#: ipalib/plugins/host.py:214 +msgid "Failed managedby" +msgstr "" + +#: ipalib/plugins/host.py:220 ipalib/plugins/service.py:135 +msgid "Users allowed to retrieve keytab" +msgstr "" + +#: ipalib/plugins/host.py:223 ipalib/plugins/service.py:138 +msgid "Groups allowed to retrieve keytab" +msgstr "" + +#: ipalib/plugins/host.py:226 ipalib/plugins/service.py:141 +msgid "Hosts allowed to retrieve keytab" +msgstr "" + +#: ipalib/plugins/host.py:229 ipalib/plugins/service.py:144 +msgid "Host Groups allowed to retrieve keytab" +msgstr "" + +#: ipalib/plugins/host.py:232 ipalib/plugins/service.py:147 +msgid "Users allowed to create keytab" +msgstr "" + +#: ipalib/plugins/host.py:235 ipalib/plugins/service.py:150 +msgid "Groups allowed to create keytab" +msgstr "" + +#: ipalib/plugins/host.py:238 ipalib/plugins/service.py:153 +msgid "Hosts allowed to create keytab" +msgstr "" + +#: ipalib/plugins/host.py:241 ipalib/plugins/service.py:156 +msgid "Host Groups allowed to create keytab" +msgstr "" + +#: ipalib/plugins/host.py:244 ipalib/plugins/service.py:159 +msgid "Failed allowed to retrieve keytab" +msgstr "" + +#: ipalib/plugins/host.py:247 ipalib/plugins/service.py:162 +msgid "Failed allowed to create keytab" +msgstr "" + +#: ipalib/plugins/host.py:275 +#, python-format +msgid "invalid domain-name: %s" +msgstr "" + +#: ipalib/plugins/host.py:286 ipalib/plugins/sudorule.py:424 +msgid "host" +msgstr "" + +#: ipalib/plugins/host.py:287 ipalib/plugins/idviews.py:335 +#: ipalib/plugins/idviews.py:378 ipalib/plugins/sudorule.py:424 +msgid "hosts" +msgstr "" + +#: ipalib/plugins/host.py:448 ipalib/plugins/internal.py:565 +#: ipalib/plugins/internal.py:634 +msgid "Host" +msgstr "" + +#: ipalib/plugins/host.py:453 +msgid "Host name" +msgstr "" + +#: ipalib/plugins/host.py:460 +msgid "A description of this host" +msgstr "" + +#: ipalib/plugins/host.py:464 +msgid "Locality" +msgstr "" + +#: ipalib/plugins/host.py:465 +msgid "Host locality (e.g. \"Baltimore, MD\")" +msgstr "" + +#: ipalib/plugins/host.py:470 +msgid "Host location (e.g. \"Lab 2\")" +msgstr "" + +#: ipalib/plugins/host.py:474 +msgid "Platform" +msgstr "" + +#: ipalib/plugins/host.py:475 +msgid "Host hardware platform (e.g. \"Lenovo T61\")" +msgstr "" + +#: ipalib/plugins/host.py:479 +msgid "Operating system" +msgstr "" + +#: ipalib/plugins/host.py:480 +msgid "Host operating system and version (e.g. \"Fedora 9\")" +msgstr "" + +#: ipalib/plugins/host.py:484 +msgid "User password" +msgstr "" + +#: ipalib/plugins/host.py:485 +msgid "Password used in bulk enrollment" +msgstr "" + +#: ipalib/plugins/host.py:488 +msgid "Generate a random password to be used in bulk enrollment" +msgstr "" + +#: ipalib/plugins/host.py:502 ipalib/plugins/host.py:828 +msgid "Principal name" +msgstr "" + +#: ipalib/plugins/host.py:511 +msgid "MAC address" +msgstr "" + +#: ipalib/plugins/host.py:512 +msgid "Hardware MAC address(es) on this host" +msgstr "" + +#: ipalib/plugins/host.py:524 +msgid "" +"Host category (semantics placed on this attribute are for local " +"interpretation)" +msgstr "" + +#: ipalib/plugins/host.py:528 ipalib/plugins/internal.py:547 +msgid "Assigned ID View" +msgstr "" + +#: ipalib/plugins/host.py:588 +msgid "Add a new host." +msgstr "" + +#: ipalib/plugins/host.py:591 +#, python-format +msgid "Added host \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/host.py:596 +msgid "force host name even if not in DNS" +msgstr "" + +#: ipalib/plugins/host.py:599 +msgid "skip reverse DNS detection" +msgstr "" + +#: ipalib/plugins/host.py:602 +msgid "Add the host to DNS with this IP address" +msgstr "" + +#: ipalib/plugins/host.py:687 +#, python-format +msgid "The host was added but the DNS update failed with: %(exc)s" +msgstr "" + +#: ipalib/plugins/host.py:708 +msgid "Delete a host." +msgstr "" + +#: ipalib/plugins/host.py:710 +#, python-format +msgid "Deleted host \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/host.py:715 +msgid "Remove entries from DNS" +msgstr "" + +#: ipalib/plugins/host.py:819 +msgid "Modify information about a host." +msgstr "" + +#: ipalib/plugins/host.py:822 +#, python-format +msgid "Modified host \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/host.py:829 +msgid "Kerberos principal name for this host" +msgstr "" + +#: ipalib/plugins/host.py:833 +msgid "Update DNS entries" +msgstr "" + +#: ipalib/plugins/host.py:848 +msgid "Password cannot be set on enrolled host." +msgstr "" + +#: ipalib/plugins/host.py:852 +msgid "cn is immutable" +msgstr "" + +#: ipalib/plugins/host.py:978 +msgid "Search for hosts." +msgstr "" + +#: ipalib/plugins/host.py:982 +#, python-format +msgid "%(count)d host matched" +msgid_plural "%(count)d hosts matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/host.py:1065 +msgid "Display information about a host." +msgstr "" + +#: ipalib/plugins/host.py:1070 ipalib/plugins/service.py:709 +msgid "file to store certificate in" +msgstr "" + +#: ipalib/plugins/host.py:1108 ipalib/plugins/service.py:734 +#, python-format +msgid "Certificate(s) stored in file '%(file)s'" +msgstr "" + +#: ipalib/plugins/host.py:1120 +msgid "Disable the Kerberos key, SSL certificate and all services of a host." +msgstr "" + +#: ipalib/plugins/host.py:1123 +#, python-format +msgid "Disabled host \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/host.py:1217 +msgid "Add hosts that can manage this host." +msgstr "" + +#: ipalib/plugins/host.py:1231 ipalib/plugins/otptoken.py:470 +msgid "Remove hosts that can manage this host." +msgstr "" + +#: ipalib/plugins/host.py:1244 +msgid "" +"Allow users, groups, hosts or host groups to retrieve a keytab of this host." +msgstr "" + +#: ipalib/plugins/host.py:1263 +msgid "" +"Disallow users, groups, hosts or host groups to retrieve a keytab of this " +"host." +msgstr "" + +#: ipalib/plugins/host.py:1281 +msgid "" +"Allow users, groups, hosts or host groups to create a keytab of this host." +msgstr "" + +#: ipalib/plugins/host.py:1300 +msgid "" +"Disallow users, groups, hosts or host groups to create a keytab of this host." +msgstr "" + +#: ipalib/plugins/hostgroup.py:30 +msgid "" +"\n" +"Groups of hosts.\n" +"\n" +"Manage groups of hosts. This is useful for applying access control to a\n" +"number of hosts by using Host-based Access Control.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new host group:\n" +" ipa hostgroup-add --desc=\"Baltimore hosts\" baltimore\n" +"\n" +" Add another new host group:\n" +" ipa hostgroup-add --desc=\"Maryland hosts\" maryland\n" +"\n" +" Add members to the hostgroup (using Bash brace expansion):\n" +" ipa hostgroup-add-member --hosts={box1,box2,box3} baltimore\n" +"\n" +" Add a hostgroup as a member of another hostgroup:\n" +" ipa hostgroup-add-member --hostgroups=baltimore maryland\n" +"\n" +" Remove a host from the hostgroup:\n" +" ipa hostgroup-remove-member --hosts=box2 baltimore\n" +"\n" +" Display a host group:\n" +" ipa hostgroup-show baltimore\n" +"\n" +" Delete a hostgroup:\n" +" ipa hostgroup-del baltimore\n" +msgstr "" + +#: ipalib/plugins/hostgroup.py:77 +msgid "host group" +msgstr "" + +#: ipalib/plugins/hostgroup.py:78 +msgid "host groups" +msgstr "" + +#: ipalib/plugins/hostgroup.py:142 +msgid "Host Group" +msgstr "" + +#: ipalib/plugins/hostgroup.py:149 +msgid "Host-group" +msgstr "" + +#: ipalib/plugins/hostgroup.py:150 +msgid "Name of host-group" +msgstr "" + +#: ipalib/plugins/hostgroup.py:157 +msgid "A description of this host-group" +msgstr "" + +#: ipalib/plugins/hostgroup.py:183 +msgid "Add a new hostgroup." +msgstr "" + +#: ipalib/plugins/hostgroup.py:185 +#, python-format +msgid "Added hostgroup \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hostgroup.py:201 +#, python-format +msgid "" +"netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " +"common namespace" +msgstr "" + +#: ipalib/plugins/hostgroup.py:222 +msgid "Delete a hostgroup." +msgstr "" + +#: ipalib/plugins/hostgroup.py:224 +#, python-format +msgid "Deleted hostgroup \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hostgroup.py:229 +msgid "Modify a hostgroup." +msgstr "" + +#: ipalib/plugins/hostgroup.py:231 +#, python-format +msgid "Modified hostgroup \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/hostgroup.py:241 +msgid "Search for hostgroups." +msgstr "" + +#: ipalib/plugins/hostgroup.py:245 +#, python-format +msgid "%(count)d hostgroup matched" +msgid_plural "%(count)d hostgroups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/hostgroup.py:258 +msgid "Display information about a hostgroup." +msgstr "" + +#: ipalib/plugins/hostgroup.py:268 +msgid "Add members to a hostgroup." +msgstr "" + +#: ipalib/plugins/hostgroup.py:278 +msgid "Remove members from a hostgroup." +msgstr "" + +#: ipalib/plugins/idrange.py:34 +msgid "" +"\n" +"ID ranges\n" +"\n" +"Manage ID ranges used to map Posix IDs to SIDs and back.\n" +"\n" +"There are two type of ID ranges which are both handled by this utility:\n" +"\n" +" - the ID ranges of the local domain\n" +" - the ID ranges of trusted remote domains\n" +"\n" +"Both types have the following attributes in common:\n" +"\n" +" - base-id: the first ID of the Posix ID range\n" +" - range-size: the size of the range\n" +"\n" +"With those two attributes a range object can reserve the Posix IDs starting\n" +"with base-id up to but not including base-id+range-size exclusively.\n" +"\n" +"Additionally an ID range of the local domain may set\n" +" - rid-base: the first RID(*) of the corresponding RID range\n" +" - secondary-rid-base: first RID of the secondary RID range\n" +"\n" +"and an ID range of a trusted domain must set\n" +" - rid-base: the first RID of the corresponding RID range\n" +" - sid: domain SID of the trusted domain\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for a trusted domain\n" +"\n" +"Since there might be more than one trusted domain the domain SID must be " +"given\n" +"while creating the ID range.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \\\n" +" --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" +"\n" +"This ID range is then used by the IPA server and the SSSD IPA provider to\n" +"assign Posix UIDs to users from the trusted domain.\n" +"\n" +"If e.g a range for a trusted domain is configured with the following " +"values:\n" +" base-id = 1200000\n" +" range-size = 200000\n" +" rid-base = 0\n" +"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " +"So\n" +"RID 1000 <-> Posix ID 1201000\n" +"\n" +"\n" +"\n" +"EXAMPLE: Add a new ID range for the local domain\n" +"\n" +"To create an ID range for the local domain it is not necessary to specify a\n" +"domain SID. But since it is possible that a user and a group can have the " +"same\n" +"value as Posix ID a second RID interval is needed to handle conflicts.\n" +"\n" +" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=1000 \\\n" +" --secondary-rid-base=1000000 local_range\n" +"\n" +"The data from the ID ranges of the local domain are used by the IPA server\n" +"internally to assign SIDs to IPA users and groups. The SID will then be " +"stored\n" +"in the user or group objects.\n" +"\n" +"If e.g. the ID range for the local domain is configured with the values " +"from\n" +"the example above then a new user with the UID 1200007 will get the RID " +"1007.\n" +"If this RID is already used by a group the RID will be 1000007. This can " +"only\n" +"happen if a user or a group object was created with a fixed ID because the\n" +"automatic assignment will not assign the same ID twice. Since there are " +"only\n" +"users and groups sharing the same ID namespace it is sufficient to have " +"only\n" +"one fallback range to handle conflicts.\n" +"\n" +"To find the Posix ID for a given RID from the local domain it has to be\n" +"checked first if the RID falls in the primary or secondary RID range and\n" +"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" +"and the base-id has to be added to get the Posix ID.\n" +"\n" +"Typically the creation of ID ranges happens behind the scenes and this CLI\n" +"must not be used at all. The ID range for the local domain will be created\n" +"during installation or upgrade from an older version. The ID range for a\n" +"trusted domain will be created together with the trust by 'ipa trust-" +"add ...'.\n" +"\n" +"USE CASES:\n" +"\n" +" Add an ID range from a transitively trusted domain\n" +"\n" +" If the trusted domain (A) trusts another domain (B) as well and this " +"trust\n" +" is transitive 'ipa trust-add domain-A' will only create a range for\n" +" domain A. The ID range for domain B must be added manually.\n" +"\n" +" Add an additional ID range for the local domain\n" +"\n" +" If the ID range of the local domain is exhausted, i.e. no new IDs can " +"be\n" +" assigned to Posix users or groups by the DNA plugin, a new range has to " +"be\n" +" created to allow new users and groups to be added. (Currently there is " +"no\n" +" connection between this range CLI and the DNA plugin, but a future " +"version\n" +" might be able to modify the configuration of the DNS plugin as well)\n" +"\n" +"In general it is not necessary to modify or delete ID ranges. If there is " +"no\n" +"other way to achieve a certain configuration than to modify or delete an ID\n" +"range it should be done with great care. Because UIDs are stored in the " +"file\n" +"system and are used for access control it might be possible that users are\n" +"allowed to access files of other users if an ID range got deleted and " +"reused\n" +"for a different domain.\n" +"\n" +"(*) The RID is typically the last integer of a user or group SID which " +"follows\n" +"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " +"from\n" +"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 id the RID of " +"the\n" +"user. RIDs are unique in a domain, 32bit values and are used for users and\n" +"groups.\n" +"\n" +"WARNING:\n" +"\n" +"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " +"the\n" +"local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +"on the local ranges set via this family of commands.\n" +"\n" +"Manual configuration change has to be done in the DNA plugin configuration " +"for\n" +"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" +"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " +"be\n" +"modified to match the new range.\n" +msgstr "" + +#: ipalib/plugins/idrange.py:185 +msgid "ID Ranges" +msgstr "" + +#: ipalib/plugins/idrange.py:186 +msgid "ID Range" +msgstr "" + +#: ipalib/plugins/idrange.py:190 +msgid "local domain range" +msgstr "" + +#: ipalib/plugins/idrange.py:192 ipalib/plugins/trust.py:425 +msgid "Active Directory domain range" +msgstr "" + +#: ipalib/plugins/idrange.py:193 ipalib/plugins/trust.py:426 +msgid "Active Directory trust range with POSIX attributes" +msgstr "" + +#: ipalib/plugins/idrange.py:201 +msgid "Range name" +msgstr "" + +#: ipalib/plugins/idrange.py:206 +msgid "First Posix ID of the range" +msgstr "" + +#: ipalib/plugins/idrange.py:210 +msgid "Number of IDs in the range" +msgstr "" + +#: ipalib/plugins/idrange.py:214 +msgid "First RID of the corresponding RID range" +msgstr "" + +#: ipalib/plugins/idrange.py:218 +msgid "First RID of the secondary RID range" +msgstr "" + +#: ipalib/plugins/idrange.py:223 +msgid "Domain SID of the trusted domain" +msgstr "" + +#: ipalib/plugins/idrange.py:228 +msgid "Name of the trusted domain" +msgstr "" + +#: ipalib/plugins/idrange.py:231 ipalib/plugins/internal.py:609 +#: ipalib/plugins/trust.py:459 +msgid "Range type" +msgstr "" + +#: ipalib/plugins/idrange.py:233 +#, python-brace-format +msgid "ID range type, one of {vals}" +msgstr "" + +#: ipalib/plugins/idrange.py:308 +msgid "" +"range modification leaving objects with ID out of the defined range is not " +"allowed" +msgstr "" + +#: ipalib/plugins/idrange.py:313 +msgid "" +"Cannot perform SID validation without Samba 4 support installed. Make sure " +"you have installed server-trust-ad sub-package of IPA on the server" +msgstr "" + +#: ipalib/plugins/idrange.py:320 +msgid "" +"Cross-realm trusts are not configured. Make sure you have run ipa-adtrust-" +"install on the IPA server first" +msgstr "" + +#: ipalib/plugins/idrange.py:332 +msgid "SID is not recognized as a valid SID for a trusted domain" +msgstr "" + +#: ipalib/plugins/idrange.py:369 +msgid "" +"\n" +" Add new ID range.\n" +"\n" +" To add a new ID range you always have to specify\n" +"\n" +" --base-id\n" +" --range-size\n" +"\n" +" Additionally\n" +"\n" +" --rid-base\n" +" --secondary-rid-base\n" +"\n" +" may be given for a new ID range for the local domain while\n" +"\n" +" --rid-base\n" +" --dom-sid\n" +"\n" +" must be given to add a new range for a trusted AD domain.\n" +"\n" +" WARNING:\n" +"\n" +" DNA plugin in 389-ds will allocate IDs based on the ranges configured " +"for the\n" +" local domain. Currently the DNA plugin *cannot* be reconfigured itself " +"based\n" +" on the local ranges set via this family of commands.\n" +"\n" +" Manual configuration change has to be done in the DNA plugin " +"configuration for\n" +" the new local range. Specifically, The dnaNextRange attribute of " +"'cn=Posix\n" +" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has " +"to be\n" +" modified to match the new range.\n" +" " +msgstr "" + +#: ipalib/plugins/idrange.py:401 +#, python-format +msgid "Added ID range \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idrange.py:475 ipalib/plugins/idrange.py:702 +msgid "Options dom-sid and dom-name cannot be used together" +msgstr "" + +#: ipalib/plugins/idrange.py:485 ipalib/plugins/idrange.py:714 +msgid "" +"SID for the specified trusted domain name could not be found. Please specify " +"the SID directly using dom-sid option." +msgstr "" + +#: ipalib/plugins/idrange.py:501 +msgid "Options dom-sid/dom-name and rid-base must be used together" +msgstr "" + +#: ipalib/plugins/idrange.py:508 ipalib/plugins/idrange.py:737 +msgid "" +"Option rid-base must not be used when IPA range type is ipa-ad-trust-posix" +msgstr "" + +#: ipalib/plugins/idrange.py:515 +msgid "" +"IPA Range type must be one of ipa-ad-trust or ipa-ad-trust-posix when SID of " +"the trusted domain is specified" +msgstr "" + +#: ipalib/plugins/idrange.py:521 +msgid "Options dom-sid/dom-name and secondary-rid-base cannot be used together" +msgstr "" + +#: ipalib/plugins/idrange.py:540 +msgid "" +"IPA Range type must not be one of ipa-ad-trust or ipa-ad-trust-posix when " +"SID of the trusted domain is not specified." +msgstr "" + +#: ipalib/plugins/idrange.py:547 ipalib/plugins/idrange.py:756 +msgid "Options secondary-rid-base and rid-base must be used together" +msgstr "" + +#: ipalib/plugins/idrange.py:557 ipalib/plugins/idrange.py:779 +msgid "Primary RID range and secondary RID range cannot overlap" +msgstr "" + +#: ipalib/plugins/idrange.py:569 +msgid "" +"You must specify both rid-base and secondary-rid-base options, because ipa-" +"adtrust-install has already been run." +msgstr "" + +#: ipalib/plugins/idrange.py:586 +msgid "Delete an ID range." +msgstr "" + +#: ipalib/plugins/idrange.py:588 +#, python-format +msgid "Deleted ID range \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idrange.py:634 +msgid "Search for ranges." +msgstr "" + +#: ipalib/plugins/idrange.py:637 +#, python-format +msgid "%(count)d range matched" +msgid_plural "%(count)d ranges matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/idrange.py:657 +msgid "Display information about a range." +msgstr "" + +#: ipalib/plugins/idrange.py:673 +msgid "Modify ID range." +msgstr "" + +#: ipalib/plugins/idrange.py:675 +#, python-format +msgid "Modified ID range \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idrange.py:721 +msgid "Options dom-sid and secondary-rid-base cannot be used together" +msgstr "" + +#: ipalib/plugins/idrange.py:728 +msgid "Options dom-sid and rid-base must be used together" +msgstr "" + +#: ipalib/plugins/idviews.py:40 +msgid "" +"\n" +"ID Views\n" +"Manage ID Views\n" +"IPA allows to override certain properties of users and groups per each " +"host.\n" +"This functionality is primarily used to allow migration from older systems " +"or\n" +"other Identity Management solutions.\n" +msgstr "" + +#: ipalib/plugins/idviews.py:51 ipalib/plugins/idviews.py:65 +#: ipalib/plugins/idviews.py:72 ipalib/plugins/idviews.py:248 +#: ipalib/plugins/idviews.py:593 +msgid "ID View" msgstr "" -#: ipalib/plugins/hbactest.py:249 -msgid "Warning" +#: ipalib/plugins/idviews.py:53 +msgid "system ID View" msgstr "" -#: ipalib/plugins/hbactest.py:250 -msgid "Matched rules" +#: ipalib/plugins/idviews.py:66 ipalib/plugins/idviews.py:71 +msgid "ID Views" msgstr "" -#: ipalib/plugins/hbactest.py:251 -msgid "Not matched rules" +#: ipalib/plugins/idviews.py:77 +msgid "ID View Name" msgstr "" -#: ipalib/plugins/hbactest.py:252 -msgid "Non-existent or invalid rules" +#: ipalib/plugins/idviews.py:100 +msgid "Add a new ID View." msgstr "" -#: ipalib/plugins/hbactest.py:253 -msgid "Result of simulation" +#: ipalib/plugins/idviews.py:101 +#, python-format +msgid "Added ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbactest.py:259 ipalib/plugins/krbtpolicy.py:124 -#: ipalib/plugins/passwd.py:74 -msgid "User name" +#: ipalib/plugins/idviews.py:106 +msgid "Delete an ID View." msgstr "" -#: ipalib/plugins/hbactest.py:265 -msgid "Target host" +#: ipalib/plugins/idviews.py:107 +#, python-format +msgid "Deleted ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbactest.py:273 -msgid "Rules to test. If not specified, --enabled is assumed" +#: ipalib/plugins/idviews.py:119 +msgid "Modify an ID View." msgstr "" -#: ipalib/plugins/hbactest.py:278 -msgid "Hide details which rules are matched, not matched, or invalid" +#: ipalib/plugins/idviews.py:120 +#, python-format +msgid "Modified an ID View \"%(value)s\"" msgstr "" -#: ipalib/plugins/hbactest.py:282 -msgid "Include all enabled IPA rules into test [default]" +#: ipalib/plugins/idviews.py:132 +msgid "Search for an ID View." msgstr "" -#: ipalib/plugins/hbactest.py:286 -msgid "Include all disabled IPA rules into test" +#: ipalib/plugins/idviews.py:133 +#, python-format +msgid "%(count)d ID View matched" +msgid_plural "%(count)d ID Views matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/idviews.py:139 +msgid "Display information about an ID View." msgstr "" -#: ipalib/plugins/hbactest.py:290 -msgid "Maximum number of rules to process when no --rules is specified" +#: ipalib/plugins/idviews.py:144 +msgid "Enumerate all the hosts the view applies to." msgstr "" -#: ipalib/plugins/hbactest.py:368 -msgid "Unresolved rules in --rules" +#: ipalib/plugins/idviews.py:150 +msgid "User object overrides" +msgstr "" + +#: ipalib/plugins/idviews.py:153 +msgid "Group object overrides" +msgstr "" + +#: ipalib/plugins/idviews.py:156 +msgid "Hosts the view applies to" +msgstr "" + +#: ipalib/plugins/idviews.py:249 +msgid "Default Trust View cannot be applied on hosts" +msgstr "" + +#: ipalib/plugins/idviews.py:272 ipalib/plugins/idviews.py:295 +msgid "not found" +msgstr "" + +#: ipalib/plugins/idviews.py:293 +msgid "ID View already applied" +msgstr "" + +#: ipalib/plugins/idviews.py:313 +msgid "value" +msgstr "" + +#: ipalib/plugins/idviews.py:322 +msgid "" +"Applies ID View to specified hosts or current members of specified " +"hostgroups. If any other ID View is applied to the host, it is overriden." +msgstr "" + +#: ipalib/plugins/idviews.py:326 +#, python-format +msgid "ID View applied to %i host." +msgstr "" + +#: ipalib/plugins/idviews.py:327 +#, python-format +msgid "ID View applied to %i hosts." +msgstr "" + +#: ipalib/plugins/idviews.py:334 +msgid "Hosts to apply the ID View to" +msgstr "" + +#: ipalib/plugins/idviews.py:339 +msgid "" +"Hostgroups to whose hosts apply the ID View to. Please note that view is not " +"applied automatically to any hosts added to the hostgroup after running the " +"idview-apply command." +msgstr "" + +#: ipalib/plugins/idviews.py:342 ipalib/plugins/idviews.py:385 +msgid "hostgroups" +msgstr "" + +#: ipalib/plugins/idviews.py:350 +msgid "Hosts that this ID View was applied to." +msgstr "" + +#: ipalib/plugins/idviews.py:354 +msgid "Hosts or hostgroups that this ID View could not be applied to." +msgstr "" + +#: ipalib/plugins/idviews.py:359 +msgid "Number of hosts the ID View was applied to:" +msgstr "" + +#: ipalib/plugins/idviews.py:366 +msgid "" +"Clears ID View from specified hosts or current members of specified " +"hostgroups." +msgstr "" + +#: ipalib/plugins/idviews.py:369 +#, python-format +msgid "ID View cleared from %i host." +msgstr "" + +#: ipalib/plugins/idviews.py:370 +#, python-format +msgid "ID View cleared from %i hosts." +msgstr "" + +#: ipalib/plugins/idviews.py:377 +msgid "Hosts to clear (any) ID View from." +msgstr "" + +#: ipalib/plugins/idviews.py:382 +msgid "" +"Hostgroups whose hosts should have ID Views cleared. Note that view is not " +"cleared automatically from any host added to the hostgroup after running " +"idview-unapply command." +msgstr "" + +#: ipalib/plugins/idviews.py:393 +msgid "Hosts that ID View was cleared from." +msgstr "" + +#: ipalib/plugins/idviews.py:397 +msgid "Hosts or hostgroups that ID View could not be cleared from." +msgstr "" + +#: ipalib/plugins/idviews.py:402 +msgid "Number of hosts that had a ID View was unset:" +msgstr "" + +#: ipalib/plugins/idviews.py:445 +msgid "IPA object" +msgstr "" + +#: ipalib/plugins/idviews.py:446 +msgid "" +"system IPA objects (e.g system groups, user private groups) cannot be " +"overriden" +msgstr "" + +#: ipalib/plugins/idviews.py:527 +#, python-format +msgid "Anchor '%(anchor)s' could not be resolved." +msgstr "" + +#: ipalib/plugins/idviews.py:549 +msgid "Anchor to override" +msgstr "" + +#: ipalib/plugins/idviews.py:594 +msgid "Default Trust View cannot contain IPA users" +msgstr "" + +#: ipalib/plugins/idviews.py:598 +msgid "Add a new ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:599 +#, python-format +msgid "Added ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:612 +msgid "Delete an ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:613 +#, python-format +msgid "Deleted ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:617 +msgid "Modify an ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:618 +#, python-format +msgid "Modified an ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:623 +msgid "ID override" +msgstr "" + +#: ipalib/plugins/idviews.py:624 +msgid "ID overrides cannot be renamed" +msgstr "" + +#: ipalib/plugins/idviews.py:636 +msgid "Search for an ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:637 +#, python-format +msgid "%(count)d ID override matched" +msgid_plural "%(count)d ID overrides matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/idviews.py:647 +msgid "Display information about an ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:657 ipalib/plugins/idviews.py:661 +msgid "User ID override" +msgstr "" + +#: ipalib/plugins/idviews.py:658 ipalib/plugins/idviews.py:660 +msgid "User ID overrides" +msgstr "" + +#: ipalib/plugins/idviews.py:696 +msgid "User ID Number" +msgstr "" + +#: ipalib/plugins/idviews.py:740 ipalib/plugins/idviews.py:744 +msgid "Group ID override" +msgstr "" + +#: ipalib/plugins/idviews.py:741 ipalib/plugins/idviews.py:743 +msgid "Group ID overrides" +msgstr "" + +#: ipalib/plugins/idviews.py:786 +msgid "Add a new User ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:787 +#, python-format +msgid "Added User ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:809 +msgid "Delete an User ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:810 +#, python-format +msgid "Deleted User ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:815 +msgid "Modify an User ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:816 +#, python-format +msgid "Modified an User ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:844 +msgid "Search for an User ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:845 +#, python-format +msgid "%(count)d User ID override matched" +msgid_plural "%(count)d User ID overrides matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/idviews.py:858 +msgid "Display information about an User ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:869 +msgid "Add a new Group ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:870 +#, python-format +msgid "Added Group ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:875 +msgid "Delete an Group ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:876 +#, python-format +msgid "Deleted Group ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:881 +msgid "Modify an Group ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:882 +#, python-format +msgid "Modified an Group ID override \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/idviews.py:887 +msgid "Search for an Group ID override." +msgstr "" + +#: ipalib/plugins/idviews.py:888 +#, python-format +msgid "%(count)d Group ID override matched" +msgid_plural "%(count)d Group ID overrides matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/idviews.py:894 +msgid "Display information about an Group ID override." +msgstr "" + +#: ipalib/plugins/internal.py:48 ipalib/plugins/internal.py:57 +msgid "Name of object to export" +msgstr "" + +#: ipalib/plugins/internal.py:51 ipalib/plugins/internal.py:60 +msgid "Name of method to export" +msgstr "" + +#: ipalib/plugins/internal.py:63 +msgid "Name of command to export" +msgstr "" + +#: ipalib/plugins/internal.py:68 +msgid "Dict of JSON encoded IPA Objects" +msgstr "" + +#: ipalib/plugins/internal.py:69 +msgid "Dict of JSON encoded IPA Methods" +msgstr "" + +#: ipalib/plugins/internal.py:70 +msgid "Dict of JSON encoded IPA Commands" +msgstr "" + +#: ipalib/plugins/internal.py:151 +msgid "Your session has expired. Please re-login." +msgstr "" + +#: ipalib/plugins/internal.py:155 ipalib/plugins/internal.py:209 +msgid "Apply" +msgstr "" + +#: ipalib/plugins/internal.py:156 +msgid "Rebuild auto membership" +msgstr "" + +#: ipalib/plugins/internal.py:157 +msgid "Are you sure you want to rebuild auto membership?" +msgstr "" + +#: ipalib/plugins/internal.py:159 +msgid "Are you sure you want to proceed with the action?" +msgstr "" + +#: ipalib/plugins/internal.py:160 +#, python-brace-format +msgid "Are you sure you want to delete ${object}?" +msgstr "" + +#: ipalib/plugins/internal.py:161 +#, python-brace-format +msgid "Are you sure you want to disable ${object}?" +msgstr "" + +#: ipalib/plugins/internal.py:162 +#, python-brace-format +msgid "Are you sure you want to enable ${object}?" +msgstr "" + +#: ipalib/plugins/internal.py:163 +msgid "Actions" +msgstr "" + +#: ipalib/plugins/internal.py:167 +#, python-brace-format +msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" +msgstr "" + +#: ipalib/plugins/internal.py:168 +#, python-brace-format +msgid "Add RunAs Groups into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/hbactest.py:392 ipalib/plugins/trust.py:230 -msgid "" -"Cannot search in trusted domains without own domain configured. Make sure " -"you have run ipa-adtrust-install on the IPA server first" +#: ipalib/plugins/internal.py:169 +#, python-brace-format +msgid "Add ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/hbactest.py:478 -#, python-format -msgid "Access granted: %s" +#: ipalib/plugins/internal.py:170 +#, python-brace-format +msgid "Add ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:49 -msgid "" -"\n" -"Hosts/Machines\n" -"\n" -"A host represents a machine. It can be used in a number of contexts:\n" -"- service entries are associated with a host\n" -"- a host stores the host/ service principal\n" -"- a host can be used in Host-based Access Control (HBAC) rules\n" -"- every enrolled client generates a host entry\n" +#: ipalib/plugins/internal.py:171 +#, python-brace-format +msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:57 -msgid "" -"\n" -"ENROLLMENT:\n" -"\n" -"There are three enrollment scenarios when enrolling a new client:\n" -"\n" -"1. You are enrolling as a full administrator. The host entry may exist\n" -" or not. A full administrator is a member of the hostadmin role\n" -" or the admins group.\n" -"2. You are enrolling as a limited administrator. The host must already\n" -" exist. A limited administrator is a member a role with the\n" -" Host Enrollment privilege.\n" -"3. The host has been created with a one-time password.\n" +#: ipalib/plugins/internal.py:172 +#, python-brace-format +msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:69 -msgid "" -"\n" -"RE-ENROLLMENT:\n" -"\n" -"Host that has been enrolled at some point, and lost its configuration (e.g. " -"VM\n" -"destroyed) can be re-enrolled.\n" -"\n" -"For more information, consult the manual pages for ipa-client-install.\n" -"\n" -"A host can optionally store information such as where it is located,\n" -"the OS that it runs, etc.\n" +#: ipalib/plugins/internal.py:173 +#, python-brace-format +msgid "Add ${entity} ${primary_key} into ${other_entity}" msgstr "" -#: ipalib/plugins/host.py:81 -msgid "" -"\n" -" Add a new host:\n" -" ipa host-add --location=\"3rd floor lab\" --locality=Dallas test.example." -"com\n" +#: ipalib/plugins/internal.py:175 +#, python-brace-format +msgid "${count} item(s) added" msgstr "" -#: ipalib/plugins/host.py:84 -msgid "" -"\n" -" Delete a host:\n" -" ipa host-del test.example.com\n" +#: ipalib/plugins/internal.py:176 +msgid "Direct Membership" msgstr "" -#: ipalib/plugins/host.py:87 -msgid "" -"\n" -" Add a new host with a one-time password:\n" -" ipa host-add --os='Fedora 12' --password=Secret123 test.example.com\n" +#: ipalib/plugins/internal.py:177 +#, python-brace-format +msgid "Filter available ${other_entity}" msgstr "" -#: ipalib/plugins/host.py:90 -msgid "" -"\n" -" Add a new host with a random one-time password:\n" -" ipa host-add --os='Fedora 12' --random test.example.com\n" +#: ipalib/plugins/internal.py:178 +msgid "Indirect Membership" msgstr "" -#: ipalib/plugins/host.py:93 -msgid "" -"\n" -" Modify information about a host:\n" -" ipa host-mod --os='Fedora 12' test.example.com\n" +#: ipalib/plugins/internal.py:179 +msgid "No entries." msgstr "" -#: ipalib/plugins/host.py:96 -msgid "" -"\n" -" Remove SSH public keys of a host and update DNS to reflect this change:\n" -" ipa host-mod --sshpubkey= --updatedns test.example.com\n" +#: ipalib/plugins/internal.py:180 +#, python-brace-format +msgid "Showing ${start} to ${end} of ${total} entries." msgstr "" -#: ipalib/plugins/host.py:99 -msgid "" -"\n" -" Disable the host Kerberos key, SSL certificate and all of its services:\n" -" ipa host-disable test.example.com\n" +#: ipalib/plugins/internal.py:182 +#, python-brace-format +msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:102 -msgid "" -"\n" -" Add a host that can manage this host's keytab and certificate:\n" -" ipa host-add-managedby --hosts=test2 test\n" +#: ipalib/plugins/internal.py:183 +#, python-brace-format +msgid "Remove RunAs Groups from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:160 ipalib/plugins/service.py:99 -msgid "Keytab" +#: ipalib/plugins/internal.py:184 +#, python-brace-format +msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:172 ipalib/plugins/internal.py:377 -#: ipalib/plugins/service.py:108 -msgid "Serial Number" +#: ipalib/plugins/internal.py:185 +#, python-brace-format +msgid "Remove ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:175 ipalib/plugins/internal.py:378 -#: ipalib/plugins/service.py:111 -msgid "Serial Number (hex)" +#: ipalib/plugins/internal.py:186 +#, python-brace-format +msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:196 -msgid "Failed managedby" +#: ipalib/plugins/internal.py:187 +#, python-brace-format +msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/host.py:199 ipalib/plugins/user.py:95 -msgid "SSH public key fingerprint" +#: ipalib/plugins/internal.py:188 +#, python-brace-format +msgid "Remove ${entity} ${primary_key} from ${other_entity}" msgstr "" -#: ipalib/plugins/host.py:224 -#, python-format -msgid "invalid domain-name: %s" +#: ipalib/plugins/internal.py:190 +#, python-brace-format +msgid "${count} item(s) removed" msgstr "" -#: ipalib/plugins/host.py:235 ipalib/plugins/sudorule.py:424 -msgid "host" +#: ipalib/plugins/internal.py:191 +msgid "Show Results" msgstr "" -#: ipalib/plugins/host.py:236 ipalib/plugins/sudorule.py:424 -msgid "hosts" +#: ipalib/plugins/internal.py:194 +msgid "Implicit method (password) will be used if no method is chosen." msgstr "" -#: ipalib/plugins/host.py:374 ipalib/plugins/internal.py:505 -#: ipalib/plugins/internal.py:563 -msgid "Host" +#: ipalib/plugins/internal.py:195 +msgid "Two factor authentication (password + OTP)" msgstr "" -#: ipalib/plugins/host.py:379 -msgid "Host name" +#: ipalib/plugins/internal.py:197 +msgid "Radius" msgstr "" -#: ipalib/plugins/host.py:386 -msgid "A description of this host" +#: ipalib/plugins/internal.py:198 +msgid "Disable per-user override" msgstr "" -#: ipalib/plugins/host.py:390 -msgid "Locality" +#: ipalib/plugins/internal.py:199 +msgid "" +"Per-user setting, overwrites the global setting if any option is checked." msgstr "" -#: ipalib/plugins/host.py:391 -msgid "Host locality (e.g. \"Baltimore, MD\")" +#: ipalib/plugins/internal.py:202 ipalib/plugins/internal.py:255 +msgid "About" msgstr "" -#: ipalib/plugins/host.py:396 -msgid "Host location (e.g. \"Lab 2\")" +#: ipalib/plugins/internal.py:203 +msgid "Activate" msgstr "" -#: ipalib/plugins/host.py:400 -msgid "Platform" +#: ipalib/plugins/internal.py:204 +msgid "Add" msgstr "" -#: ipalib/plugins/host.py:401 -msgid "Host hardware platform (e.g. \"Lenovo T61\")" +#: ipalib/plugins/internal.py:205 +msgid "Add and Add Another" msgstr "" -#: ipalib/plugins/host.py:405 -msgid "Operating system" +#: ipalib/plugins/internal.py:206 +msgid "Add and Close" msgstr "" -#: ipalib/plugins/host.py:406 -msgid "Host operating system and version (e.g. \"Fedora 9\")" +#: ipalib/plugins/internal.py:207 +msgid "Add and Edit" msgstr "" -#: ipalib/plugins/host.py:410 -msgid "User password" +#: ipalib/plugins/internal.py:208 +msgid "Add Many" msgstr "" -#: ipalib/plugins/host.py:411 -msgid "Password used in bulk enrollment" +#: ipalib/plugins/internal.py:210 +msgid "Back" msgstr "" -#: ipalib/plugins/host.py:414 -msgid "Generate a random password to be used in bulk enrollment" +#: ipalib/plugins/internal.py:211 +msgid "Cancel" msgstr "" -#: ipalib/plugins/host.py:419 ipalib/plugins/user.py:509 -msgid "Random password" +#: ipalib/plugins/internal.py:212 +msgid "Close" msgstr "" -#: ipalib/plugins/host.py:425 ipalib/plugins/service.py:379 -msgid "Base-64 encoded server certificate" +#: ipalib/plugins/internal.py:213 ipalib/plugins/internal.py:782 +msgid "Disable" msgstr "" -#: ipalib/plugins/host.py:428 ipalib/plugins/host.py:751 -msgid "Principal name" +#: ipalib/plugins/internal.py:214 +msgid "Edit" msgstr "" -#: ipalib/plugins/host.py:436 -msgid "MAC address" +#: ipalib/plugins/internal.py:215 ipalib/plugins/internal.py:784 +msgid "Enable" msgstr "" -#: ipalib/plugins/host.py:437 -msgid "Hardware MAC address(es) on this host" +#: ipalib/plugins/internal.py:217 +msgid "Find" msgstr "" -#: ipalib/plugins/host.py:441 ipalib/plugins/user.py:571 -msgid "SSH public key" +#: ipalib/plugins/internal.py:218 +msgid "Get" msgstr "" -#: ipalib/plugins/host.py:449 -msgid "" -"Host category (semantics placed on this attribute are for local " -"interpretation)" +#: ipalib/plugins/internal.py:219 +msgid "Issue" msgstr "" -#: ipalib/plugins/host.py:510 -msgid "Add a new host." +#: ipalib/plugins/internal.py:220 +msgid "OK" msgstr "" -#: ipalib/plugins/host.py:513 -#, python-format -msgid "Added host \"%(value)s\"" +#: ipalib/plugins/internal.py:221 +msgid "Refresh" msgstr "" -#: ipalib/plugins/host.py:518 -msgid "force host name even if not in DNS" +#: ipalib/plugins/internal.py:222 +msgid "Delete" msgstr "" -#: ipalib/plugins/host.py:521 -msgid "skip reverse DNS detection" +#: ipalib/plugins/internal.py:223 +msgid "Reset" msgstr "" -#: ipalib/plugins/host.py:524 -msgid "Add the host to DNS with this IP address" +#: ipalib/plugins/internal.py:224 +msgid "Reset Password and Login" msgstr "" -#: ipalib/plugins/host.py:609 -#, python-format -msgid "The host was added but the DNS update failed with: %(exc)s" +#: ipalib/plugins/internal.py:225 +msgid "Restore" msgstr "" -#: ipalib/plugins/host.py:630 -msgid "Delete a host." +#: ipalib/plugins/internal.py:226 +msgid "Retry" msgstr "" -#: ipalib/plugins/host.py:632 -#, python-format -msgid "Deleted host \"%(value)s\"" +#: ipalib/plugins/internal.py:227 +msgid "Revert" msgstr "" -#: ipalib/plugins/host.py:637 -msgid "Remove entries from DNS" +#: ipalib/plugins/internal.py:228 +msgid "Revoke" msgstr "" -#: ipalib/plugins/host.py:742 -msgid "Modify information about a host." +#: ipalib/plugins/internal.py:229 +msgid "Save" msgstr "" -#: ipalib/plugins/host.py:745 -#, python-format -msgid "Modified host \"%(value)s\"" +#: ipalib/plugins/internal.py:230 +msgid "Set" msgstr "" -#: ipalib/plugins/host.py:752 -msgid "Kerberos principal name for this host" +#: ipalib/plugins/internal.py:232 +msgid "Update" msgstr "" -#: ipalib/plugins/host.py:756 -msgid "Update DNS entries" +#: ipalib/plugins/internal.py:233 +msgid "View" msgstr "" -#: ipalib/plugins/host.py:769 -msgid "Password cannot be set on enrolled host." +#: ipalib/plugins/internal.py:236 +msgid "Collapse All" msgstr "" -#: ipalib/plugins/host.py:773 -msgid "cn is immutable" +#: ipalib/plugins/internal.py:237 +msgid "Expand All" msgstr "" -#: ipalib/plugins/host.py:890 -msgid "Search for hosts." +#: ipalib/plugins/internal.py:238 +msgid "General" msgstr "" -#: ipalib/plugins/host.py:894 -#, python-format -msgid "%(count)d host matched" -msgid_plural "%(count)d hosts matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/internal.py:239 +msgid "Identity Settings" +msgstr "" -#: ipalib/plugins/host.py:975 -msgid "Display information about a host." +#: ipalib/plugins/internal.py:240 +#, python-brace-format +msgid "${entity} ${primary_key} Settings" msgstr "" -#: ipalib/plugins/host.py:980 ipalib/plugins/service.py:608 -msgid "file to store certificate in" +#: ipalib/plugins/internal.py:241 +msgid "Back to Top" msgstr "" -#: ipalib/plugins/host.py:1012 ipalib/plugins/service.py:628 -#, python-format -msgid "Certificate stored in file '%(file)s'" +#: ipalib/plugins/internal.py:242 +#, python-brace-format +msgid "${entity} ${primary_key} updated" msgstr "" -#: ipalib/plugins/host.py:1023 -msgid "Disable the Kerberos key, SSL certificate and all services of a host." +#: ipalib/plugins/internal.py:245 +#, python-brace-format +msgid "${entity} successfully added" msgstr "" -#: ipalib/plugins/host.py:1026 -#, python-format -msgid "Disabled host \"%(value)s\"" +#: ipalib/plugins/internal.py:246 +#, python-brace-format +msgid "Add ${entity}" msgstr "" -#: ipalib/plugins/host.py:1120 -msgid "Add hosts that can manage this host." +#: ipalib/plugins/internal.py:247 +msgid "Available" msgstr "" -#: ipalib/plugins/host.py:1135 ipalib/plugins/otptoken.py:390 -msgid "Remove hosts that can manage this host." +#: ipalib/plugins/internal.py:248 +msgid "Some operations failed." msgstr "" -#: ipalib/plugins/hostgroup.py:27 -msgid "" -"\n" -"Groups of hosts.\n" -"\n" -"Manage groups of hosts. This is useful for applying access control to a\n" -"number of hosts by using Host-based Access Control.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new host group:\n" -" ipa hostgroup-add --desc=\"Baltimore hosts\" baltimore\n" -"\n" -" Add another new host group:\n" -" ipa hostgroup-add --desc=\"Maryland hosts\" maryland\n" -"\n" -" Add members to the hostgroup (using Bash brace expansion):\n" -" ipa hostgroup-add-member --hosts={box1,box2,box3} baltimore\n" -"\n" -" Add a hostgroup as a member of another hostgroup:\n" -" ipa hostgroup-add-member --hostgroups=baltimore maryland\n" -"\n" -" Remove a host from the hostgroup:\n" -" ipa hostgroup-remove-member --hosts=box2 baltimore\n" -"\n" -" Display a host group:\n" -" ipa hostgroup-show baltimore\n" -"\n" -" Delete a hostgroup:\n" -" ipa hostgroup-del baltimore\n" +#: ipalib/plugins/internal.py:249 +msgid "Operations Error" msgstr "" -#: ipalib/plugins/hostgroup.py:65 -msgid "host group" +#: ipalib/plugins/internal.py:250 +msgid "Confirmation" msgstr "" -#: ipalib/plugins/hostgroup.py:66 -msgid "host groups" +#: ipalib/plugins/internal.py:251 +msgid "This page has unsaved changes. Please save or revert." msgstr "" -#: ipalib/plugins/hostgroup.py:130 -msgid "Host Group" +#: ipalib/plugins/internal.py:252 +msgid "Unsaved Changes" msgstr "" -#: ipalib/plugins/hostgroup.py:137 -msgid "Host-group" +#: ipalib/plugins/internal.py:253 +#, python-brace-format +msgid "Edit ${entity}" msgstr "" -#: ipalib/plugins/hostgroup.py:138 -msgid "Name of host-group" +#: ipalib/plugins/internal.py:254 +msgid "Hide details" msgstr "" -#: ipalib/plugins/hostgroup.py:145 -msgid "A description of this host-group" +#: ipalib/plugins/internal.py:256 +#, python-brace-format +msgid "${product}, version: ${version}" msgstr "" -#: ipalib/plugins/hostgroup.py:172 -msgid "Add a new hostgroup." +#: ipalib/plugins/internal.py:257 +msgid "Prospective" msgstr "" -#: ipalib/plugins/hostgroup.py:174 -#, python-format -msgid "Added hostgroup \"%(value)s\"" +#: ipalib/plugins/internal.py:258 +msgid "Redirection" msgstr "" -#: ipalib/plugins/hostgroup.py:190 -#, python-format -msgid "" -"netgroup with name \"%s\" already exists. Hostgroups and netgroups share a " -"common namespace" +#: ipalib/plugins/internal.py:259 +msgid "Select entries to be removed." msgstr "" -#: ipalib/plugins/hostgroup.py:213 -msgid "Delete a hostgroup." +#: ipalib/plugins/internal.py:260 +#, python-brace-format +msgid "Remove ${entity}" msgstr "" -#: ipalib/plugins/hostgroup.py:215 -#, python-format -msgid "Deleted hostgroup \"%(value)s\"" +#: ipalib/plugins/internal.py:261 +msgid "Show details" msgstr "" -#: ipalib/plugins/hostgroup.py:221 -msgid "Modify a hostgroup." +#: ipalib/plugins/internal.py:262 +msgid "Success" msgstr "" -#: ipalib/plugins/hostgroup.py:223 -#, python-format -msgid "Modified hostgroup \"%(value)s\"" +#: ipalib/plugins/internal.py:263 +msgid "Validation error" msgstr "" -#: ipalib/plugins/hostgroup.py:234 -msgid "Search for hostgroups." +#: ipalib/plugins/internal.py:264 +msgid "Input form contains invalid or missing values." msgstr "" -#: ipalib/plugins/hostgroup.py:238 -#, python-format -msgid "%(count)d hostgroup matched" -msgid_plural "%(count)d hostgroups matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/hostgroup.py:252 -msgid "Display information about a hostgroup." +#: ipalib/plugins/internal.py:267 +msgid "Please try the following options:" msgstr "" -#: ipalib/plugins/hostgroup.py:263 -msgid "Add members to a hostgroup." +#: ipalib/plugins/internal.py:268 +msgid "If the problem persists please contact the system administrator." msgstr "" -#: ipalib/plugins/hostgroup.py:274 -msgid "Remove members from a hostgroup." +#: ipalib/plugins/internal.py:269 +msgid "Refresh the page." msgstr "" -#: ipalib/plugins/idrange.py:34 -msgid "" -"\n" -"ID ranges\n" -"\n" -"Manage ID ranges used to map Posix IDs to SIDs and back.\n" -"\n" -"There are two type of ID ranges which are both handled by this utility:\n" -"\n" -" - the ID ranges of the local domain\n" -" - the ID ranges of trusted remote domains\n" -"\n" -"Both types have the following attributes in common:\n" -"\n" -" - base-id: the first ID of the Posix ID range\n" -" - range-size: the size of the range\n" -"\n" -"With those two attributes a range object can reserve the Posix IDs starting\n" -"with base-id up to but not including base-id+range-size exclusively.\n" -"\n" -"Additionally an ID range of the local domain may set\n" -" - rid-base: the first RID(*) of the corresponding RID range\n" -" - secondary-rid-base: first RID of the secondary RID range\n" -"\n" -"and an ID range of a trusted domain must set\n" -" - rid-base: the first RID of the corresponding RID range\n" -" - sid: domain SID of the trusted domain\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for a trusted domain\n" -"\n" -"Since there might be more than one trusted domain the domain SID must be " -"given\n" -"while creating the ID range.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 \\\n" -" --dom-sid=S-1-5-21-123-456-789 trusted_dom_range\n" -"\n" -"This ID range is then used by the IPA server and the SSSD IPA provider to\n" -"assign Posix UIDs to users from the trusted domain.\n" -"\n" -"If e.g a range for a trusted domain is configured with the following " -"values:\n" -" base-id = 1200000\n" -" range-size = 200000\n" -" rid-base = 0\n" -"the RIDs 0 to 199999 are mapped to the Posix ID from 1200000 to 13999999. " -"So\n" -"RID 1000 <-> Posix ID 1201000\n" -"\n" -"\n" -"\n" -"EXAMPLE: Add a new ID range for the local domain\n" -"\n" -"To create an ID range for the local domain it is not necessary to specify a\n" -"domain SID. But since it is possible that a user and a group can have the " -"same\n" -"value as Posix ID a second RID interval is needed to handle conflicts.\n" -"\n" -" ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=1000 \\\n" -" --secondary-rid-base=1000000 local_range\n" -"\n" -"The data from the ID ranges of the local domain are used by the IPA server\n" -"internally to assign SIDs to IPA users and groups. The SID will then be " -"stored\n" -"in the user or group objects.\n" -"\n" -"If e.g. the ID range for the local domain is configured with the values " -"from\n" -"the example above then a new user with the UID 1200007 will get the RID " -"1007.\n" -"If this RID is already used by a group the RID will be 1000007. This can " -"only\n" -"happen if a user or a group object was created with a fixed ID because the\n" -"automatic assignment will not assign the same ID twice. Since there are " -"only\n" -"users and groups sharing the same ID namespace it is sufficient to have " -"only\n" -"one fallback range to handle conflicts.\n" -"\n" -"To find the Posix ID for a given RID from the local domain it has to be\n" -"checked first if the RID falls in the primary or secondary RID range and\n" -"the rid-base or the secondary-rid-base has to be subtracted, respectively,\n" -"and the base-id has to be added to get the Posix ID.\n" -"\n" -"Typically the creation of ID ranges happens behind the scenes and this CLI\n" -"must not be used at all. The ID range for the local domain will be created\n" -"during installation or upgrade from an older version. The ID range for a\n" -"trusted domain will be created together with the trust by 'ipa trust-" -"add ...'.\n" -"\n" -"USE CASES:\n" -"\n" -" Add an ID range from a transitively trusted domain\n" -"\n" -" If the trusted domain (A) trusts another domain (B) as well and this " -"trust\n" -" is transitive 'ipa trust-add domain-A' will only create a range for\n" -" domain A. The ID range for domain B must be added manually.\n" -"\n" -" Add an additional ID range for the local domain\n" -"\n" -" If the ID range of the local domain is exhausted, i.e. no new IDs can " -"be\n" -" assigned to Posix users or groups by the DNA plugin, a new range has to " -"be\n" -" created to allow new users and groups to be added. (Currently there is " -"no\n" -" connection between this range CLI and the DNA plugin, but a future " -"version\n" -" might be able to modify the configuration of the DNS plugin as well)\n" -"\n" -"In general it is not necessary to modify or delete ID ranges. If there is " -"no\n" -"other way to achieve a certain configuration than to modify or delete an ID\n" -"range it should be done with great care. Because UIDs are stored in the " -"file\n" -"system and are used for access control it might be possible that users are\n" -"allowed to access files of other users if an ID range got deleted and " -"reused\n" -"for a different domain.\n" -"\n" -"(*) The RID is typically the last integer of a user or group SID which " -"follows\n" -"the domain SID. E.g. if the domain SID is S-1-5-21-123-456-789 and a user " -"from\n" -"this domain has the SID S-1-5-21-123-456-789-1010 then 1010 id the RID of " -"the\n" -"user. RIDs are unique in a domain, 32bit values and are used for users and\n" -"groups.\n" -"\n" -"WARNING:\n" -"\n" -"DNA plugin in 389-ds will allocate IDs based on the ranges configured for " -"the\n" -"local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -"on the local ranges set via this family of commands.\n" -"\n" -"Manual configuration change has to be done in the DNA plugin configuration " -"for\n" -"the new local range. Specifically, The dnaNextRange attribute of 'cn=Posix\n" -"IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has to " -"be\n" -"modified to match the new range.\n" +#: ipalib/plugins/internal.py:270 +msgid "Reload the browser." msgstr "" -#: ipalib/plugins/idrange.py:185 -msgid "ID Ranges" +#: ipalib/plugins/internal.py:271 +msgid "Return to the main page and retry the operation" msgstr "" -#: ipalib/plugins/idrange.py:186 -msgid "ID Range" +#: ipalib/plugins/internal.py:272 +#, python-brace-format +msgid "An error has occurred (${error})" msgstr "" -#: ipalib/plugins/idrange.py:189 -msgid "local domain range" +#: ipalib/plugins/internal.py:276 +msgid "HTTP Error" msgstr "" -#: ipalib/plugins/idrange.py:190 -msgid "Active Directory winsync range" +#: ipalib/plugins/internal.py:277 +msgid "Internal Error" msgstr "" -#: ipalib/plugins/idrange.py:191 ipalib/plugins/trust.py:425 -msgid "Active Directory domain range" +#: ipalib/plugins/internal.py:278 +msgid "IPA Error" msgstr "" -#: ipalib/plugins/idrange.py:192 ipalib/plugins/trust.py:426 -msgid "Active Directory trust range with POSIX attributes" +#: ipalib/plugins/internal.py:279 +msgid "No response" msgstr "" -#: ipalib/plugins/idrange.py:194 -msgid "IPA trust range" +#: ipalib/plugins/internal.py:280 +msgid "Unknown Error" msgstr "" -#: ipalib/plugins/idrange.py:200 -msgid "Range name" +#: ipalib/plugins/internal.py:281 +msgid "URL" msgstr "" -#: ipalib/plugins/idrange.py:205 -msgid "First Posix ID of the range" +#: ipalib/plugins/internal.py:284 +#, python-brace-format +msgid "${primary_key} is managed by:" msgstr "" -#: ipalib/plugins/idrange.py:209 -msgid "Number of IDs in the range" +#: ipalib/plugins/internal.py:285 +#, python-brace-format +msgid "${primary_key} members:" msgstr "" -#: ipalib/plugins/idrange.py:213 -msgid "First RID of the corresponding RID range" +#: ipalib/plugins/internal.py:286 +#, python-brace-format +msgid "${primary_key} is a member of:" msgstr "" -#: ipalib/plugins/idrange.py:217 -msgid "First RID of the secondary RID range" +#: ipalib/plugins/internal.py:289 +msgid "Settings" msgstr "" -#: ipalib/plugins/idrange.py:222 -msgid "Domain SID of the trusted domain" +#: ipalib/plugins/internal.py:290 ipalib/plugins/internal.py:775 +msgid "Search" msgstr "" -#: ipalib/plugins/idrange.py:227 -msgid "Name of the trusted domain" +#: ipalib/plugins/internal.py:292 +msgid "False" msgstr "" -#: ipalib/plugins/idrange.py:230 ipalib/plugins/internal.py:538 -#: ipalib/plugins/trust.py:459 -msgid "Range type" +#: ipalib/plugins/internal.py:294 +#, python-brace-format +msgid "Allow ${other_entity} to create keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/idrange.py:232 +#: ipalib/plugins/internal.py:295 #, python-brace-format -msgid "ID range type, one of {vals}" +msgid "Allow ${other_entity} to retrieve keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/idrange.py:300 -msgid "" -"range modification leaving objects with ID out of the defined range is not " -"allowed" +#: ipalib/plugins/internal.py:296 +msgid "Allowed to create keytab" msgstr "" -#: ipalib/plugins/idrange.py:305 -msgid "" -"Cannot perform SID validation without Samba 4 support installed. Make sure " -"you have installed server-trust-ad sub-package of IPA on the server" +#: ipalib/plugins/internal.py:297 +msgid "Allowed to retrieve keytab" msgstr "" -#: ipalib/plugins/idrange.py:312 -msgid "" -"Cross-realm trusts are not configured. Make sure you have run ipa-adtrust-" -"install on the IPA server first" +#: ipalib/plugins/internal.py:298 +#, python-brace-format +msgid "Disallow ${other_entity} to create keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/idrange.py:324 -msgid "SID is not recognized as a valid SID for a trusted domain" +#: ipalib/plugins/internal.py:299 +#, python-brace-format +msgid "Disallow ${other_entity} to retrieve keytab of ${primary_key}" msgstr "" -#: ipalib/plugins/idrange.py:361 -msgid "" -"\n" -" Add new ID range.\n" -"\n" -" To add a new ID range you always have to specify\n" -"\n" -" --base-id\n" -" --range-size\n" -"\n" -" Additionally\n" -"\n" -" --rid-base\n" -" --secondary-rid-base\n" -"\n" -" may be given for a new ID range for the local domain while\n" -"\n" -" --rid-base\n" -" --dom-sid\n" -"\n" -" must be given to add a new range for a trusted AD domain.\n" -"\n" -" WARNING:\n" -"\n" -" DNA plugin in 389-ds will allocate IDs based on the ranges configured " -"for the\n" -" local domain. Currently the DNA plugin *cannot* be reconfigured itself " -"based\n" -" on the local ranges set via this family of commands.\n" -"\n" -" Manual configuration change has to be done in the DNA plugin " -"configuration for\n" -" the new local range. Specifically, The dnaNextRange attribute of " -"'cn=Posix\n" -" IDs,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config' has " -"to be\n" -" modified to match the new range.\n" -" " +#: ipalib/plugins/internal.py:302 +msgid "Inherited from server configuration" msgstr "" -#: ipalib/plugins/idrange.py:393 -#, python-format -msgid "Added ID range \"%(value)s\"" +#: ipalib/plugins/internal.py:303 +msgid "MS-PAC" msgstr "" -#: ipalib/plugins/idrange.py:466 ipalib/plugins/idrange.py:680 -msgid "Options dom-sid and dom-name cannot be used together" +#: ipalib/plugins/internal.py:304 +msgid "Override inherited settings" +msgstr "" + +#: ipalib/plugins/internal.py:305 +msgid "PAD" msgstr "" -#: ipalib/plugins/idrange.py:476 ipalib/plugins/idrange.py:692 +#: ipalib/plugins/internal.py:308 msgid "" -"SID for the specified trusted domain name could not be found. Please specify " -"the SID directly using dom-sid option." +" To login with username and " +"password, enter them in the corresponding fields, then click Login." +msgstr "" + +#: ipalib/plugins/internal.py:309 +msgid "Logged In As" msgstr "" -#: ipalib/plugins/idrange.py:491 +#: ipalib/plugins/internal.py:310 +#, python-brace-format msgid "" -"IPA Range type must be one of ipa-ad-trust or ipa-ad-trust-posix when SID of " -"the trusted domain is specified." +" To login with Kerberos, " +"please make sure you have valid tickets (obtainable via kinit) and configured the " +"browser correctly, then click Login." msgstr "" -#: ipalib/plugins/idrange.py:497 -msgid "Options dom-sid/dom-name and secondary-rid-base cannot be used together" +#: ipalib/plugins/internal.py:311 +msgid "Login" msgstr "" -#: ipalib/plugins/idrange.py:502 -msgid "Options dom-sid/dom-name and rid-base must be used together" +#: ipalib/plugins/internal.py:312 +msgid "Logout" msgstr "" -#: ipalib/plugins/idrange.py:521 -msgid "" -"IPA Range type must not be one of ipa-ad-trust or ipa-ad-trust-posix when " -"SID of the trusted domain is not specified." +#: ipalib/plugins/internal.py:313 +msgid "Logout error" msgstr "" -#: ipalib/plugins/idrange.py:528 ipalib/plugins/idrange.py:722 -msgid "Options secondary-rid-base and rid-base must be used together" +#: ipalib/plugins/internal.py:315 +msgid "Sync OTP Token" msgstr "" -#: ipalib/plugins/idrange.py:538 ipalib/plugins/idrange.py:745 -msgid "Primary RID range and secondary RID range cannot overlap" +#: ipalib/plugins/internal.py:316 ipalib/plugins/vault.py:157 +msgid "Username" msgstr "" -#: ipalib/plugins/idrange.py:550 -msgid "" -"You must specify both rid-base and secondary-rid-base options, because ipa-" -"adtrust-install has already been run." +#: ipalib/plugins/internal.py:319 +msgid "number of passwords" msgstr "" -#: ipalib/plugins/idrange.py:566 -msgid "Delete an ID range." +#: ipalib/plugins/internal.py:320 +msgid "seconds" msgstr "" -#: ipalib/plugins/idrange.py:568 -#, python-format -msgid "Deleted ID range \"%(value)s\"" +#: ipalib/plugins/internal.py:324 ipalib/plugins/internal.py:329 +#: ipalib/plugins/internal.py:590 +msgid "Attribute" msgstr "" -#: ipalib/plugins/idrange.py:614 -msgid "Search for ranges." +#: ipalib/plugins/internal.py:327 +#, python-brace-format +msgid "Add Condition into ${pkey}" msgstr "" -#: ipalib/plugins/idrange.py:617 -#, python-format -msgid "%(count)d range matched" -msgid_plural "%(count)d ranges matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/internal.py:328 +msgid "Add Rule" +msgstr "" -#: ipalib/plugins/idrange.py:636 -msgid "Display information about a range." +#: ipalib/plugins/internal.py:330 +msgid "Default host group" msgstr "" -#: ipalib/plugins/idrange.py:651 -msgid "Modify ID range." +#: ipalib/plugins/internal.py:331 +msgid "Default user group" msgstr "" -#: ipalib/plugins/idrange.py:653 -#, python-format -msgid "Modified ID range \"%(value)s\"" +#: ipalib/plugins/internal.py:332 +msgid "Exclusive" msgstr "" -#: ipalib/plugins/idrange.py:699 -msgid "Options dom-sid and secondary-rid-base cannot be used together" +#: ipalib/plugins/internal.py:333 +msgid "Expression" msgstr "" -#: ipalib/plugins/idrange.py:704 -msgid "Options dom-sid and rid-base must be used together" +#: ipalib/plugins/internal.py:334 +msgid "Host group rule" msgstr "" -#: ipalib/plugins/internal.py:48 ipalib/plugins/internal.py:57 -msgid "Name of object to export" +#: ipalib/plugins/internal.py:335 +msgid "Host group rules" msgstr "" -#: ipalib/plugins/internal.py:51 ipalib/plugins/internal.py:60 -msgid "Name of method to export" +#: ipalib/plugins/internal.py:336 +msgid "Inclusive" msgstr "" -#: ipalib/plugins/internal.py:63 -msgid "Name of command to export" +#: ipalib/plugins/internal.py:337 +msgid "User group rule" +msgstr "" + +#: ipalib/plugins/internal.py:338 +msgid "User group rules" +msgstr "" + +#: ipalib/plugins/internal.py:343 +msgid "Automount Location Settings" +msgstr "" + +#: ipalib/plugins/internal.py:346 +msgid "Map Type" +msgstr "" + +#: ipalib/plugins/internal.py:347 +msgid "Direct" +msgstr "" + +#: ipalib/plugins/internal.py:348 +msgid "Indirect" +msgstr "" + +#: ipalib/plugins/internal.py:351 +msgid "AA Compromise" +msgstr "" + +#: ipalib/plugins/internal.py:352 +msgid "Affiliation Changed" +msgstr "" + +#: ipalib/plugins/internal.py:353 +msgid "CA Compromise" +msgstr "" + +#: ipalib/plugins/internal.py:355 ipalib/plugins/internal.py:794 +msgid "Certificates" +msgstr "" + +#: ipalib/plugins/internal.py:356 +msgid "Certificate Hold" +msgstr "" + +#: ipalib/plugins/internal.py:357 +msgid "Cessation of Operation" +msgstr "" + +#: ipalib/plugins/internal.py:358 +msgid "Common Name" +msgstr "" + +#: ipalib/plugins/internal.py:359 +msgid "Expires On" +msgstr "" + +#: ipalib/plugins/internal.py:360 +msgid "Issued on from" +msgstr "" + +#: ipalib/plugins/internal.py:361 +msgid "Issued on to" +msgstr "" + +#: ipalib/plugins/internal.py:362 +msgid "Maximum serial number" +msgstr "" + +#: ipalib/plugins/internal.py:363 +msgid "Minimum serial number" +msgstr "" + +#: ipalib/plugins/internal.py:365 +msgid "Revoked on from" +msgstr "" + +#: ipalib/plugins/internal.py:366 +msgid "Revoked on to" +msgstr "" + +#: ipalib/plugins/internal.py:368 +msgid "Valid not after from" msgstr "" -#: ipalib/plugins/internal.py:68 -msgid "Dict of JSON encoded IPA Objects" +#: ipalib/plugins/internal.py:369 +msgid "Valid not after to" msgstr "" -#: ipalib/plugins/internal.py:69 -msgid "Dict of JSON encoded IPA Methods" +#: ipalib/plugins/internal.py:370 +msgid "Valid not before from" msgstr "" -#: ipalib/plugins/internal.py:70 -msgid "Dict of JSON encoded IPA Commands" +#: ipalib/plugins/internal.py:371 +msgid "Valid not before to" msgstr "" -#: ipalib/plugins/internal.py:151 -msgid "Your session has expired. Please re-login." +#: ipalib/plugins/internal.py:372 +msgid "Fingerprints" msgstr "" -#: ipalib/plugins/internal.py:155 -msgid "Apply" +#: ipalib/plugins/internal.py:373 +msgid "Get Certificate" msgstr "" -#: ipalib/plugins/internal.py:156 -msgid "Rebuild auto membership" +#: ipalib/plugins/internal.py:374 +#, python-brace-format +msgid "Issue New Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:157 -msgid "Are you sure you want to rebuild auto membership?" +#: ipalib/plugins/internal.py:375 +msgid "Issued By" msgstr "" -#: ipalib/plugins/internal.py:159 -msgid "Are you sure you want to proceed with the action?" +#: ipalib/plugins/internal.py:376 +msgid "Issued On" msgstr "" -#: ipalib/plugins/internal.py:160 -#, python-brace-format -msgid "Are you sure you want to delete ${object}?" +#: ipalib/plugins/internal.py:377 +msgid "Issued To" msgstr "" -#: ipalib/plugins/internal.py:161 -#, python-brace-format -msgid "Are you sure you want to disable ${object}?" +#: ipalib/plugins/internal.py:378 +msgid "Key Compromise" msgstr "" -#: ipalib/plugins/internal.py:162 -#, python-brace-format -msgid "Are you sure you want to enable ${object}?" +#: ipalib/plugins/internal.py:379 +msgid "MD5 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:163 -msgid "Actions" +#: ipalib/plugins/internal.py:380 +msgid "No Valid Certificate" msgstr "" -#: ipalib/plugins/internal.py:167 -#, python-brace-format -msgid "Add RunAs ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:381 +msgid "New Certificate" msgstr "" -#: ipalib/plugins/internal.py:168 -#, python-brace-format -msgid "Add RunAs Groups into ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:382 +msgid "Note" msgstr "" -#: ipalib/plugins/internal.py:169 -#, python-brace-format -msgid "Add ${other_entity} Managing ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:383 +msgid "Organization" msgstr "" -#: ipalib/plugins/internal.py:170 -#, python-brace-format -msgid "Add ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:384 +msgid "Organizational Unit" msgstr "" -#: ipalib/plugins/internal.py:171 -#, python-brace-format -msgid "Add Allow ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:385 +msgid "Privilege Withdrawn" msgstr "" -#: ipalib/plugins/internal.py:172 -#, python-brace-format -msgid "Add Deny ${other_entity} into ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:386 +msgid "Reason for Revocation" msgstr "" -#: ipalib/plugins/internal.py:173 -#, python-brace-format -msgid "Add ${entity} ${primary_key} into ${other_entity}" +#: ipalib/plugins/internal.py:387 +msgid "Remove from CRL" msgstr "" -#: ipalib/plugins/internal.py:175 +#: ipalib/plugins/internal.py:388 #, python-brace-format -msgid "${count} item(s) added" +msgid "" +"
  1. Create a certificate database or use an existing one. To create a " +"new database:
    # certutil -N -d <database path>
  2. " +"
  3. Create a CSR with subject CN=<hostname>,O=<realm>, " +"for example:
    # certutil -R -d <database path> -a -g <key " +"size> -s 'CN=${hostname},O=${realm}'
  4. Copy and paste the " +"CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to -----END " +"NEW CERTIFICATE REQUEST-----) into the text area below:
" msgstr "" -#: ipalib/plugins/internal.py:176 -msgid "Direct Membership" +#: ipalib/plugins/internal.py:389 +msgid "Certificate requested" msgstr "" -#: ipalib/plugins/internal.py:177 +#: ipalib/plugins/internal.py:390 #, python-brace-format -msgid "Filter available ${other_entity}" +msgid "Restore Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:178 -msgid "Indirect Membership" +#: ipalib/plugins/internal.py:391 +msgid "Restore Certificate" msgstr "" -#: ipalib/plugins/internal.py:179 -msgid "No entries." +#: ipalib/plugins/internal.py:392 +msgid "" +"To confirm your intention to restore this certificate, click the \"Restore\" " +"button." msgstr "" -#: ipalib/plugins/internal.py:180 -#, python-brace-format -msgid "Showing ${start} to ${end} of ${total} entries." +#: ipalib/plugins/internal.py:393 +msgid "Certificate restored" msgstr "" -#: ipalib/plugins/internal.py:182 +#: ipalib/plugins/internal.py:395 #, python-brace-format -msgid "Remove RunAs ${other_entity} from ${entity} ${primary_key}" +msgid "Revoke Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:183 -#, python-brace-format -msgid "Remove RunAs Groups from ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:396 +msgid "Revoke Certificate" msgstr "" -#: ipalib/plugins/internal.py:184 -#, python-brace-format -msgid "Remove ${other_entity} Managing ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:397 +msgid "" +"To confirm your intention to revoke this certificate, select a reason from " +"the pull-down list, and click the \"Revoke\" button." msgstr "" -#: ipalib/plugins/internal.py:185 -#, python-brace-format -msgid "Remove ${other_entity} from ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:398 +msgid "Certificate Revoked" msgstr "" -#: ipalib/plugins/internal.py:186 -#, python-brace-format -msgid "Remove Allow ${other_entity} from ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:401 +msgid "SHA1 Fingerprint" msgstr "" -#: ipalib/plugins/internal.py:187 -#, python-brace-format -msgid "Remove Deny ${other_entity} from ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:403 +msgid "Superseded" msgstr "" -#: ipalib/plugins/internal.py:188 -#, python-brace-format -msgid "Remove ${entity} ${primary_key} from ${other_entity}" +#: ipalib/plugins/internal.py:404 +msgid "Unspecified" msgstr "" -#: ipalib/plugins/internal.py:190 -#, python-brace-format -msgid "${count} item(s) removed" +#: ipalib/plugins/internal.py:405 +msgid "Valid Certificate Present" msgstr "" -#: ipalib/plugins/internal.py:191 -msgid "Show Results" +#: ipalib/plugins/internal.py:406 +msgid "Validity" msgstr "" -#: ipalib/plugins/internal.py:194 ipalib/plugins/internal.py:242 -msgid "About" +#: ipalib/plugins/internal.py:407 +#, python-brace-format +msgid "Certificate for ${entity} ${primary_key}" msgstr "" -#: ipalib/plugins/internal.py:195 -msgid "Add" +#: ipalib/plugins/internal.py:408 +msgid "View Certificate" msgstr "" -#: ipalib/plugins/internal.py:196 -msgid "Add and Add Another" +#: ipalib/plugins/internal.py:411 +msgid "Group Options" msgstr "" -#: ipalib/plugins/internal.py:197 -msgid "Add and Close" +#: ipalib/plugins/internal.py:412 +msgid "Search Options" msgstr "" -#: ipalib/plugins/internal.py:198 -msgid "Add and Edit" +#: ipalib/plugins/internal.py:413 +msgid "SELinux Options" msgstr "" -#: ipalib/plugins/internal.py:199 -msgid "Add Many" +#: ipalib/plugins/internal.py:414 +msgid "Service Options" msgstr "" -#: ipalib/plugins/internal.py:200 -msgid "Back" +#: ipalib/plugins/internal.py:415 +msgid "User Options" msgstr "" -#: ipalib/plugins/internal.py:201 -msgid "Cancel" +#: ipalib/plugins/internal.py:420 +msgid "Forward first" msgstr "" -#: ipalib/plugins/internal.py:202 -msgid "Close" +#: ipalib/plugins/internal.py:421 +msgid "Forwarding disabled" msgstr "" -#: ipalib/plugins/internal.py:203 ipalib/plugins/internal.py:692 -msgid "Disable" +#: ipalib/plugins/internal.py:422 +msgid "Forward only" msgstr "" -#: ipalib/plugins/internal.py:204 -msgid "Edit" +#: ipalib/plugins/internal.py:423 ipalib/plugins/internal.py:692 +#: ipalib/plugins/internal.py:720 +msgid "Options" msgstr "" -#: ipalib/plugins/internal.py:205 ipalib/plugins/internal.py:694 -msgid "Enable" +#: ipalib/plugins/internal.py:426 ipalib/plugins/vault.py:687 +msgid "Data" msgstr "" -#: ipalib/plugins/internal.py:207 -msgid "Find" +#: ipalib/plugins/internal.py:427 +msgid "DNS record was deleted because it contained no data." msgstr "" -#: ipalib/plugins/internal.py:208 -msgid "Get" +#: ipalib/plugins/internal.py:428 +msgid "Other Record Types" msgstr "" -#: ipalib/plugins/internal.py:209 -msgid "Issue" +#: ipalib/plugins/internal.py:429 +msgid "Address not valid, can't redirect" msgstr "" -#: ipalib/plugins/internal.py:210 -msgid "OK" +#: ipalib/plugins/internal.py:430 +msgid "Create dns record" msgstr "" -#: ipalib/plugins/internal.py:211 -msgid "Refresh" +#: ipalib/plugins/internal.py:431 +msgid "Creating record." msgstr "" -#: ipalib/plugins/internal.py:212 -msgid "Delete" +#: ipalib/plugins/internal.py:432 +msgid "Record creation failed." msgstr "" -#: ipalib/plugins/internal.py:213 -msgid "Reset" +#: ipalib/plugins/internal.py:433 +msgid "Checking if record exists." msgstr "" -#: ipalib/plugins/internal.py:214 -msgid "Reset Password and Login" +#: ipalib/plugins/internal.py:434 +msgid "Record not found." msgstr "" -#: ipalib/plugins/internal.py:215 -msgid "Restore" +#: ipalib/plugins/internal.py:435 +msgid "Redirection to PTR record" msgstr "" -#: ipalib/plugins/internal.py:216 -msgid "Retry" +#: ipalib/plugins/internal.py:436 +#, python-brace-format +msgid "Zone found: ${zone}" msgstr "" -#: ipalib/plugins/internal.py:217 -msgid "Revoke" +#: ipalib/plugins/internal.py:437 +msgid "Target reverse zone not found." msgstr "" -#: ipalib/plugins/internal.py:218 -msgid "Set" +#: ipalib/plugins/internal.py:438 +msgid "Fetching DNS zones." msgstr "" -#: ipalib/plugins/internal.py:219 -msgid "Update" +#: ipalib/plugins/internal.py:439 +msgid "An error occurred while fetching dns zones." msgstr "" -#: ipalib/plugins/internal.py:220 -msgid "View" +#: ipalib/plugins/internal.py:440 +msgid "You will be redirected to DNS Zone." msgstr "" -#: ipalib/plugins/internal.py:223 -msgid "Collapse All" +#: ipalib/plugins/internal.py:441 +msgid "Standard Record Types" msgstr "" -#: ipalib/plugins/internal.py:224 -msgid "Expand All" +#: ipalib/plugins/internal.py:442 +msgid "Records for DNS Zone" msgstr "" -#: ipalib/plugins/internal.py:225 -msgid "General" +#: ipalib/plugins/internal.py:443 +msgid "Record Type" +msgstr "" + +#: ipalib/plugins/internal.py:446 +msgid "DNS Zone Settings" msgstr "" -#: ipalib/plugins/internal.py:226 -msgid "Identity Settings" +#: ipalib/plugins/internal.py:447 +msgid "Add Permission" msgstr "" -#: ipalib/plugins/internal.py:227 +#: ipalib/plugins/internal.py:448 #, python-brace-format -msgid "${entity} ${primary_key} Settings" +msgid "Are you sure you want to add permission for DNS Zone ${object}?" msgstr "" -#: ipalib/plugins/internal.py:228 -msgid "Back to Top" +#: ipalib/plugins/internal.py:449 +msgid "Remove Permission" msgstr "" -#: ipalib/plugins/internal.py:229 +#: ipalib/plugins/internal.py:450 #, python-brace-format -msgid "${entity} ${primary_key} updated" +msgid "Are you sure you want to remove permission for DNS Zone ${object}?" msgstr "" -#: ipalib/plugins/internal.py:232 -#, python-brace-format -msgid "${entity} successfully added" +#: ipalib/plugins/internal.py:451 +msgid "Skip DNS check" msgstr "" -#: ipalib/plugins/internal.py:233 -#, python-brace-format -msgid "Add ${entity}" +#: ipalib/plugins/internal.py:452 +msgid "Do you want to check if new authoritative nameserver address is in DNS" msgstr "" -#: ipalib/plugins/internal.py:234 -msgid "Available" +#: ipalib/plugins/internal.py:453 +msgid "Authoritative nameserver change" msgstr "" -#: ipalib/plugins/internal.py:235 -msgid "Some operations failed." +#: ipalib/plugins/internal.py:458 +msgid "Level" msgstr "" -#: ipalib/plugins/internal.py:236 -msgid "Operations Error" +#: ipalib/plugins/internal.py:459 +msgid "Set Domain Level" msgstr "" -#: ipalib/plugins/internal.py:237 -msgid "Confirmation" +#: ipalib/plugins/internal.py:462 +msgid "Group Settings" msgstr "" -#: ipalib/plugins/internal.py:238 -msgid "This page has unsaved changes. Please save or revert." +#: ipalib/plugins/internal.py:463 ipalib/plugins/internal.py:564 +#: ipalib/plugins/internal.py:687 +msgid "External" msgstr "" -#: ipalib/plugins/internal.py:239 -msgid "Unsaved Changes" +#: ipalib/plugins/internal.py:464 +msgid "Change to external group" msgstr "" -#: ipalib/plugins/internal.py:240 -#, python-brace-format -msgid "Edit ${entity}" +#: ipalib/plugins/internal.py:465 +msgid "Change to POSIX group" msgstr "" -#: ipalib/plugins/internal.py:241 -msgid "Hide details" +#: ipalib/plugins/internal.py:466 +msgid "Normal" msgstr "" -#: ipalib/plugins/internal.py:243 -#, python-brace-format -msgid "${product}, version: ${version}" +#: ipalib/plugins/internal.py:467 +msgid "POSIX" msgstr "" -#: ipalib/plugins/internal.py:244 -msgid "Prospective" +#: ipalib/plugins/internal.py:468 +msgid "Group Type" msgstr "" -#: ipalib/plugins/internal.py:245 -msgid "Redirection" +#: ipalib/plugins/internal.py:471 ipalib/plugins/internal.py:562 +#: ipalib/plugins/internal.py:632 ipalib/plugins/internal.py:683 +msgid "Any Host" msgstr "" -#: ipalib/plugins/internal.py:246 -msgid "Select entries to be removed." +#: ipalib/plugins/internal.py:472 +msgid "Any Service" msgstr "" -#: ipalib/plugins/internal.py:247 -#, python-brace-format -msgid "Remove ${entity}" +#: ipalib/plugins/internal.py:473 ipalib/plugins/internal.py:563 +#: ipalib/plugins/internal.py:633 ipalib/plugins/internal.py:684 +msgid "Anyone" msgstr "" -#: ipalib/plugins/internal.py:248 -msgid "Show details" +#: ipalib/plugins/internal.py:474 +msgid "Accessing" msgstr "" -#: ipalib/plugins/internal.py:249 -msgid "Validation error" +#: ipalib/plugins/internal.py:475 ipalib/plugins/internal.py:689 +msgid "Rule status" msgstr "" -#: ipalib/plugins/internal.py:250 -msgid "Input form contains invalid or missing values." +#: ipalib/plugins/internal.py:476 +msgid "Via Service" msgstr "" -#: ipalib/plugins/internal.py:253 -msgid "Please try the following options:" +#: ipalib/plugins/internal.py:477 ipalib/plugins/internal.py:569 +#: ipalib/plugins/internal.py:635 ipalib/plugins/internal.py:696 +msgid "Specified Hosts and Groups" msgstr "" -#: ipalib/plugins/internal.py:254 -msgid "If the problem persists please contact the system administrator." +#: ipalib/plugins/internal.py:478 +msgid "Specified Services and Groups" msgstr "" -#: ipalib/plugins/internal.py:255 -msgid "Refresh the page." +#: ipalib/plugins/internal.py:479 ipalib/plugins/internal.py:570 +#: ipalib/plugins/internal.py:636 ipalib/plugins/internal.py:697 +msgid "Specified Users and Groups" msgstr "" -#: ipalib/plugins/internal.py:256 -msgid "Reload the browser." +#: ipalib/plugins/internal.py:480 ipalib/plugins/internal.py:698 +msgid "Who" msgstr "" -#: ipalib/plugins/internal.py:257 -msgid "Return to the main page and retry the operation" +#: ipalib/plugins/internal.py:488 +msgid "Access Denied" msgstr "" -#: ipalib/plugins/internal.py:258 -#, python-brace-format -msgid "An error has occurred (${error})" +#: ipalib/plugins/internal.py:489 +msgid "Access Granted" msgstr "" -#: ipalib/plugins/internal.py:262 -msgid "HTTP Error" +#: ipalib/plugins/internal.py:490 +msgid "Include Disabled" msgstr "" -#: ipalib/plugins/internal.py:263 -msgid "Internal Error" +#: ipalib/plugins/internal.py:491 +msgid "Include Enabled" msgstr "" -#: ipalib/plugins/internal.py:264 -msgid "IPA Error" +#: ipalib/plugins/internal.py:492 +msgid "HBAC Test" msgstr "" -#: ipalib/plugins/internal.py:265 -msgid "No response" +#: ipalib/plugins/internal.py:493 +msgid "Matched" msgstr "" -#: ipalib/plugins/internal.py:266 -msgid "Unknown Error" +#: ipalib/plugins/internal.py:494 +msgid "Missing values: " msgstr "" -#: ipalib/plugins/internal.py:267 -msgid "URL" +#: ipalib/plugins/internal.py:495 +msgid "New Test" msgstr "" -#: ipalib/plugins/internal.py:270 -#, python-brace-format -msgid "${primary_key} is managed by:" +#: ipalib/plugins/internal.py:496 +msgid "Rules" msgstr "" -#: ipalib/plugins/internal.py:271 -#, python-brace-format -msgid "${primary_key} members:" +#: ipalib/plugins/internal.py:497 +msgid "Run Test" msgstr "" -#: ipalib/plugins/internal.py:272 +#: ipalib/plugins/internal.py:498 #, python-brace-format -msgid "${primary_key} is a member of:" +msgid "Specify external ${entity}" msgstr "" -#: ipalib/plugins/internal.py:275 -msgid "Settings" +#: ipalib/plugins/internal.py:499 +msgid "Unmatched" msgstr "" -#: ipalib/plugins/internal.py:276 ipalib/plugins/internal.py:685 -msgid "Search" +#: ipalib/plugins/internal.py:502 +msgid "Host Certificate" msgstr "" -#: ipalib/plugins/internal.py:278 -msgid "False" +#: ipalib/plugins/internal.py:503 ipalib/plugins/internal.py:643 +msgid "Host Name" msgstr "" -#: ipalib/plugins/internal.py:280 -msgid "Inherited from server configuration" +#: ipalib/plugins/internal.py:504 ipalib/plugins/internal.py:641 +msgid "Delete Key, Unprovision" msgstr "" -#: ipalib/plugins/internal.py:281 -msgid "MS-PAC" +#: ipalib/plugins/internal.py:505 +msgid "Host Settings" msgstr "" -#: ipalib/plugins/internal.py:282 -msgid "Override inherited settings" +#: ipalib/plugins/internal.py:506 +msgid "Enrolled" msgstr "" -#: ipalib/plugins/internal.py:283 -msgid "PAD" +#: ipalib/plugins/internal.py:507 +msgid "Enrollment" msgstr "" -#: ipalib/plugins/internal.py:286 -msgid "" -"To login with username and password, enter them in the fields below then " -"click Login." +#: ipalib/plugins/internal.py:508 +msgid "Fully Qualified Host Name" msgstr "" -#: ipalib/plugins/internal.py:287 -msgid "Logged In As" +#: ipalib/plugins/internal.py:509 +msgid "Kerberos Key" msgstr "" -#: ipalib/plugins/internal.py:288 -#, python-brace-format -msgid "" -"To login with Kerberos, please make sure you have valid tickets (obtainable " -"via kinit) and configured the browser correctly, then click Login." +#: ipalib/plugins/internal.py:510 ipalib/plugins/internal.py:644 +msgid "Kerberos Key Not Present" msgstr "" -#: ipalib/plugins/internal.py:289 -msgid "Login" +#: ipalib/plugins/internal.py:511 +msgid "Kerberos Key Present, Host Provisioned" msgstr "" -#: ipalib/plugins/internal.py:290 -msgid "Logout" +#: ipalib/plugins/internal.py:512 ipalib/plugins/internal.py:752 +msgid "One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:291 -msgid "Logout error" +#: ipalib/plugins/internal.py:513 +msgid "One-Time-Password Not Present" msgstr "" -#: ipalib/plugins/internal.py:293 -msgid "Sync OTP Token" +#: ipalib/plugins/internal.py:514 +msgid "One-Time-Password Present" msgstr "" -#: ipalib/plugins/internal.py:294 -msgid "Username" +#: ipalib/plugins/internal.py:515 +msgid "Reset OTP" msgstr "" -#: ipalib/plugins/internal.py:297 -msgid "number of passwords" +#: ipalib/plugins/internal.py:516 +msgid "Reset One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:298 -msgid "seconds" +#: ipalib/plugins/internal.py:517 +msgid "Set OTP" msgstr "" -#: ipalib/plugins/internal.py:302 ipalib/plugins/internal.py:307 -msgid "Attribute" +#: ipalib/plugins/internal.py:518 +msgid "OTP set" msgstr "" -#: ipalib/plugins/internal.py:305 -#, python-brace-format -msgid "Add Condition into ${pkey}" +#: ipalib/plugins/internal.py:519 +msgid "Set One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:306 -msgid "Add Rule" +#: ipalib/plugins/internal.py:521 ipalib/plugins/internal.py:648 +msgid "Unprovision" msgstr "" -#: ipalib/plugins/internal.py:308 -msgid "Default host group" +#: ipalib/plugins/internal.py:522 +msgid "Are you sure you want to unprovision this host?" msgstr "" -#: ipalib/plugins/internal.py:309 -msgid "Default user group" +#: ipalib/plugins/internal.py:523 ipalib/plugins/internal.py:650 +#, python-brace-format +msgid "Unprovisioning ${entity}" msgstr "" -#: ipalib/plugins/internal.py:310 -msgid "Exclusive" +#: ipalib/plugins/internal.py:524 +msgid "Host unprovisioned" msgstr "" -#: ipalib/plugins/internal.py:311 -msgid "Expression" +#: ipalib/plugins/internal.py:527 +msgid "Host Group Settings" msgstr "" -#: ipalib/plugins/internal.py:312 -msgid "Host group rule" +#: ipalib/plugins/internal.py:530 +msgid "User to override" msgstr "" -#: ipalib/plugins/internal.py:313 -msgid "Host group rules" +#: ipalib/plugins/internal.py:531 +msgid "" +"Enter trusted or IPA user login. Note: search doesn't list users from " +"trusted domains." msgstr "" -#: ipalib/plugins/internal.py:314 -msgid "Inclusive" +#: ipalib/plugins/internal.py:532 +msgid "Enter trusted user login." msgstr "" -#: ipalib/plugins/internal.py:315 -msgid "User group rule" +#: ipalib/plugins/internal.py:535 +msgid "Group to override" msgstr "" -#: ipalib/plugins/internal.py:316 -msgid "User group rules" +#: ipalib/plugins/internal.py:536 +msgid "" +"Enter trusted or IPA group name. Note: search doesn't list groups from " +"trusted domains." msgstr "" -#: ipalib/plugins/internal.py:321 -msgid "Automount Location Settings" +#: ipalib/plugins/internal.py:537 +msgid "Enter trusted group name." msgstr "" -#: ipalib/plugins/internal.py:324 -msgid "Map Type" +#: ipalib/plugins/internal.py:540 +#, python-brace-format +msgid "${primary_key} applies to:" msgstr "" -#: ipalib/plugins/internal.py:325 -msgid "Direct" +#: ipalib/plugins/internal.py:541 ipalib/plugins/internal.py:542 +msgid "Applied to hosts" msgstr "" -#: ipalib/plugins/internal.py:326 -msgid "Indirect" +#: ipalib/plugins/internal.py:543 +msgid "Apply to host groups" msgstr "" -#: ipalib/plugins/internal.py:329 -msgid "AA Compromise" +#: ipalib/plugins/internal.py:544 +#, python-brace-format +msgid "Apply ID View ${primary_key} on hosts of ${entity}" msgstr "" -#: ipalib/plugins/internal.py:330 -msgid "Affiliation Changed" +#: ipalib/plugins/internal.py:545 +msgid "Apply to hosts" msgstr "" -#: ipalib/plugins/internal.py:331 -msgid "CA Compromise" +#: ipalib/plugins/internal.py:546 +#, python-brace-format +msgid "Apply ID view ${primary_key} on ${entity}" msgstr "" -#: ipalib/plugins/internal.py:333 ipalib/plugins/internal.py:704 -msgid "Certificates" +#: ipalib/plugins/internal.py:548 +#, python-brace-format +msgid "${primary_key} overrides:" msgstr "" -#: ipalib/plugins/internal.py:334 -msgid "Certificate Hold" +#: ipalib/plugins/internal.py:549 +msgid "Un-apply from host groups" msgstr "" -#: ipalib/plugins/internal.py:335 -msgid "Cessation of Operation" +#: ipalib/plugins/internal.py:550 +msgid "Un-apply ID Views from hosts of hostgroups" msgstr "" -#: ipalib/plugins/internal.py:336 -msgid "Common Name" +#: ipalib/plugins/internal.py:551 +#, python-brace-format +msgid "Un-apply ID View ${primary_key} from hosts of ${entity}" msgstr "" -#: ipalib/plugins/internal.py:337 -msgid "Expires On" +#: ipalib/plugins/internal.py:552 +msgid "Un-apply" msgstr "" -#: ipalib/plugins/internal.py:338 -msgid "Issued on from" +#: ipalib/plugins/internal.py:553 +msgid "Un-apply from hosts" msgstr "" -#: ipalib/plugins/internal.py:339 -msgid "Issued on to" +#: ipalib/plugins/internal.py:554 +msgid "Un-apply ID Views from hosts" msgstr "" -#: ipalib/plugins/internal.py:340 -msgid "Maximum serial number" +#: ipalib/plugins/internal.py:555 +msgid "Are you sure you want to un-apply ID view from selected entries?" msgstr "" -#: ipalib/plugins/internal.py:341 -msgid "Minimum serial number" +#: ipalib/plugins/internal.py:556 +#, python-brace-format +msgid "Un-apply ID View ${primary_key} from hosts" msgstr "" -#: ipalib/plugins/internal.py:343 -msgid "Revoked on from" +#: ipalib/plugins/internal.py:559 ipalib/plugins/krbtpolicy.py:118 +#: ipalib/plugins/krbtpolicy.py:119 +msgid "Kerberos Ticket Policy" msgstr "" -#: ipalib/plugins/internal.py:344 -msgid "Revoked on to" +#: ipalib/plugins/internal.py:568 +msgid "Netgroup Settings" msgstr "" -#: ipalib/plugins/internal.py:346 -msgid "Valid not after from" +#: ipalib/plugins/internal.py:576 +msgid "Add OTP Token" msgstr "" -#: ipalib/plugins/internal.py:347 -msgid "Valid not after to" +#: ipalib/plugins/internal.py:577 +#, python-brace-format +msgid "" +"You can use FreeOTP as a software " +"OTP token application." +msgstr "" + +#: ipalib/plugins/internal.py:578 +msgid "Configure your token" msgstr "" -#: ipalib/plugins/internal.py:348 -msgid "Valid not before from" +#: ipalib/plugins/internal.py:579 +msgid "" +"Configure your token by scanning the QR code below. Click on the QR code if " +"you see this on the device you want to configure." msgstr "" -#: ipalib/plugins/internal.py:349 -msgid "Valid not before to" +#: ipalib/plugins/internal.py:580 +msgid "OTP Token Settings" msgstr "" -#: ipalib/plugins/internal.py:350 -msgid "Fingerprints" +#: ipalib/plugins/internal.py:581 +msgid "Disable token" msgstr "" -#: ipalib/plugins/internal.py:351 -msgid "Get Certificate" +#: ipalib/plugins/internal.py:582 +msgid "Enable token" msgstr "" -#: ipalib/plugins/internal.py:352 -#, python-brace-format -msgid "Issue New Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:583 +msgid "Show QR code" msgstr "" -#: ipalib/plugins/internal.py:353 -msgid "Issued By" +#: ipalib/plugins/internal.py:584 +msgid "Show configuration uri" msgstr "" -#: ipalib/plugins/internal.py:354 -msgid "Issued On" +#: ipalib/plugins/internal.py:585 +msgid "Counter-based (HOTP)" msgstr "" -#: ipalib/plugins/internal.py:355 -msgid "Issued To" +#: ipalib/plugins/internal.py:586 +msgid "Time-based (TOTP)" msgstr "" -#: ipalib/plugins/internal.py:356 -msgid "Key Compromise" +#: ipalib/plugins/internal.py:589 +msgid "Add custom attribute" msgstr "" -#: ipalib/plugins/internal.py:357 -msgid "MD5 Fingerprint" +#: ipalib/plugins/internal.py:592 +msgid "Permission settings" msgstr "" -#: ipalib/plugins/internal.py:358 -msgid "No Valid Certificate" +#: ipalib/plugins/internal.py:593 +msgid "Attribute breakdown" msgstr "" -#: ipalib/plugins/internal.py:359 -msgid "New Certificate" +#: ipalib/plugins/internal.py:597 +msgid "Privilege Settings" msgstr "" -#: ipalib/plugins/internal.py:360 -msgid "Note" +#: ipalib/plugins/internal.py:600 ipalib/plugins/pwpolicy.py:308 +msgid "Password Policy" msgstr "" -#: ipalib/plugins/internal.py:361 -msgid "Organization" +#: ipalib/plugins/internal.py:603 +msgid "Range Settings" msgstr "" -#: ipalib/plugins/internal.py:362 -msgid "Organizational Unit" +#: ipalib/plugins/internal.py:604 +msgid "Base ID" msgstr "" -#: ipalib/plugins/internal.py:363 -msgid "Privilege Withdrawn" +#: ipalib/plugins/internal.py:605 +msgid "Primary RID base" msgstr "" -#: ipalib/plugins/internal.py:364 -msgid "Reason for Revocation" +#: ipalib/plugins/internal.py:606 +msgid "Range size" msgstr "" -#: ipalib/plugins/internal.py:365 -msgid "Remove from CRL" +#: ipalib/plugins/internal.py:607 +msgid "Domain SID" msgstr "" -#: ipalib/plugins/internal.py:366 -#, python-brace-format -msgid "" -"
  1. Create a certificate database or use an existing one. To create a " -"new database:
    # certutil -N -d <database path>
  2. " -"
  3. Create a CSR with subject CN=<hostname>,O=<realm>, " -"for example:
    # certutil -R -d <database path> -a -g <key " -"size> -s 'CN=${hostname},O=${realm}'
  4. Copy and paste the " -"CSR (from -----BEGIN NEW CERTIFICATE REQUEST----- to -----END " -"NEW CERTIFICATE REQUEST-----) into the text area below:
" +#: ipalib/plugins/internal.py:608 +msgid "Secondary RID base" msgstr "" -#: ipalib/plugins/internal.py:367 -msgid "Certificate requested" +#: ipalib/plugins/internal.py:610 ipalib/plugins/trust.py:145 +msgid "Active Directory domain" msgstr "" -#: ipalib/plugins/internal.py:368 -#, python-brace-format -msgid "Restore Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:611 +msgid "Active Directory domain with POSIX attributes" msgstr "" -#: ipalib/plugins/internal.py:369 -msgid "Restore Certificate" +#: ipalib/plugins/internal.py:612 +msgid "Detect" msgstr "" -#: ipalib/plugins/internal.py:370 -msgid "" -"To confirm your intention to restore this certificate, click the \"Restore\" " -"button." +#: ipalib/plugins/internal.py:613 +msgid "Local domain" msgstr "" -#: ipalib/plugins/internal.py:371 -msgid "Certificate restored" +#: ipalib/plugins/internal.py:614 +msgid "IPA trust" msgstr "" -#: ipalib/plugins/internal.py:373 -#, python-brace-format -msgid "Revoke Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:615 +msgid "Active Directory winsync" msgstr "" -#: ipalib/plugins/internal.py:374 -msgid "Revoke Certificate" +#: ipalib/plugins/internal.py:618 +msgid "RADIUS Proxy Server Settings" msgstr "" -#: ipalib/plugins/internal.py:375 -msgid "" -"To confirm your intention to revoke this certificate, select a reason from " -"the pull-down list, and click the \"Revoke\" button." +#: ipalib/plugins/internal.py:621 ipalib/plugins/realmdomains.py:92 +#: ipalib/plugins/realmdomains.py:93 +msgid "Realm Domains" msgstr "" -#: ipalib/plugins/internal.py:376 -msgid "Certificate Revoked" +#: ipalib/plugins/internal.py:622 +msgid "Check DNS" msgstr "" -#: ipalib/plugins/internal.py:379 -msgid "SHA1 Fingerprint" +#: ipalib/plugins/internal.py:623 +msgid "Do you also want to perform DNS check?" msgstr "" -#: ipalib/plugins/internal.py:381 -msgid "Superseded" +#: ipalib/plugins/internal.py:624 +msgid "Force Update" msgstr "" -#: ipalib/plugins/internal.py:382 -msgid "Unspecified" +#: ipalib/plugins/internal.py:627 +msgid "Role Settings" msgstr "" -#: ipalib/plugins/internal.py:383 -msgid "Valid Certificate Present" +#: ipalib/plugins/internal.py:640 +msgid "Service Certificate" msgstr "" -#: ipalib/plugins/internal.py:384 -msgid "Validity" +#: ipalib/plugins/internal.py:642 +msgid "Service Settings" msgstr "" -#: ipalib/plugins/internal.py:385 -#, python-brace-format -msgid "Certificate for ${entity} ${primary_key}" +#: ipalib/plugins/internal.py:645 +msgid "Provisioning" msgstr "" -#: ipalib/plugins/internal.py:386 -msgid "View Certificate" +#: ipalib/plugins/internal.py:649 +msgid "Are you sure you want to unprovision this service?" msgstr "" -#: ipalib/plugins/internal.py:389 -msgid "Group Options" +#: ipalib/plugins/internal.py:651 +msgid "Service unprovisioned" msgstr "" -#: ipalib/plugins/internal.py:390 -msgid "Search Options" +#: ipalib/plugins/internal.py:652 +msgid "Kerberos Key Present, Service Provisioned" msgstr "" -#: ipalib/plugins/internal.py:391 -msgid "SELinux Options" +#: ipalib/plugins/internal.py:655 +msgid "SSH public keys" msgstr "" -#: ipalib/plugins/internal.py:392 -msgid "Service Options" +#: ipalib/plugins/internal.py:656 +msgid "SSH public key:" msgstr "" -#: ipalib/plugins/internal.py:393 -msgid "User Options" +#: ipalib/plugins/internal.py:657 +msgid "Set SSH key" msgstr "" -#: ipalib/plugins/internal.py:398 -msgid "Forward first" +#: ipalib/plugins/internal.py:658 +msgid "Show/Set key" msgstr "" -#: ipalib/plugins/internal.py:399 -msgid "Forwarding disabled" +#: ipalib/plugins/internal.py:659 +msgid "Modified: key not set" msgstr "" -#: ipalib/plugins/internal.py:400 -msgid "Forward only" +#: ipalib/plugins/internal.py:660 +msgid "Modified" msgstr "" -#: ipalib/plugins/internal.py:401 ipalib/plugins/internal.py:612 -#: ipalib/plugins/internal.py:636 -msgid "Options" +#: ipalib/plugins/internal.py:661 +msgid "New: key not set" msgstr "" -#: ipalib/plugins/internal.py:404 -msgid "Data" +#: ipalib/plugins/internal.py:662 +msgid "New: key set" msgstr "" -#: ipalib/plugins/internal.py:405 -msgid "DNS record was deleted because it contained no data." +#: ipalib/plugins/internal.py:665 +msgid "Are you sure you want to activate selected users?" msgstr "" -#: ipalib/plugins/internal.py:406 -msgid "Other Record Types" +#: ipalib/plugins/internal.py:666 +#, python-brace-format +msgid "${count} user(s) activated" msgstr "" -#: ipalib/plugins/internal.py:407 -msgid "Address not valid, can't redirect" +#: ipalib/plugins/internal.py:667 +msgid "Stage users" msgstr "" -#: ipalib/plugins/internal.py:408 -msgid "Create dns record" +#: ipalib/plugins/internal.py:668 +msgid "Preserved users" msgstr "" -#: ipalib/plugins/internal.py:409 -msgid "Creating record." +#: ipalib/plugins/internal.py:669 +msgid "Are you sure you want to restore selected users?" msgstr "" -#: ipalib/plugins/internal.py:410 -msgid "Record creation failed." +#: ipalib/plugins/internal.py:670 +#, python-brace-format +msgid "${count} user(s) restored" msgstr "" -#: ipalib/plugins/internal.py:411 -msgid "Checking if record exists." +#: ipalib/plugins/internal.py:671 +msgid "User categories" msgstr "" -#: ipalib/plugins/internal.py:412 -msgid "Record not found." +#: ipalib/plugins/internal.py:674 +msgid "Groups" msgstr "" -#: ipalib/plugins/internal.py:413 -msgid "Redirection to PTR record" +#: ipalib/plugins/internal.py:677 ipalib/plugins/sudocmdgroup.py:126 +msgid "Commands" msgstr "" -#: ipalib/plugins/internal.py:414 -#, python-brace-format -msgid "Zone found: ${zone}" +#: ipalib/plugins/internal.py:680 +msgid "Allow" msgstr "" -#: ipalib/plugins/internal.py:415 -msgid "Target reverse zone not found." +#: ipalib/plugins/internal.py:681 +msgid "Any Command" msgstr "" -#: ipalib/plugins/internal.py:416 -msgid "Fetching DNS zones." +#: ipalib/plugins/internal.py:682 +msgid "Any Group" msgstr "" -#: ipalib/plugins/internal.py:417 -msgid "An error occurred while fetching dns zones." +#: ipalib/plugins/internal.py:685 +msgid "Run Commands" msgstr "" -#: ipalib/plugins/internal.py:418 -msgid "You will be redirected to DNS Zone." +#: ipalib/plugins/internal.py:686 +msgid "Deny" msgstr "" -#: ipalib/plugins/internal.py:419 -msgid "Standard Record Types" +#: ipalib/plugins/internal.py:688 +msgid "Access this host" msgstr "" -#: ipalib/plugins/internal.py:420 -msgid "Records for DNS Zone" +#: ipalib/plugins/internal.py:690 +msgid "Option added" msgstr "" -#: ipalib/plugins/internal.py:421 -msgid "Record Type" +#: ipalib/plugins/internal.py:691 +#, python-brace-format +msgid "${count} option(s) removed" msgstr "" -#: ipalib/plugins/internal.py:424 -msgid "DNS Zone Settings" +#: ipalib/plugins/internal.py:693 +msgid "As Whom" msgstr "" -#: ipalib/plugins/internal.py:425 -msgid "Add Permission" +#: ipalib/plugins/internal.py:694 +msgid "Specified Commands and Groups" msgstr "" -#: ipalib/plugins/internal.py:426 -#, python-brace-format -msgid "Are you sure you want to add permission for DNS Zone ${object}?" +#: ipalib/plugins/internal.py:695 +msgid "Specified Groups" msgstr "" -#: ipalib/plugins/internal.py:427 -msgid "Remove Permission" +#: ipalib/plugins/internal.py:701 +msgid "Segment details" msgstr "" -#: ipalib/plugins/internal.py:428 -#, python-brace-format -msgid "Are you sure you want to remove permission for DNS Zone ${object}?" +#: ipalib/plugins/internal.py:702 +msgid "Replication configuration" msgstr "" -#: ipalib/plugins/internal.py:431 -msgid "Group Settings" +#: ipalib/plugins/internal.py:705 +msgid "Account" msgstr "" -#: ipalib/plugins/internal.py:432 ipalib/plugins/internal.py:504 -#: ipalib/plugins/internal.py:607 -msgid "External" +#: ipalib/plugins/internal.py:706 +msgid "Administrative account" msgstr "" -#: ipalib/plugins/internal.py:433 -msgid "Change to external group" +#: ipalib/plugins/internal.py:707 +msgid "SID blacklists" msgstr "" -#: ipalib/plugins/internal.py:434 -msgid "Change to POSIX group" +#: ipalib/plugins/internal.py:708 +msgid "Trust Settings" msgstr "" -#: ipalib/plugins/internal.py:435 -msgid "Normal" +#: ipalib/plugins/internal.py:709 ipalib/plugins/realmdomains.py:100 +#: ipalib/plugins/trust.py:878 +msgid "Domain" msgstr "" -#: ipalib/plugins/internal.py:436 -msgid "POSIX" +#: ipalib/plugins/internal.py:710 +msgid "Establish using" msgstr "" -#: ipalib/plugins/internal.py:437 -msgid "Group Type" +#: ipalib/plugins/internal.py:711 +msgid "Fetch domains" msgstr "" -#: ipalib/plugins/internal.py:440 ipalib/plugins/internal.py:502 -#: ipalib/plugins/internal.py:561 ipalib/plugins/internal.py:603 -msgid "Any Host" +#: ipalib/plugins/internal.py:712 ipalib/plugins/trust.py:357 +#: ipalib/plugins/trust.py:1195 +msgid "Domain NetBIOS name" msgstr "" -#: ipalib/plugins/internal.py:441 -msgid "Any Service" +#: ipalib/plugins/internal.py:713 ipalib/plugins/trust.py:361 +#: ipalib/plugins/trust.py:1199 +msgid "Domain Security Identifier" msgstr "" -#: ipalib/plugins/internal.py:442 ipalib/plugins/internal.py:503 -#: ipalib/plugins/internal.py:562 ipalib/plugins/internal.py:604 -msgid "Anyone" +#: ipalib/plugins/internal.py:714 +msgid "Pre-shared password" msgstr "" -#: ipalib/plugins/internal.py:443 -msgid "Accessing" +#: ipalib/plugins/internal.py:715 ipalib/plugins/trust.py:137 +msgid "Trust direction" msgstr "" -#: ipalib/plugins/internal.py:444 ipalib/plugins/internal.py:609 -msgid "Rule status" +#: ipalib/plugins/internal.py:716 ipalib/plugins/trust.py:141 +msgid "Trust status" msgstr "" -#: ipalib/plugins/internal.py:445 -msgid "Via Service" +#: ipalib/plugins/internal.py:717 ipalib/plugins/trust.py:139 +msgid "Trust type" msgstr "" -#: ipalib/plugins/internal.py:446 ipalib/plugins/internal.py:509 -#: ipalib/plugins/internal.py:564 ipalib/plugins/internal.py:616 -msgid "Specified Hosts and Groups" +#: ipalib/plugins/internal.py:723 +msgid "Account Settings" msgstr "" -#: ipalib/plugins/internal.py:447 -msgid "Specified Services and Groups" +#: ipalib/plugins/internal.py:724 +msgid "Account Status" msgstr "" -#: ipalib/plugins/internal.py:448 ipalib/plugins/internal.py:510 -#: ipalib/plugins/internal.py:565 ipalib/plugins/internal.py:617 -msgid "Specified Users and Groups" +#: ipalib/plugins/internal.py:725 +msgid "Active users" msgstr "" -#: ipalib/plugins/internal.py:449 ipalib/plugins/internal.py:618 -msgid "Who" +#: ipalib/plugins/internal.py:726 +msgid "Contact Settings" msgstr "" -#: ipalib/plugins/internal.py:457 -msgid "Access Denied" +#: ipalib/plugins/internal.py:727 +msgid "Delete mode" msgstr "" -#: ipalib/plugins/internal.py:458 -msgid "Access Granted" +#: ipalib/plugins/internal.py:728 +msgid "Employee Information" msgstr "" -#: ipalib/plugins/internal.py:459 -msgid "Include Disabled" +#: ipalib/plugins/internal.py:729 +msgid "Error changing account status" msgstr "" -#: ipalib/plugins/internal.py:460 -msgid "Include Enabled" +#: ipalib/plugins/internal.py:730 +msgid "Password expiration" msgstr "" -#: ipalib/plugins/internal.py:461 -msgid "HBAC Test" +#: ipalib/plugins/internal.py:731 +msgid "Mailing Address" msgstr "" -#: ipalib/plugins/internal.py:462 -msgid "Matched" +#: ipalib/plugins/internal.py:732 +msgid "Misc. Information" msgstr "" -#: ipalib/plugins/internal.py:463 -msgid "Missing values: " +#: ipalib/plugins/internal.py:733 +msgid "delete" msgstr "" -#: ipalib/plugins/internal.py:464 -msgid "New Test" +#: ipalib/plugins/internal.py:734 +msgid "preserve" msgstr "" -#: ipalib/plugins/internal.py:465 -msgid "Rules" +#: ipalib/plugins/internal.py:735 +msgid "No private group" msgstr "" -#: ipalib/plugins/internal.py:466 -msgid "Run Test" +#: ipalib/plugins/internal.py:736 +#, python-brace-format +msgid "" +"Are you sure you want to ${action} the user?
The change will take effect " +"immediately." msgstr "" -#: ipalib/plugins/internal.py:467 +#: ipalib/plugins/internal.py:737 #, python-brace-format -msgid "Specify external ${entity}" +msgid "Click to ${action}" msgstr "" -#: ipalib/plugins/internal.py:468 -msgid "Unmatched" +#: ipalib/plugins/internal.py:738 +msgid "Unlock" msgstr "" -#: ipalib/plugins/internal.py:471 -msgid "Host Certificate" +#: ipalib/plugins/internal.py:739 +#, python-brace-format +msgid "Are you sure you want to unlock user ${object}?" msgstr "" -#: ipalib/plugins/internal.py:472 ipalib/plugins/internal.py:572 -msgid "Host Name" +#: ipalib/plugins/internal.py:743 ipalib/plugins/passwd.py:84 +msgid "Current Password" msgstr "" -#: ipalib/plugins/internal.py:473 ipalib/plugins/internal.py:570 -msgid "Delete Key, Unprovision" +#: ipalib/plugins/internal.py:744 +msgid "Current password is required" msgstr "" -#: ipalib/plugins/internal.py:474 -msgid "Host Settings" +#: ipalib/plugins/internal.py:745 +#, python-brace-format +msgid "Your password expires in ${days} days." msgstr "" -#: ipalib/plugins/internal.py:475 -msgid "Enrolled" +#: ipalib/plugins/internal.py:746 +msgid "First OTP" msgstr "" -#: ipalib/plugins/internal.py:476 -msgid "Enrollment" +#: ipalib/plugins/internal.py:747 +msgid "The password or username you entered is incorrect." msgstr "" -#: ipalib/plugins/internal.py:477 -msgid "Fully Qualified Host Name" +#: ipalib/plugins/internal.py:748 ipalib/plugins/passwd.py:81 +msgid "New Password" msgstr "" -#: ipalib/plugins/internal.py:478 -msgid "Kerberos Key" +#: ipalib/plugins/internal.py:749 +msgid "New password is required" msgstr "" -#: ipalib/plugins/internal.py:479 ipalib/plugins/internal.py:573 -msgid "Kerberos Key Not Present" +#: ipalib/plugins/internal.py:750 ipalib/plugins/passwd.py:94 +msgid "OTP" msgstr "" -#: ipalib/plugins/internal.py:480 -msgid "Kerberos Key Present, Host Provisioned" +#: ipalib/plugins/internal.py:751 +msgid "" +" One-Time-Password(OTP): " +"Generate new OTP code for each OTP field." msgstr "" -#: ipalib/plugins/internal.py:481 ipalib/plugins/internal.py:662 -msgid "One-Time-Password" +#: ipalib/plugins/internal.py:753 +msgid "Token synchronization failed" msgstr "" -#: ipalib/plugins/internal.py:482 -msgid "One-Time-Password Not Present" +#: ipalib/plugins/internal.py:754 +msgid "The username, password or token codes are not correct" msgstr "" -#: ipalib/plugins/internal.py:483 -msgid "One-Time-Password Present" +#: ipalib/plugins/internal.py:755 +msgid "Token was synchronized" msgstr "" -#: ipalib/plugins/internal.py:484 -msgid "Reset OTP" +#: ipalib/plugins/internal.py:757 +msgid "Password or Password+One-Time-Password" msgstr "" -#: ipalib/plugins/internal.py:485 -msgid "Reset One-Time-Password" +#: ipalib/plugins/internal.py:758 +msgid "Password change complete" msgstr "" -#: ipalib/plugins/internal.py:486 -msgid "Set OTP" +#: ipalib/plugins/internal.py:759 +msgid "Passwords must match" msgstr "" -#: ipalib/plugins/internal.py:487 -msgid "OTP set" +#: ipalib/plugins/internal.py:760 +msgid "Password reset was not successful." msgstr "" -#: ipalib/plugins/internal.py:488 -msgid "Set One-Time-Password" +#: ipalib/plugins/internal.py:761 +msgid "Reset Password" msgstr "" -#: ipalib/plugins/internal.py:490 ipalib/plugins/internal.py:577 -msgid "Unprovision" +#: ipalib/plugins/internal.py:762 +msgid "Reset your password." msgstr "" -#: ipalib/plugins/internal.py:491 -msgid "Are you sure you want to unprovision this host?" +#: ipalib/plugins/internal.py:763 +msgid "Second OTP" msgstr "" -#: ipalib/plugins/internal.py:492 ipalib/plugins/internal.py:579 -#, python-brace-format -msgid "Unprovisioning ${entity}" +#: ipalib/plugins/internal.py:764 ipalib/plugins/otptoken.py:528 +msgid "Token ID" msgstr "" -#: ipalib/plugins/internal.py:493 -msgid "Host unprovisioned" +#: ipalib/plugins/internal.py:765 +msgid "Verify Password" msgstr "" -#: ipalib/plugins/internal.py:496 -msgid "Host Group Settings" +#: ipalib/plugins/internal.py:768 +msgid "Are you sure you want to delete selected entries?" msgstr "" -#: ipalib/plugins/internal.py:499 ipalib/plugins/krbtpolicy.py:118 -#: ipalib/plugins/krbtpolicy.py:119 -msgid "Kerberos Ticket Policy" +#: ipalib/plugins/internal.py:769 +#, python-brace-format +msgid "${count} item(s) deleted" msgstr "" -#: ipalib/plugins/internal.py:508 -msgid "Netgroup Settings" +#: ipalib/plugins/internal.py:770 +msgid "Are you sure you want to disable selected entries?" msgstr "" -#: ipalib/plugins/internal.py:511 ipalib/plugins/internal.py:566 -#: ipalib/plugins/pwpolicy.py:519 ipalib/plugins/user.py:430 -msgid "User" +#: ipalib/plugins/internal.py:771 +#, python-brace-format +msgid "${count} item(s) disabled" msgstr "" -#: ipalib/plugins/internal.py:521 -msgid "Permission settings" +#: ipalib/plugins/internal.py:772 +msgid "Are you sure you want to enable selected entries?" msgstr "" -#: ipalib/plugins/internal.py:522 -msgid "Attribute breakdown" +#: ipalib/plugins/internal.py:773 +#, python-brace-format +msgid "${count} item(s) enabled" msgstr "" -#: ipalib/plugins/internal.py:526 -msgid "Privilege Settings" +#: ipalib/plugins/internal.py:774 +msgid "Some entries were not deleted" msgstr "" -#: ipalib/plugins/internal.py:529 ipalib/plugins/pwpolicy.py:303 -msgid "Password Policy" +#: ipalib/plugins/internal.py:776 +msgid "Quick Links" msgstr "" -#: ipalib/plugins/internal.py:532 -msgid "Range Settings" +#: ipalib/plugins/internal.py:777 +msgid "Select All" msgstr "" -#: ipalib/plugins/internal.py:533 -msgid "Base ID" +#: ipalib/plugins/internal.py:778 +#, python-brace-format +msgid "" +"Query returned more results than the configured size limit. Displaying the " +"first ${counter} results." msgstr "" -#: ipalib/plugins/internal.py:534 -msgid "Primary RID base" +#: ipalib/plugins/internal.py:779 +msgid "Unselect All" msgstr "" -#: ipalib/plugins/internal.py:535 -msgid "Range size" +#: ipalib/plugins/internal.py:783 ipalib/plugins/otptoken.py:184 +msgid "Disabled" msgstr "" -#: ipalib/plugins/internal.py:536 -msgid "Domain SID" +#: ipalib/plugins/internal.py:787 +msgid "Working" msgstr "" -#: ipalib/plugins/internal.py:537 -msgid "Secondary RID base" +#: ipalib/plugins/internal.py:790 +msgid "Audit" msgstr "" -#: ipalib/plugins/internal.py:539 ipalib/plugins/trust.py:145 -msgid "Active Directory domain" +#: ipalib/plugins/internal.py:791 +msgid "Authentication" msgstr "" -#: ipalib/plugins/internal.py:540 -msgid "Active Directory domain with POSIX attributes" +#: ipalib/plugins/internal.py:793 +msgid "Automount" msgstr "" -#: ipalib/plugins/internal.py:541 -msgid "Detect" +#: ipalib/plugins/internal.py:795 +msgid "DNS" msgstr "" -#: ipalib/plugins/internal.py:542 -msgid "Local domain" +#: ipalib/plugins/internal.py:796 +msgid "Host Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:543 -msgid "IPA trust" +#: ipalib/plugins/internal.py:797 +msgid "Identity" msgstr "" -#: ipalib/plugins/internal.py:544 -msgid "Active Directory winsync" +#: ipalib/plugins/internal.py:798 ipalib/plugins/server.py:46 +msgid "IPA Server" msgstr "" -#: ipalib/plugins/internal.py:547 -msgid "RADIUS Proxy Server Settings" +#: ipalib/plugins/internal.py:799 +msgid "Network Services" msgstr "" -#: ipalib/plugins/internal.py:550 ipalib/plugins/realmdomains.py:92 -#: ipalib/plugins/realmdomains.py:93 -msgid "Realm Domains" +#: ipalib/plugins/internal.py:800 +msgid "Policy" msgstr "" -#: ipalib/plugins/internal.py:551 -msgid "Check DNS" +#: ipalib/plugins/internal.py:801 +msgid "Role Based Access Control" msgstr "" -#: ipalib/plugins/internal.py:552 -msgid "Do you also want to perform DNS check?" +#: ipalib/plugins/internal.py:802 +msgid "Sudo" msgstr "" -#: ipalib/plugins/internal.py:553 -msgid "Force Update" +#: ipalib/plugins/internal.py:803 +msgid "Topology" msgstr "" -#: ipalib/plugins/internal.py:556 -msgid "Role Settings" +#: ipalib/plugins/internal.py:804 ipalib/plugins/trust.py:346 +msgid "Trusts" msgstr "" -#: ipalib/plugins/internal.py:569 -msgid "Service Certificate" +#: ipalib/plugins/internal.py:806 +msgid "True" msgstr "" -#: ipalib/plugins/internal.py:571 -msgid "Service Settings" +#: ipalib/plugins/internal.py:808 +msgid "First" msgstr "" -#: ipalib/plugins/internal.py:574 -msgid "Provisioning" +#: ipalib/plugins/internal.py:809 +msgid "Last" msgstr "" -#: ipalib/plugins/internal.py:578 -msgid "Are you sure you want to unprovision this service?" +#: ipalib/plugins/internal.py:810 +msgid "Next" msgstr "" -#: ipalib/plugins/internal.py:580 -msgid "Service unprovisioned" +#: ipalib/plugins/internal.py:811 +msgid "Page" msgstr "" -#: ipalib/plugins/internal.py:581 -msgid "Kerberos Key Present, Service Provisioned" +#: ipalib/plugins/internal.py:812 +msgid "Prev" msgstr "" -#: ipalib/plugins/internal.py:584 -msgid "SSH public keys" +#: ipalib/plugins/internal.py:813 +msgid "Undo" msgstr "" -#: ipalib/plugins/internal.py:585 -msgid "SSH public key:" +#: ipalib/plugins/internal.py:814 +msgid "Undo All" msgstr "" -#: ipalib/plugins/internal.py:586 -msgid "Set SSH key" +#: ipalib/plugins/internal.py:816 +msgid "Text does not match field pattern" msgstr "" -#: ipalib/plugins/internal.py:587 -msgid "Show/Set key" +#: ipalib/plugins/internal.py:817 +msgid "Must be an UTC date/time value (e.g., \"2014-01-20 17:58:01Z\")" msgstr "" -#: ipalib/plugins/internal.py:588 -msgid "Modified: key not set" +#: ipalib/plugins/internal.py:818 +msgid "Must be a decimal number" msgstr "" -#: ipalib/plugins/internal.py:589 -msgid "Modified" +#: ipalib/plugins/internal.py:819 +msgid "Format error" msgstr "" -#: ipalib/plugins/internal.py:590 -msgid "New: key not set" +#: ipalib/plugins/internal.py:820 +msgid "Must be an integer" msgstr "" -#: ipalib/plugins/internal.py:591 -msgid "New: key set" +#: ipalib/plugins/internal.py:821 +msgid "Not a valid IP address" msgstr "" -#: ipalib/plugins/internal.py:594 -msgid "Groups" +#: ipalib/plugins/internal.py:822 +msgid "Not a valid IPv4 address" msgstr "" -#: ipalib/plugins/internal.py:597 ipalib/plugins/sudocmdgroup.py:126 -msgid "Commands" +#: ipalib/plugins/internal.py:823 +msgid "Not a valid IPv6 address" msgstr "" -#: ipalib/plugins/internal.py:600 -msgid "Allow" +#: ipalib/plugins/internal.py:824 +#, python-brace-format +msgid "Maximum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:601 -msgid "Any Command" +#: ipalib/plugins/internal.py:825 +#, python-brace-format +msgid "Minimum value is ${value}" msgstr "" -#: ipalib/plugins/internal.py:602 -msgid "Any Group" +#: ipalib/plugins/internal.py:826 +msgid "Not a valid network address" msgstr "" -#: ipalib/plugins/internal.py:605 -msgid "Run Commands" +#: ipalib/plugins/internal.py:827 +msgid "Parse error" msgstr "" -#: ipalib/plugins/internal.py:606 -msgid "Deny" +#: ipalib/plugins/internal.py:828 +#, python-brace-format +msgid "'${port}' is not a valid port" msgstr "" - -#: ipalib/plugins/internal.py:608 -msgid "Access this host" + +#: ipalib/plugins/internal.py:829 +msgid "Required field" msgstr "" -#: ipalib/plugins/internal.py:610 -msgid "Option added" +#: ipalib/plugins/internal.py:830 +msgid "Unsupported value" msgstr "" -#: ipalib/plugins/internal.py:611 -#, python-brace-format -msgid "${count} option(s) removed" +#: ipalib/plugins/internal.py:835 +msgid "Dict of I18N messages" msgstr "" -#: ipalib/plugins/internal.py:613 -msgid "As Whom" +#: ipalib/plugins/krbtpolicy.py:27 +msgid "" +"\n" +"Kerberos ticket policy\n" +"\n" +"There is a single Kerberos ticket policy. This policy defines the\n" +"maximum ticket lifetime and the maximum renewal age, the period during\n" +"which the ticket is renewable.\n" +"\n" +"You can also create a per-user ticket policy by specifying the user login.\n" +"\n" +"For changes to the global policy to take effect, restarting the KDC service\n" +"is required, which can be achieved using:\n" +"\n" +"service krb5kdc restart\n" +"\n" +"Changes to per-user policies take effect immediately for newly requested\n" +"tickets (e.g. when the user next runs kinit).\n" +"\n" +"EXAMPLES:\n" +"\n" +" Display the current Kerberos ticket policy:\n" +" ipa krbtpolicy-show\n" +"\n" +" Reset the policy to the default:\n" +" ipa krbtpolicy-reset\n" +"\n" +" Modify the policy to 8 hours max life, 1-day max renewal:\n" +" ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400\n" +"\n" +" Display effective Kerberos ticket policy for user 'admin':\n" +" ipa krbtpolicy-show admin\n" +"\n" +" Reset per-user policy for user 'admin':\n" +" ipa krbtpolicy-reset admin\n" +"\n" +" Modify per-user policy for user 'admin':\n" +" ipa krbtpolicy-mod admin --maxlife=3600\n" msgstr "" -#: ipalib/plugins/internal.py:614 -msgid "Specified Commands and Groups" +#: ipalib/plugins/krbtpolicy.py:80 +msgid "kerberos ticket policy settings" msgstr "" -#: ipalib/plugins/internal.py:615 -msgid "Specified Groups" +#: ipalib/plugins/krbtpolicy.py:125 +msgid "Manage ticket policy for specific user" msgstr "" -#: ipalib/plugins/internal.py:621 -msgid "Account" +#: ipalib/plugins/krbtpolicy.py:130 +msgid "Max life" msgstr "" -#: ipalib/plugins/internal.py:622 -msgid "Administrative account" +#: ipalib/plugins/krbtpolicy.py:131 +msgid "Maximum ticket life (seconds)" msgstr "" -#: ipalib/plugins/internal.py:623 -msgid "SID blacklists" +#: ipalib/plugins/krbtpolicy.py:136 +msgid "Max renew" msgstr "" -#: ipalib/plugins/internal.py:624 -msgid "Trust Settings" +#: ipalib/plugins/krbtpolicy.py:137 +msgid "Maximum renewable age (seconds)" msgstr "" -#: ipalib/plugins/internal.py:625 ipalib/plugins/realmdomains.py:100 -#: ipalib/plugins/trust.py:850 -msgid "Domain" +#: ipalib/plugins/krbtpolicy.py:150 +msgid "Modify Kerberos ticket policy." msgstr "" -#: ipalib/plugins/internal.py:626 -msgid "Establish using" +#: ipalib/plugins/krbtpolicy.py:163 +msgid "Display the current Kerberos ticket policy." msgstr "" -#: ipalib/plugins/internal.py:627 -msgid "Fetch domains" +#: ipalib/plugins/krbtpolicy.py:186 +#, python-format +msgid "Ticket policy for %s could not be read" msgstr "" -#: ipalib/plugins/internal.py:628 ipalib/plugins/trust.py:357 -#: ipalib/plugins/trust.py:1167 -msgid "Domain NetBIOS name" +#: ipalib/plugins/krbtpolicy.py:199 +msgid "Default ticket policy could not be read" msgstr "" -#: ipalib/plugins/internal.py:629 ipalib/plugins/trust.py:361 -#: ipalib/plugins/trust.py:1171 -msgid "Domain Security Identifier" +#: ipalib/plugins/krbtpolicy.py:205 +msgid "Reset Kerberos ticket policy to the default values." msgstr "" -#: ipalib/plugins/internal.py:630 -msgid "Pre-shared password" +#: ipalib/plugins/migration.py:40 +msgid "" +"\n" +"Migration to IPA\n" +"\n" +"Migrate users and groups from an LDAP server to IPA.\n" +"\n" +"This performs an LDAP query against the remote server searching for\n" +"users and groups in a container. In order to migrate passwords you need\n" +"to bind as a user that can read the userPassword attribute on the remote\n" +"server. This is generally restricted to high-level admins such as\n" +"cn=Directory Manager in 389-ds (this is the default bind user).\n" +"\n" +"The default user container is ou=People.\n" +"\n" +"The default group container is ou=Groups.\n" +"\n" +"Users and groups that already exist on the IPA server are skipped.\n" +"\n" +"Two LDAP schemas define how group members are stored: RFC2307 and\n" +"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n" +"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n" +"\n" +"The schema compat feature allows IPA to reformat data for systems that\n" +"do not support RFC2307bis. It is recommended that this feature is disabled\n" +"during migration to reduce system overhead. It can be re-enabled after\n" +"migration. To migrate with it enabled use the \"--with-compat\" option.\n" +"\n" +"Migrated users do not have Kerberos credentials, they have only their\n" +"LDAP password. To complete the migration process, users need to go\n" +"to http://ipa.example.com/ipa/migration and authenticate using their\n" +"LDAP password in order to generate their Kerberos credentials.\n" +"\n" +"Migration is disabled by default. Use the command ipa config-mod to\n" +"enable it:\n" +"\n" +" ipa config-mod --enable-migration=TRUE\n" +"\n" +"If a base DN is not provided with --basedn then IPA will use either\n" +"the value of defaultNamingContext if it is set or the first value\n" +"in namingContexts set in the root of the remote LDAP server.\n" +"\n" +"Users are added as members to the default user group. This can be a\n" +"time-intensive task so during migration this is done in a batch\n" +"mode for every 100 users. As a result there will be a window in which\n" +"users will be added to IPA but will not be members of the default\n" +"user group.\n" +"\n" +"EXAMPLES:\n" +"\n" +" The simplest migration, accepting all defaults:\n" +" ipa migrate-ds ldap://ds.example.com:389\n" +"\n" +" Specify the user and group container. This can be used to migrate user\n" +" and group data from an IPA v1 server:\n" +" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n" +" --group-container='cn=groups,cn=accounts' \\\n" +" ldap://ds.example.com:389\n" +"\n" +" Since IPA v2 server already contain predefined groups that may collide " +"with\n" +" groups in migrated (IPA v1) server (for example admins, ipausers), users\n" +" having colliding group as their primary group may happen to belong to\n" +" an unknown group on new IPA v2 server.\n" +" Use --group-overwrite-gid option to overwrite GID of already existing " +"groups\n" +" to prevent this issue:\n" +" ipa migrate-ds --group-overwrite-gid \\\n" +" --user-container='cn=users,cn=accounts' \\\n" +" --group-container='cn=groups,cn=accounts' \\\n" +" ldap://ds.example.com:389\n" +"\n" +" Migrated users or groups may have object class and accompanied attributes\n" +" unknown to the IPA v2 server. These object classes and attributes may be\n" +" left out of the migration process:\n" +" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n" +" --group-container='cn=groups,cn=accounts' \\\n" +" --user-ignore-objectclass=radiusprofile \\\n" +" --user-ignore-attribute=radiusgroupname \\\n" +" ldap://ds.example.com:389\n" +"\n" +"LOGGING\n" +"\n" +"Migration will log warnings and errors to the Apache error log. This\n" +"file should be evaluated post-migration to correct or investigate any\n" +"issues that were discovered.\n" +"\n" +"For every 100 users migrated an info-level message will be displayed to\n" +"give the current progress and duration to make it possible to track\n" +"the progress of migration.\n" +"\n" +"If the log level is debug, either by setting debug = True in\n" +"/etc/ipa/default.conf or /etc/ipa/server.conf, then an entry will be " +"printed\n" +"for each user added plus a summary when the default user group is\n" +"updated.\n" msgstr "" -#: ipalib/plugins/internal.py:631 ipalib/plugins/trust.py:137 -msgid "Trust direction" +#: ipalib/plugins/migration.py:137 +#, python-format +msgid "" +"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." msgstr "" -#: ipalib/plugins/internal.py:632 ipalib/plugins/trust.py:141 -msgid "Trust status" +#: ipalib/plugins/migration.py:138 +#, python-format +msgid "" +"Unable to determine if Kerberos principal %s already exists. Use 'ipa user-" +"mod' to set it manually." msgstr "" -#: ipalib/plugins/internal.py:633 ipalib/plugins/trust.py:139 -msgid "Trust type" +#: ipalib/plugins/migration.py:139 +msgid "" +"Failed to add user to the default group. Use 'ipa group-add-member' to add " +"manually." msgstr "" -#: ipalib/plugins/internal.py:639 -msgid "Account Settings" +#: ipalib/plugins/migration.py:140 +msgid "Migration of LDAP search reference is not supported." msgstr "" -#: ipalib/plugins/internal.py:640 -msgid "Account Status" +#: ipalib/plugins/migration.py:141 +msgid "Malformed DN" msgstr "" -#: ipalib/plugins/internal.py:641 -msgid "Contact Settings" +#: ipalib/plugins/migration.py:161 +#, python-format +msgid "%(user)s is not a POSIX user" msgstr "" -#: ipalib/plugins/internal.py:642 -msgid "Employee Information" +#: ipalib/plugins/migration.py:427 +msgid "" +". Check GID of the existing group. Use --group-overwrite-gid option to " +"overwrite the GID" msgstr "" -#: ipalib/plugins/internal.py:643 -msgid "Error changing account status" +#: ipalib/plugins/migration.py:442 +msgid "Invalid LDAP URI." msgstr "" -#: ipalib/plugins/internal.py:644 -msgid "Password expiration" +#: ipalib/plugins/migration.py:448 +msgid "Migrate users and groups from DS to IPA." msgstr "" -#: ipalib/plugins/internal.py:645 -msgid "Mailing Address" +#: ipalib/plugins/migration.py:495 +msgid "LDAP URI" msgstr "" -#: ipalib/plugins/internal.py:646 -msgid "Misc. Information" +#: ipalib/plugins/migration.py:496 +msgid "LDAP URI of DS server to migrate from" msgstr "" -#: ipalib/plugins/internal.py:647 -#, python-brace-format -msgid "" -"Are you sure you want to ${action} the user?
The change will take effect " -"immediately." +#: ipalib/plugins/migration.py:502 +msgid "bind password" msgstr "" -#: ipalib/plugins/internal.py:648 -#, python-brace-format -msgid "Click to ${action}" +#: ipalib/plugins/migration.py:509 +msgid "Bind DN" msgstr "" -#: ipalib/plugins/internal.py:649 -msgid "Unlock" +#: ipalib/plugins/migration.py:515 +msgid "User container" msgstr "" -#: ipalib/plugins/internal.py:650 -#, python-brace-format -msgid "Are you sure you want to unlock user ${object}?" +#: ipalib/plugins/migration.py:516 +msgid "DN of container for users in DS relative to base DN" msgstr "" -#: ipalib/plugins/internal.py:654 ipalib/plugins/passwd.py:84 -msgid "Current Password" +#: ipalib/plugins/migration.py:522 +msgid "Group container" msgstr "" -#: ipalib/plugins/internal.py:655 -msgid "Current password is required" +#: ipalib/plugins/migration.py:523 +msgid "DN of container for groups in DS relative to base DN" msgstr "" -#: ipalib/plugins/internal.py:656 -#, python-brace-format -msgid "Your password expires in ${days} days." +#: ipalib/plugins/migration.py:529 +msgid "User object class" msgstr "" -#: ipalib/plugins/internal.py:657 -msgid "First OTP" +#: ipalib/plugins/migration.py:530 +msgid "Objectclasses used to search for user entries in DS" msgstr "" -#: ipalib/plugins/internal.py:658 -msgid "The password or username you entered is incorrect." +#: ipalib/plugins/migration.py:537 +msgid "Group object class" msgstr "" -#: ipalib/plugins/internal.py:659 ipalib/plugins/passwd.py:81 -msgid "New Password" +#: ipalib/plugins/migration.py:538 +msgid "Objectclasses used to search for group entries in DS" msgstr "" -#: ipalib/plugins/internal.py:660 -msgid "New password is required" +#: ipalib/plugins/migration.py:545 +msgid "Ignore user object class" msgstr "" -#: ipalib/plugins/internal.py:661 ipalib/plugins/passwd.py:94 -msgid "OTP" +#: ipalib/plugins/migration.py:546 +msgid "Objectclasses to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/internal.py:663 -msgid "Token synchronization failed" +#: ipalib/plugins/migration.py:553 +msgid "Ignore user attribute" msgstr "" -#: ipalib/plugins/internal.py:664 -msgid "The username, password or token codes are not correct" +#: ipalib/plugins/migration.py:554 +msgid "Attributes to be ignored for user entries in DS" msgstr "" -#: ipalib/plugins/internal.py:665 -msgid "Token was synchronized" +#: ipalib/plugins/migration.py:561 +msgid "Ignore group object class" msgstr "" -#: ipalib/plugins/internal.py:667 -msgid "Password or Password+One-Time-Password" +#: ipalib/plugins/migration.py:562 +msgid "Objectclasses to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/internal.py:668 -msgid "Password change complete" +#: ipalib/plugins/migration.py:569 +msgid "Ignore group attribute" msgstr "" -#: ipalib/plugins/internal.py:669 -msgid "Passwords must match" +#: ipalib/plugins/migration.py:570 +msgid "Attributes to be ignored for group entries in DS" msgstr "" -#: ipalib/plugins/internal.py:670 -msgid "Password reset was not successful." +#: ipalib/plugins/migration.py:577 +msgid "Overwrite GID" msgstr "" -#: ipalib/plugins/internal.py:671 -msgid "Reset Password" +#: ipalib/plugins/migration.py:578 +msgid "" +"When migrating a group already existing in IPA domain overwrite the group " +"GID and report as success" msgstr "" -#: ipalib/plugins/internal.py:672 -msgid "Reset your password." +#: ipalib/plugins/migration.py:583 +msgid "LDAP schema" msgstr "" -#: ipalib/plugins/internal.py:673 -msgid "Second OTP" +#: ipalib/plugins/migration.py:584 +msgid "" +"The schema used on the LDAP server. Supported values are RFC2307 and " +"RFC2307bis. The default is RFC2307bis" msgstr "" -#: ipalib/plugins/internal.py:674 ipalib/plugins/otptoken.py:448 -msgid "Token ID" +#: ipalib/plugins/migration.py:590 +msgid "Continue" msgstr "" -#: ipalib/plugins/internal.py:675 -msgid "Verify Password" +#: ipalib/plugins/migration.py:591 +msgid "" +"Continuous operation mode. Errors are reported but the process continues" msgstr "" -#: ipalib/plugins/internal.py:678 -msgid "Are you sure you want to delete selected entries?" +#: ipalib/plugins/migration.py:596 +msgid "Base DN" msgstr "" -#: ipalib/plugins/internal.py:679 -#, python-brace-format -msgid "${count} item(s) deleted" +#: ipalib/plugins/migration.py:597 +msgid "Base DN on remote LDAP server" msgstr "" -#: ipalib/plugins/internal.py:680 -msgid "Are you sure you want to disable selected entries?" +#: ipalib/plugins/migration.py:601 +msgid "Ignore compat plugin" msgstr "" -#: ipalib/plugins/internal.py:681 -#, python-brace-format -msgid "${count} item(s) disabled" +#: ipalib/plugins/migration.py:602 +msgid "Allows migration despite the usage of compat plugin" msgstr "" -#: ipalib/plugins/internal.py:682 -msgid "Are you sure you want to enable selected entries?" +#: ipalib/plugins/migration.py:607 +msgid "CA certificate" msgstr "" -#: ipalib/plugins/internal.py:683 -#, python-brace-format -msgid "${count} item(s) enabled" +#: ipalib/plugins/migration.py:608 +msgid "Load CA certificate of LDAP server from FILE" msgstr "" -#: ipalib/plugins/internal.py:684 -msgid "Some entries were not deleted" +#: ipalib/plugins/migration.py:613 +msgid "Add to default group" msgstr "" -#: ipalib/plugins/internal.py:686 -msgid "Quick Links" +#: ipalib/plugins/migration.py:614 +msgid "Add migrated users without a group to a default group (default: true)" msgstr "" -#: ipalib/plugins/internal.py:687 -msgid "Select All" +#: ipalib/plugins/migration.py:621 +msgid "Search scope" msgstr "" -#: ipalib/plugins/internal.py:688 -#, python-brace-format +#: ipalib/plugins/migration.py:622 msgid "" -"Query returned more results than the configured size limit. Displaying the " -"first ${counter} results." +"LDAP search scope for users and groups: base, onelevel, or subtree. Defaults " +"to onelevel" msgstr "" -#: ipalib/plugins/internal.py:689 -msgid "Unselect All" +#: ipalib/plugins/migration.py:633 +msgid "Lists of objects migrated; categorized by type." msgstr "" -#: ipalib/plugins/internal.py:693 -msgid "Disabled" +#: ipalib/plugins/migration.py:637 +msgid "Lists of objects that could not be migrated; categorized by type." msgstr "" -#: ipalib/plugins/internal.py:697 -msgid "Working" +#: ipalib/plugins/migration.py:641 +msgid "False if migration mode was disabled." msgstr "" -#: ipalib/plugins/internal.py:700 -msgid "Audit" +#: ipalib/plugins/migration.py:645 +msgid "False if migration fails because the compatibility plug-in is enabled." msgstr "" -#: ipalib/plugins/internal.py:701 -msgid "Authentication" +#: ipalib/plugins/migration.py:649 +#, python-format +msgid "%s to exclude from migration" msgstr "" -#: ipalib/plugins/internal.py:703 -msgid "Automount" +#: ipalib/plugins/migration.py:651 +msgid "" +"search results for objects to be migrated\n" +"have been truncated by the server;\n" +"migration process might be incomplete\n" msgstr "" -#: ipalib/plugins/internal.py:705 -msgid "DNS" +#: ipalib/plugins/migration.py:656 +msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." msgstr "" -#: ipalib/plugins/internal.py:706 -msgid "Host Based Access Control" +#: ipalib/plugins/migration.py:659 +msgid "" +"Passwords have been migrated in pre-hashed format.\n" +"IPA is unable to generate Kerberos keys unless provided\n" +"with clear text passwords. All migrated users need to\n" +"login at https://your.domain/ipa/migration/ before they\n" +"can use their Kerberos accounts." msgstr "" -#: ipalib/plugins/internal.py:707 -msgid "Identity" +#: ipalib/plugins/migration.py:748 +#, python-format +msgid "" +"%(container)s LDAP search did not return any result (search base: " +"%(search_base)s, objectclass: %(objectclass)s)" msgstr "" -#: ipalib/plugins/internal.py:708 -msgid "IPA Server" +#: ipalib/plugins/migration.py:780 ipalib/plugins/user.py:471 +msgid "Default group for new users not found" msgstr "" -#: ipalib/plugins/internal.py:709 -msgid "Network Services" +#: ipalib/plugins/misc.py:26 +msgid "" +"\n" +"Misc plug-ins\n" msgstr "" -#: ipalib/plugins/internal.py:710 -msgid "Policy" +#: ipalib/plugins/misc.py:40 +msgid "Show environment variables." msgstr "" -#: ipalib/plugins/internal.py:711 -msgid "Role Based Access Control" +#: ipalib/plugins/misc.py:42 +#, python-format +msgid "%(count)d variables" msgstr "" -#: ipalib/plugins/internal.py:712 -msgid "Sudo" +#: ipalib/plugins/misc.py:51 ipalib/plugins/misc.py:119 +msgid "" +"retrieve and print all attributes from the server. Affects command output." msgstr "" -#: ipalib/plugins/internal.py:713 ipalib/plugins/trust.py:346 -msgid "Trusts" +#: ipalib/plugins/misc.py:65 +msgid "Total number of variables env (>= count)" msgstr "" -#: ipalib/plugins/internal.py:715 -msgid "True" +#: ipalib/plugins/misc.py:70 +msgid "Number of variables returned (<= total)" msgstr "" -#: ipalib/plugins/internal.py:717 -msgid "First" +#: ipalib/plugins/misc.py:110 +msgid "Show all loaded plugins." msgstr "" -#: ipalib/plugins/internal.py:718 -msgid "Last" +#: ipalib/plugins/misc.py:113 +#, python-format +msgid "%(count)d plugin loaded" +msgid_plural "%(count)d plugins loaded" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/misc.py:130 +msgid "Number of plugins loaded" msgstr "" -#: ipalib/plugins/internal.py:719 -msgid "Next" +#: ipalib/plugins/netgroup.py:29 +msgid "" +"\n" +"Netgroups\n" +"\n" +"A netgroup is a group used for permission checking. It can contain both\n" +"user and host values.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new netgroup:\n" +" ipa netgroup-add --desc=\"NFS admins\" admins\n" +"\n" +" Add members to the netgroup:\n" +" ipa netgroup-add-member --users=tuser1 --users=tuser2 admins\n" +"\n" +" Remove a member from the netgroup:\n" +" ipa netgroup-remove-member --users=tuser2 admins\n" +"\n" +" Display information about a netgroup:\n" +" ipa netgroup-show admins\n" +"\n" +" Delete a netgroup:\n" +" ipa netgroup-del admins\n" msgstr "" -#: ipalib/plugins/internal.py:720 -msgid "Page" +#: ipalib/plugins/netgroup.py:71 +msgid "Member Host" msgstr "" -#: ipalib/plugins/internal.py:721 -msgid "Prev" +#: ipalib/plugins/netgroup.py:85 +msgid "netgroup" msgstr "" -#: ipalib/plugins/internal.py:722 -msgid "undo" +#: ipalib/plugins/netgroup.py:86 +msgid "netgroups" msgstr "" -#: ipalib/plugins/internal.py:723 -msgid "undo all" +#: ipalib/plugins/netgroup.py:175 +msgid "Netgroups" msgstr "" -#: ipalib/plugins/internal.py:725 -msgid "Text does not match field pattern" +#: ipalib/plugins/netgroup.py:176 +msgid "Netgroup" msgstr "" -#: ipalib/plugins/internal.py:726 -msgid "Must be an UTC date/time value (e.g., \"2014-01-20 17:58:01Z\")" +#: ipalib/plugins/netgroup.py:183 +msgid "Netgroup name" msgstr "" -#: ipalib/plugins/internal.py:727 -msgid "Must be a decimal number" +#: ipalib/plugins/netgroup.py:190 +msgid "Netgroup description" msgstr "" -#: ipalib/plugins/internal.py:728 -msgid "Format error" +#: ipalib/plugins/netgroup.py:196 +msgid "NIS domain name" msgstr "" -#: ipalib/plugins/internal.py:729 -msgid "Must be an integer" +#: ipalib/plugins/netgroup.py:201 +msgid "IPA unique ID" msgstr "" -#: ipalib/plugins/internal.py:730 -msgid "Not a valid IP address" +#: ipalib/plugins/netgroup.py:222 +msgid "Add a new netgroup." msgstr "" -#: ipalib/plugins/internal.py:731 -msgid "Not a valid IPv4 address" +#: ipalib/plugins/netgroup.py:225 +#, python-format +msgid "Added netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/internal.py:732 -msgid "Not a valid IPv6 address" +#: ipalib/plugins/netgroup.py:227 +#, python-format +msgid "" +"hostgroup with name \"%s\" already exists. Hostgroups and netgroups share a " +"common namespace" msgstr "" -#: ipalib/plugins/internal.py:733 -#, python-brace-format -msgid "Maximum value is ${value}" +#: ipalib/plugins/netgroup.py:258 +msgid "Delete a netgroup." msgstr "" -#: ipalib/plugins/internal.py:734 -#, python-brace-format -msgid "Minimum value is ${value}" +#: ipalib/plugins/netgroup.py:260 +#, python-format +msgid "Deleted netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/internal.py:735 -msgid "Not a valid network address" +#: ipalib/plugins/netgroup.py:266 +msgid "Modify a netgroup." msgstr "" -#: ipalib/plugins/internal.py:736 -msgid "Parse error" +#: ipalib/plugins/netgroup.py:269 +#, python-format +msgid "Modified netgroup \"%(value)s\"" msgstr "" -#: ipalib/plugins/internal.py:737 -#, python-brace-format -msgid "'${port}' is not a valid port" +#: ipalib/plugins/netgroup.py:287 +msgid "Search for a netgroup." msgstr "" -#: ipalib/plugins/internal.py:738 -msgid "Required field" +#: ipalib/plugins/netgroup.py:292 +#, python-format +msgid "%(count)d netgroup matched" +msgid_plural "%(count)d netgroups matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/netgroup.py:302 +msgid "search for managed groups" msgstr "" -#: ipalib/plugins/internal.py:739 -msgid "Unsupported value" +#: ipalib/plugins/netgroup.py:324 +msgid "Display information about a netgroup." msgstr "" -#: ipalib/plugins/internal.py:744 -msgid "Dict of I18N messages" +#: ipalib/plugins/netgroup.py:331 +msgid "Add members to a netgroup." msgstr "" -#: ipalib/plugins/krbtpolicy.py:27 -msgid "" -"\n" -"Kerberos ticket policy\n" -"\n" -"There is a single Kerberos ticket policy. This policy defines the\n" -"maximum ticket lifetime and the maximum renewal age, the period during\n" -"which the ticket is renewable.\n" -"\n" -"You can also create a per-user ticket policy by specifying the user login.\n" -"\n" -"For changes to the global policy to take effect, restarting the KDC service\n" -"is required, which can be achieved using:\n" +#: ipalib/plugins/netgroup.py:353 +msgid "Remove members from a netgroup." +msgstr "" + +#: ipalib/plugins/otpconfig.py:24 +msgid "" "\n" -"service krb5kdc restart\n" +"OTP configuration\n" "\n" -"Changes to per-user policies take effect immediately for newly requested\n" -"tickets (e.g. when the user next runs kinit).\n" +"Manage the default values that IPA uses for OTP tokens.\n" "\n" "EXAMPLES:\n" "\n" -" Display the current Kerberos ticket policy:\n" -" ipa krbtpolicy-show\n" +" Show basic OTP configuration:\n" +" ipa otpconfig-show\n" "\n" -" Reset the policy to the default:\n" -" ipa krbtpolicy-reset\n" +" Show all OTP configuration options:\n" +" ipa otpconfig-show --all\n" "\n" -" Modify the policy to 8 hours max life, 1-day max renewal:\n" -" ipa krbtpolicy-mod --maxlife=28800 --maxrenew=86400\n" +" Change maximum TOTP authentication window to 10 minutes:\n" +" ipa otpconfig-mod --totp-auth-window=600\n" "\n" -" Display effective Kerberos ticket policy for user 'admin':\n" -" ipa krbtpolicy-show admin\n" +" Change maximum TOTP synchronization window to 12 hours:\n" +" ipa otpconfig-mod --totp-sync-window=43200\n" "\n" -" Reset per-user policy for user 'admin':\n" -" ipa krbtpolicy-reset admin\n" +" Change maximum HOTP authentication window to 5:\n" +" ipa hotpconfig-mod --hotp-auth-window=5\n" "\n" -" Modify per-user policy for user 'admin':\n" -" ipa krbtpolicy-mod admin --maxlife=3600\n" +" Change maximum HOTP synchronization window to 50:\n" +" ipa hotpconfig-mod --hotp-sync-window=50\n" msgstr "" -#: ipalib/plugins/krbtpolicy.py:80 -msgid "kerberos ticket policy settings" +#: ipalib/plugins/otpconfig.py:52 ipalib/plugins/otptoken.py:64 +#: ipalib/plugins/otptoken_yubikey.py:47 +msgid "One time password commands" msgstr "" -#: ipalib/plugins/krbtpolicy.py:125 -msgid "Manage ticket policy for specific user" +#: ipalib/plugins/otpconfig.py:57 +msgid "OTP configuration options" msgstr "" -#: ipalib/plugins/krbtpolicy.py:130 -msgid "Max life" +#: ipalib/plugins/otpconfig.py:80 ipalib/plugins/otpconfig.py:81 +msgid "OTP Configuration" msgstr "" -#: ipalib/plugins/krbtpolicy.py:131 -msgid "Maximum ticket life (seconds)" +#: ipalib/plugins/otpconfig.py:86 +msgid "TOTP authentication Window" msgstr "" -#: ipalib/plugins/krbtpolicy.py:136 -msgid "Max renew" +#: ipalib/plugins/otpconfig.py:87 +msgid "TOTP authentication time variance (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:137 -msgid "Maximum renewable age (seconds)" +#: ipalib/plugins/otpconfig.py:92 +msgid "TOTP Synchronization Window" msgstr "" -#: ipalib/plugins/krbtpolicy.py:150 -msgid "Modify Kerberos ticket policy." +#: ipalib/plugins/otpconfig.py:93 +msgid "TOTP synchronization time variance (seconds)" msgstr "" -#: ipalib/plugins/krbtpolicy.py:163 -msgid "Display the current Kerberos ticket policy." +#: ipalib/plugins/otpconfig.py:98 +msgid "HOTP Authentication Window" msgstr "" -#: ipalib/plugins/krbtpolicy.py:186 -#, python-format -msgid "Ticket policy for %s could not be read" +#: ipalib/plugins/otpconfig.py:99 +msgid "HOTP authentication skip-ahead" msgstr "" -#: ipalib/plugins/krbtpolicy.py:199 -msgid "Default ticket policy could not be read" +#: ipalib/plugins/otpconfig.py:104 +msgid "HOTP Synchronization Window" msgstr "" -#: ipalib/plugins/krbtpolicy.py:205 -msgid "Reset Kerberos ticket policy to the default values." +#: ipalib/plugins/otpconfig.py:105 +msgid "HOTP synchronization skip-ahead" msgstr "" -#: ipalib/plugins/migration.py:38 +#: ipalib/plugins/otpconfig.py:116 +msgid "Modify OTP configuration options." +msgstr "" + +#: ipalib/plugins/otpconfig.py:121 +msgid "Show the current OTP configuration." +msgstr "" + +#: ipalib/plugins/otptoken.py:39 msgid "" "\n" -"Migration to IPA\n" -"\n" -"Migrate users and groups from an LDAP server to IPA.\n" -"\n" -"This performs an LDAP query against the remote server searching for\n" -"users and groups in a container. In order to migrate passwords you need\n" -"to bind as a user that can read the userPassword attribute on the remote\n" -"server. This is generally restricted to high-level admins such as\n" -"cn=Directory Manager in 389-ds (this is the default bind user).\n" -"\n" -"The default user container is ou=People.\n" -"\n" -"The default group container is ou=Groups.\n" -"\n" -"Users and groups that already exist on the IPA server are skipped.\n" -"\n" -"Two LDAP schemas define how group members are stored: RFC2307 and\n" -"RFC2307bis. RFC2307bis uses member and uniquemember to specify group\n" -"members, RFC2307 uses memberUid. The default schema is RFC2307bis.\n" -"\n" -"The schema compat feature allows IPA to reformat data for systems that\n" -"do not support RFC2307bis. It is recommended that this feature is disabled\n" -"during migration to reduce system overhead. It can be re-enabled after\n" -"migration. To migrate with it enabled use the \"--with-compat\" option.\n" -"\n" -"Migrated users do not have Kerberos credentials, they have only their\n" -"LDAP password. To complete the migration process, users need to go\n" -"to http://ipa.example.com/ipa/migration and authenticate using their\n" -"LDAP password in order to generate their Kerberos credentials.\n" -"\n" -"Migration is disabled by default. Use the command ipa config-mod to\n" -"enable it:\n" -"\n" -" ipa config-mod --enable-migration=TRUE\n" -"\n" -"If a base DN is not provided with --basedn then IPA will use either\n" -"the value of defaultNamingContext if it is set or the first value\n" -"in namingContexts set in the root of the remote LDAP server.\n" -"\n" -"Users are added as members to the default user group. This can be a\n" -"time-intensive task so during migration this is done in a batch\n" -"mode for every 100 users. As a result there will be a window in which\n" -"users will be added to IPA but will not be members of the default\n" -"user group.\n" -"\n" -"EXAMPLES:\n" -"\n" -" The simplest migration, accepting all defaults:\n" -" ipa migrate-ds ldap://ds.example.com:389\n" -"\n" -" Specify the user and group container. This can be used to migrate user\n" -" and group data from an IPA v1 server:\n" -" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n" -" --group-container='cn=groups,cn=accounts' \\\n" -" ldap://ds.example.com:389\n" -"\n" -" Since IPA v2 server already contain predefined groups that may collide " -"with\n" -" groups in migrated (IPA v1) server (for example admins, ipausers), users\n" -" having colliding group as their primary group may happen to belong to\n" -" an unknown group on new IPA v2 server.\n" -" Use --group-overwrite-gid option to overwrite GID of already existing " -"groups\n" -" to prevent this issue:\n" -" ipa migrate-ds --group-overwrite-gid \\\n" -" --user-container='cn=users,cn=accounts' \\\n" -" --group-container='cn=groups,cn=accounts' \\\n" -" ldap://ds.example.com:389\n" -"\n" -" Migrated users or groups may have object class and accompanied attributes\n" -" unknown to the IPA v2 server. These object classes and attributes may be\n" -" left out of the migration process:\n" -" ipa migrate-ds --user-container='cn=users,cn=accounts' \\\n" -" --group-container='cn=groups,cn=accounts' \\\n" -" --user-ignore-objectclass=radiusprofile \\\n" -" --user-ignore-attribute=radiusgroupname \\\n" -" ldap://ds.example.com:389\n" -"\n" -"LOGGING\n" +"OTP Tokens\n" +msgstr "" + +#: ipalib/plugins/otptoken.py:41 +msgid "" "\n" -"Migration will log warnings and errors to the Apache error log. This\n" -"file should be evaluated post-migration to correct or investigate any\n" -"issues that were discovered.\n" +"Manage OTP tokens.\n" +msgstr "" + +#: ipalib/plugins/otptoken.py:43 +msgid "" "\n" -"For every 100 users migrated an info-level message will be displayed to\n" -"give the current progress and duration to make it possible to track\n" -"the progress of migration.\n" +"IPA supports the use of OTP tokens for multi-factor authentication. This\n" +"code enables the management of OTP tokens.\n" +msgstr "" + +#: ipalib/plugins/otptoken.py:48 +msgid "" "\n" -"If the log level is debug, either by setting debug = True in\n" -"/etc/ipa/default.conf or /etc/ipa/server.conf, then an entry will be " -"printed\n" -"for each user added plus a summary when the default user group is\n" -"updated.\n" +" Add a new token:\n" +" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" msgstr "" -#: ipalib/plugins/migration.py:135 -#, python-format +#: ipalib/plugins/otptoken.py:51 msgid "" -"Kerberos principal %s already exists. Use 'ipa user-mod' to set it manually." +"\n" +" Examine the token:\n" +" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" -#: ipalib/plugins/migration.py:136 -#, python-format +#: ipalib/plugins/otptoken.py:54 msgid "" -"Unable to determine if Kerberos principal %s already exists. Use 'ipa user-" -"mod' to set it manually." +"\n" +" Change the vendor:\n" +" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red Hat" +"\"\n" msgstr "" -#: ipalib/plugins/migration.py:137 +#: ipalib/plugins/otptoken.py:57 msgid "" -"Failed to add user to the default group. Use 'ipa group-add-member' to add " -"manually." +"\n" +" Delete a token:\n" +" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" -#: ipalib/plugins/migration.py:138 -msgid "Migration of LDAP search reference is not supported." +#: ipalib/plugins/otptoken.py:132 +msgid "OTP token" msgstr "" -#: ipalib/plugins/migration.py:139 -msgid "Malformed DN" +#: ipalib/plugins/otptoken.py:133 +msgid "OTP tokens" msgstr "" -#: ipalib/plugins/migration.py:156 -#, python-format -msgid "%(user)s is not a POSIX user" +#: ipalib/plugins/otptoken.py:149 +msgid "OTP Tokens" msgstr "" -#: ipalib/plugins/migration.py:429 -msgid "" -". Check GID of the existing group. Use --group-overwrite-gid option to " -"overwrite the GID" +#: ipalib/plugins/otptoken.py:150 +msgid "OTP Token" msgstr "" -#: ipalib/plugins/migration.py:444 -msgid "Invalid LDAP URI." +#: ipalib/plugins/otptoken.py:155 ipalib/plugins/otptoken_yubikey.py:57 +msgid "Unique ID" msgstr "" -#: ipalib/plugins/migration.py:450 -msgid "Migrate users and groups from DS to IPA." +#: ipalib/plugins/otptoken.py:161 +msgid "Type of the token" msgstr "" -#: ipalib/plugins/migration.py:497 -msgid "LDAP URI" +#: ipalib/plugins/otptoken.py:170 +msgid "Token description (informational only)" msgstr "" -#: ipalib/plugins/migration.py:498 -msgid "LDAP URI of DS server to migrate from" +#: ipalib/plugins/otptoken.py:174 +msgid "Owner" msgstr "" -#: ipalib/plugins/migration.py:504 -msgid "bind password" +#: ipalib/plugins/otptoken.py:175 +msgid "Assigned user of the token (default: self)" msgstr "" -#: ipalib/plugins/migration.py:511 -msgid "Bind DN" +#: ipalib/plugins/otptoken.py:179 +msgid "Assigned manager of the token (default: self)" msgstr "" -#: ipalib/plugins/migration.py:517 -msgid "User container" +#: ipalib/plugins/otptoken.py:185 +msgid "Mark the token as disabled (default: false)" msgstr "" -#: ipalib/plugins/migration.py:518 -msgid "DN of container for users in DS relative to base DN" +#: ipalib/plugins/otptoken.py:189 +msgid "Validity start" msgstr "" -#: ipalib/plugins/migration.py:524 -msgid "Group container" +#: ipalib/plugins/otptoken.py:190 +msgid "First date/time the token can be used" msgstr "" -#: ipalib/plugins/migration.py:525 -msgid "DN of container for groups in DS relative to base DN" +#: ipalib/plugins/otptoken.py:194 +msgid "Validity end" msgstr "" -#: ipalib/plugins/migration.py:531 -msgid "User object class" +#: ipalib/plugins/otptoken.py:195 +msgid "Last date/time the token can be used" msgstr "" -#: ipalib/plugins/migration.py:532 -msgid "Objectclasses used to search for user entries in DS" +#: ipalib/plugins/otptoken.py:199 +msgid "Vendor" msgstr "" -#: ipalib/plugins/migration.py:539 -msgid "Group object class" +#: ipalib/plugins/otptoken.py:200 +msgid "Token vendor name (informational only)" msgstr "" -#: ipalib/plugins/migration.py:540 -msgid "Objectclasses used to search for group entries in DS" +#: ipalib/plugins/otptoken.py:204 +msgid "Model" msgstr "" -#: ipalib/plugins/migration.py:547 -msgid "Ignore user object class" +#: ipalib/plugins/otptoken.py:205 +msgid "Token model (informational only)" msgstr "" -#: ipalib/plugins/migration.py:548 -msgid "Objectclasses to be ignored for user entries in DS" +#: ipalib/plugins/otptoken.py:209 +msgid "Serial" +msgstr "" + +#: ipalib/plugins/otptoken.py:210 +msgid "Token serial (informational only)" +msgstr "" + +#: ipalib/plugins/otptoken.py:215 +msgid "Token secret (Base32; default: random)" +msgstr "" + +#: ipalib/plugins/otptoken.py:223 +msgid "Token hash algorithm" +msgstr "" + +#: ipalib/plugins/otptoken.py:231 +msgid "Digits" +msgstr "" + +#: ipalib/plugins/otptoken.py:232 +msgid "Number of digits each token code will have" +msgstr "" + +#: ipalib/plugins/otptoken.py:240 +msgid "Clock offset" +msgstr "" + +#: ipalib/plugins/otptoken.py:241 +msgid "TOTP token / FreeIPA server time difference" +msgstr "" + +#: ipalib/plugins/otptoken.py:248 +msgid "Clock interval" +msgstr "" + +#: ipalib/plugins/otptoken.py:249 +msgid "Length of TOTP token code validity" +msgstr "" + +#: ipalib/plugins/otptoken.py:257 +msgid "Counter" +msgstr "" + +#: ipalib/plugins/otptoken.py:258 +msgid "Initial counter for the HOTP token" +msgstr "" + +#: ipalib/plugins/otptoken.py:269 +msgid "Add a new OTP token." +msgstr "" + +#: ipalib/plugins/otptoken.py:270 +#, python-format +msgid "Added OTP token \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/otptoken.py:273 +msgid "(deprecated)" +msgstr "" + +#: ipalib/plugins/otptoken.py:274 +msgid "Do not display QR code" +msgstr "" + +#: ipalib/plugins/otptoken.py:278 +msgid "URI" msgstr "" -#: ipalib/plugins/migration.py:555 -msgid "Ignore user attribute" +#: ipalib/plugins/otptoken.py:367 +msgid "Delete an OTP token." msgstr "" -#: ipalib/plugins/migration.py:556 -msgid "Attributes to be ignored for user entries in DS" +#: ipalib/plugins/otptoken.py:368 +#, python-format +msgid "Deleted OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/migration.py:563 -msgid "Ignore group object class" +#: ipalib/plugins/otptoken.py:373 +msgid "Modify a OTP token." msgstr "" -#: ipalib/plugins/migration.py:564 -msgid "Objectclasses to be ignored for group entries in DS" +#: ipalib/plugins/otptoken.py:374 +#, python-format +msgid "Modified OTP token \"%(value)s\"" msgstr "" -#: ipalib/plugins/migration.py:571 -msgid "Ignore group attribute" +#: ipalib/plugins/otptoken.py:422 +msgid "Search for OTP token." msgstr "" -#: ipalib/plugins/migration.py:572 -msgid "Attributes to be ignored for group entries in DS" +#: ipalib/plugins/otptoken.py:423 +#, python-format +msgid "%(count)d OTP token matched" +msgid_plural "%(count)d OTP tokens matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/otptoken.py:451 +msgid "Display information about an OTP token." msgstr "" -#: ipalib/plugins/migration.py:579 -msgid "Overwrite GID" +#: ipalib/plugins/otptoken.py:464 +msgid "Add users that can manage this token." msgstr "" -#: ipalib/plugins/migration.py:580 -msgid "" -"When migrating a group already existing in IPA domain overwrite the group " -"GID and report as success" +#: ipalib/plugins/otptoken.py:516 +msgid "Synchronize an OTP token." msgstr "" -#: ipalib/plugins/migration.py:585 -msgid "LDAP schema" +#: ipalib/plugins/otptoken.py:521 +msgid "User ID" msgstr "" -#: ipalib/plugins/migration.py:586 -msgid "" -"The schema used on the LDAP server. Supported values are RFC2307 and " -"RFC2307bis. The default is RFC2307bis" +#: ipalib/plugins/otptoken.py:523 +msgid "First Code" msgstr "" -#: ipalib/plugins/migration.py:592 -msgid "Continue" +#: ipalib/plugins/otptoken.py:524 +msgid "Second Code" msgstr "" -#: ipalib/plugins/migration.py:593 +#: ipalib/plugins/otptoken_yubikey.py:31 msgid "" -"Continuous operation mode. Errors are reported but the process continues" +"\n" +"YubiKey Tokens\n" msgstr "" -#: ipalib/plugins/migration.py:598 -msgid "Base DN" +#: ipalib/plugins/otptoken_yubikey.py:33 +msgid "" +"\n" +"Manage YubiKey tokens.\n" msgstr "" -#: ipalib/plugins/migration.py:599 -msgid "Base DN on remote LDAP server" +#: ipalib/plugins/otptoken_yubikey.py:35 +msgid "" +"\n" +"This code is an extension to the otptoken plugin and provides support for\n" +"reading/writing YubiKey tokens directly.\n" msgstr "" -#: ipalib/plugins/migration.py:603 -msgid "Ignore compat plugin" +#: ipalib/plugins/otptoken_yubikey.py:40 +msgid "" +"\n" +" Add a new token:\n" +" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" msgstr "" -#: ipalib/plugins/migration.py:604 -msgid "Allows migration despite the usage of compat plugin" +#: ipalib/plugins/otptoken_yubikey.py:52 +msgid "Add a new YubiKey OTP token." msgstr "" -#: ipalib/plugins/migration.py:609 -msgid "CA certificate" +#: ipalib/plugins/otptoken_yubikey.py:65 +msgid "YubiKey slot" msgstr "" -#: ipalib/plugins/migration.py:610 -msgid "Load CA certificate of LDAP server from FILE" +#: ipalib/plugins/otptoken_yubikey.py:101 +msgid "No free YubiKey slot!" msgstr "" -#: ipalib/plugins/migration.py:618 -msgid "Lists of objects migrated; categorized by type." +#: ipalib/plugins/passwd.py:30 +msgid "" +"\n" +"Set a user's password\n" +"\n" +"If someone other than a user changes that user's password (e.g., Helpdesk\n" +"resets it) then the password will need to be changed the first time it\n" +"is used. This is so the end-user is the only one who knows the password.\n" +"\n" +"The IPA password policy controls how often a password may be changed,\n" +"what strength requirements exist, and the length of the password history.\n" +"\n" +"EXAMPLES:\n" +"\n" +" To reset your own password:\n" +" ipa passwd\n" +"\n" +" To change another user's password:\n" +" ipa passwd tuser1\n" msgstr "" -#: ipalib/plugins/migration.py:622 -msgid "Lists of objects that could not be migrated; categorized by type." +#: ipalib/plugins/passwd.py:69 +msgid "Set a user's password." msgstr "" -#: ipalib/plugins/migration.py:626 -msgid "False if migration mode was disabled." +#: ipalib/plugins/passwd.py:95 +msgid "One Time Password" msgstr "" -#: ipalib/plugins/migration.py:630 -msgid "False if migration fails because the compatibility plug-in is enabled." +#: ipalib/plugins/passwd.py:101 +#, python-format +msgid "Changed password for \"%(value)s\"" msgstr "" -#: ipalib/plugins/migration.py:634 -#, python-format -msgid "%s to exclude from migration" +#: ipalib/plugins/passwd.py:127 +msgid "Invalid credentials" msgstr "" -#: ipalib/plugins/migration.py:636 +#: ipalib/plugins/permission.py:33 msgid "" -"search results for objects to be migrated\n" -"have been truncated by the server;\n" -"migration process might be incomplete\n" +"\n" +"Permissions\n" msgstr "" -#: ipalib/plugins/migration.py:641 -msgid "Migration mode is disabled. Use 'ipa config-mod' to enable it." +#: ipalib/plugins/permission.py:35 +msgid "" +"\n" +"A permission enables fine-grained delegation of rights. A permission is\n" +"a human-readable wrapper around a 389-ds Access Control Rule,\n" +"or instruction (ACI).\n" +"A permission grants the right to perform a specific task such as adding a\n" +"user, modifying a group, etc.\n" msgstr "" -#: ipalib/plugins/migration.py:644 +#: ipalib/plugins/permission.py:41 msgid "" -"Passwords have been migrated in pre-hashed format.\n" -"IPA is unable to generate Kerberos keys unless provided\n" -"with clear text passwords. All migrated users need to\n" -"login at https://your.domain/ipa/migration/ before they\n" -"can use their Kerberos accounts." +"\n" +"A permission may not contain other permissions.\n" msgstr "" -#: ipalib/plugins/migration.py:730 -#, python-format +#: ipalib/plugins/permission.py:43 msgid "" -"%(container)s LDAP search did not return any result (search base: " -"%(search_base)s, objectclass: %(objectclass)s)" +"\n" +"* A permission grants access to read, write, add, delete, read, search,\n" +" or compare.\n" +"* A privilege combines similar permissions (for example all the permissions\n" +" needed to add a user).\n" +"* A role grants a set of privileges to users, groups, hosts or hostgroups.\n" msgstr "" -#: ipalib/plugins/migration.py:762 ipalib/plugins/user.py:759 -msgid "Default group for new users not found" +#: ipalib/plugins/permission.py:49 +msgid "" +"\n" +"A permission is made up of a number of different parts:\n" +"\n" +"1. The name of the permission.\n" +"2. The target of the permission.\n" +"3. The rights granted by the permission.\n" msgstr "" -#: ipalib/plugins/misc.py:26 +#: ipalib/plugins/permission.py:55 msgid "" "\n" -"Misc plug-ins\n" +"Rights define what operations are allowed, and may be one or more\n" +"of the following:\n" +"1. write - write one or more attributes\n" +"2. read - read one or more attributes\n" +"3. search - search on one or more attributes\n" +"4. compare - compare one or more attributes\n" +"5. add - add a new entry to the tree\n" +"6. delete - delete an existing entry\n" +"7. all - all permissions are granted\n" msgstr "" -#: ipalib/plugins/misc.py:40 -msgid "Show environment variables." +#: ipalib/plugins/permission.py:65 +msgid "" +"\n" +"Note the distinction between attributes and entries. The permissions are\n" +"independent, so being able to add a user does not mean that the user will\n" +"be editable.\n" msgstr "" -#: ipalib/plugins/misc.py:42 -#, python-format -msgid "%(count)d variables" +#: ipalib/plugins/permission.py:69 +msgid "" +"\n" +"There are a number of allowed targets:\n" +"1. subtree: a DN; the permission applies to the subtree under this DN\n" +"2. target filter: an LDAP filter\n" +"3. target: DN with possible wildcards, specifies entries permission applies " +"to\n" msgstr "" -#: ipalib/plugins/misc.py:51 ipalib/plugins/misc.py:119 +#: ipalib/plugins/permission.py:74 msgid "" -"retrieve and print all attributes from the server. Affects command output." +"\n" +"Additionally, there are the following convenience options.\n" +"Setting one of these options will set the corresponding attribute(s).\n" +"1. type: a type of object (user, group, etc); sets subtree and target " +"filter.\n" +"2. memberof: apply to members of a group; sets target filter\n" +"3. targetgroup: grant access to modify a specific group (such as granting\n" +" the rights to manage group membership); sets target.\n" msgstr "" -#: ipalib/plugins/misc.py:65 -msgid "Total number of variables env (>= count)" +#: ipalib/plugins/permission.py:81 +msgid "" +"\n" +"Managed permissions\n" msgstr "" -#: ipalib/plugins/misc.py:70 -msgid "Number of variables returned (<= total)" +#: ipalib/plugins/permission.py:83 +msgid "" +"\n" +"Permissions that come with IPA by default can be so-called \"managed\"\n" +"permissions. These have a default set of attributes they apply to,\n" +"but the administrator can add/remove individual attributes to/from the set.\n" msgstr "" -#: ipalib/plugins/misc.py:110 -msgid "Show all loaded plugins." +#: ipalib/plugins/permission.py:87 +msgid "" +"\n" +"Deleting or renaming a managed permission, as well as changing its target,\n" +"is not allowed.\n" msgstr "" -#: ipalib/plugins/misc.py:113 -#, python-format -msgid "%(count)d plugin loaded" -msgid_plural "%(count)d plugins loaded" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/misc.py:130 -msgid "Number of plugins loaded" +#: ipalib/plugins/permission.py:92 +msgid "" +"\n" +" Add a permission that grants the creation of users:\n" +" ipa permission-add --type=user --permissions=add \"Add Users\"\n" msgstr "" -#: ipalib/plugins/netgroup.py:29 +#: ipalib/plugins/permission.py:95 msgid "" "\n" -"Netgroups\n" -"\n" -"A netgroup is a group used for permission checking. It can contain both\n" -"user and host values.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new netgroup:\n" -" ipa netgroup-add --desc=\"NFS admins\" admins\n" -"\n" -" Add members to the netgroup:\n" -" ipa netgroup-add-member --users=tuser1 --users=tuser2 admins\n" -"\n" -" Remove a member from the netgroup:\n" -" ipa netgroup-remove-member --users=tuser2 admins\n" -"\n" -" Display information about a netgroup:\n" -" ipa netgroup-show admins\n" -"\n" -" Delete a netgroup:\n" -" ipa netgroup-del admins\n" +" Add a permission that grants the ability to manage group membership:\n" +" ipa permission-add --attrs=member --permissions=write --type=group " +"\"Manage Group Members\"\n" msgstr "" -#: ipalib/plugins/netgroup.py:71 -msgid "Member Host" +#: ipalib/plugins/permission.py:126 +msgid "must be enclosed in parentheses" msgstr "" -#: ipalib/plugins/netgroup.py:85 -msgid "netgroup" +#: ipalib/plugins/permission.py:145 +#, python-format +msgid "\"%s\" is not an object type" msgstr "" -#: ipalib/plugins/netgroup.py:86 -msgid "netgroups" +#: ipalib/plugins/permission.py:147 ipalib/plugins/permission.py:875 +#, python-format +msgid "\"%s\" is not a valid permission type" msgstr "" -#: ipalib/plugins/netgroup.py:165 -msgid "Netgroups" +#: ipalib/plugins/permission.py:168 +msgid "permission" msgstr "" -#: ipalib/plugins/netgroup.py:166 -msgid "Netgroup" +#: ipalib/plugins/permission.py:169 +msgid "permissions" msgstr "" -#: ipalib/plugins/netgroup.py:173 -msgid "Netgroup name" +#: ipalib/plugins/permission.py:224 +msgid "Permission name" msgstr "" -#: ipalib/plugins/netgroup.py:180 -msgid "Netgroup description" +#: ipalib/plugins/permission.py:234 +msgid "Granted rights" msgstr "" -#: ipalib/plugins/netgroup.py:186 -msgid "NIS domain name" +#: ipalib/plugins/permission.py:235 +msgid "Rights to grant (read, search, compare, write, add, delete, all)" msgstr "" -#: ipalib/plugins/netgroup.py:191 -msgid "IPA unique ID" +#: ipalib/plugins/permission.py:242 +msgid "Effective attributes" msgstr "" -#: ipalib/plugins/netgroup.py:212 -msgid "Add a new netgroup." +#: ipalib/plugins/permission.py:243 +msgid "All attributes to which the permission applies" msgstr "" -#: ipalib/plugins/netgroup.py:215 -#, python-format -msgid "Added netgroup \"%(value)s\"" +#: ipalib/plugins/permission.py:248 +msgid "Included attributes" msgstr "" -#: ipalib/plugins/netgroup.py:217 -#, python-format -msgid "" -"hostgroup with name \"%s\" already exists. Hostgroups and netgroups share a " -"common namespace" +#: ipalib/plugins/permission.py:249 +msgid "User-specified attributes to which the permission applies" msgstr "" -#: ipalib/plugins/netgroup.py:248 -msgid "Delete a netgroup." +#: ipalib/plugins/permission.py:254 +msgid "Excluded attributes" msgstr "" -#: ipalib/plugins/netgroup.py:250 -#, python-format -msgid "Deleted netgroup \"%(value)s\"" +#: ipalib/plugins/permission.py:255 +msgid "" +"User-specified attributes to which the permission explicitly does not apply" msgstr "" -#: ipalib/plugins/netgroup.py:256 -msgid "Modify a netgroup." +#: ipalib/plugins/permission.py:261 +msgid "Default attributes" msgstr "" -#: ipalib/plugins/netgroup.py:259 -#, python-format -msgid "Modified netgroup \"%(value)s\"" +#: ipalib/plugins/permission.py:262 +msgid "Attributes to which the permission applies by default" msgstr "" -#: ipalib/plugins/netgroup.py:277 -msgid "Search for a netgroup." +#: ipalib/plugins/permission.py:268 ipalib/plugins/permission.py:269 +msgid "Bind rule type" msgstr "" -#: ipalib/plugins/netgroup.py:282 -#, python-format -msgid "%(count)d netgroup matched" -msgid_plural "%(count)d netgroups matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/netgroup.py:292 -msgid "search for managed groups" +#: ipalib/plugins/permission.py:279 +msgid "Subtree to apply permissions to" msgstr "" -#: ipalib/plugins/netgroup.py:314 -msgid "Display information about a netgroup." +#: ipalib/plugins/permission.py:285 ipalib/plugins/permission.py:286 +msgid "Extra target filter" msgstr "" -#: ipalib/plugins/netgroup.py:321 -msgid "Add members to a netgroup." +#: ipalib/plugins/permission.py:292 +msgid "Raw target filter" msgstr "" -#: ipalib/plugins/netgroup.py:343 -msgid "Remove members from a netgroup." +#: ipalib/plugins/permission.py:293 +msgid "All target filters, including those implied by type and memberof" msgstr "" -#: ipalib/plugins/otptoken.py:39 -msgid "" -"\n" -"OTP Tokens\n" +#: ipalib/plugins/permission.py:300 +msgid "Target DN" msgstr "" -#: ipalib/plugins/otptoken.py:41 +#: ipalib/plugins/permission.py:301 msgid "" -"\n" -"Manage OTP tokens.\n" +"Optional DN to apply the permission to (must be in the subtree, but may not " +"yet exist)" msgstr "" -#: ipalib/plugins/otptoken.py:43 -msgid "" -"\n" -"IPA supports the use of OTP tokens for multi-factor authentication. This\n" -"code enables the management of OTP tokens.\n" +#: ipalib/plugins/permission.py:308 +msgid "Target DN subtree" msgstr "" -#: ipalib/plugins/otptoken.py:48 +#: ipalib/plugins/permission.py:309 msgid "" -"\n" -" Add a new token:\n" -" ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" +"Optional DN subtree where an entry can be moved to (must be in the subtree, " +"but may not yet exist)" msgstr "" -#: ipalib/plugins/otptoken.py:51 -msgid "" -"\n" -" Examine the token:\n" -" ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" +#: ipalib/plugins/permission.py:316 +msgid "Origin DN subtree" msgstr "" -#: ipalib/plugins/otptoken.py:54 +#: ipalib/plugins/permission.py:317 msgid "" -"\n" -" Change the vendor:\n" -" ipa otptoken-mod a93db710-a31a-4639-8647-f15b2c70b78a --vendor=\"Red Hat" -"\"\n" +"Optional DN subtree from where an entry can be moved (must be in the " +"subtree, but may not yet exist)" msgstr "" -#: ipalib/plugins/otptoken.py:57 -msgid "" -"\n" -" Delete a token:\n" -" ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" +#: ipalib/plugins/permission.py:322 +msgid "Member of group" msgstr "" -#: ipalib/plugins/otptoken.py:113 -msgid "OTP token" +#: ipalib/plugins/permission.py:323 +msgid "Target members of a group (sets memberOf targetfilter)" msgstr "" -#: ipalib/plugins/otptoken.py:114 -msgid "OTP tokens" +#: ipalib/plugins/permission.py:328 +msgid "User group to apply permissions to (sets target)" msgstr "" -#: ipalib/plugins/otptoken.py:130 -msgid "OTP Tokens" +#: ipalib/plugins/permission.py:334 +msgid "Type of IPA object (sets subtree and objectClass targetfilter)" msgstr "" -#: ipalib/plugins/otptoken.py:131 -msgid "OTP Token" +#: ipalib/plugins/permission.py:340 +#, python-format +msgid "Deprecated; use %s" msgstr "" -#: ipalib/plugins/otptoken.py:136 ipalib/plugins/otptoken_yubikey.py:53 -msgid "Unique ID" +#: ipalib/plugins/permission.py:351 +#, python-format +msgid "Permission with unknown flag %s may not be modified or removed" msgstr "" -#: ipalib/plugins/otptoken.py:153 -msgid "Owner" +#: ipalib/plugins/permission.py:355 +msgid "A SYSTEM permission may not be modified or removed" msgstr "" -#: ipalib/plugins/otptoken.py:156 ipalib/plugins/user.py:560 -msgid "Manager" +#: ipalib/plugins/permission.py:603 +#, python-format +msgid "Entry %s not found" msgstr "" -#: ipalib/plugins/otptoken.py:161 -msgid "Disabled state" +#: ipalib/plugins/permission.py:694 +#, python-format +msgid "The ACI for permission %(name)s was not found in %(dn)s " msgstr "" -#: ipalib/plugins/otptoken.py:165 -msgid "Validity start" +#: ipalib/plugins/permission.py:798 +msgid "" +"cannot specify full target filter and extra target filter simultaneously" msgstr "" -#: ipalib/plugins/otptoken.py:169 -msgid "Validity end" +#: ipalib/plugins/permission.py:821 +#, python-format +msgid "option was renamed; use %s" msgstr "" -#: ipalib/plugins/otptoken.py:173 -msgid "Vendor" +#: ipalib/plugins/permission.py:825 +#, python-format +msgid "Cannot use %(old_name)s with %(new_name)s" msgstr "" -#: ipalib/plugins/otptoken.py:179 -msgid "Model" +#: ipalib/plugins/permission.py:839 ipalib/plugins/permission.py:854 +#, python-format +msgid "%s: group not found" msgstr "" -#: ipalib/plugins/otptoken.py:185 -msgid "Serial" +#: ipalib/plugins/permission.py:849 +msgid "target and targetgroup are mutually exclusive" msgstr "" -#: ipalib/plugins/otptoken.py:206 -msgid "Digits" +#: ipalib/plugins/permission.py:870 +msgid "subtree and type are mutually exclusive" msgstr "" -#: ipalib/plugins/otptoken.py:214 -msgid "Clock offset" +#: ipalib/plugins/permission.py:906 +msgid "Bad search filter" msgstr "" -#: ipalib/plugins/otptoken.py:221 -msgid "Clock interval" +#: ipalib/plugins/permission.py:916 +#, python-format +msgid "Entry %s does not exist" msgstr "" -#: ipalib/plugins/otptoken.py:229 -msgid "Counter" +#: ipalib/plugins/permission.py:925 +msgid "" +"there must be at least one target entry specifier (e.g. target, " +"targetfilter, attrs)" msgstr "" -#: ipalib/plugins/otptoken.py:240 -msgid "Add a new OTP token." +#: ipalib/plugins/permission.py:935 +msgid "Add a system permission without an ACI (internal command)" msgstr "" -#: ipalib/plugins/otptoken.py:241 +#: ipalib/plugins/permission.py:937 ipalib/plugins/permission.py:968 #, python-format -msgid "Added OTP token \"%(value)s\"" +msgid "Added permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:244 -msgid "Display QR code (requires wide terminal)" +#: ipalib/plugins/permission.py:943 +msgid "Permission flags" msgstr "" -#: ipalib/plugins/otptoken.py:248 -msgid "URI" +#: ipalib/plugins/permission.py:966 +msgid "Add a new permission." msgstr "" -#: ipalib/plugins/otptoken.py:329 -msgid "Delete an OTP token." +#: ipalib/plugins/permission.py:994 +msgid "attrs and included attributes are mutually exclusive" msgstr "" -#: ipalib/plugins/otptoken.py:330 +#: ipalib/plugins/permission.py:1026 #, python-format -msgid "Deleted OTP token \"%(value)s\"" +msgid "Cannot store permission ACI to %s" msgstr "" -#: ipalib/plugins/otptoken.py:335 -msgid "Modify a OTP token." +#: ipalib/plugins/permission.py:1035 +msgid "Delete a permission." msgstr "" -#: ipalib/plugins/otptoken.py:336 +#: ipalib/plugins/permission.py:1037 #, python-format -msgid "Modified OTP token \"%(value)s\"" +msgid "Deleted permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:349 -msgid "Search for OTP token." +#: ipalib/plugins/permission.py:1043 +msgid "force delete of SYSTEM permissions" msgstr "" -#: ipalib/plugins/otptoken.py:350 -#, python-format -msgid "%(count)d OTP token matched" -msgid_plural "%(count)d OTP tokens matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/otptoken.py:376 -msgid "Display information about an OTP token." +#: ipalib/plugins/permission.py:1057 +msgid "cannot delete managed permissions" msgstr "" -#: ipalib/plugins/otptoken.py:384 -msgid "Add users that can manage this token." +#: ipalib/plugins/permission.py:1063 +#, python-format +msgid "ACI of permission %s was not found" msgstr "" -#: ipalib/plugins/otptoken.py:436 -msgid "Synchronize an OTP token." +#: ipalib/plugins/permission.py:1070 +msgid "Modify a permission." msgstr "" -#: ipalib/plugins/otptoken.py:441 -msgid "User ID" +#: ipalib/plugins/permission.py:1072 +#, python-format +msgid "Modified permission \"%(value)s\"" msgstr "" -#: ipalib/plugins/otptoken.py:443 -msgid "First Code" +#: ipalib/plugins/permission.py:1106 +msgid "cannot rename managed permissions" msgstr "" -#: ipalib/plugins/otptoken.py:444 -msgid "Second Code" +#: ipalib/plugins/permission.py:1113 ipalib/plugins/permission.py:1117 +msgid "not modifiable on managed permissions" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:30 -msgid "" -"\n" -"YubiKey Tokens\n" +#: ipalib/plugins/permission.py:1124 +msgid "only available on managed permissions" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:32 -msgid "" -"\n" -"Manage YubiKey tokens.\n" +#: ipalib/plugins/permission.py:1131 ipalib/plugins/permission.py:1251 +msgid "attrs and included/excluded attributes are mutually exclusive" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:34 -msgid "" -"\n" -"This code is an extension to the otptoken plugin and provides support for\n" -"reading/writing YubiKey tokens directly.\n" +#: ipalib/plugins/permission.py:1142 +msgid "cannot set bindtype for a permission that is assigned to a privilege" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:39 -msgid "" -"\n" -" Add a new token:\n" -" ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" +#: ipalib/plugins/permission.py:1236 +msgid "Search for permissions." msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:48 -msgid "Add a new YubiKey OTP token." -msgstr "" +#: ipalib/plugins/permission.py:1239 +#, python-format +msgid "%(count)d permission matched" +msgid_plural "%(count)d permissions matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/otptoken_yubikey.py:61 -msgid "YubiKey slot" +#: ipalib/plugins/permission.py:1366 +msgid "Display information about a permission." msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:85 -msgid "No YubiKey found" +#: ipalib/plugins/ping.py:26 +msgid "" +"\n" +"Ping the remote IPA server to ensure it is running.\n" +"\n" +"The ping command sends an echo request to an IPA server. The server\n" +"returns its version information. This is used by an IPA client\n" +"to confirm that the server is available and accepting requests.\n" +"\n" +"The server from xmlrpc_uri in /etc/ipa/default.conf is contacted first.\n" +"If it does not respond then the client will contact any servers defined\n" +"by ldap SRV records in DNS.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Ping an IPA server:\n" +" ipa ping\n" +" ------------------------------------------\n" +" IPA server version 2.1.9. API version 2.20\n" +" ------------------------------------------\n" +"\n" +" Ping an IPA server verbosely:\n" +" ipa -v ping\n" +" ipa: INFO: trying https://ipa.example.com/ipa/xml\n" +" ipa: INFO: Forwarding 'ping' to server 'https://ipa.example.com/ipa/xml'\n" +" -----------------------------------------------------\n" +" IPA server version 2.1.9. API version 2.20\n" +" -----------------------------------------------------\n" msgstr "" -#: ipalib/plugins/otptoken_yubikey.py:95 -msgid "No free YubiKey slot!" +#: ipalib/plugins/ping.py:59 +msgid "Ping a remote server." msgstr "" -#: ipalib/plugins/passwd.py:30 +#: ipalib/plugins/pkinit.py:27 msgid "" "\n" -"Set a user's password\n" -"\n" -"If someone other than a user changes that user's password (e.g., Helpdesk\n" -"resets it) then the password will need to be changed the first time it\n" -"is used. This is so the end-user is the only one who knows the password.\n" +"Kerberos pkinit options\n" "\n" -"The IPA password policy controls how often a password may be changed,\n" -"what strength requirements exist, and the length of the password history.\n" +"Enable or disable anonymous pkinit using the principal\n" +"WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with\n" +"pkinit support.\n" "\n" "EXAMPLES:\n" "\n" -" To reset your own password:\n" -" ipa passwd\n" +" Enable anonymous pkinit:\n" +" ipa pkinit-anonymous enable\n" "\n" -" To change another user's password:\n" -" ipa passwd tuser1\n" +" Disable anonymous pkinit:\n" +" ipa pkinit-anonymous disable\n" +"\n" +"For more information on anonymous pkinit see:\n" +"\n" +"http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" msgstr "" -#: ipalib/plugins/passwd.py:69 -msgid "Set a user's password." +#: ipalib/plugins/pkinit.py:54 +msgid "pkinit" msgstr "" -#: ipalib/plugins/passwd.py:95 -msgid "One Time Password" +#: ipalib/plugins/pkinit.py:56 +msgid "PKINIT" msgstr "" -#: ipalib/plugins/passwd.py:101 +#: ipalib/plugins/pkinit.py:67 #, python-format -msgid "Changed password for \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/passwd.py:127 -msgid "Invalid credentials" +msgid "Unknown command %s" msgstr "" -#: ipalib/plugins/permission.py:33 -msgid "" -"\n" -"Permissions\n" +#: ipalib/plugins/pkinit.py:72 +msgid "Enable or Disable Anonymous PKINIT." msgstr "" -#: ipalib/plugins/permission.py:35 +#: ipalib/plugins/privilege.py:24 msgid "" "\n" -"A permission enables fine-grained delegation of rights. A permission is\n" -"a human-readable wrapper around a 389-ds Access Control Rule,\n" -"or instruction (ACI).\n" -"A permission grants the right to perform a specific task such as adding a\n" -"user, modifying a group, etc.\n" -msgstr "" - -#: ipalib/plugins/permission.py:41 -msgid "" +"Privileges\n" "\n" -"A permission may not contain other permissions.\n" -msgstr "" - -#: ipalib/plugins/permission.py:43 -msgid "" +"A privilege combines permissions into a logical task. A permission provides\n" +"the rights to do a single task. There are some IPA operations that require\n" +"multiple permissions to succeed. A privilege is where permissions are\n" +"combined in order to perform a specific task.\n" "\n" -"* A permission grants access to read, write, add, delete, read, search,\n" -" or compare.\n" -"* A privilege combines similar permissions (for example all the permissions\n" -" needed to add a user).\n" -"* A role grants a set of privileges to users, groups, hosts or hostgroups.\n" -msgstr "" - -#: ipalib/plugins/permission.py:49 -msgid "" +"For example, adding a user requires the following permissions:\n" +" * Creating a new user entry\n" +" * Resetting a user password\n" +" * Adding the new user to the default IPA users group\n" "\n" -"A permission is made up of a number of different parts:\n" +"Combining these three low-level tasks into a higher level task in the\n" +"form of a privilege named \"Add User\" makes it easier to manage Roles.\n" "\n" -"1. The name of the permission.\n" -"2. The target of the permission.\n" -"3. The rights granted by the permission.\n" -msgstr "" - -#: ipalib/plugins/permission.py:55 -msgid "" +"A privilege may not contain other privileges.\n" "\n" -"Rights define what operations are allowed, and may be one or more\n" -"of the following:\n" -"1. write - write one or more attributes\n" -"2. read - read one or more attributes\n" -"3. search - search on one or more attributes\n" -"4. compare - compare one or more attributes\n" -"5. add - add a new entry to the tree\n" -"6. delete - delete an existing entry\n" -"7. all - all permissions are granted\n" +"See role and permission for additional information.\n" msgstr "" -#: ipalib/plugins/permission.py:65 -msgid "" -"\n" -"Note the distinction between attributes and entries. The permissions are\n" -"independent, so being able to add a user does not mean that the user will\n" -"be editable.\n" +#: ipalib/plugins/privilege.py:54 +msgid "privilege" msgstr "" -#: ipalib/plugins/permission.py:69 -msgid "" -"\n" -"There are a number of allowed targets:\n" -"1. subtree: a DN; the permission applies to the subtree under this DN\n" -"2. target filter: an LDAP filter\n" -"3. target: DN with possible wildcards, specifies entries permission applies " -"to\n" +#: ipalib/plugins/privilege.py:55 +msgid "privileges" msgstr "" -#: ipalib/plugins/permission.py:74 -msgid "" -"\n" -"Additionally, there are the following convenience options.\n" -"Setting one of these options will set the corresponding attribute(s).\n" -"1. type: a type of object (user, group, etc); sets subtree and target " -"filter.\n" -"2. memberof: apply to members of a group; sets target filter\n" -"3. targetgroup: grant access to modify a specific group (such as granting\n" -" the rights to manage group membership); sets target.\n" +#: ipalib/plugins/privilege.py:96 +msgid "Privileges" msgstr "" -#: ipalib/plugins/permission.py:81 -msgid "" -"\n" -"Managed permissions\n" +#: ipalib/plugins/privilege.py:97 +msgid "Privilege" msgstr "" -#: ipalib/plugins/permission.py:83 -msgid "" -"\n" -"Permissions that come with IPA by default can be so-called \"managed\"\n" -"permissions. These have a default set of attributes they apply to,\n" -"but the administrator can add/remove individual attributes to/from the set.\n" +#: ipalib/plugins/privilege.py:102 +msgid "Privilege name" msgstr "" -#: ipalib/plugins/permission.py:87 -msgid "" -"\n" -"Deleting or renaming a managed permission, as well as changing its target,\n" -"is not allowed.\n" +#: ipalib/plugins/privilege.py:108 +msgid "Privilege description" msgstr "" -#: ipalib/plugins/permission.py:92 -msgid "" -"\n" -" Add a permission that grants the creation of users:\n" -" ipa permission-add --type=user --permissions=add \"Add Users\"\n" +#: ipalib/plugins/privilege.py:115 +msgid "Add a new privilege." msgstr "" -#: ipalib/plugins/permission.py:95 -msgid "" -"\n" -" Add a permission that grants the ability to manage group membership:\n" -" ipa permission-add --attrs=member --permissions=write --type=group " -"\"Manage Group Members\"\n" +#: ipalib/plugins/privilege.py:117 +#, python-format +msgid "Added privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:126 -msgid "must be enclosed in parentheses" +#: ipalib/plugins/privilege.py:122 +msgid "Delete a privilege." msgstr "" -#: ipalib/plugins/permission.py:145 +#: ipalib/plugins/privilege.py:124 #, python-format -msgid "\"%s\" is not an object type" +msgid "Deleted privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:147 ipalib/plugins/permission.py:837 -#, python-format -msgid "\"%s\" is not a valid permission type" +#: ipalib/plugins/privilege.py:129 +msgid "Modify a privilege." msgstr "" -#: ipalib/plugins/permission.py:168 -msgid "permission" +#: ipalib/plugins/privilege.py:131 +#, python-format +msgid "Modified privilege \"%(value)s\"" msgstr "" -#: ipalib/plugins/permission.py:169 -msgid "permissions" +#: ipalib/plugins/privilege.py:136 +msgid "Search for privileges." msgstr "" -#: ipalib/plugins/permission.py:224 -msgid "Permission name" -msgstr "" +#: ipalib/plugins/privilege.py:139 +#, python-format +msgid "%(count)d privilege matched" +msgid_plural "%(count)d privileges matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/permission.py:234 -msgid "Granted rights" +#: ipalib/plugins/privilege.py:145 +msgid "Display information about a privilege." msgstr "" -#: ipalib/plugins/permission.py:235 -msgid "Rights to grant (read, search, compare, write, add, delete, all)" +#: ipalib/plugins/privilege.py:150 +msgid "Add members to a privilege." msgstr "" -#: ipalib/plugins/permission.py:241 -msgid "Effective attributes" +#: ipalib/plugins/privilege.py:165 +msgid "Add permissions to a privilege." msgstr "" -#: ipalib/plugins/permission.py:242 -msgid "All attributes to which the permission applies" +#: ipalib/plugins/privilege.py:180 +msgid "Number of permissions added" msgstr "" -#: ipalib/plugins/permission.py:247 -msgid "Included attributes" +#: ipalib/plugins/privilege.py:205 +#, python-format +msgid "" +"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " +"privilege" msgstr "" -#: ipalib/plugins/permission.py:248 -msgid "User-specified attributes to which the permission applies" +#: ipalib/plugins/privilege.py:218 +msgid "Remove permissions from a privilege." msgstr "" -#: ipalib/plugins/permission.py:253 -msgid "Excluded attributes" +#: ipalib/plugins/privilege.py:235 +msgid "Number of permissions removed" msgstr "" -#: ipalib/plugins/permission.py:254 +#: ipalib/plugins/pwpolicy.py:31 msgid "" -"User-specified attributes to which the permission explicitly does not apply" -msgstr "" - -#: ipalib/plugins/permission.py:260 -msgid "Default attributes" -msgstr "" - -#: ipalib/plugins/permission.py:261 -msgid "Attributes to which the permission applies by default" +"\n" +"Password policy\n" +"\n" +"A password policy sets limitations on IPA passwords, including maximum\n" +"lifetime, minimum lifetime, the number of passwords to save in\n" +"history, the number of character classes required (for stronger passwords)\n" +"and the minimum password length.\n" +"\n" +"By default there is a single, global policy for all users. You can also\n" +"create a password policy to apply to a group. Each user is only subject\n" +"to one password policy, either the group policy or the global policy. A\n" +"group policy stands alone; it is not a super-set of the global policy plus\n" +"custom settings.\n" +"\n" +"Each group password policy requires a unique priority setting. If a user\n" +"is in multiple groups that have password policies, this priority determines\n" +"which password policy is applied. A lower value indicates a higher priority\n" +"policy.\n" +"\n" +"Group password policies are automatically removed when the groups they\n" +"are associated with are removed.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Modify the global policy:\n" +" ipa pwpolicy-mod --minlength=10\n" +"\n" +" Add a new group password policy:\n" +" ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --" +"minlength=8 --priority=10 localadmins\n" +"\n" +" Display the global password policy:\n" +" ipa pwpolicy-show\n" +"\n" +" Display a group password policy:\n" +" ipa pwpolicy-show localadmins\n" +"\n" +" Display the policy that would be applied to a given user:\n" +" ipa pwpolicy-show --user=tuser1\n" +"\n" +" Modify a group password policy:\n" +" ipa pwpolicy-mod --minclasses=2 localadmins\n" msgstr "" -#: ipalib/plugins/permission.py:267 ipalib/plugins/permission.py:268 -msgid "Bind rule type" +#: ipalib/plugins/pwpolicy.py:130 +#, python-format +msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" msgstr "" -#: ipalib/plugins/permission.py:278 -msgid "Subtree to apply permissions to" +#: ipalib/plugins/pwpolicy.py:219 +msgid "password policy" msgstr "" -#: ipalib/plugins/permission.py:284 ipalib/plugins/permission.py:285 -msgid "Extra target filter" +#: ipalib/plugins/pwpolicy.py:220 +msgid "password policies" msgstr "" -#: ipalib/plugins/permission.py:291 -msgid "Raw target filter" +#: ipalib/plugins/pwpolicy.py:289 +msgid "Max failures" msgstr "" -#: ipalib/plugins/permission.py:292 -msgid "All target filters, including those implied by type and memberof" +#: ipalib/plugins/pwpolicy.py:290 +msgid "Consecutive failures before lockout" msgstr "" -#: ipalib/plugins/permission.py:299 -msgid "ACI target DN" +#: ipalib/plugins/pwpolicy.py:295 +msgid "Failure reset interval" msgstr "" -#: ipalib/plugins/permission.py:304 -msgid "Member of group" +#: ipalib/plugins/pwpolicy.py:296 +msgid "Period after which failure count will be reset (seconds)" msgstr "" -#: ipalib/plugins/permission.py:305 -msgid "Target members of a group (sets memberOf targetfilter)" +#: ipalib/plugins/pwpolicy.py:301 +msgid "Lockout duration" msgstr "" -#: ipalib/plugins/permission.py:310 -msgid "User group to apply permissions to (sets target)" +#: ipalib/plugins/pwpolicy.py:302 +msgid "Period for which lockout is enforced (seconds)" msgstr "" -#: ipalib/plugins/permission.py:316 -msgid "Type of IPA object (sets subtree and objectClass targetfilter)" +#: ipalib/plugins/pwpolicy.py:307 +msgid "Password Policies" msgstr "" -#: ipalib/plugins/permission.py:322 -#, python-format -msgid "Deprecated; use %s" +#: ipalib/plugins/pwpolicy.py:313 +msgid "Group" msgstr "" -#: ipalib/plugins/permission.py:333 -#, python-format -msgid "Permission with unknown flag %s may not be modified or removed" +#: ipalib/plugins/pwpolicy.py:314 +msgid "Manage password policy for specific group" msgstr "" -#: ipalib/plugins/permission.py:337 -msgid "A SYSTEM permission may not be modified or removed" +#: ipalib/plugins/pwpolicy.py:319 +msgid "Max lifetime (days)" msgstr "" -#: ipalib/plugins/permission.py:565 -#, python-format -msgid "Entry %s not found" +#: ipalib/plugins/pwpolicy.py:320 +msgid "Maximum password lifetime (in days)" msgstr "" -#: ipalib/plugins/permission.py:656 -#, python-format -msgid "The ACI for permission %(name)s was not found in %(dn)s " +#: ipalib/plugins/pwpolicy.py:326 +msgid "Min lifetime (hours)" msgstr "" -#: ipalib/plugins/permission.py:760 -msgid "" -"cannot specify full target filter and extra target filter simultaneously" +#: ipalib/plugins/pwpolicy.py:327 +msgid "Minimum password lifetime (in hours)" msgstr "" -#: ipalib/plugins/permission.py:783 -#, python-format -msgid "option was renamed; use %s" +#: ipalib/plugins/pwpolicy.py:332 +msgid "History size" msgstr "" -#: ipalib/plugins/permission.py:787 -#, python-format -msgid "Cannot use %(old_name)s with %(new_name)s" +#: ipalib/plugins/pwpolicy.py:333 +msgid "Password history size" msgstr "" -#: ipalib/plugins/permission.py:801 ipalib/plugins/permission.py:816 -#, python-format -msgid "%s: group not found" +#: ipalib/plugins/pwpolicy.py:338 +msgid "Character classes" msgstr "" -#: ipalib/plugins/permission.py:811 -msgid "target and targetgroup are mutually exclusive" +#: ipalib/plugins/pwpolicy.py:339 +msgid "Minimum number of character classes" msgstr "" -#: ipalib/plugins/permission.py:832 -msgid "subtree and type are mutually exclusive" +#: ipalib/plugins/pwpolicy.py:345 +msgid "Min length" msgstr "" -#: ipalib/plugins/permission.py:868 -msgid "Bad search filter" +#: ipalib/plugins/pwpolicy.py:346 +msgid "Minimum length of password" msgstr "" -#: ipalib/plugins/permission.py:878 -#, python-format -msgid "Entry %s does not exist" +#: ipalib/plugins/pwpolicy.py:352 +msgid "Priority of the policy (higher number means lower priority" msgstr "" -#: ipalib/plugins/permission.py:887 -msgid "" -"there must be at least one target entry specifier (e.g. target, " -"targetfilter, attrs)" +#: ipalib/plugins/pwpolicy.py:406 +msgid "Maximum password life must be greater than minimum." msgstr "" -#: ipalib/plugins/permission.py:897 -msgid "Add a system permission without an ACI (internal command)" +#: ipalib/plugins/pwpolicy.py:424 +msgid "Add a new group password policy." msgstr "" -#: ipalib/plugins/permission.py:899 ipalib/plugins/permission.py:930 -#, python-format -msgid "Added permission \"%(value)s\"" +#: ipalib/plugins/pwpolicy.py:450 +msgid "Delete a group password policy." msgstr "" -#: ipalib/plugins/permission.py:905 -msgid "Permission flags" +#: ipalib/plugins/pwpolicy.py:462 +msgid "cannot delete global password policy" msgstr "" -#: ipalib/plugins/permission.py:928 -msgid "Add a new permission." +#: ipalib/plugins/pwpolicy.py:477 +msgid "Modify a group password policy." msgstr "" -#: ipalib/plugins/permission.py:956 -msgid "attrs and included attributes are mutually exclusive" +#: ipalib/plugins/pwpolicy.py:488 +msgid "priority cannot be set on global policy" msgstr "" -#: ipalib/plugins/permission.py:990 -msgid "Delete a permission." +#: ipalib/plugins/pwpolicy.py:520 +msgid "Display information about password policy." msgstr "" -#: ipalib/plugins/permission.py:992 -#, python-format -msgid "Deleted permission \"%(value)s\"" +#: ipalib/plugins/pwpolicy.py:525 +msgid "Display effective policy for a specific user" msgstr "" -#: ipalib/plugins/permission.py:998 -msgid "force delete of SYSTEM permissions" +#: ipalib/plugins/pwpolicy.py:549 +msgid "Search for group password policies." msgstr "" -#: ipalib/plugins/permission.py:1012 -msgid "cannot delete managed permissions" +#: ipalib/plugins/radiusproxy.py:27 +msgid "" +"\n" +"RADIUS Proxy Servers\n" msgstr "" -#: ipalib/plugins/permission.py:1018 -#, python-format -msgid "ACI of permission %s was not found" +#: ipalib/plugins/radiusproxy.py:29 +msgid "" +"\n" +"Manage RADIUS Proxy Servers.\n" msgstr "" -#: ipalib/plugins/permission.py:1025 -msgid "Modify a permission." +#: ipalib/plugins/radiusproxy.py:31 +msgid "" +"\n" +"IPA supports the use of an external RADIUS proxy server for krb5 OTP\n" +"authentications. This permits a great deal of flexibility when\n" +"integrating with third-party authentication services.\n" msgstr "" -#: ipalib/plugins/permission.py:1027 -#, python-format -msgid "Modified permission \"%(value)s\"" +#: ipalib/plugins/radiusproxy.py:37 +msgid "" +"\n" +" Add a new server:\n" +" ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812\n" msgstr "" -#: ipalib/plugins/permission.py:1061 -msgid "cannot rename managed permissions" +#: ipalib/plugins/radiusproxy.py:40 +msgid "" +"\n" +" Find all servers whose entries include the string \"example.com\":\n" +" ipa radiusproxy-find example.com\n" msgstr "" -#: ipalib/plugins/permission.py:1068 ipalib/plugins/permission.py:1072 -msgid "not modifiable on managed permissions" +#: ipalib/plugins/radiusproxy.py:43 +msgid "" +"\n" +" Examine the configuration:\n" +" ipa radiusproxy-show MyRADIUS\n" msgstr "" -#: ipalib/plugins/permission.py:1079 -msgid "only available on managed permissions" +#: ipalib/plugins/radiusproxy.py:46 +msgid "" +"\n" +" Change the secret:\n" +" ipa radiusproxy-mod MyRADIUS --secret\n" msgstr "" -#: ipalib/plugins/permission.py:1086 ipalib/plugins/permission.py:1206 -msgid "attrs and included/excluded attributes are mutually exclusive" +#: ipalib/plugins/radiusproxy.py:49 +msgid "" +"\n" +" Delete a configuration:\n" +" ipa radiusproxy-del MyRADIUS\n" msgstr "" -#: ipalib/plugins/permission.py:1097 -msgid "cannot set bindtype for a permission that is assigned to a privilege" +#: ipalib/plugins/radiusproxy.py:60 +msgid "invalid attribute name" msgstr "" -#: ipalib/plugins/permission.py:1191 -msgid "Search for permissions." +#: ipalib/plugins/radiusproxy.py:72 +msgid "invalid port number" msgstr "" -#: ipalib/plugins/permission.py:1194 -#, python-format -msgid "%(count)d permission matched" -msgid_plural "%(count)d permissions matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/permission.py:1321 -msgid "Display information about a permission." +#: ipalib/plugins/radiusproxy.py:90 +msgid "RADIUS proxy server" msgstr "" -#: ipalib/plugins/ping.py:26 -msgid "" -"\n" -"Ping the remote IPA server to ensure it is running.\n" -"\n" -"The ping command sends an echo request to an IPA server. The server\n" -"returns its version information. This is used by an IPA client\n" -"to confirm that the server is available and accepting requests.\n" -"\n" -"The server from xmlrpc_uri in /etc/ipa/default.conf is contacted first.\n" -"If it does not respond then the client will contact any servers defined\n" -"by ldap SRV records in DNS.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Ping an IPA server:\n" -" ipa ping\n" -" ------------------------------------------\n" -" IPA server version 2.1.9. API version 2.20\n" -" ------------------------------------------\n" -"\n" -" Ping an IPA server verbosely:\n" -" ipa -v ping\n" -" ipa: INFO: trying https://ipa.example.com/ipa/xml\n" -" ipa: INFO: Forwarding 'ping' to server 'https://ipa.example.com/ipa/xml'\n" -" -----------------------------------------------------\n" -" IPA server version 2.1.9. API version 2.20\n" -" -----------------------------------------------------\n" +#: ipalib/plugins/radiusproxy.py:91 +msgid "RADIUS proxy servers" msgstr "" -#: ipalib/plugins/ping.py:59 -msgid "Ping a remote server." +#: ipalib/plugins/radiusproxy.py:98 +msgid "RADIUS Servers" msgstr "" -#: ipalib/plugins/pkinit.py:27 -msgid "" -"\n" -"Kerberos pkinit options\n" -"\n" -"Enable or disable anonymous pkinit using the principal\n" -"WELLKNOWN/ANONYMOUS@REALM. The server must have been installed with\n" -"pkinit support.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Enable anonymous pkinit:\n" -" ipa pkinit-anonymous enable\n" -"\n" -" Disable anonymous pkinit:\n" -" ipa pkinit-anonymous disable\n" -"\n" -"For more information on anonymous pkinit see:\n" -"\n" -"http://k5wiki.kerberos.org/wiki/Projects/Anonymous_pkinit\n" +#: ipalib/plugins/radiusproxy.py:99 +msgid "RADIUS Server" msgstr "" -#: ipalib/plugins/pkinit.py:54 -msgid "pkinit" +#: ipalib/plugins/radiusproxy.py:104 +msgid "RADIUS proxy server name" msgstr "" -#: ipalib/plugins/pkinit.py:56 -msgid "PKINIT" +#: ipalib/plugins/radiusproxy.py:110 +msgid "A description of this RADIUS proxy server" msgstr "" -#: ipalib/plugins/pkinit.py:67 -#, python-format -msgid "Unknown command %s" +#: ipalib/plugins/radiusproxy.py:115 +msgid "The hostname or IP (with or without port)" msgstr "" -#: ipalib/plugins/pkinit.py:72 -msgid "Enable or Disable Anonymous PKINIT." +#: ipalib/plugins/radiusproxy.py:119 +msgid "Secret" msgstr "" -#: ipalib/plugins/privilege.py:24 -msgid "" -"\n" -"Privileges\n" -"\n" -"A privilege combines permissions into a logical task. A permission provides\n" -"the rights to do a single task. There are some IPA operations that require\n" -"multiple permissions to succeed. A privilege is where permissions are\n" -"combined in order to perform a specific task.\n" -"\n" -"For example, adding a user requires the following permissions:\n" -" * Creating a new user entry\n" -" * Resetting a user password\n" -" * Adding the new user to the default IPA users group\n" -"\n" -"Combining these three low-level tasks into a higher level task in the\n" -"form of a privilege named \"Add User\" makes it easier to manage Roles.\n" -"\n" -"A privilege may not contain other privileges.\n" -"\n" -"See role and permission for additional information.\n" +#: ipalib/plugins/radiusproxy.py:120 +msgid "The secret used to encrypt data" msgstr "" -#: ipalib/plugins/privilege.py:54 -msgid "privilege" +#: ipalib/plugins/radiusproxy.py:126 +msgid "Timeout" msgstr "" -#: ipalib/plugins/privilege.py:55 -msgid "privileges" +#: ipalib/plugins/radiusproxy.py:127 +msgid "The total timeout across all retries (in seconds)" msgstr "" -#: ipalib/plugins/privilege.py:96 -msgid "Privileges" +#: ipalib/plugins/radiusproxy.py:132 +msgid "Retries" msgstr "" -#: ipalib/plugins/privilege.py:97 -msgid "Privilege" +#: ipalib/plugins/radiusproxy.py:133 +msgid "The number of times to retry authentication" msgstr "" -#: ipalib/plugins/privilege.py:102 -msgid "Privilege name" +#: ipalib/plugins/radiusproxy.py:139 +msgid "User attribute" msgstr "" -#: ipalib/plugins/privilege.py:108 -msgid "Privilege description" +#: ipalib/plugins/radiusproxy.py:140 +msgid "The username attribute on the user object" msgstr "" -#: ipalib/plugins/privilege.py:115 -msgid "Add a new privilege." +#: ipalib/plugins/radiusproxy.py:146 +msgid "Add a new RADIUS proxy server." msgstr "" -#: ipalib/plugins/privilege.py:117 +#: ipalib/plugins/radiusproxy.py:147 #, python-format -msgid "Added privilege \"%(value)s\"" +msgid "Added RADIUS proxy server \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:122 -msgid "Delete a privilege." +#: ipalib/plugins/radiusproxy.py:151 +msgid "Delete a RADIUS proxy server." msgstr "" -#: ipalib/plugins/privilege.py:124 +#: ipalib/plugins/radiusproxy.py:152 #, python-format -msgid "Deleted privilege \"%(value)s\"" +msgid "Deleted RADIUS proxy server \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:129 -msgid "Modify a privilege." +#: ipalib/plugins/radiusproxy.py:156 +msgid "Modify a RADIUS proxy server." msgstr "" -#: ipalib/plugins/privilege.py:131 +#: ipalib/plugins/radiusproxy.py:157 #, python-format -msgid "Modified privilege \"%(value)s\"" +msgid "Modified RADIUS proxy server \"%(value)s\"" msgstr "" -#: ipalib/plugins/privilege.py:136 -msgid "Search for privileges." +#: ipalib/plugins/radiusproxy.py:161 +msgid "Search for RADIUS proxy servers." msgstr "" -#: ipalib/plugins/privilege.py:139 +#: ipalib/plugins/radiusproxy.py:163 #, python-format -msgid "%(count)d privilege matched" -msgid_plural "%(count)d privileges matched" +msgid "%(count)d RADIUS proxy server matched" +msgid_plural "%(count)d RADIUS proxy servers matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/privilege.py:145 -msgid "Display information about a privilege." +#: ipalib/plugins/radiusproxy.py:168 +msgid "Display information about a RADIUS proxy server." msgstr "" -#: ipalib/plugins/privilege.py:150 -msgid "Add members to a privilege." +#: ipalib/plugins/realmdomains.py:30 +msgid "" +"\n" +"Realm domains\n" +"\n" +"Manage the list of domains associated with IPA realm.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Display the current list of realm domains:\n" +" ipa realmdomains-show\n" +"\n" +" Replace the list of realm domains:\n" +" ipa realmdomains-mod --domain=example.com\n" +" ipa realmdomains-mod --domain={example1.com,example2.com,example3.com}\n" +"\n" +" Add a domain to the list of realm domains:\n" +" ipa realmdomains-mod --add-domain=newdomain.com\n" +"\n" +" Delete a domain from the list of realm domains:\n" +" ipa realmdomains-mod --del-domain=olddomain.com\n" msgstr "" -#: ipalib/plugins/privilege.py:165 -msgid "Add permissions to a privilege." +#: ipalib/plugins/realmdomains.py:70 +msgid "Realm domains" msgstr "" -#: ipalib/plugins/privilege.py:180 -msgid "Number of permissions added" +#: ipalib/plugins/realmdomains.py:106 +msgid "Add domain" msgstr "" -#: ipalib/plugins/privilege.py:205 -#, python-format +#: ipalib/plugins/realmdomains.py:112 +msgid "Delete domain" +msgstr "" + +#: ipalib/plugins/realmdomains.py:120 +msgid "Modify realm domains." +msgstr "" + +#: ipalib/plugins/realmdomains.py:125 +msgid "Force adding domain even if not in DNS" +msgstr "" + +#: ipalib/plugins/realmdomains.py:138 msgid "" -"cannot add permission \"%(perm)s\" with bindtype \"%(bindtype)s\" to a " -"privilege" +"you cannot specify the --domain option together with --add-domain or --del-" +"domain" msgstr "" -#: ipalib/plugins/privilege.py:218 -msgid "Remove permissions from a privilege." +#: ipalib/plugins/realmdomains.py:140 ipalib/plugins/realmdomains.py:160 +msgid "cannot delete domain of IPA server" msgstr "" -#: ipalib/plugins/privilege.py:235 -msgid "Number of permissions removed" +#: ipalib/plugins/realmdomains.py:145 +#, python-format +msgid "no SOA or NS records found for domains: %s" msgstr "" -#: ipalib/plugins/pwpolicy.py:31 +#: ipalib/plugins/realmdomains.py:154 +#, python-format +msgid "no SOA or NS records found for domain %s" +msgstr "" + +#: ipalib/plugins/realmdomains.py:217 +msgid "Display the list of realm domains." +msgstr "" + +#: ipalib/plugins/role.py:27 msgid "" "\n" -"Password policy\n" +"Roles\n" "\n" -"A password policy sets limitations on IPA passwords, including maximum\n" -"lifetime, minimum lifetime, the number of passwords to save in\n" -"history, the number of character classes required (for stronger passwords)\n" -"and the minimum password length.\n" +"A role is used for fine-grained delegation. A permission grants the ability\n" +"to perform given low-level tasks (add a user, modify a group, etc.). A\n" +"privilege combines one or more permissions into a higher-level abstraction\n" +"such as useradmin. A useradmin would be able to add, delete and modify " +"users.\n" "\n" -"By default there is a single, global policy for all users. You can also\n" -"create a password policy to apply to a group. Each user is only subject\n" -"to one password policy, either the group policy or the global policy. A\n" -"group policy stands alone; it is not a super-set of the global policy plus\n" -"custom settings.\n" +"Privileges are assigned to Roles.\n" "\n" -"Each group password policy requires a unique priority setting. If a user\n" -"is in multiple groups that have password policies, this priority determines\n" -"which password policy is applied. A lower value indicates a higher priority\n" -"policy.\n" +"Users, groups, hosts and hostgroups may be members of a Role.\n" "\n" -"Group password policies are automatically removed when the groups they\n" -"are associated with are removed.\n" +"Roles can not contain other roles.\n" "\n" "EXAMPLES:\n" "\n" -" Modify the global policy:\n" -" ipa pwpolicy-mod --minlength=10\n" -"\n" -" Add a new group password policy:\n" -" ipa pwpolicy-add --maxlife=90 --minlife=1 --history=10 --minclasses=3 --" -"minlength=8 --priority=10 localadmins\n" +" Add a new role:\n" +" ipa role-add --desc=\"Junior-level admin\" junioradmin\n" "\n" -" Display the global password policy:\n" -" ipa pwpolicy-show\n" +" Add some privileges to this role:\n" +" ipa role-add-privilege --privileges=addusers junioradmin\n" +" ipa role-add-privilege --privileges=change_password junioradmin\n" +" ipa role-add-privilege --privileges=add_user_to_default_group " +"junioradmin\n" "\n" -" Display a group password policy:\n" -" ipa pwpolicy-show localadmins\n" +" Add a group of users to this role:\n" +" ipa group-add --desc=\"User admins\" useradmins\n" +" ipa role-add-member --groups=useradmins junioradmin\n" "\n" -" Display the policy that would be applied to a given user:\n" -" ipa pwpolicy-show --user=tuser1\n" +" Display information about a role:\n" +" ipa role-show junioradmin\n" "\n" -" Modify a group password policy:\n" -" ipa pwpolicy-mod --minclasses=2 localadmins\n" +" The result of this is that any users in the group 'junioradmin' can\n" +" add users, reset passwords or add a user to the default IPA user group.\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:130 +#: ipalib/plugins/role.py:70 +msgid "role" +msgstr "" + +#: ipalib/plugins/role.py:71 +msgid "roles" +msgstr "" + +#: ipalib/plugins/role.py:131 +msgid "Role" +msgstr "" + +#: ipalib/plugins/role.py:136 +msgid "Role name" +msgstr "" + +#: ipalib/plugins/role.py:142 +msgid "A description of this role-group" +msgstr "" + +#: ipalib/plugins/role.py:150 +msgid "Add a new role." +msgstr "" + +#: ipalib/plugins/role.py:152 #, python-format -msgid "priority must be a unique value (%(prio)d already used by %(gname)s)" +msgid "Added role \"%(value)s\"" msgstr "" -#: ipalib/plugins/pwpolicy.py:214 -msgid "password policy" +#: ipalib/plugins/role.py:158 +msgid "Delete a role." msgstr "" -#: ipalib/plugins/pwpolicy.py:215 -msgid "password policies" +#: ipalib/plugins/role.py:160 +#, python-format +msgid "Deleted role \"%(value)s\"" msgstr "" -#: ipalib/plugins/pwpolicy.py:284 -msgid "Max failures" +#: ipalib/plugins/role.py:166 +msgid "Modify a role." msgstr "" -#: ipalib/plugins/pwpolicy.py:285 -msgid "Consecutive failures before lockout" +#: ipalib/plugins/role.py:168 +#, python-format +msgid "Modified role \"%(value)s\"" msgstr "" -#: ipalib/plugins/pwpolicy.py:290 -msgid "Failure reset interval" +#: ipalib/plugins/role.py:174 +msgid "Search for roles." msgstr "" -#: ipalib/plugins/pwpolicy.py:291 -msgid "Period after which failure count will be reset (seconds)" +#: ipalib/plugins/role.py:177 +#, python-format +msgid "%(count)d role matched" +msgid_plural "%(count)d roles matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/role.py:184 +msgid "Display information about a role." msgstr "" -#: ipalib/plugins/pwpolicy.py:296 -msgid "Lockout duration" +#: ipalib/plugins/role.py:190 +msgid "Add members to a role." msgstr "" -#: ipalib/plugins/pwpolicy.py:297 -msgid "Period for which lockout is enforced (seconds)" +#: ipalib/plugins/role.py:196 +msgid "Remove members from a role." msgstr "" -#: ipalib/plugins/pwpolicy.py:302 -msgid "Password Policies" +#: ipalib/plugins/role.py:202 +msgid "Add privileges to a role." msgstr "" -#: ipalib/plugins/pwpolicy.py:308 -msgid "Group" +#: ipalib/plugins/role.py:217 +msgid "Number of privileges added" msgstr "" -#: ipalib/plugins/pwpolicy.py:309 -msgid "Manage password policy for specific group" +#: ipalib/plugins/role.py:225 +msgid "Remove privileges from a role." msgstr "" -#: ipalib/plugins/pwpolicy.py:314 -msgid "Max lifetime (days)" +#: ipalib/plugins/role.py:240 +msgid "Number of privileges removed" +msgstr "" + +#: ipalib/plugins/selfservice.py:29 +msgid "" +"\n" +"Self-service Permissions\n" +"\n" +"A permission enables fine-grained delegation of permissions. Access Control\n" +"Rules, or instructions (ACIs), grant permission to permissions to perform\n" +"given tasks such as adding a user, modifying a group, etc.\n" +"\n" +"A Self-service permission defines what an object can change in its own " +"entry.\n" +"\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a self-service rule to allow users to manage their address (using Bash\n" +" brace expansion):\n" +" ipa selfservice-add --permissions=write --attrs={street,postalCode,l,c," +"st} \"Users manage their own address\"\n" +"\n" +" When managing the list of attributes you need to include all attributes\n" +" in the list, including existing ones.\n" +" Add telephoneNumber to the list (using Bash brace expansion):\n" +" ipa selfservice-mod --attrs={street,postalCode,l,c,st,telephoneNumber} " +"\"Users manage their own address\"\n" +"\n" +" Display our updated rule:\n" +" ipa selfservice-show \"Users manage their own address\"\n" +"\n" +" Delete a rule:\n" +" ipa selfservice-del \"Users manage their own address\"\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:315 -msgid "Maximum password lifetime (in days)" +#: ipalib/plugins/selfservice.py:75 +msgid "self service permission" msgstr "" -#: ipalib/plugins/pwpolicy.py:321 -msgid "Min lifetime (hours)" +#: ipalib/plugins/selfservice.py:76 +msgid "self service permissions" msgstr "" -#: ipalib/plugins/pwpolicy.py:322 -msgid "Minimum password lifetime (in hours)" +#: ipalib/plugins/selfservice.py:77 +msgid "Self Service Permissions" msgstr "" -#: ipalib/plugins/pwpolicy.py:327 -msgid "History size" +#: ipalib/plugins/selfservice.py:78 +msgid "Self Service Permission" msgstr "" -#: ipalib/plugins/pwpolicy.py:328 -msgid "Password history size" +#: ipalib/plugins/selfservice.py:83 ipalib/plugins/selfservice.py:84 +msgid "Self-service name" msgstr "" -#: ipalib/plugins/pwpolicy.py:333 -msgid "Character classes" +#: ipalib/plugins/selfservice.py:98 +msgid "Attributes to which the permission applies." msgstr "" -#: ipalib/plugins/pwpolicy.py:334 -msgid "Minimum number of character classes" +#: ipalib/plugins/selfservice.py:127 +msgid "Add a new self-service permission." msgstr "" -#: ipalib/plugins/pwpolicy.py:340 -msgid "Min length" +#: ipalib/plugins/selfservice.py:129 +#, python-format +msgid "Added selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/pwpolicy.py:341 -msgid "Minimum length of password" +#: ipalib/plugins/selfservice.py:149 +msgid "Delete a self-service permission." msgstr "" -#: ipalib/plugins/pwpolicy.py:347 -msgid "Priority of the policy (higher number means lower priority" +#: ipalib/plugins/selfservice.py:152 +#, python-format +msgid "Deleted selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/pwpolicy.py:401 -msgid "Maximum password life must be greater than minimum." +#: ipalib/plugins/selfservice.py:167 +msgid "Modify a self-service permission." msgstr "" -#: ipalib/plugins/pwpolicy.py:419 -msgid "Add a new group password policy." +#: ipalib/plugins/selfservice.py:169 +#, python-format +msgid "Modified selfservice \"%(value)s\"" msgstr "" -#: ipalib/plugins/pwpolicy.py:445 -msgid "Delete a group password policy." +#: ipalib/plugins/selfservice.py:189 +msgid "Search for a self-service permission." msgstr "" -#: ipalib/plugins/pwpolicy.py:457 -msgid "cannot delete global password policy" -msgstr "" +#: ipalib/plugins/selfservice.py:192 +#, python-format +msgid "%(count)d selfservice matched" +msgid_plural "%(count)d selfservices matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/pwpolicy.py:472 -msgid "Modify a group password policy." +#: ipalib/plugins/selfservice.py:216 +msgid "Display information about a self-service permission." msgstr "" -#: ipalib/plugins/pwpolicy.py:483 -msgid "priority cannot be set on global policy" +#: ipalib/plugins/selinuxusermap.py:27 +msgid "" +"\n" +"SELinux User Mapping\n" +"\n" +"Map IPA users to SELinux users by host.\n" +"\n" +"Hosts, hostgroups, users and groups can be either defined within\n" +"the rule or it may point to an existing HBAC rule. When using\n" +"--hbacrule option to selinuxusermap-find an exact match is made on the\n" +"HBAC rule name, so only one or zero entries will be returned.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Create a rule, \"test1\", that sets all users to xguest_u:s0 on the host " +"\"server\":\n" +" ipa selinuxusermap-add --usercat=all --selinuxuser=xguest_u:s0 test1\n" +" ipa selinuxusermap-add-host --hosts=server.example.com test1\n" +"\n" +" Create a rule, \"test2\", that sets all users to guest_u:s0 and uses an " +"existing HBAC rule for users and hosts:\n" +" ipa selinuxusermap-add --usercat=all --hbacrule=webserver --" +"selinuxuser=guest_u:s0 test2\n" +"\n" +" Display the properties of a rule:\n" +" ipa selinuxusermap-show test2\n" +"\n" +" Create a rule for a specific user. This sets the SELinux context for\n" +" user john to unconfined_u:s0-s0:c0.c1023 on any machine:\n" +" ipa selinuxusermap-add --hostcat=all --selinuxuser=unconfined_u:s0-s0:c0." +"c1023 john_unconfined\n" +" ipa selinuxusermap-add-user --users=john john_unconfined\n" +"\n" +" Disable a rule:\n" +" ipa selinuxusermap-disable test1\n" +"\n" +" Enable a rule:\n" +" ipa selinuxusermap-enable test1\n" +"\n" +" Find a rule referencing a specific HBAC rule:\n" +" ipa selinuxusermap-find --hbacrule=allow_some\n" +"\n" +" Remove a rule:\n" +" ipa selinuxusermap-del john_unconfined\n" +"\n" +"SEEALSO:\n" +"\n" +" The list controlling the order in which the SELinux user map is applied\n" +" and the default SELinux user are available in the config-show command.\n" msgstr "" -#: ipalib/plugins/pwpolicy.py:515 -msgid "Display information about password policy." +#: ipalib/plugins/selinuxusermap.py:74 +msgid "HBAC rule and local members cannot both be set" msgstr "" -#: ipalib/plugins/pwpolicy.py:520 -msgid "Display effective policy for a specific user" +#: ipalib/plugins/selinuxusermap.py:101 +msgid "Invalid SELinux user name, only a-Z and _ are allowed" msgstr "" -#: ipalib/plugins/pwpolicy.py:544 -msgid "Search for group password policies." +#: ipalib/plugins/selinuxusermap.py:103 +msgid "Invalid MLS value, must match s[0-15](-s[0-15])" msgstr "" -#: ipalib/plugins/radiusproxy.py:27 +#: ipalib/plugins/selinuxusermap.py:106 msgid "" -"\n" -"RADIUS Proxy Servers\n" +"Invalid MCS value, must match c[0-1023].c[0-1023] and/or c[0-1023]-c[0-c0123]" msgstr "" -#: ipalib/plugins/radiusproxy.py:29 -msgid "" -"\n" -"Manage RADIUS Proxy Servers.\n" +#: ipalib/plugins/selinuxusermap.py:121 +msgid "SELinux user map list not found in configuration" msgstr "" -#: ipalib/plugins/radiusproxy.py:31 -msgid "" -"\n" -"IPA supports the use of an external RADIUS proxy server for krb5 OTP\n" -"authentications. This permits a great deal of flexibility when\n" -"integrating with third-party authentication services.\n" +#: ipalib/plugins/selinuxusermap.py:126 +#, python-format +msgid "SELinux user %(user)s not found in ordering list (in config)" msgstr "" -#: ipalib/plugins/radiusproxy.py:37 -msgid "" -"\n" -" Add a new server:\n" -" ipa radiusproxy-add MyRADIUS --server=radius.example.com:1812\n" +#: ipalib/plugins/selinuxusermap.py:138 +msgid "SELinux User Map rule" msgstr "" -#: ipalib/plugins/radiusproxy.py:40 -msgid "" -"\n" -" Find all servers whose entries include the string \"example.com\":\n" -" ipa radiusproxy-find example.com\n" +#: ipalib/plugins/selinuxusermap.py:139 +msgid "SELinux User Map rules" msgstr "" -#: ipalib/plugins/radiusproxy.py:43 -msgid "" -"\n" -" Examine the configuration:\n" -" ipa radiusproxy-show MyRADIUS\n" +#: ipalib/plugins/selinuxusermap.py:195 +msgid "SELinux User Maps" msgstr "" -#: ipalib/plugins/radiusproxy.py:46 -msgid "" -"\n" -" Change the secret:\n" -" ipa radiusproxy-mod MyRADIUS --secret\n" +#: ipalib/plugins/selinuxusermap.py:196 +msgid "SELinux User Map" msgstr "" -#: ipalib/plugins/radiusproxy.py:49 -msgid "" -"\n" -" Delete a configuration:\n" -" ipa radiusproxy-del MyRADIUS\n" +#: ipalib/plugins/selinuxusermap.py:206 +msgid "SELinux User" msgstr "" -#: ipalib/plugins/radiusproxy.py:60 -msgid "invalid attribute name" +#: ipalib/plugins/selinuxusermap.py:211 +msgid "HBAC Rule that defines the users, groups and hostgroups" msgstr "" -#: ipalib/plugins/radiusproxy.py:72 -msgid "invalid port number" +#: ipalib/plugins/selinuxusermap.py:271 +#, python-format +msgid "HBAC rule %(rule)s not found" msgstr "" -#: ipalib/plugins/radiusproxy.py:90 -msgid "RADIUS proxy server" +#: ipalib/plugins/selinuxusermap.py:290 +msgid "Create a new SELinux User Map." msgstr "" -#: ipalib/plugins/radiusproxy.py:91 -msgid "RADIUS proxy servers" +#: ipalib/plugins/selinuxusermap.py:292 +#, python-format +msgid "Added SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:98 -msgid "RADIUS Servers" +#: ipalib/plugins/selinuxusermap.py:327 +msgid "Delete a SELinux User Map." msgstr "" -#: ipalib/plugins/radiusproxy.py:99 -msgid "RADIUS Server" +#: ipalib/plugins/selinuxusermap.py:329 +#, python-format +msgid "Deleted SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:104 -msgid "RADIUS proxy server name" +#: ipalib/plugins/selinuxusermap.py:335 +msgid "Modify a SELinux User Map." msgstr "" -#: ipalib/plugins/radiusproxy.py:110 -msgid "A description of this RADIUS proxy server" +#: ipalib/plugins/selinuxusermap.py:337 +#, python-format +msgid "Modified SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:114 ipalib/plugins/user.py:101 -msgid "Server" +#: ipalib/plugins/selinuxusermap.py:391 +msgid "Search for SELinux User Maps." msgstr "" -#: ipalib/plugins/radiusproxy.py:115 -msgid "The hostname or IP (with or without port)" -msgstr "" +#: ipalib/plugins/selinuxusermap.py:394 +#, python-format +msgid "%(count)d SELinux User Map matched" +msgid_plural "%(count)d SELinux User Maps matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/radiusproxy.py:119 -msgid "Secret" +#: ipalib/plugins/selinuxusermap.py:423 +msgid "Display the properties of a SELinux User Map rule." msgstr "" -#: ipalib/plugins/radiusproxy.py:120 -msgid "The secret used to encrypt data" +#: ipalib/plugins/selinuxusermap.py:434 +msgid "Enable an SELinux User Map rule." msgstr "" -#: ipalib/plugins/radiusproxy.py:126 -msgid "Timeout" +#: ipalib/plugins/selinuxusermap.py:436 +#, python-format +msgid "Enabled SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:127 -msgid "The total timeout across all retries (in seconds)" +#: ipalib/plugins/selinuxusermap.py:464 +msgid "Disable an SELinux User Map rule." msgstr "" -#: ipalib/plugins/radiusproxy.py:132 -msgid "Retries" +#: ipalib/plugins/selinuxusermap.py:466 +#, python-format +msgid "Disabled SELinux User Map \"%(value)s\"" msgstr "" -#: ipalib/plugins/radiusproxy.py:133 -msgid "The number of times to retry authentication" +#: ipalib/plugins/selinuxusermap.py:494 +msgid "Add users and groups to an SELinux User Map rule." msgstr "" -#: ipalib/plugins/radiusproxy.py:139 -msgid "User attribute" +#: ipalib/plugins/selinuxusermap.py:518 +msgid "Remove users and groups from an SELinux User Map rule." msgstr "" -#: ipalib/plugins/radiusproxy.py:140 -msgid "The username attribute on the user object" +#: ipalib/plugins/selinuxusermap.py:527 +msgid "Add target hosts and hostgroups to an SELinux User Map rule." msgstr "" -#: ipalib/plugins/radiusproxy.py:146 -msgid "Add a new RADIUS proxy server." +#: ipalib/plugins/selinuxusermap.py:551 +msgid "Remove target hosts and hostgroups from an SELinux User Map rule." msgstr "" -#: ipalib/plugins/radiusproxy.py:147 -#, python-format -msgid "Added RADIUS proxy server \"%(value)s\"" +#: ipalib/plugins/server.py:15 +msgid "" +"\n" +"IPA servers\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:151 -msgid "Delete a RADIUS proxy server." +#: ipalib/plugins/server.py:17 +msgid "" +"\n" +"Get information about installed IPA servers.\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:152 -#, python-format -msgid "Deleted RADIUS proxy server \"%(value)s\"" +#: ipalib/plugins/server.py:21 +msgid "" +"\n" +" Find all servers:\n" +" ipa server-find\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:156 -msgid "Modify a RADIUS proxy server." +#: ipalib/plugins/server.py:24 +msgid "" +"\n" +" Show specific server:\n" +" ipa server-show ipa.example.com\n" msgstr "" -#: ipalib/plugins/radiusproxy.py:157 -#, python-format -msgid "Modified RADIUS proxy server \"%(value)s\"" +#: ipalib/plugins/server.py:38 +msgid "server" msgstr "" -#: ipalib/plugins/radiusproxy.py:161 -msgid "Search for RADIUS proxy servers." +#: ipalib/plugins/server.py:39 +msgid "servers" msgstr "" -#: ipalib/plugins/radiusproxy.py:163 -#, python-format -msgid "%(count)d RADIUS proxy server matched" -msgid_plural "%(count)d RADIUS proxy servers matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/radiusproxy.py:168 -msgid "Display information about a RADIUS proxy server." +#: ipalib/plugins/server.py:45 +msgid "IPA Servers" msgstr "" -#: ipalib/plugins/realmdomains.py:30 -msgid "" -"\n" -"Realm domains\n" -"\n" -"Manage the list of domains associated with IPA realm.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Display the current list of realm domains:\n" -" ipa realmdomains-show\n" -"\n" -" Replace the list of realm domains:\n" -" ipa realmdomains-mod --domain=example.com\n" -" ipa realmdomains-mod --domain={example1.com,example2.com,example3.com}\n" -"\n" -" Add a domain to the list of realm domains:\n" -" ipa realmdomains-mod --add-domain=newdomain.com\n" -"\n" -" Delete a domain from the list of realm domains:\n" -" ipa realmdomains-mod --del-domain=olddomain.com\n" +#: ipalib/plugins/server.py:52 +msgid "Server name" msgstr "" -#: ipalib/plugins/realmdomains.py:70 -msgid "Realm domains" +#: ipalib/plugins/server.py:53 +msgid "IPA server hostname" msgstr "" -#: ipalib/plugins/realmdomains.py:106 -msgid "Add domain" +#: ipalib/plugins/server.py:58 +msgid "Managed suffix" msgstr "" -#: ipalib/plugins/realmdomains.py:112 -msgid "Delete domain" +#: ipalib/plugins/server.py:63 +msgid "Min domain level" msgstr "" -#: ipalib/plugins/realmdomains.py:120 -msgid "Modify realm domains." +#: ipalib/plugins/server.py:64 +msgid "Minimum domain level" msgstr "" -#: ipalib/plugins/realmdomains.py:125 -msgid "Force adding domain even if not in DNS" +#: ipalib/plugins/server.py:70 +msgid "Max domain level" msgstr "" -#: ipalib/plugins/realmdomains.py:138 -msgid "" -"you cannot specify the --domain option together with --add-domain or --del-" -"domain" +#: ipalib/plugins/server.py:71 +msgid "Maximum domain level" msgstr "" -#: ipalib/plugins/realmdomains.py:140 ipalib/plugins/realmdomains.py:160 -msgid "cannot delete domain of IPA server" +#: ipalib/plugins/server.py:79 +msgid "Search for IPA servers." msgstr "" -#: ipalib/plugins/realmdomains.py:145 +#: ipalib/plugins/server.py:82 #, python-format -msgid "no SOA or NS records found for domains: %s" +msgid "%(count)d IPA server matched" +msgid_plural "%(count)d IPA servers matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/server.py:89 +msgid "Show IPA server." msgstr "" -#: ipalib/plugins/realmdomains.py:154 -#, python-format -msgid "no SOA or NS records found for domain %s" +#: ipalib/plugins/server.py:94 +msgid "Delete IPA server." msgstr "" -#: ipalib/plugins/realmdomains.py:217 -msgid "Display the list of realm domains." +#: ipalib/plugins/server.py:96 +#, python-format +msgid "Deleted IPA server \"%(value)s\"" msgstr "" -#: ipalib/plugins/role.py:27 +#: ipalib/plugins/service.py:36 msgid "" "\n" -"Roles\n" +"Services\n" "\n" -"A role is used for fine-grained delegation. A permission grants the ability\n" -"to perform given low-level tasks (add a user, modify a group, etc.). A\n" -"privilege combines one or more permissions into a higher-level abstraction\n" -"such as useradmin. A useradmin would be able to add, delete and modify " -"users.\n" +"A IPA service represents a service that runs on a host. The IPA service\n" +"record can store a Kerberos principal, an SSL certificate, or both.\n" "\n" -"Privileges are assigned to Roles.\n" +"An IPA service can be managed directly from a machine, provided that\n" +"machine has been given the correct permission. This is true even for\n" +"machines other than the one the service is associated with. For example,\n" +"requesting an SSL certificate using the host service principal credentials\n" +"of the host. To manage a service using host credentials you need to\n" +"kinit as the host:\n" "\n" -"Users, groups, hosts and hostgroups may be members of a Role.\n" +" # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n" "\n" -"Roles can not contain other roles.\n" +"Adding an IPA service allows the associated service to request an SSL\n" +"certificate or keytab, but this is performed as a separate step; they\n" +"are not produced as a result of adding the service.\n" +"\n" +"Only the public aspect of a certificate is stored in a service record;\n" +"the private key is not stored.\n" "\n" "EXAMPLES:\n" "\n" -" Add a new role:\n" -" ipa role-add --desc=\"Junior-level admin\" junioradmin\n" +" Add a new IPA service:\n" +" ipa service-add HTTP/web.example.com\n" "\n" -" Add some privileges to this role:\n" -" ipa role-add-privilege --privileges=addusers junioradmin\n" -" ipa role-add-privilege --privileges=change_password junioradmin\n" -" ipa role-add-privilege --privileges=add_user_to_default_group " -"junioradmin\n" +" Allow a host to manage an IPA service certificate:\n" +" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n" +" ipa role-add-member --hosts=web.example.com certadmin\n" "\n" -" Add a group of users to this role:\n" -" ipa group-add --desc=\"User admins\" useradmins\n" -" ipa role-add-member --groups=useradmins junioradmin\n" +" Override a default list of supported PAC types for the service:\n" +" ipa service-mod HTTP/web.example.com --pac-type=MS-PAC\n" "\n" -" Display information about a role:\n" -" ipa role-show junioradmin\n" +" A typical use case where overriding the PAC type is needed is NFS.\n" +" Currently the related code in the Linux kernel can only handle Kerberos\n" +" tickets up to a maximal size. Since the PAC data can become quite large " +"it\n" +" is recommended to set --pac-type=NONE for NFS services.\n" "\n" -" The result of this is that any users in the group 'junioradmin' can\n" -" add users, reset passwords or add a user to the default IPA user group.\n" -msgstr "" - -#: ipalib/plugins/role.py:70 -msgid "role" +" Delete an IPA service:\n" +" ipa service-del HTTP/web.example.com\n" +"\n" +" Find all IPA services associated with a host:\n" +" ipa service-find web.example.com\n" +"\n" +" Find all HTTP services:\n" +" ipa service-find HTTP\n" +"\n" +" Disable the service Kerberos key and SSL certificate:\n" +" ipa service-disable HTTP/web.example.com\n" +"\n" +" Request a certificate for an IPA service:\n" +" ipa cert-request --principal=HTTP/web.example.com example.csr\n" msgstr "" -#: ipalib/plugins/role.py:71 -msgid "roles" +#: ipalib/plugins/service.py:89 +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" msgstr "" -#: ipalib/plugins/role.py:129 -msgid "Role" +#: ipalib/plugins/service.py:92 +msgid "" +"\n" +" Generate and retrieve a keytab for an IPA service:\n" +" ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" +"httpd.keytab\n" +"\n" msgstr "" -#: ipalib/plugins/role.py:134 -msgid "Role name" +#: ipalib/plugins/service.py:169 +msgid "Requires pre-authentication" msgstr "" -#: ipalib/plugins/role.py:140 -msgid "A description of this role-group" +#: ipalib/plugins/service.py:170 +msgid "Pre-authentication is required for the service" msgstr "" -#: ipalib/plugins/role.py:148 -msgid "Add a new role." +#: ipalib/plugins/service.py:175 +msgid "Trusted for delegation" msgstr "" -#: ipalib/plugins/role.py:150 -#, python-format -msgid "Added role \"%(value)s\"" +#: ipalib/plugins/service.py:176 +msgid "Client credentials may be delegated to the service" msgstr "" -#: ipalib/plugins/role.py:156 -msgid "Delete a role." +#: ipalib/plugins/service.py:196 +msgid "unable to determine service" msgstr "" -#: ipalib/plugins/role.py:158 -#, python-format -msgid "Deleted role \"%(value)s\"" +#: ipalib/plugins/service.py:200 +msgid "blank service" msgstr "" -#: ipalib/plugins/role.py:164 -msgid "Modify a role." +#: ipalib/plugins/service.py:208 +msgid "unable to determine realm" msgstr "" -#: ipalib/plugins/role.py:166 -#, python-format -msgid "Modified role \"%(value)s\"" +#: ipalib/plugins/service.py:225 +msgid "missing service" msgstr "" -#: ipalib/plugins/role.py:172 -msgid "Search for roles." +#: ipalib/plugins/service.py:287 +msgid "This principal is required by the IPA master" msgstr "" -#: ipalib/plugins/role.py:175 -#, python-format -msgid "%(count)d role matched" -msgid_plural "%(count)d roles matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/role.py:182 -msgid "Display information about a role." +#: ipalib/plugins/service.py:360 +msgid "service" msgstr "" -#: ipalib/plugins/role.py:188 -msgid "Add members to a role." +#: ipalib/plugins/service.py:361 +msgid "services" msgstr "" -#: ipalib/plugins/role.py:194 -msgid "Remove members from a role." +#: ipalib/plugins/service.py:447 +msgid "Service principal" msgstr "" -#: ipalib/plugins/role.py:200 -msgid "Add privileges to a role." +#: ipalib/plugins/service.py:459 +msgid "PAC type" msgstr "" -#: ipalib/plugins/role.py:215 -msgid "Number of privileges added" +#: ipalib/plugins/service.py:460 +msgid "" +"Override default list of supported PAC types. Use 'NONE' to disable PAC " +"support for this service, e.g. this might be necessary for NFS services." msgstr "" -#: ipalib/plugins/role.py:223 -msgid "Remove privileges from a role." +#: ipalib/plugins/service.py:481 +msgid "NONE value cannot be combined with other PAC types" msgstr "" -#: ipalib/plugins/role.py:238 -msgid "Number of privileges removed" +#: ipalib/plugins/service.py:490 +msgid "Add a new IPA new service." msgstr "" -#: ipalib/plugins/selfservice.py:29 -msgid "" -"\n" -"Self-service Permissions\n" -"\n" -"A permission enables fine-grained delegation of permissions. Access Control\n" -"Rules, or instructions (ACIs), grant permission to permissions to perform\n" -"given tasks such as adding a user, modifying a group, etc.\n" -"\n" -"A Self-service permission defines what an object can change in its own " -"entry.\n" -"\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a self-service rule to allow users to manage their address (using Bash\n" -" brace expansion):\n" -" ipa selfservice-add --permissions=write --attrs={street,postalCode,l,c," -"st} \"Users manage their own address\"\n" -"\n" -" When managing the list of attributes you need to include all attributes\n" -" in the list, including existing ones.\n" -" Add telephoneNumber to the list (using Bash brace expansion):\n" -" ipa selfservice-mod --attrs={street,postalCode,l,c,st,telephoneNumber} " -"\"Users manage their own address\"\n" -"\n" -" Display our updated rule:\n" -" ipa selfservice-show \"Users manage their own address\"\n" -"\n" -" Delete a rule:\n" -" ipa selfservice-del \"Users manage their own address\"\n" +#: ipalib/plugins/service.py:492 +#, python-format +msgid "Added service \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:75 -msgid "self service permission" +#: ipalib/plugins/service.py:498 +msgid "force principal name even if not in DNS" msgstr "" -#: ipalib/plugins/selfservice.py:76 -msgid "self service permissions" +#: ipalib/plugins/service.py:512 +#, python-format +msgid "The host '%s' does not exist to add a service to." msgstr "" -#: ipalib/plugins/selfservice.py:77 -msgid "Self Service Permissions" +#: ipalib/plugins/service.py:553 +msgid "Delete an IPA service." msgstr "" -#: ipalib/plugins/selfservice.py:78 -msgid "Self Service Permission" +#: ipalib/plugins/service.py:555 +#, python-format +msgid "Deleted service \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:83 ipalib/plugins/selfservice.py:84 -msgid "Self-service name" +#: ipalib/plugins/service.py:596 +msgid "Modify an existing IPA service." msgstr "" -#: ipalib/plugins/selfservice.py:98 -msgid "Attributes to which the permission applies." +#: ipalib/plugins/service.py:598 +#, python-format +msgid "Modified service \"%(value)s\"" msgstr "" -#: ipalib/plugins/selfservice.py:127 -msgid "Add a new self-service permission." +#: ipalib/plugins/service.py:666 +msgid "Search for IPA services." msgstr "" -#: ipalib/plugins/selfservice.py:129 +#: ipalib/plugins/service.py:669 #, python-format -msgid "Added selfservice \"%(value)s\"" +msgid "%(count)d service matched" +msgid_plural "%(count)d services matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/service.py:704 +msgid "Display information about an IPA service." msgstr "" -#: ipalib/plugins/selfservice.py:149 -msgid "Delete a self-service permission." +#: ipalib/plugins/service.py:746 +msgid "Add hosts that can manage this service." msgstr "" -#: ipalib/plugins/selfservice.py:152 -#, python-format -msgid "Deleted selfservice \"%(value)s\"" +#: ipalib/plugins/service.py:755 +msgid "Remove hosts that can manage this service." msgstr "" -#: ipalib/plugins/selfservice.py:167 -msgid "Modify a self-service permission." +#: ipalib/plugins/service.py:763 +msgid "" +"Allow users, groups, hosts or host groups to retrieve a keytab of this " +"service." msgstr "" -#: ipalib/plugins/selfservice.py:169 -#, python-format -msgid "Modified selfservice \"%(value)s\"" +#: ipalib/plugins/service.py:782 +msgid "" +"Disallow users, groups, hosts or host groups to retrieve a keytab of this " +"service." msgstr "" -#: ipalib/plugins/selfservice.py:189 -msgid "Search for a self-service permission." +#: ipalib/plugins/service.py:800 +msgid "" +"Allow users, groups, hosts or host groups to create a keytab of this service." msgstr "" -#: ipalib/plugins/selfservice.py:192 -#, python-format -msgid "%(count)d selfservice matched" -msgid_plural "%(count)d selfservices matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/service.py:819 +msgid "" +"Disallow users, groups, hosts or host groups to create a keytab of this " +"service." +msgstr "" -#: ipalib/plugins/selfservice.py:216 -msgid "Display information about a self-service permission." +#: ipalib/plugins/service.py:837 +msgid "Disable the Kerberos key and SSL certificate of a service." msgstr "" -#: ipalib/plugins/selinuxusermap.py:27 +#: ipalib/plugins/service.py:840 +#, python-format +msgid "Disabled service \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/servicedelegation.py:12 msgid "" "\n" -"SELinux User Mapping\n" +"Service Constrained Delegation\n" "\n" -"Map IPA users to SELinux users by host.\n" +"Manage rules to allow constrained delegation of credentials so\n" +"that a service can impersonate a user when communicating with another\n" +"service without requiring the user to actually forward their TGT.\n" +"This makes for a much better method of delegating credentials as it\n" +"prevents exposure of the short term secret of the user.\n" "\n" -"Hosts, hostgroups, users and groups can be either defined within\n" -"the rule or it may point to an existing HBAC rule. When using\n" -"--hbacrule option to selinuxusermap-find an exact match is made on the\n" -"HBAC rule name, so only one or zero entries will be returned.\n" +"The naming convention is to append the word \"target\" or \"targets\" to\n" +"a matching rule name. This is not mandatory but helps conceptually\n" +"to associate rules and targets.\n" "\n" -"EXAMPLES:\n" +"A rule consists of two things:\n" +" - A list of targets the rule applies to\n" +" - A list of memberPrincipals that are allowed to delegate for\n" +" those targets\n" "\n" -" Create a rule, \"test1\", that sets all users to xguest_u:s0 on the host " -"\"server\":\n" -" ipa selinuxusermap-add --usercat=all --selinuxuser=xguest_u:s0 test1\n" -" ipa selinuxusermap-add-host --hosts=server.example.com test1\n" +"A target consists of a list of principals that can be delegated.\n" "\n" -" Create a rule, \"test2\", that sets all users to guest_u:s0 and uses an " -"existing HBAC rule for users and hosts:\n" -" ipa selinuxusermap-add --usercat=all --hbacrule=webserver --" -"selinuxuser=guest_u:s0 test2\n" +"In English, a rule says that this principal can delegate as this\n" +"list of principals, as defined by these targets.\n" "\n" -" Display the properties of a rule:\n" -" ipa selinuxusermap-show test2\n" +"EXAMPLES:\n" "\n" -" Create a rule for a specific user. This sets the SELinux context for\n" -" user john to unconfined_u:s0-s0:c0.c1023 on any machine:\n" -" ipa selinuxusermap-add --hostcat=all --selinuxuser=unconfined_u:s0-s0:c0." -"c1023 john_unconfined\n" -" ipa selinuxusermap-add-user --users=john john_unconfined\n" +" Add a new constrained delegation rule:\n" +" ipa servicedelegationrule-add ftp-delegation\n" "\n" -" Disable a rule:\n" -" ipa selinuxusermap-disable test1\n" +" Add a new constrained delegation target:\n" +" ipa servicedelegationtarget-add ftp-delegation-target\n" "\n" -" Enable a rule:\n" -" ipa selinuxusermap-enable test1\n" +" Add a principal to the rule:\n" +" ipa servicedelegationrule-add-member --principals=ftp/ipa.example." +"com ftp-delegation\n" "\n" -" Find a rule referencing a specific HBAC rule:\n" -" ipa selinuxusermap-find --hbacrule=allow_some\n" +" Add our target to the rule:\n" +" ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-" +"delegation-target ftp-delegation\n" "\n" -" Remove a rule:\n" -" ipa selinuxusermap-del john_unconfined\n" +" Add a principal to the target:\n" +" ipa servicedelegationtarget-add-member --principals=ldap/ipa.example." +"com ftp-delegation-target\n" "\n" -"SEEALSO:\n" +" Display information about a named delegation rule and target:\n" +" ipa servicedelegationrule_show ftp-delegation\n" +" ipa servicedelegationtarget_show ftp-delegation-target\n" "\n" -" The list controlling the order in which the SELinux user map is applied\n" -" and the default SELinux user are available in the config-show command.\n" +" Remove a constrained delegation:\n" +" ipa servicedelegationrule-del ftp-delegation-target\n" +" ipa servicedelegationtarget-del ftp-delegation\n" +"\n" +"In this example the ftp service can get a TGT for the ldap service on\n" +"the bound user's behalf.\n" +"\n" +"It is strongly discouraged to modify the delegations that ship with\n" +"IPA, ipa-http-delegation and its targets ipa-cifs-delegation-targets and\n" +"ipa-ldap-delegation-targets. Incorrect changes can remove the ablity\n" +"to delegate, causing the framework to stop functioning.\n" msgstr "" -#: ipalib/plugins/selinuxusermap.py:74 -msgid "HBAC rule and local members cannot both be set" +#: ipalib/plugins/servicedelegation.py:88 +msgid "Allowed Target" msgstr "" -#: ipalib/plugins/selinuxusermap.py:101 -msgid "Invalid SELinux user name, only a-Z and _ are allowed" +#: ipalib/plugins/servicedelegation.py:92 +msgid "Allowed to Impersonate" msgstr "" -#: ipalib/plugins/selinuxusermap.py:103 -msgid "Invalid MLS value, must match s[0-15](-s[0-15])" +#: ipalib/plugins/servicedelegation.py:96 +msgid "Member principals" msgstr "" -#: ipalib/plugins/selinuxusermap.py:106 -msgid "" -"Invalid MCS value, must match c[0-1023].c[0-1023] and/or c[0-1023]-c[0-c0123]" +#: ipalib/plugins/servicedelegation.py:104 +msgid "Failed targets" msgstr "" -#: ipalib/plugins/selinuxusermap.py:121 -msgid "SELinux user map list not found in configuration" +#: ipalib/plugins/servicedelegation.py:168 +msgid "Add target to a named service delegation." msgstr "" -#: ipalib/plugins/selinuxusermap.py:126 -#, python-format -msgid "SELinux user %(user)s not found in ordering list (in config)" +#: ipalib/plugins/servicedelegation.py:249 +msgid "Remove member from a named service delegation." msgstr "" -#: ipalib/plugins/selinuxusermap.py:138 -msgid "SELinux User Map rule" +#: ipalib/plugins/servicedelegation.py:342 +#: ipalib/plugins/servicedelegation.py:375 +msgid "service delegation rule" msgstr "" -#: ipalib/plugins/selinuxusermap.py:139 -msgid "SELinux User Map rules" +#: ipalib/plugins/servicedelegation.py:343 +msgid "service delegation rules" msgstr "" -#: ipalib/plugins/selinuxusermap.py:195 -msgid "SELinux User Maps" +#: ipalib/plugins/servicedelegation.py:354 +msgid "Service delegation rules" msgstr "" -#: ipalib/plugins/selinuxusermap.py:196 -msgid "SELinux User Map" +#: ipalib/plugins/servicedelegation.py:355 +msgid "Service delegation rule" msgstr "" -#: ipalib/plugins/selinuxusermap.py:206 -msgid "SELinux User" +#: ipalib/plugins/servicedelegation.py:360 +msgid "Create a new service delegation rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:211 -msgid "HBAC Rule that defines the users, groups and hostgroups" +#: ipalib/plugins/servicedelegation.py:362 +#, python-format +msgid "Added service delegation rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:271 +#: ipalib/plugins/servicedelegation.py:367 +msgid "Delete service delegation." +msgstr "" + +#: ipalib/plugins/servicedelegation.py:369 #, python-format -msgid "HBAC rule %(rule)s not found" +msgid "Deleted service delegation \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:290 -msgid "Create a new SELinux User Map." +#: ipalib/plugins/servicedelegation.py:377 +msgid "privileged service delegation rule" msgstr "" -#: ipalib/plugins/selinuxusermap.py:292 +#: ipalib/plugins/servicedelegation.py:384 +msgid "Search for service delegations rule." +msgstr "" + +#: ipalib/plugins/servicedelegation.py:389 #, python-format -msgid "Added SELinux User Map \"%(value)s\"" +msgid "%(count)d service delegation rule matched" +msgid_plural "%(count)d service delegation rules matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/servicedelegation.py:396 +msgid "Display information about a named service delegation rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:327 -msgid "Delete a SELinux User Map." +#: ipalib/plugins/servicedelegation.py:403 +msgid "Add member to a named service delegation rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:329 -#, python-format -msgid "Deleted SELinux User Map \"%(value)s\"" +#: ipalib/plugins/servicedelegation.py:412 +msgid "Remove member from a named service delegation rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:335 -msgid "Modify a SELinux User Map." +#: ipalib/plugins/servicedelegation.py:420 +msgid "Add target to a named service delegation rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:337 -#, python-format -msgid "Modified SELinux User Map \"%(value)s\"" +#: ipalib/plugins/servicedelegation.py:431 +msgid "Remove target from a named service delegation rule." msgstr "" -#: ipalib/plugins/selinuxusermap.py:391 -msgid "Search for SELinux User Maps." +#: ipalib/plugins/servicedelegation.py:441 +#: ipalib/plugins/servicedelegation.py:470 +msgid "service delegation target" msgstr "" -#: ipalib/plugins/selinuxusermap.py:394 -#, python-format -msgid "%(count)d SELinux User Map matched" -msgid_plural "%(count)d SELinux User Maps matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/servicedelegation.py:442 +msgid "service delegation targets" +msgstr "" -#: ipalib/plugins/selinuxusermap.py:423 -msgid "Display the properties of a SELinux User Map rule." +#: ipalib/plugins/servicedelegation.py:449 +msgid "Service delegation targets" msgstr "" -#: ipalib/plugins/selinuxusermap.py:434 -msgid "Enable an SELinux User Map rule." +#: ipalib/plugins/servicedelegation.py:450 +msgid "Service delegation target" msgstr "" -#: ipalib/plugins/selinuxusermap.py:436 +#: ipalib/plugins/servicedelegation.py:455 +msgid "Create a new service delegation target." +msgstr "" + +#: ipalib/plugins/servicedelegation.py:457 #, python-format -msgid "Enabled SELinux User Map \"%(value)s\"" +msgid "Added service delegation target \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:464 -msgid "Disable an SELinux User Map rule." +#: ipalib/plugins/servicedelegation.py:462 +msgid "Delete service delegation target." msgstr "" -#: ipalib/plugins/selinuxusermap.py:466 +#: ipalib/plugins/servicedelegation.py:464 #, python-format -msgid "Disabled SELinux User Map \"%(value)s\"" +msgid "Deleted service delegation target \"%(value)s\"" msgstr "" -#: ipalib/plugins/selinuxusermap.py:494 -msgid "Add users and groups to an SELinux User Map rule." +#: ipalib/plugins/servicedelegation.py:472 +msgid "privileged service delegation target" msgstr "" -#: ipalib/plugins/selinuxusermap.py:518 -msgid "Remove users and groups from an SELinux User Map rule." +#: ipalib/plugins/servicedelegation.py:479 +msgid "Search for service delegation target." msgstr "" -#: ipalib/plugins/selinuxusermap.py:527 -msgid "Add target hosts and hostgroups to an SELinux User Map rule." +#: ipalib/plugins/servicedelegation.py:484 +#, python-format +msgid "%(count)d service delegation target matched" +msgid_plural "%(count)d service delegation targets matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/servicedelegation.py:518 +msgid "Display information about a named service delegation target." msgstr "" -#: ipalib/plugins/selinuxusermap.py:551 -msgid "Remove target hosts and hostgroups from an SELinux User Map rule." +#: ipalib/plugins/servicedelegation.py:525 +msgid "Add member to a named service delegation target." msgstr "" -#: ipalib/plugins/service.py:36 +#: ipalib/plugins/servicedelegation.py:534 +msgid "Remove member from a named service delegation target." +msgstr "" + +#: ipalib/plugins/stageuser.py:48 msgid "" "\n" -"Services\n" -"\n" -"A IPA service represents a service that runs on a host. The IPA service\n" -"record can store a Kerberos principal, an SSL certificate, or both.\n" -"\n" -"An IPA service can be managed directly from a machine, provided that\n" -"machine has been given the correct permission. This is true even for\n" -"machines other than the one the service is associated with. For example,\n" -"requesting an SSL certificate using the host service principal credentials\n" -"of the host. To manage a service using host credentials you need to\n" -"kinit as the host:\n" -"\n" -" # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n" -"\n" -"Adding an IPA service allows the associated service to request an SSL\n" -"certificate or keytab, but this is performed as a separate step; they\n" -"are not produced as a result of adding the service.\n" -"\n" -"Only the public aspect of a certificate is stored in a service record;\n" -"the private key is not stored.\n" -"\n" -"EXAMPLES:\n" -"\n" -" Add a new IPA service:\n" -" ipa service-add HTTP/web.example.com\n" -"\n" -" Allow a host to manage an IPA service certificate:\n" -" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n" -" ipa role-add-member --hosts=web.example.com certadmin\n" -"\n" -" Override a default list of supported PAC types for the service:\n" -" ipa service-mod HTTP/web.example.com --pac-type=MS-PAC\n" -"\n" -" A typical use case where overriding the PAC type is needed is NFS.\n" -" Currently the related code in the Linux kernel can only handle Kerberos\n" -" tickets up to a maximal size. Since the PAC data can become quite large " -"it\n" -" is recommended to set --pac-type=NONE for NFS services.\n" -"\n" -" Delete an IPA service:\n" -" ipa service-del HTTP/web.example.com\n" +"Stageusers\n" "\n" -" Find all IPA services associated with a host:\n" -" ipa service-find web.example.com\n" +"Manage stage user entries.\n" "\n" -" Find all HTTP services:\n" -" ipa service-find HTTP\n" +"Stage user entries are directly under the container: \"cn=stage users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"User can not authenticate with those entries (even if the entries\n" +"contain credentials) and are candidate to become Active entries.\n" "\n" -" Disable the service Kerberos key and SSL certificate:\n" -" ipa service-disable HTTP/web.example.com\n" +"Active user entries are Posix users directly under the container: " +"\"cn=accounts, SUFFIX\".\n" +"User can authenticate with Active entries, at the condition they have\n" +"credentials\n" "\n" -" Request a certificate for an IPA service:\n" -" ipa cert-request --principal=HTTP/web.example.com example.csr\n" +"Delete user enties are Posix users directly under the container: " +"\"cn=deleted users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"User can not authenticate with those entries (even if the entries contain " +"credentials)\n" "\n" -" Generate and retrieve a keytab for an IPA service:\n" -" ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" -"httpd.keytab\n" +"The stage user container contains entries\n" +" - created by 'stageuser-add' commands that are Posix users\n" +" - created by external provisioning system\n" +"\n" +"A valid stage user entry MUST:\n" +" - entry RDN is 'uid'\n" +" - ipaUniqueID is 'autogenerate'\n" +"\n" +"IPA supports a wide range of username formats, but you need to be aware of " +"any\n" +"restrictions that may apply to your particular environment. For example,\n" +"usernames that start with a digit or usernames that exceed a certain length\n" +"may cause problems for some UNIX systems.\n" +"Use 'ipa config-mod' to change the username format allowed by IPA tools.\n" +"\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new stageuser:\n" +" ipa stageuser-add --first=Tim --last=User --password tuser1\n" +"\n" +" Add a stageuser from the Delete container\n" +" ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" "\n" msgstr "" -#: ipalib/plugins/service.py:136 -msgid "Requires pre-authentication" -msgstr "" - -#: ipalib/plugins/service.py:137 -msgid "Pre-authentication is required for the service" -msgstr "" - -#: ipalib/plugins/service.py:142 -msgid "Trusted for delegation" -msgstr "" - -#: ipalib/plugins/service.py:143 -msgid "Client credentials may be delegated to the service" -msgstr "" - -#: ipalib/plugins/service.py:162 -msgid "missing service" -msgstr "" - -#: ipalib/plugins/service.py:166 -msgid "blank service" +#: ipalib/plugins/stageuser.py:110 +msgid "Stage Users" msgstr "" -#: ipalib/plugins/service.py:170 -msgid "unable to determine realm" +#: ipalib/plugins/stageuser.py:111 +msgid "Stage User" msgstr "" -#: ipalib/plugins/service.py:243 -msgid "This principal is required by the IPA master" +#: ipalib/plugins/stageuser.py:112 +msgid "stage user" msgstr "" -#: ipalib/plugins/service.py:299 -msgid "service" +#: ipalib/plugins/stageuser.py:113 +msgid "stage users" msgstr "" -#: ipalib/plugins/service.py:300 -msgid "services" +#: ipalib/plugins/stageuser.py:248 +msgid "Add a new stage user." msgstr "" -#: ipalib/plugins/service.py:372 -msgid "Service principal" +#: ipalib/plugins/stageuser.py:250 +#, python-format +msgid "Added stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:384 -msgid "PAC type" +#: ipalib/plugins/stageuser.py:256 +msgid "Create Stage user in from a delete user" msgstr "" -#: ipalib/plugins/service.py:385 -msgid "" -"Override default list of supported PAC types. Use 'NONE' to disable PAC " -"support for this service, e.g. this might be necessary for NFS services." +#: ipalib/plugins/stageuser.py:268 +msgid "givenname is required" msgstr "" -#: ipalib/plugins/service.py:406 -msgid "NONE value cannot be combined with other PAC types" +#: ipalib/plugins/stageuser.py:271 +msgid "sn is required" msgstr "" -#: ipalib/plugins/service.py:412 -msgid "Add a new IPA new service." +#: ipalib/plugins/stageuser.py:412 +msgid "Delete a stage user." msgstr "" -#: ipalib/plugins/service.py:414 +#: ipalib/plugins/stageuser.py:414 #, python-format -msgid "Added service \"%(value)s\"" +msgid "Deleted stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:420 -msgid "force principal name even if not in DNS" +#: ipalib/plugins/stageuser.py:418 +msgid "Modify a stage user." msgstr "" -#: ipalib/plugins/service.py:434 +#: ipalib/plugins/stageuser.py:420 #, python-format -msgid "The host '%s' does not exist to add a service to." +msgid "Modified stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:474 -msgid "Delete an IPA service." +#: ipalib/plugins/stageuser.py:439 +msgid "Search for stage users." msgstr "" -#: ipalib/plugins/service.py:476 +#: ipalib/plugins/stageuser.py:469 ipalib/plugins/user.py:711 #, python-format -msgid "Deleted service \"%(value)s\"" -msgstr "" - -#: ipalib/plugins/service.py:519 -msgid "Modify an existing IPA service." -msgstr "" +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/service.py:521 -#, python-format -msgid "Modified service \"%(value)s\"" +#: ipalib/plugins/stageuser.py:474 +msgid "Display information about a stage user." msgstr "" -#: ipalib/plugins/service.py:566 -msgid "Search for IPA services." +#: ipalib/plugins/stageuser.py:486 +msgid "Activate a stage user." msgstr "" -#: ipalib/plugins/service.py:569 +#: ipalib/plugins/stageuser.py:488 #, python-format -msgid "%(count)d service matched" -msgid_plural "%(count)d services matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/service.py:603 -msgid "Display information about an IPA service." +msgid "Activate a stage user \"%(value)s\"" msgstr "" -#: ipalib/plugins/service.py:638 -msgid "Add hosts that can manage this service." +#: ipalib/plugins/stageuser.py:501 +msgid "Entry RDN is not 'uid'" msgstr "" -#: ipalib/plugins/service.py:647 -msgid "Remove hosts that can manage this service." +#: ipalib/plugins/stageuser.py:507 +msgid "Entry has no 'cn'" msgstr "" -#: ipalib/plugins/service.py:656 -msgid "Disable the Kerberos key and SSL certificate of a service." +#: ipalib/plugins/stageuser.py:677 +#, python-format +msgid "Active user %(user)s already exists" msgstr "" -#: ipalib/plugins/service.py:659 +#: ipalib/plugins/stageuser.py:738 #, python-format -msgid "Disabled service \"%(value)s\"" +msgid "Stage user %s activated" msgstr "" #: ipalib/plugins/sudocmd.py:30 @@ -10703,156 +12825,428 @@ msgstr "" msgid "Modified Sudo Rule \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:413 -#, python-format +#: ipalib/plugins/sudorule.py:413 +#, python-format +msgid "" +"%(type)s category cannot be set to 'all' while there are allowed %(objects)s" +msgstr "" + +#: ipalib/plugins/sudorule.py:419 ipalib/plugins/user.py:127 +msgid "user" +msgstr "" + +#: ipalib/plugins/sudorule.py:419 ipalib/plugins/user.py:128 +msgid "users" +msgstr "" + +#: ipalib/plugins/sudorule.py:429 +msgid "command" +msgstr "" + +#: ipalib/plugins/sudorule.py:429 +msgid "commands" +msgstr "" + +#: ipalib/plugins/sudorule.py:435 +msgid "runAs user" +msgstr "" + +#: ipalib/plugins/sudorule.py:435 +msgid "runAs users" +msgstr "" + +#: ipalib/plugins/sudorule.py:440 +msgid "group runAs" +msgstr "" + +#: ipalib/plugins/sudorule.py:440 +msgid "runAs groups" +msgstr "" + +#: ipalib/plugins/sudorule.py:458 +msgid "Search for Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:461 +#, python-format +msgid "%(count)d Sudo Rule matched" +msgid_plural "%(count)d Sudo Rules matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/sudorule.py:467 +msgid "Display Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:472 +msgid "Enable a Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:493 +#, python-format +msgid "Enabled Sudo Rule \"%s\"" +msgstr "" + +#: ipalib/plugins/sudorule.py:498 +msgid "Disable a Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:519 +#, python-format +msgid "Disabled Sudo Rule \"%s\"" +msgstr "" + +#: ipalib/plugins/sudorule.py:524 ipalib/plugins/sudorule.py:555 +msgid "Add commands and sudo command groups affected by Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:539 +msgid "commands cannot be added when command category='all'" +msgstr "" + +#: ipalib/plugins/sudorule.py:547 ipalib/plugins/sudorule.py:567 +msgid "Remove commands and sudo command groups affected by Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:575 +msgid "Add users and groups affected by Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:607 +msgid "Remove users and groups affected by Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:625 +msgid "Add hosts and hostgroups affected by Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:682 +msgid "Remove hosts and hostgroups affected by Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:727 +msgid "Add users and groups for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:750 ipalib/plugins/sudorule.py:863 +msgid "users cannot be added when runAs user or runAs group category='all'" +msgstr "" + +#: ipalib/plugins/sudorule.py:757 +#, python-format +msgid "RunAsUser does not accept '%(name)s' as a user name" +msgstr "" + +#: ipalib/plugins/sudorule.py:765 +#, python-format +msgid "RunAsUser does not accept '%(name)s' as a group name" +msgstr "" + +#: ipalib/plugins/sudorule.py:804 +msgid "Remove users and groups for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:842 +msgid "Add group for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:870 +#, python-format +msgid "RunAsGroup does not accept '%(name)s' as a group name" +msgstr "" + +#: ipalib/plugins/sudorule.py:890 +msgid "Remove group for Sudo to execute as." +msgstr "" + +#: ipalib/plugins/sudorule.py:909 +msgid "Add an option to the Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:953 +#, python-format +msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" +msgstr "" + +#: ipalib/plugins/sudorule.py:962 +msgid "Remove an option from Sudo Rule." +msgstr "" + +#: ipalib/plugins/sudorule.py:1011 +#, python-format +msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" +msgstr "" + +#: ipalib/plugins/topology.py:16 +msgid "" +"\n" +"Topology\n" +"\n" +"Management of a replication topology.\n" +"\n" +"Requires minimum domain level 1.\n" +msgstr "" + +#: ipalib/plugins/topology.py:33 +#, python-brace-format +msgid "Topology management requires minimum domain level {0} " +msgstr "" + +#: ipalib/plugins/topology.py:45 +msgid "segment" +msgstr "" + +#: ipalib/plugins/topology.py:46 +msgid "segments" +msgstr "" + +#: ipalib/plugins/topology.py:60 +msgid "Topology Segments" +msgstr "" + +#: ipalib/plugins/topology.py:61 +msgid "Topology Segment" +msgstr "" + +#: ipalib/plugins/topology.py:69 +msgid "Segment name" +msgstr "" + +#: ipalib/plugins/topology.py:73 +msgid "Arbitrary string identifying the segment" +msgstr "" + +#: ipalib/plugins/topology.py:81 +msgid "Left node" +msgstr "" + +#: ipalib/plugins/topology.py:83 +msgid "Left replication node - an IPA server" +msgstr "" + +#: ipalib/plugins/topology.py:92 +msgid "Right node" +msgstr "" + +#: ipalib/plugins/topology.py:94 +msgid "Right replication node - an IPA server" +msgstr "" + +#: ipalib/plugins/topology.py:100 +msgid "Connectivity" +msgstr "" + +#: ipalib/plugins/topology.py:103 +msgid "Direction of replication between left and right replication node" +msgstr "" + +#: ipalib/plugins/topology.py:110 +msgid "Attributes to strip" +msgstr "" + +#: ipalib/plugins/topology.py:112 +msgid "" +"A space separated list of attributes which are removed from replication " +"updates." +msgstr "" + +#: ipalib/plugins/topology.py:119 +msgid "" +"Attributes that are not replicated to a consumer server during a fractional " +"update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberof" +msgstr "" + +#: ipalib/plugins/topology.py:126 +msgid "Attributes for total update" +msgstr "" + +#: ipalib/plugins/topology.py:127 +msgid "" +"Attributes that are not replicated to a consumer server during a total " +"update. E.g. (objectclass=*) $ EXCLUDE accountlockout" +msgstr "" + +#: ipalib/plugins/topology.py:134 +msgid "Session timeout" +msgstr "" + +#: ipalib/plugins/topology.py:136 +msgid "" +"Number of seconds outbound LDAP operations waits for a response from the " +"remote replica before timing out and failing" +msgstr "" + +#: ipalib/plugins/topology.py:143 +msgid "Replication agreement enabled" +msgstr "" + +#: ipalib/plugins/topology.py:144 msgid "" -"%(type)s category cannot be set to 'all' while there are allowed %(objects)s" +"Whether a replication agreement is active, meaning whether replication is " +"occurring per that agreement" msgstr "" -#: ipalib/plugins/sudorule.py:419 ipalib/plugins/user.py:228 -msgid "user" +#: ipalib/plugins/topology.py:164 +#, python-format +msgid "left node is not a topology node: %(leftnode)s" msgstr "" -#: ipalib/plugins/sudorule.py:419 ipalib/plugins/user.py:229 -msgid "users" +#: ipalib/plugins/topology.py:171 +#, python-format +msgid "right node is not a topology node: %(rightnode)s" msgstr "" -#: ipalib/plugins/sudorule.py:429 -msgid "command" +#: ipalib/plugins/topology.py:188 +msgid "left node and right node must not be the same" msgstr "" -#: ipalib/plugins/sudorule.py:429 -msgid "commands" +#: ipalib/plugins/topology.py:194 +msgid "Search for topology segments." msgstr "" -#: ipalib/plugins/sudorule.py:435 -msgid "runAs user" +#: ipalib/plugins/topology.py:197 +#, python-format +msgid "%(count)d segment matched" +msgid_plural "%(count)d segments matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/topology.py:204 +msgid "Add a new segment." msgstr "" -#: ipalib/plugins/sudorule.py:435 -msgid "runAs users" +#: ipalib/plugins/topology.py:206 +#, python-format +msgid "Added segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:440 -msgid "group runAs" +#: ipalib/plugins/topology.py:217 +msgid "Delete a segment." msgstr "" -#: ipalib/plugins/sudorule.py:440 -msgid "runAs groups" +#: ipalib/plugins/topology.py:219 +#, python-format +msgid "Deleted segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:458 -msgid "Search for Sudo Rule." +#: ipalib/plugins/topology.py:229 +msgid "Modify a segment." msgstr "" -#: ipalib/plugins/sudorule.py:461 +#: ipalib/plugins/topology.py:231 #, python-format -msgid "%(count)d Sudo Rule matched" -msgid_plural "%(count)d Sudo Rules matched" -msgstr[0] "" -msgstr[1] "" - -#: ipalib/plugins/sudorule.py:467 -msgid "Display Sudo Rule." +msgid "Modified segment \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:472 -msgid "Enable a Sudo Rule." +#: ipalib/plugins/topology.py:242 +msgid "" +"Request a full re-initialization of the node retrieving data from the other " +"node." msgstr "" -#: ipalib/plugins/sudorule.py:493 +#: ipalib/plugins/topology.py:246 #, python-format -msgid "Enabled Sudo Rule \"%s\"" +msgid "%(value)s" msgstr "" -#: ipalib/plugins/sudorule.py:498 -msgid "Disable a Sudo Rule." +#: ipalib/plugins/topology.py:251 +msgid "Initialize left node" msgstr "" -#: ipalib/plugins/sudorule.py:519 -#, python-format -msgid "Disabled Sudo Rule \"%s\"" +#: ipalib/plugins/topology.py:256 +msgid "Initialize right node" msgstr "" -#: ipalib/plugins/sudorule.py:524 ipalib/plugins/sudorule.py:555 -msgid "Add commands and sudo command groups affected by Sudo Rule." +#: ipalib/plugins/topology.py:261 +msgid "Stop already started refresh of chosen node(s)" msgstr "" -#: ipalib/plugins/sudorule.py:539 -msgid "commands cannot be added when command category='all'" +#: ipalib/plugins/topology.py:282 +msgid "left or right node has to be specified" msgstr "" -#: ipalib/plugins/sudorule.py:547 ipalib/plugins/sudorule.py:567 -msgid "Remove commands and sudo command groups affected by Sudo Rule." +#: ipalib/plugins/topology.py:287 +msgid "only one node can be specified" msgstr "" -#: ipalib/plugins/sudorule.py:575 -msgid "Add users and groups affected by Sudo Rule." +#: ipalib/plugins/topology.py:291 +#, python-format +msgid "Replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -#: ipalib/plugins/sudorule.py:607 -msgid "Remove users and groups affected by Sudo Rule." +#: ipalib/plugins/topology.py:294 +#, python-format +msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." msgstr "" -#: ipalib/plugins/sudorule.py:625 -msgid "Add hosts and hostgroups affected by Sudo Rule." +#: ipalib/plugins/topology.py:315 +msgid "Display a segment." msgstr "" -#: ipalib/plugins/sudorule.py:682 -msgid "Remove hosts and hostgroups affected by Sudo Rule." +#: ipalib/plugins/topology.py:324 +msgid "suffix" msgstr "" -#: ipalib/plugins/sudorule.py:727 -msgid "Add users and groups for Sudo to execute as." +#: ipalib/plugins/topology.py:325 +msgid "suffices" msgstr "" -#: ipalib/plugins/sudorule.py:750 ipalib/plugins/sudorule.py:863 -msgid "users cannot be added when runAs user or runAs group category='all'" +#: ipalib/plugins/topology.py:329 +msgid "Topology suffices" msgstr "" -#: ipalib/plugins/sudorule.py:757 -#, python-format -msgid "RunAsUser does not accept '%(name)s' as a user name" +#: ipalib/plugins/topology.py:330 +msgid "Topology suffix" msgstr "" -#: ipalib/plugins/sudorule.py:765 -#, python-format -msgid "RunAsUser does not accept '%(name)s' as a group name" +#: ipalib/plugins/topology.py:337 +msgid "Suffix name" msgstr "" -#: ipalib/plugins/sudorule.py:804 -msgid "Remove users and groups for Sudo to execute as." +#: ipalib/plugins/topology.py:343 +msgid "LDAP suffix to be managed" msgstr "" -#: ipalib/plugins/sudorule.py:842 -msgid "Add group for Sudo to execute as." +#: ipalib/plugins/topology.py:351 +msgid "Search for topology suffices." msgstr "" -#: ipalib/plugins/sudorule.py:870 +#: ipalib/plugins/topology.py:354 #, python-format -msgid "RunAsGroup does not accept '%(name)s' as a group name" +msgid "%(count)d topology suffix matched" +msgid_plural "%(count)d topology suffices matched" +msgstr[0] "" +msgstr[1] "" + +#: ipalib/plugins/topology.py:361 +msgid "Delete a topology suffix." msgstr "" -#: ipalib/plugins/sudorule.py:890 -msgid "Remove group for Sudo to execute as." +#: ipalib/plugins/topology.py:365 +#, python-format +msgid "Deleted topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:909 -msgid "Add an option to the Sudo Rule." +#: ipalib/plugins/topology.py:375 +msgid "Add a new topology suffix to be managed." msgstr "" -#: ipalib/plugins/sudorule.py:953 +#: ipalib/plugins/topology.py:379 #, python-format -msgid "Added option \"%(option)s\" to Sudo Rule \"%(rule)s\"" +msgid "Added topology suffix \"%(value)s\"" msgstr "" -#: ipalib/plugins/sudorule.py:962 -msgid "Remove an option from Sudo Rule." +#: ipalib/plugins/topology.py:389 +msgid "Modify a topology suffix." msgstr "" -#: ipalib/plugins/sudorule.py:1011 +#: ipalib/plugins/topology.py:393 #, python-format -msgid "Removed option \"%(option)s\" from Sudo Rule \"%(rule)s\"" +msgid "Modified topology suffix \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/topology.py:403 +msgid "Show managed suffix." msgstr "" #: ipalib/plugins/trust.py:50 @@ -11043,7 +13437,7 @@ msgid "Active Directory domain administrator" msgstr "" #: ipalib/plugins/trust.py:438 -msgid "Active directory domain administrator's password" +msgid "Active Directory domain administrator's password" msgstr "" #: ipalib/plugins/trust.py:443 @@ -11077,106 +13471,106 @@ msgstr "" msgid "Re-established trust to domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:517 ipalib/plugins/trust.py:559 -#: ipalib/plugins/trust.py:579 ipalib/plugins/trust.py:589 -#: ipalib/plugins/trust.py:711 ipalib/plugins/trust.py:743 -#: ipalib/plugins/trust.py:1320 ipalib/plugins/trust.py:1332 +#: ipalib/plugins/trust.py:543 ipalib/plugins/trust.py:585 +#: ipalib/plugins/trust.py:605 ipalib/plugins/trust.py:615 +#: ipalib/plugins/trust.py:737 ipalib/plugins/trust.py:770 +#: ipalib/plugins/trust.py:1348 ipalib/plugins/trust.py:1360 msgid "AD Trust setup" msgstr "" -#: ipalib/plugins/trust.py:519 ipalib/plugins/trust.py:1322 +#: ipalib/plugins/trust.py:545 ipalib/plugins/trust.py:1350 msgid "" "Cannot perform join operation without Samba 4 support installed. Make sure " "you have installed server-trust-ad sub-package of IPA" msgstr "" -#: ipalib/plugins/trust.py:527 +#: ipalib/plugins/trust.py:553 msgid "missing base_id" msgstr "" -#: ipalib/plugins/trust.py:529 +#: ipalib/plugins/trust.py:555 msgid "pysss_murmur is not available on the server and no base-id is given." msgstr "" -#: ipalib/plugins/trust.py:535 ipalib/plugins/trust.py:539 +#: ipalib/plugins/trust.py:561 ipalib/plugins/trust.py:565 msgid "trust type" msgstr "" -#: ipalib/plugins/trust.py:540 +#: ipalib/plugins/trust.py:566 msgid "only \"ad\" is supported" msgstr "" -#: ipalib/plugins/trust.py:550 +#: ipalib/plugins/trust.py:576 msgid "Realm-domain mismatch" msgstr "" -#: ipalib/plugins/trust.py:551 +#: ipalib/plugins/trust.py:577 msgid "" "To establish trust with Active Directory, the domain name and the realm name " "of the IPA server must match" msgstr "" -#: ipalib/plugins/trust.py:581 +#: ipalib/plugins/trust.py:607 msgid "Trusted domain and administrator account use different realms" msgstr "" -#: ipalib/plugins/trust.py:590 +#: ipalib/plugins/trust.py:616 msgid "Realm administrator password should be specified" msgstr "" -#: ipalib/plugins/trust.py:611 +#: ipalib/plugins/trust.py:637 msgid "id range type" msgstr "" -#: ipalib/plugins/trust.py:613 +#: ipalib/plugins/trust.py:639 msgid "" "Only the ipa-ad-trust and ipa-ad-trust-posix are allowed values for --range-" "type when adding an AD trust." msgstr "" -#: ipalib/plugins/trust.py:623 +#: ipalib/plugins/trust.py:649 msgid "id range" msgstr "" -#: ipalib/plugins/trust.py:625 +#: ipalib/plugins/trust.py:651 msgid "" "An id range already exists for this trust. You should either delete the old " "range, or exclude --base-id/--range-size options from the command." msgstr "" -#: ipalib/plugins/trust.py:647 +#: ipalib/plugins/trust.py:673 msgid "range exists" msgstr "" -#: ipalib/plugins/trust.py:649 +#: ipalib/plugins/trust.py:675 msgid "" "ID range with the same name but different domain SID already exists. The ID " "range for the new trusted domain must be created manually." msgstr "" -#: ipalib/plugins/trust.py:656 +#: ipalib/plugins/trust.py:682 msgid "range type change" msgstr "" -#: ipalib/plugins/trust.py:657 +#: ipalib/plugins/trust.py:683 msgid "" "ID range for the trusted domain already exists, but it has a different type. " "Please remove the old range manually, or do not enforce type via --range-" "type option." msgstr "" -#: ipalib/plugins/trust.py:686 +#: ipalib/plugins/trust.py:712 #, python-format msgid "Unable to resolve domain controller for '%s' domain. " msgstr "" -#: ipalib/plugins/trust.py:692 +#: ipalib/plugins/trust.py:718 msgid "" "Forward policy is defined for it in IPA DNS, perhaps forwarder points to " "incorrect host?" msgstr "" -#: ipalib/plugins/trust.py:695 +#: ipalib/plugins/trust.py:721 #, python-format msgid "" "IPA manages DNS, please verify your DNS configuration and make sure that " @@ -11185,31 +13579,31 @@ msgid "" "documentation. " msgstr "" -#: ipalib/plugins/trust.py:705 +#: ipalib/plugins/trust.py:731 #, python-format msgid "" "Since IPA does not manage DNS records, ensure DNS is configured to resolve " "'%(domain)s' domain from IPA hosts and back." msgstr "" -#: ipalib/plugins/trust.py:712 +#: ipalib/plugins/trust.py:738 msgid "Unable to verify write permissions to the AD" msgstr "" -#: ipalib/plugins/trust.py:744 +#: ipalib/plugins/trust.py:771 msgid "Not enough arguments specified to perform trust setup" msgstr "" -#: ipalib/plugins/trust.py:748 +#: ipalib/plugins/trust.py:776 msgid "Delete a trust." msgstr "" -#: ipalib/plugins/trust.py:750 +#: ipalib/plugins/trust.py:778 #, python-format msgid "Deleted trust \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:754 +#: ipalib/plugins/trust.py:782 msgid "" "\n" " Modify a trust (for future use).\n" @@ -11219,203 +13613,203 @@ msgid "" " " msgstr "" -#: ipalib/plugins/trust.py:761 +#: ipalib/plugins/trust.py:789 #, python-format msgid "Modified trust \"%(value)s\" (change will be effective in 60 seconds)" msgstr "" -#: ipalib/plugins/trust.py:773 +#: ipalib/plugins/trust.py:801 msgid "Search for trusts." msgstr "" -#: ipalib/plugins/trust.py:778 +#: ipalib/plugins/trust.py:806 #, python-format msgid "%(count)d trust matched" msgid_plural "%(count)d trusts matched" msgstr[0] "" msgstr[1] "" -#: ipalib/plugins/trust.py:804 +#: ipalib/plugins/trust.py:832 msgid "Display information about a trust." msgstr "" -#: ipalib/plugins/trust.py:839 +#: ipalib/plugins/trust.py:867 msgid "trust configuration" msgstr "" -#: ipalib/plugins/trust.py:845 ipalib/plugins/trust.py:846 +#: ipalib/plugins/trust.py:873 ipalib/plugins/trust.py:874 msgid "Global Trust Configuration" msgstr "" -#: ipalib/plugins/trust.py:854 +#: ipalib/plugins/trust.py:882 msgid "Security Identifier" msgstr "" -#: ipalib/plugins/trust.py:858 +#: ipalib/plugins/trust.py:886 msgid "NetBIOS name" msgstr "" -#: ipalib/plugins/trust.py:862 +#: ipalib/plugins/trust.py:890 msgid "Domain GUID" msgstr "" -#: ipalib/plugins/trust.py:867 +#: ipalib/plugins/trust.py:895 msgid "Fallback primary group" msgstr "" -#: ipalib/plugins/trust.py:879 +#: ipalib/plugins/trust.py:907 msgid "unsupported trust type" msgstr "" -#: ipalib/plugins/trust.py:942 +#: ipalib/plugins/trust.py:970 msgid "Modify global trust configuration." msgstr "" -#: ipalib/plugins/trust.py:945 +#: ipalib/plugins/trust.py:973 #, python-format msgid "Modified \"%(value)s\" trust configuration" msgstr "" -#: ipalib/plugins/trust.py:964 +#: ipalib/plugins/trust.py:992 msgid "Show global trust configuration." msgstr "" -#: ipalib/plugins/trust.py:991 +#: ipalib/plugins/trust.py:1019 msgid "Resolve security identifiers of users and groups in trusted domains" msgstr "" -#: ipalib/plugins/trust.py:995 +#: ipalib/plugins/trust.py:1023 msgid "Security Identifiers (SIDs)" msgstr "" -#: ipalib/plugins/trust.py:1001 +#: ipalib/plugins/trust.py:1029 msgid "Name" msgstr "" -#: ipalib/plugins/trust.py:1002 +#: ipalib/plugins/trust.py:1030 msgid "SID" msgstr "" -#: ipalib/plugins/trust.py:1033 +#: ipalib/plugins/trust.py:1061 msgid "Determine whether ipa-adtrust-install has been run on this system" msgstr "" -#: ipalib/plugins/trust.py:1060 +#: ipalib/plugins/trust.py:1088 msgid "" "Determine whether Schema Compatibility plugin is configured to serve trusted " "domain users and groups" msgstr "" -#: ipalib/plugins/trust.py:1113 +#: ipalib/plugins/trust.py:1141 msgid "Determine whether ipa-adtrust-install has been run with sidgen task" msgstr "" -#: ipalib/plugins/trust.py:1129 +#: ipalib/plugins/trust.py:1157 msgid "sidgen_was_run" msgstr "" -#: ipalib/plugins/trust.py:1131 +#: ipalib/plugins/trust.py:1159 msgid "" "This command relies on the existence of the \"editors\" group, but this " "group was not found." msgstr "" -#: ipalib/plugins/trust.py:1150 +#: ipalib/plugins/trust.py:1178 msgid "trust domain" msgstr "" -#: ipalib/plugins/trust.py:1151 +#: ipalib/plugins/trust.py:1179 msgid "trust domains" msgstr "" -#: ipalib/plugins/trust.py:1156 +#: ipalib/plugins/trust.py:1184 msgid "Trusted domains" msgstr "" -#: ipalib/plugins/trust.py:1157 +#: ipalib/plugins/trust.py:1185 msgid "Trusted domain" msgstr "" -#: ipalib/plugins/trust.py:1161 +#: ipalib/plugins/trust.py:1189 msgid "Domain name" msgstr "" -#: ipalib/plugins/trust.py:1174 +#: ipalib/plugins/trust.py:1202 msgid "Trusted domain partner" msgstr "" -#: ipalib/plugins/trust.py:1194 +#: ipalib/plugins/trust.py:1222 msgid "Search domains of the trust" msgstr "" -#: ipalib/plugins/trust.py:1197 +#: ipalib/plugins/trust.py:1225 msgid "Domain enabled" msgstr "" -#: ipalib/plugins/trust.py:1224 +#: ipalib/plugins/trust.py:1252 msgid "Modify trustdomain of the trust" msgstr "" -#: ipalib/plugins/trust.py:1231 +#: ipalib/plugins/trust.py:1259 msgid "Allow access from the trusted domain" msgstr "" -#: ipalib/plugins/trust.py:1242 +#: ipalib/plugins/trust.py:1270 msgid "Remove infromation about the domain associated with the trust." msgstr "" -#: ipalib/plugins/trust.py:1244 +#: ipalib/plugins/trust.py:1272 #, python-format msgid "Removed information about the trusted domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1253 +#: ipalib/plugins/trust.py:1281 msgid "" "cannot delete root domain of the trust, use trust-del to delete the trust " "itself" msgstr "" -#: ipalib/plugins/trust.py:1313 +#: ipalib/plugins/trust.py:1341 msgid "Refresh list of the domains associated with the trust" msgstr "" -#: ipalib/plugins/trust.py:1343 +#: ipalib/plugins/trust.py:1371 msgid "List of trust domains successfully refreshed" msgstr "" -#: ipalib/plugins/trust.py:1345 +#: ipalib/plugins/trust.py:1373 msgid "No new trust domains were found" msgstr "" -#: ipalib/plugins/trust.py:1355 +#: ipalib/plugins/trust.py:1383 msgid "Allow use of IPA resources by the domain of the trust" msgstr "" -#: ipalib/plugins/trust.py:1358 +#: ipalib/plugins/trust.py:1386 #, python-format msgid "Enabled trust domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1365 +#: ipalib/plugins/trust.py:1393 msgid "Root domain of the trust is always enabled for the existing trust" msgstr "" -#: ipalib/plugins/trust.py:1395 +#: ipalib/plugins/trust.py:1423 msgid "Disable use of IPA resources by the domain of the trust" msgstr "" -#: ipalib/plugins/trust.py:1398 +#: ipalib/plugins/trust.py:1426 #, python-format msgid "Disabled trust domain \"%(value)s\"" msgstr "" -#: ipalib/plugins/trust.py:1405 +#: ipalib/plugins/trust.py:1433 msgid "" "cannot disable root domain of the trust, use trust-del to delete the trust " "itself" msgstr "" -#: ipalib/plugins/user.py:43 +#: ipalib/plugins/user.py:49 msgid "" "\n" "Users\n" @@ -11461,334 +13855,546 @@ msgid "" " ipa user-del tuser1\n" msgstr "" -#: ipalib/plugins/user.py:92 -msgid "Kerberos keys available" +#: ipalib/plugins/user.py:333 +msgid "Account disabled" msgstr "" -#: ipalib/plugins/user.py:104 -msgid "Failed logins" +#: ipalib/plugins/user.py:337 +msgid "Preserved user" msgstr "" -#: ipalib/plugins/user.py:107 -msgid "Last successful authentication" +#: ipalib/plugins/user.py:389 +msgid "Add a new user." msgstr "" -#: ipalib/plugins/user.py:110 -msgid "Last failed authentication" +#: ipalib/plugins/user.py:391 +#, python-format +msgid "Added user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:113 -msgid "Time now" +#: ipalib/plugins/user.py:398 +msgid "Don't create user private group" msgstr "" -#: ipalib/plugins/user.py:134 -msgid "must be TRUE or FALSE" +#: ipalib/plugins/user.py:474 +msgid "Default group for new users is not POSIX" msgstr "" -#: ipalib/plugins/user.py:438 -msgid "User login" +#: ipalib/plugins/user.py:563 +msgid "Delete a user." msgstr "" -#: ipalib/plugins/user.py:445 -msgid "First name" +#: ipalib/plugins/user.py:565 +#, python-format +msgid "Deleted user \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:449 -msgid "Last name" +#: ipalib/plugins/user.py:573 +msgid "Delete a user, keeping the entry available for future use" +msgstr "" + +#: ipalib/plugins/user.py:577 +msgid "Delete a user" +msgstr "" + +#: ipalib/plugins/user.py:585 +msgid "preserve and no-preserve cannot be both set" +msgstr "" + +#: ipalib/plugins/user.py:686 +msgid "Modify a user." +msgstr "" + +#: ipalib/plugins/user.py:688 +#, python-format +msgid "Modified user \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/user.py:705 +msgid "Search for users." +msgstr "" + +#: ipalib/plugins/user.py:716 +msgid "Self" +msgstr "" + +#: ipalib/plugins/user.py:717 +msgid "Display user record for current Kerberos principal" +msgstr "" + +#: ipalib/plugins/user.py:764 +msgid "Display information about a user." +msgstr "" + +#: ipalib/plugins/user.py:776 +msgid "Undelete a delete user account." +msgstr "" + +#: ipalib/plugins/user.py:779 +#, python-format +msgid "Undeleted user account \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/user.py:789 +#, python-format +msgid "User %r is already active" +msgstr "" + +#: ipalib/plugins/user.py:795 +#, python-format +msgid "User %r not found" +msgstr "" + +#: ipalib/plugins/user.py:822 +msgid "Disable a user account." +msgstr "" + +#: ipalib/plugins/user.py:825 +#, python-format +msgid "Disabled user account \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/user.py:843 +msgid "Enable a user account." +msgstr "" + +#: ipalib/plugins/user.py:847 +#, python-format +msgid "Enabled user account \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/user.py:864 +msgid "" +"\n" +" Unlock a user account\n" +"\n" +" An account may become locked if the password is entered incorrectly too\n" +" many times within a specific time period as controlled by password\n" +" policy. A locked account is a temporary condition and may be unlocked " +"by\n" +" an administrator." +msgstr "" + +#: ipalib/plugins/user.py:873 +#, python-format +msgid "Unlocked account \"%(value)s\"" +msgstr "" + +#: ipalib/plugins/user.py:893 +msgid "" +"\n" +" Lockout status of a user account\n" +"\n" +" An account may become locked if the password is entered incorrectly too\n" +" many times within a specific time period as controlled by password\n" +" policy. A locked account is a temporary condition and may be unlocked " +"by\n" +" an administrator.\n" +"\n" +" This connects to each IPA master and displays the lockout status on\n" +" each one.\n" +"\n" +" To determine whether an account is locked on a given server you need\n" +" to compare the number of failed logins and the time of the last " +"failure.\n" +" For an account to be locked it must exceed the maxfail failures within\n" +" the failinterval duration as specified in the password policy " +"associated\n" +" with the user.\n" +"\n" +" The failed login counter is modified only when a user attempts a log in\n" +" so it is possible that an account may appear locked but the last failed\n" +" login attempt is older than the lockouttime of the password policy. " +"This\n" +" means that the user may attempt a login again. " +msgstr "" + +#: ipalib/plugins/user.py:951 +#, python-format +msgid "%(host)s failed: %(error)s" +msgstr "" + +#: ipalib/plugins/user.py:988 +#, python-format +msgid "%(host)s failed" +msgstr "" + +#: ipalib/plugins/user.py:998 +#, python-format +msgid "Account disabled: %(disabled)s" +msgstr "" + +#: ipalib/plugins/vault.py:48 +msgid "" +"\n" +"Vaults\n" +msgstr "" + +#: ipalib/plugins/vault.py:50 +msgid "" +"\n" +"Manage vaults.\n" +msgstr "" + +#: ipalib/plugins/vault.py:54 +msgid "" +"\n" +" List private vaults:\n" +" ipa vault-find\n" +msgstr "" + +#: ipalib/plugins/vault.py:57 +msgid "" +"\n" +" List service vaults:\n" +" ipa vault-find --service \n" +msgstr "" + +#: ipalib/plugins/vault.py:60 +msgid "" +"\n" +" List shared vaults:\n" +" ipa vault-find --shared\n" +msgstr "" + +#: ipalib/plugins/vault.py:63 +msgid "" +"\n" +" List user vaults:\n" +" ipa vault-find --user \n" +msgstr "" + +#: ipalib/plugins/vault.py:66 +msgid "" +"\n" +" Add a private vault:\n" +" ipa vault-add \n" msgstr "" -#: ipalib/plugins/user.py:452 -msgid "Full name" +#: ipalib/plugins/vault.py:69 +msgid "" +"\n" +" Add a service vault:\n" +" ipa vault-add --service \n" msgstr "" -#: ipalib/plugins/user.py:457 -msgid "Display name" +#: ipalib/plugins/vault.py:72 +msgid "" +"\n" +" Add a shared vault:\n" +" ipa vault-add --shared\n" msgstr "" -#: ipalib/plugins/user.py:462 -msgid "Initials" +#: ipalib/plugins/vault.py:75 +msgid "" +"\n" +" Add a user vault:\n" +" ipa vault-add --user \n" msgstr "" -#: ipalib/plugins/user.py:468 -msgid "Home directory" +#: ipalib/plugins/vault.py:78 +msgid "" +"\n" +" Show a private vault:\n" +" ipa vault-show \n" msgstr "" -#: ipalib/plugins/user.py:471 -msgid "GECOS" +#: ipalib/plugins/vault.py:81 +msgid "" +"\n" +" Show a service vault:\n" +" ipa vault-show --service \n" msgstr "" -#: ipalib/plugins/user.py:477 -msgid "Login shell" +#: ipalib/plugins/vault.py:84 +msgid "" +"\n" +" Show a shared vault:\n" +" ipa vault-show --shared\n" msgstr "" -#: ipalib/plugins/user.py:481 -msgid "Kerberos principal" +#: ipalib/plugins/vault.py:87 +msgid "" +"\n" +" Show a user vault:\n" +" ipa vault-show --user \n" msgstr "" -#: ipalib/plugins/user.py:489 -msgid "Kerberos principal expiration" +#: ipalib/plugins/vault.py:90 +msgid "" +"\n" +" Modify a private vault:\n" +" ipa vault-mod --desc \n" msgstr "" -#: ipalib/plugins/user.py:493 -msgid "Email address" +#: ipalib/plugins/vault.py:93 +msgid "" +"\n" +" Modify a service vault:\n" +" ipa vault-mod --service --desc \n" msgstr "" -#: ipalib/plugins/user.py:498 -msgid "Prompt to set the user password" +#: ipalib/plugins/vault.py:96 +msgid "" +"\n" +" Modify a shared vault:\n" +" ipa vault-mod --shared --desc \n" msgstr "" -#: ipalib/plugins/user.py:504 -msgid "Generate a random user password" +#: ipalib/plugins/vault.py:99 +msgid "" +"\n" +" Modify a user vault:\n" +" ipa vault-mod --user --desc \n" msgstr "" -#: ipalib/plugins/user.py:514 -msgid "UID" +#: ipalib/plugins/vault.py:102 +msgid "" +"\n" +" Delete a private vault:\n" +" ipa vault-del \n" msgstr "" -#: ipalib/plugins/user.py:515 -msgid "User ID Number (system will assign one if not provided)" +#: ipalib/plugins/vault.py:105 +msgid "" +"\n" +" Delete a service vault:\n" +" ipa vault-del --service \n" msgstr "" -#: ipalib/plugins/user.py:520 -msgid "Group ID Number" +#: ipalib/plugins/vault.py:108 +msgid "" +"\n" +" Delete a shared vault:\n" +" ipa vault-del --shared\n" msgstr "" -#: ipalib/plugins/user.py:525 -msgid "Street address" +#: ipalib/plugins/vault.py:111 +msgid "" +"\n" +" Delete a user vault:\n" +" ipa vault-del --user \n" msgstr "" -#: ipalib/plugins/user.py:529 -msgid "City" +#: ipalib/plugins/vault.py:114 +msgid "" +"\n" +" Display vault configuration:\n" +" ipa vault-config\n" msgstr "" -#: ipalib/plugins/user.py:533 -msgid "State/Province" +#: ipalib/plugins/vault.py:117 +msgid "" +"\n" +" Archive data into private vault:\n" +" ipa vault-archive --in \n" msgstr "" -#: ipalib/plugins/user.py:536 -msgid "ZIP" +#: ipalib/plugins/vault.py:120 +msgid "" +"\n" +" Archive data into service vault:\n" +" ipa vault-archive --service --in \n" msgstr "" -#: ipalib/plugins/user.py:540 -msgid "Telephone Number" +#: ipalib/plugins/vault.py:123 +msgid "" +"\n" +" Archive data into shared vault:\n" +" ipa vault-archive --shared --in \n" msgstr "" -#: ipalib/plugins/user.py:543 -msgid "Mobile Telephone Number" +#: ipalib/plugins/vault.py:126 +msgid "" +"\n" +" Archive data into user vault:\n" +" ipa vault-archive --user --in \n" msgstr "" -#: ipalib/plugins/user.py:546 -msgid "Pager Number" +#: ipalib/plugins/vault.py:129 +msgid "" +"\n" +" Retrieve data from private vault:\n" +" ipa vault-retrieve --out \n" msgstr "" -#: ipalib/plugins/user.py:550 -msgid "Fax Number" +#: ipalib/plugins/vault.py:132 +msgid "" +"\n" +" Retrieve data from service vault:\n" +" ipa vault-retrieve --service --out \n" msgstr "" -#: ipalib/plugins/user.py:554 -msgid "Org. Unit" +#: ipalib/plugins/vault.py:135 +msgid "" +"\n" +" Retrieve data from shared vault:\n" +" ipa vault-retrieve --shared --out \n" msgstr "" -#: ipalib/plugins/user.py:557 -msgid "Job Title" +#: ipalib/plugins/vault.py:138 +msgid "" +"\n" +" Retrieve data from user vault:\n" +" ipa vault-retrieve --user --out \n" msgstr "" -#: ipalib/plugins/user.py:563 -msgid "Car License" +#: ipalib/plugins/vault.py:153 +msgid "Shared vault" msgstr "" -#: ipalib/plugins/user.py:566 -msgid "Account disabled" +#: ipalib/plugins/vault.py:164 +msgid "" +"\n" +" Vault object.\n" +" " msgstr "" -#: ipalib/plugins/user.py:578 -msgid "User authentication types" +#: ipalib/plugins/vault.py:170 +msgid "vault" msgstr "" -#: ipalib/plugins/user.py:579 -msgid "Types of supported user authentication" +#: ipalib/plugins/vault.py:171 +msgid "vaults" msgstr "" -#: ipalib/plugins/user.py:586 -msgid "" -"User category (semantics placed on this attribute are for local " -"interpretation)" +#: ipalib/plugins/vault.py:179 +msgid "Vaults" msgstr "" -#: ipalib/plugins/user.py:591 -msgid "RADIUS proxy configuration" +#: ipalib/plugins/vault.py:180 +msgid "Vault" msgstr "" -#: ipalib/plugins/user.py:595 -msgid "RADIUS proxy username" +#: ipalib/plugins/vault.py:186 +msgid "Vault name" msgstr "" -#: ipalib/plugins/user.py:598 -msgid "Department Number" +#: ipalib/plugins/vault.py:196 +msgid "Vault description" msgstr "" -#: ipalib/plugins/user.py:601 -msgid "Employee Number" +#: ipalib/plugins/vault.py:221 +msgid "Service, shared, and user options cannot be specified simultaneously" msgstr "" -#: ipalib/plugins/user.py:604 -msgid "Employee Type" +#: ipalib/plugins/vault.py:236 +msgid "Host is not supported" msgstr "" -#: ipalib/plugins/user.py:607 -msgid "Preferred Language" +#: ipalib/plugins/vault.py:313 +msgid "Create a new vault." msgstr "" -#: ipalib/plugins/user.py:629 ipalib/plugins/user.py:633 +#: ipalib/plugins/vault.py:317 #, python-format -msgid "invalid e-mail format: %(email)s" +msgid "Added vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:659 -#, python-format -msgid "manager %(manager)s not found" +#: ipalib/plugins/vault.py:325 ipalib/plugins/vault.py:349 +#: ipalib/plugins/vault.py:395 ipalib/plugins/vault.py:427 +#: ipalib/plugins/vault.py:443 ipalib/plugins/vault.py:491 +#: ipalib/plugins/vault.py:629 ipalib/plugins/vault.py:779 +msgid "KRA service is not enabled" msgstr "" -#: ipalib/plugins/user.py:677 -msgid "Add a new user." +#: ipalib/plugins/vault.py:338 +msgid "Delete a vault." msgstr "" -#: ipalib/plugins/user.py:679 +#: ipalib/plugins/vault.py:342 #, python-format -msgid "Added user \"%(value)s\"" +msgid "Deleted vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:686 -msgid "Don't create user private group" +#: ipalib/plugins/vault.py:379 +msgid "Search for vaults." msgstr "" -#: ipalib/plugins/user.py:730 ipalib/plugins/user.py:891 +#: ipalib/plugins/vault.py:384 #, python-format -msgid "can be at most %(len)d characters" -msgstr "" - -#: ipalib/plugins/user.py:762 -msgid "Default group for new users is not POSIX" -msgstr "" +msgid "%(count)d vault matched" +msgid_plural "%(count)d vaults matched" +msgstr[0] "" +msgstr[1] "" -#: ipalib/plugins/user.py:852 -msgid "Delete a user." +#: ipalib/plugins/vault.py:414 +msgid "Modify a vault." msgstr "" -#: ipalib/plugins/user.py:854 +#: ipalib/plugins/vault.py:418 #, python-format -msgid "Deleted user \"%(value)s\"" +msgid "Modified vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:877 -msgid "Modify a user." +#: ipalib/plugins/vault.py:434 +msgid "Display information about a vault." msgstr "" -#: ipalib/plugins/user.py:879 -#, python-format -msgid "Modified user \"%(value)s\"" +#: ipalib/plugins/vault.py:450 +msgid "Vault configuration" msgstr "" -#: ipalib/plugins/user.py:950 -msgid "Search for users." +#: ipalib/plugins/vault.py:455 +msgid "Transport Certificate" msgstr "" -#: ipalib/plugins/user.py:957 -msgid "Self" +#: ipalib/plugins/vault.py:462 +msgid "Show vault configuration." msgstr "" -#: ipalib/plugins/user.py:958 -msgid "Display user record for current Kerberos principal" +#: ipalib/plugins/vault.py:467 +msgid "Output file to store the transport certificate" msgstr "" -#: ipalib/plugins/user.py:994 -#, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "" -msgstr[1] "" +#: ipalib/plugins/vault.py:505 +msgid "Archive data into a vault." +msgstr "" -#: ipalib/plugins/user.py:1000 -msgid "Display information about a user." +#: ipalib/plugins/vault.py:510 +msgid "Binary data to archive" msgstr "" -#: ipalib/plugins/user.py:1016 -msgid "Disable a user account." +#: ipalib/plugins/vault.py:514 +msgid "File containing data to archive" msgstr "" -#: ipalib/plugins/user.py:1019 +#: ipalib/plugins/vault.py:520 #, python-format -msgid "Disabled user account \"%(value)s\"" +msgid "Archived data into vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:1037 -msgid "Enable a user account." +#: ipalib/plugins/vault.py:536 +msgid "Input data specified multiple times" msgstr "" -#: ipalib/plugins/user.py:1041 -#, python-format -msgid "Enabled user account \"%(value)s\"" +#: ipalib/plugins/vault.py:613 ipalib/plugins/vault.py:771 +msgid "Session key wrapped with transport certificate" msgstr "" -#: ipalib/plugins/user.py:1058 -msgid "" -"\n" -" Unlock a user account\n" -"\n" -" An account may become locked if the password is entered incorrectly too\n" -" many times within a specific time period as controlled by password\n" -" policy. A locked account is a temporary condition and may be unlocked " -"by\n" -" an administrator." +#: ipalib/plugins/vault.py:617 +msgid "Vault data encrypted with session key" msgstr "" -#: ipalib/plugins/user.py:1067 -#, python-format -msgid "Unlocked account \"%(value)s\"" +#: ipalib/plugins/vault.py:621 +msgid "Nonce" msgstr "" -#: ipalib/plugins/user.py:1087 -msgid "" -"\n" -" Lockout status of a user account\n" -"\n" -" An account may become locked if the password is entered incorrectly too\n" -" many times within a specific time period as controlled by password\n" -" policy. A locked account is a temporary condition and may be unlocked " -"by\n" -" an administrator.\n" -"\n" -" This connects to each IPA master and displays the lockout status on\n" -" each one.\n" -"\n" -" To determine whether an account is locked on a given server you need\n" -" to compare the number of failed logins and the time of the last " -"failure.\n" -" For an account to be locked it must exceed the maxfail failures within\n" -" the failinterval duration as specified in the password policy " -"associated\n" -" with the user.\n" -"\n" -" The failed login counter is modified only when a user attempts a log in\n" -" so it is possible that an account may appear locked but the last failed\n" -" login attempt is older than the lockouttime of the password policy. " -"This\n" -" means that the user may attempt a login again. " +#: ipalib/plugins/vault.py:674 +msgid "Retrieve a data from a vault." msgstr "" -#: ipalib/plugins/user.py:1145 -#, python-format -msgid "%(host)s failed: %(error)s" +#: ipalib/plugins/vault.py:679 +msgid "File to store retrieved data" msgstr "" -#: ipalib/plugins/user.py:1181 +#: ipalib/plugins/vault.py:691 #, python-format -msgid "%(host)s failed" +msgid "Retrieved data from vault \"%(value)s\"" msgstr "" -#: ipalib/plugins/user.py:1191 -#, python-format -msgid "Account disabled: %(disabled)s" +#: ipalib/plugins/vault.py:801 +msgid "No archived data." msgstr "" #: ipalib/plugins/virtual.py:52 @@ -11803,7 +14409,7 @@ msgstr "" msgid "No such virtual command" msgstr "" -#: ipalib/rpc.py:839 +#: ipalib/rpc.py:849 msgid "any of the configured servers" msgstr "" @@ -11811,92 +14417,131 @@ msgstr "" msgid "could not allocate unique new session_id" msgstr "" -#: ipalib/util.py:191 +#: ipalib/util.py:205 msgid "Filename is empty" msgstr "" -#: ipalib/util.py:195 +#: ipalib/util.py:209 #, python-format msgid "Permission denied: %(file)s" msgstr "" -#: ipalib/util.py:243 +#: ipalib/util.py:251 ipalib/util.py:757 +msgid "empty DNS label" +msgstr "" + +#: ipalib/util.py:254 msgid "DNS label cannot be longer that 63 characters" msgstr "" -#: ipalib/util.py:248 +#: ipalib/util.py:259 #, python-format msgid "" "only letters, numbers, %(chars)s are allowed. DNS label may not start or end " "with %(chars2)s" msgstr "" -#: ipalib/util.py:268 +#: ipalib/util.py:277 msgid "too many '@' characters" msgstr "" -#: ipalib/util.py:270 -msgid "missing address domain" -msgstr "" - -#: ipalib/util.py:272 -msgid "missing mail account" -msgstr "" - -#: ipalib/util.py:286 +#: ipalib/util.py:293 msgid "cannot be longer that 255 characters" msgstr "" -#: ipalib/util.py:292 +#: ipalib/util.py:299 msgid "hostname contains empty label (consecutive dots)" msgstr "" -#: ipalib/util.py:296 +#: ipalib/util.py:303 msgid "not fully qualified" msgstr "" -#: ipalib/util.py:308 ipalib/util.py:314 +#: ipalib/util.py:315 ipalib/util.py:321 msgid "invalid SSH public key" msgstr "" -#: ipalib/util.py:317 +#: ipalib/util.py:324 msgid "options are not allowed" msgstr "" -#: ipalib/util.py:553 +#: ipalib/util.py:560 msgid "invalid hostmask" msgstr "" -#: ipalib/x509.py:208 +#: ipalib/util.py:572 +#, python-format +msgid "query '%(owner)s %(rtype)s': %(error)s" +msgstr "" + +#: ipalib/util.py:576 +#, python-format +msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" +msgstr "" + +#: ipalib/util.py:580 +#, python-format +msgid "" +"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " +"data)" +msgstr "" + +#: ipalib/util.py:585 +#, python-format +msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" +msgstr "" + +#: ipalib/util.py:755 +msgid "invalid escape code in domain name" +msgstr "" + +#: ipalib/util.py:759 +msgid "domain name cannot be longer than 255 characters" +msgstr "" + +#: ipalib/util.py:761 +msgid "DNS label cannot be longer than 63 characters" +msgstr "" + +#: ipalib/util.py:763 +msgid "invalid domain name" +msgstr "" + +#: ipalib/util.py:775 +#, python-format +msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" +msgstr "" + +#: ipalib/x509.py:302 msgid "improperly formatted DER-encoded certificate" msgstr "" -#: ipalib/x509.py:245 +#: ipalib/x509.py:357 #, python-format msgid "Issuer \"%(issuer)s\" does not match the expected issuer" msgstr "" -#: ipapython/dogtag.py:181 +#: ipapython/dogtag.py:194 #, python-format msgid "Retrieving CA cert chain failed: %s" msgstr "" -#: ipapython/dogtag.py:187 +#: ipapython/dogtag.py:200 #, python-format msgid "request failed with HTTP status %d" msgstr "" -#: ipapython/dogtag.py:214 ipapython/dogtag.py:221 +#: ipapython/dogtag.py:212 ipapython/dogtag.py:237 #, python-format msgid "Retrieving CA status failed: %s" msgstr "" -#: ipapython/ipaldap.py:1237 +#: ipapython/ipaldap.py:1010 #, python-format msgid "objectclass %s not found" msgstr "" -#: ipaserver/dcerpc.py:60 +#: ipaserver/dcerpc.py:63 msgid "" "\n" "Classes to manage trust joins using DCE-RPC calls\n" @@ -11905,145 +14550,179 @@ msgid "" "and Samba4 python bindings.\n" msgstr "" -#: ipaserver/dcerpc.py:77 +#: ipaserver/dcerpc.py:80 msgid "CIFS server denied your credentials" msgstr "" -#: ipaserver/dcerpc.py:80 +#: ipaserver/dcerpc.py:83 msgid "communication with CIFS server was unsuccessful" msgstr "" -#: ipaserver/dcerpc.py:85 +#: ipaserver/dcerpc.py:88 msgid "AD domain controller" msgstr "" -#: ipaserver/dcerpc.py:85 +#: ipaserver/dcerpc.py:88 msgid "unsupported functional level" msgstr "" -#: ipaserver/dcerpc.py:88 +#: ipaserver/dcerpc.py:91 msgid "" "AD domain controller complains about communication sequence. It may mean " "unsynchronized time on both sides, for example" msgstr "" -#: ipaserver/dcerpc.py:93 +#: ipaserver/dcerpc.py:95 +msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" +msgstr "" + +#: ipaserver/dcerpc.py:100 msgid "Cannot find specified domain or server name" msgstr "" -#: ipaserver/dcerpc.py:95 +#: ipaserver/dcerpc.py:102 +msgid "" +"AD DC was unable to reach any IPA domain controller. Most likely it is a DNS " +"or firewall issue" +msgstr "" + +#: ipaserver/dcerpc.py:104 msgid "At least the domain or IP address should be specified" msgstr "" -#: ipaserver/dcerpc.py:107 +#: ipaserver/dcerpc.py:116 #, python-format msgid "" "CIFS server communication error: code \"%(num)s\",\n" " message \"%(message)s\" (both may be \"None\")" msgstr "" -#: ipaserver/dcerpc.py:207 +#: ipaserver/dcerpc.py:216 msgid "no trusted domain is configured" msgstr "" -#: ipaserver/dcerpc.py:214 +#: ipaserver/dcerpc.py:223 msgid "domain is not configured" msgstr "" -#: ipaserver/dcerpc.py:221 +#: ipaserver/dcerpc.py:230 msgid "SID is not valid" msgstr "" -#: ipaserver/dcerpc.py:236 +#: ipaserver/dcerpc.py:245 msgid "SID does not match exactlywith any trusted domain's SID" msgstr "" -#: ipaserver/dcerpc.py:247 +#: ipaserver/dcerpc.py:256 msgid "SID does not match any trusted domain" msgstr "" -#: ipaserver/dcerpc.py:287 ipaserver/dcerpc.py:293 ipaserver/dcerpc.py:515 +#: ipaserver/dcerpc.py:296 ipaserver/dcerpc.py:302 ipaserver/dcerpc.py:571 msgid "Trust setup" msgstr "" -#: ipaserver/dcerpc.py:288 +#: ipaserver/dcerpc.py:297 msgid "Our domain is not configured" msgstr "" -#: ipaserver/dcerpc.py:294 +#: ipaserver/dcerpc.py:303 msgid "No trusted domain is not configured" msgstr "" -#: ipaserver/dcerpc.py:299 ipaserver/dcerpc.py:314 ipaserver/dcerpc.py:331 -#: ipaserver/dcerpc.py:343 ipaserver/dcerpc.py:350 ipaserver/dcerpc.py:395 +#: ipaserver/dcerpc.py:308 ipaserver/dcerpc.py:323 ipaserver/dcerpc.py:340 +#: ipaserver/dcerpc.py:352 ipaserver/dcerpc.py:359 ipaserver/dcerpc.py:399 +#: ipaserver/dcerpc.py:451 msgid "trusted domain object" msgstr "" -#: ipaserver/dcerpc.py:300 +#: ipaserver/dcerpc.py:309 msgid "domain is not trusted" msgstr "" -#: ipaserver/dcerpc.py:315 +#: ipaserver/dcerpc.py:324 msgid "no trusted domain matched the specified flat name" msgstr "" -#: ipaserver/dcerpc.py:317 +#: ipaserver/dcerpc.py:326 msgid "trusted domain object not found" msgstr "" -#: ipaserver/dcerpc.py:332 ipaserver/dcerpc.py:396 +#: ipaserver/dcerpc.py:341 ipaserver/dcerpc.py:452 msgid "Ambiguous search, user domain was not specified" msgstr "" -#: ipaserver/dcerpc.py:344 +#: ipaserver/dcerpc.py:353 ipaserver/dcerpc.py:400 msgid "Trusted domain did not return a unique object" msgstr "" -#: ipaserver/dcerpc.py:351 +#: ipaserver/dcerpc.py:360 msgid "Trusted domain did not return a valid SID for the object" msgstr "" -#: ipaserver/dcerpc.py:381 ipaserver/dcerpc.py:391 +#: ipaserver/dcerpc.py:437 ipaserver/dcerpc.py:447 msgid "trusted domain user not found" msgstr "" -#: ipaserver/dcerpc.py:516 +#: ipaserver/dcerpc.py:572 msgid "Cannot retrieve trusted domain GC list" msgstr "" -#: ipaserver/dcerpc.py:652 +#: ipaserver/dcerpc.py:713 msgid "CIFS credentials object" msgstr "" -#: ipaserver/dcerpc.py:685 +#: ipaserver/dcerpc.py:750 #, python-format msgid "CIFS server %(host)s denied your credentials" msgstr "" -#: ipaserver/dcerpc.py:689 +#: ipaserver/dcerpc.py:754 #, python-format msgid "Cannot establish LSA connection to %(host)s. Is CIFS server running?" msgstr "" -#: ipaserver/dcerpc.py:878 +#: ipaserver/dcerpc.py:955 #, python-format msgid "" "the IPA server and the remote domain cannot share the same NetBIOS name: %s" msgstr "" -#: ipaserver/install/certs.py:641 +#: ipaserver/dcerpc.py:1035 +#, python-format +msgid "" +"IPA master denied trust validation requests from AD DC %(count)d times. Most " +"likely AD DC contacted a replica that has no trust information replicated " +"yet." +msgstr "" + +#: ipaserver/install/certs.py:409 #, python-format msgid "Unable to communicate with CMS (%s)" msgstr "" -#: ipaserver/plugins/dogtag.py:1253 +#: ipaserver/plugins/dogtag.py:1321 msgid "Unable to communicate with CMS" msgstr "" -#: ipaserver/plugins/dogtag.py:1833 +#: ipaserver/plugins/dogtag.py:1853 msgid "find not supported on CAs upgraded from 9 to 10" msgstr "" +#: ipaserver/plugins/dogtag.py:2018 +msgid "Failed to authenticate to CA REST API" +msgstr "" + +#: ipaserver/plugins/dogtag.py:2043 +msgid "REST API is not logged in." +msgstr "" + +#: ipaserver/plugins/dogtag.py:2060 +#, python-format +msgid "" +"Non-2xx response from CA REST API: %(status)d %(status_text)s. " +"%(explanation)s" +msgstr "" + #: ipaserver/plugins/join.py:59 msgid "The hostname to register as" msgstr "" @@ -12067,35 +14746,35 @@ msgid "" "'%s'." msgstr "" -#: ipaserver/plugins/ldap2.py:323 +#: ipaserver/plugins/ldap2.py:282 msgid "Could not read UPG Definition originfilter. Check your permissions." msgstr "" -#: ipaserver/rpcserver.py:475 +#: ipaserver/rpcserver.py:479 msgid "Request must be a dict" msgstr "" -#: ipaserver/rpcserver.py:477 +#: ipaserver/rpcserver.py:481 msgid "Request is missing \"method\"" msgstr "" -#: ipaserver/rpcserver.py:479 +#: ipaserver/rpcserver.py:483 msgid "Request is missing \"params\"" msgstr "" -#: ipaserver/rpcserver.py:485 +#: ipaserver/rpcserver.py:489 msgid "params must be a list" msgstr "" -#: ipaserver/rpcserver.py:487 +#: ipaserver/rpcserver.py:491 msgid "params must contain [args, options]" msgstr "" -#: ipaserver/rpcserver.py:490 +#: ipaserver/rpcserver.py:494 msgid "params[0] (aka args) must be a list" msgstr "" -#: ipaserver/rpcserver.py:493 +#: ipaserver/rpcserver.py:497 msgid "params[1] (aka options) must be a dict" msgstr "" @@ -12119,337 +14798,308 @@ msgstr "" msgid "read error\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:62 +#: ipa-client/ipa-getkeytab.c:63 #, c-format msgid "Kerberos context initialization failed: %1$s (%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:73 +#: ipa-client/ipa-getkeytab.c:74 #, c-format msgid "Unable to parse principal: %1$s (%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:128 +#: ipa-client/ipa-getkeytab.c:129 #, c-format msgid "No keys accepted by KDC\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:143 +#: ipa-client/ipa-getkeytab.c:144 #, c-format msgid "Out of memory \n" msgstr "" -#: ipa-client/ipa-getkeytab.c:169 +#: ipa-client/ipa-getkeytab.c:170 #, c-format msgid "Unable to set LDAP_OPT_X_TLS_CERTIFICATE\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:175 +#: ipa-client/ipa-getkeytab.c:176 #, c-format msgid "Unable to init for ldaps(636) connection\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:182 +#: ipa-client/ipa-getkeytab.c:183 #, c-format msgid "Unable to set LDAP_OPT_X_TLS\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:188 +#: ipa-client/ipa-getkeytab.c:189 #, c-format msgid "Unable to init for ldap(389) connection\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:194 +#: ipa-client/ipa-getkeytab.c:195 #, c-format msgid "Unable to initialize ldap library!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:202 ipa-client/ipa-join.c:240 +#: ipa-client/ipa-getkeytab.c:203 ipa-client/ipa-join.c:243 #, c-format msgid "Unable to set LDAP_OPT_X_SASL_NOCANON\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:210 +#: ipa-client/ipa-getkeytab.c:211 #, c-format msgid "Unable to set LDAP_OPT_PROTOCOL_VERSION\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:221 +#: ipa-client/ipa-getkeytab.c:222 #, c-format msgid "Simple bind failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:264 +#: ipa-client/ipa-getkeytab.c:265 #, c-format -msgid "Operation failed! %s\n" +msgid "Operation failed: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:273 +#: ipa-client/ipa-getkeytab.c:274 #, c-format -msgid "Failed to get result! %s\n" +msgid "Failed to get result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:279 +#: ipa-client/ipa-getkeytab.c:280 #, c-format -msgid "Failed to parse extended result! %s\n" +msgid "Failed to parse extended result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:286 +#: ipa-client/ipa-getkeytab.c:287 #, c-format -msgid "Failed to parse result! %s\n" +msgid "Failed to parse result: %s\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:304 +#: ipa-client/ipa-getkeytab.c:306 #, c-format msgid "Missing reply control list!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:314 +#: ipa-client/ipa-getkeytab.c:316 #, c-format msgid "Missing reply control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:342 +#: ipa-client/ipa-getkeytab.c:356 #, c-format msgid "Out of Memory!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:349 ipa-client/ipa-getkeytab.c:595 +#: ipa-client/ipa-getkeytab.c:363 ipa-client/ipa-getkeytab.c:522 #, c-format msgid "Failed to create control!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:355 ipa-client/ipa-getkeytab.c:602 +#: ipa-client/ipa-getkeytab.c:369 ipa-client/ipa-getkeytab.c:529 #, c-format msgid "Failed to bind to server!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:362 +#: ipa-client/ipa-getkeytab.c:376 #, c-format msgid "Failed to get keytab!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:371 +#: ipa-client/ipa-getkeytab.c:385 #, c-format msgid "ber_init() failed, Invalid control ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:390 +#: ipa-client/ipa-getkeytab.c:404 #, c-format msgid "ber_scanf() failed, unable to find kvno ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:402 +#: ipa-client/ipa-getkeytab.c:416 #, c-format msgid "Failed to retrieve encryption type type #%d\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:406 +#: ipa-client/ipa-getkeytab.c:420 #, c-format msgid "Failed to retrieve encryption type %1$s (#%2$d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:416 +#: ipa-client/ipa-getkeytab.c:430 #, c-format msgid "Failed to retrieve any keys" msgstr "" -#: ipa-client/ipa-getkeytab.c:614 -msgid "Failed to find or parse reply control!\n" -msgstr "" - -#: ipa-client/ipa-getkeytab.c:621 -msgid "Failed to parse control head!\n" -msgstr "" - -#: ipa-client/ipa-getkeytab.c:636 ipa-client/ipa-getkeytab.c:656 -#: ipa-client/ipa-getkeytab.c:675 ipa-client/ipa-join.c:408 -#: ipa-client/ipa-join.c:483 ipa-client/ipa-join.c:501 -#: ipa-client/ipa-join.c:602 ipa-client/ipa-join.c:808 -#: ipa-client/ipa-join.c:869 util/ipa_krb5.c:1002 util/ipa_krb5.c:1036 -#, c-format -msgid "Out of memory!\n" -msgstr "" - -#: ipa-client/ipa-getkeytab.c:647 -msgid "Failed to parse enctype in key data!\n" -msgstr "" - -#: ipa-client/ipa-getkeytab.c:667 -msgid "Failed to parse salt in key data!\n" +#: ipa-client/ipa-getkeytab.c:544 +msgid "Failed to decode control reply!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:684 -msgid "Failed to parse ending of key data!\n" -msgstr "" - -#: ipa-client/ipa-getkeytab.c:694 -msgid "Failed to parse ending of control!\n" -msgstr "" - -#: ipa-client/ipa-getkeytab.c:724 +#: ipa-client/ipa-getkeytab.c:572 msgid "New Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:730 +#: ipa-client/ipa-getkeytab.c:578 msgid "Verify Principal Password" msgstr "" -#: ipa-client/ipa-getkeytab.c:765 +#: ipa-client/ipa-getkeytab.c:613 msgid "Print as little as possible" msgstr "" -#: ipa-client/ipa-getkeytab.c:765 +#: ipa-client/ipa-getkeytab.c:613 msgid "Output only on errors" msgstr "" -#: ipa-client/ipa-getkeytab.c:767 +#: ipa-client/ipa-getkeytab.c:615 msgid "Contact this specific KDC Server" msgstr "" -#: ipa-client/ipa-getkeytab.c:768 +#: ipa-client/ipa-getkeytab.c:616 msgid "Server Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:770 ipa-client/ipa-rmkeytab.c:171 +#: ipa-client/ipa-getkeytab.c:618 msgid "The principal to get a keytab for (ex: ftp/ftp.example.com@EXAMPLE.COM)" msgstr "" -#: ipa-client/ipa-getkeytab.c:771 ipa-client/ipa-rmkeytab.c:172 +#: ipa-client/ipa-getkeytab.c:619 ipa-client/ipa-rmkeytab.c:172 msgid "Kerberos Service Principal Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:773 ipa-client/ipa-rmkeytab.c:174 +#: ipa-client/ipa-getkeytab.c:621 msgid "File were to store the keytab information" msgstr "" -#: ipa-client/ipa-getkeytab.c:774 ipa-client/ipa-rmkeytab.c:174 +#: ipa-client/ipa-getkeytab.c:622 ipa-client/ipa-rmkeytab.c:174 msgid "Keytab File Name" msgstr "" -#: ipa-client/ipa-getkeytab.c:776 +#: ipa-client/ipa-getkeytab.c:624 msgid "Encryption types to request" msgstr "" -#: ipa-client/ipa-getkeytab.c:777 +#: ipa-client/ipa-getkeytab.c:625 msgid "Comma separated encryption types list" msgstr "" -#: ipa-client/ipa-getkeytab.c:779 +#: ipa-client/ipa-getkeytab.c:627 msgid "Show the list of permitted encryption types and exit" msgstr "" -#: ipa-client/ipa-getkeytab.c:780 +#: ipa-client/ipa-getkeytab.c:628 msgid "Permitted Encryption Types" msgstr "" -#: ipa-client/ipa-getkeytab.c:782 +#: ipa-client/ipa-getkeytab.c:630 msgid "Asks for a non-random password to use for the principal" msgstr "" -#: ipa-client/ipa-getkeytab.c:784 +#: ipa-client/ipa-getkeytab.c:632 msgid "LDAP DN" msgstr "" -#: ipa-client/ipa-getkeytab.c:784 +#: ipa-client/ipa-getkeytab.c:632 msgid "DN to bind as if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:786 +#: ipa-client/ipa-getkeytab.c:634 msgid "LDAP password" msgstr "" -#: ipa-client/ipa-getkeytab.c:786 +#: ipa-client/ipa-getkeytab.c:634 msgid "password to use if not using kerberos" msgstr "" -#: ipa-client/ipa-getkeytab.c:788 +#: ipa-client/ipa-getkeytab.c:636 msgid "Retrieve current keys without changing them" msgstr "" -#: ipa-client/ipa-getkeytab.c:813 ipa-client/ipa-rmkeytab.c:190 +#: ipa-client/ipa-getkeytab.c:661 ipa-client/ipa-rmkeytab.c:190 #, c-format msgid "Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:826 util/ipa_krb5.c:874 +#: ipa-client/ipa-getkeytab.c:674 util/ipa_krb5.c:878 #, c-format msgid "No system preferred enctypes ?!\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:829 +#: ipa-client/ipa-getkeytab.c:677 #, c-format msgid "Supported encryption types:\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:833 +#: ipa-client/ipa-getkeytab.c:681 #, c-format msgid "Warning: failed to convert type (#%d)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:852 +#: ipa-client/ipa-getkeytab.c:700 #, c-format msgid "Bind password required when using a bind DN.\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:859 +#: ipa-client/ipa-getkeytab.c:707 #, c-format msgid "Incompatible options provided (-r and -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:870 +#: ipa-client/ipa-getkeytab.c:718 #, c-format msgid "" "Warning: salt types are not honored with randomized passwords (see opt. -P)\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:882 +#: ipa-client/ipa-getkeytab.c:730 #, c-format msgid "Invalid Service Principal Name\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:890 +#: ipa-client/ipa-getkeytab.c:738 #, c-format msgid "Kerberos Credential Cache not found. Do you have a Kerberos Ticket?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:898 +#: ipa-client/ipa-getkeytab.c:746 #, c-format msgid "" "Kerberos User Principal not found. Do you have a valid Credential Cache?\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:906 +#: ipa-client/ipa-getkeytab.c:754 #, c-format msgid "Failed to open Keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:921 +#: ipa-client/ipa-getkeytab.c:771 #, c-format -msgid "Retrying with old method\n" +msgid "Retrying with pre-4.0 keytab retrieval method...\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:929 +#: ipa-client/ipa-getkeytab.c:781 #, c-format msgid "Failed to create key material\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:937 +#: ipa-client/ipa-getkeytab.c:789 #, c-format msgid "Failed to get keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:951 +#: ipa-client/ipa-getkeytab.c:803 #, c-format msgid "Failed to add key to the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:960 +#: ipa-client/ipa-getkeytab.c:812 #, c-format msgid "Failed to close the keytab\n" msgstr "" -#: ipa-client/ipa-getkeytab.c:966 +#: ipa-client/ipa-getkeytab.c:818 #, c-format msgid "Keytab successfully retrieved and stored in: %s\n" msgstr "" @@ -12470,127 +15120,135 @@ msgid "access() on %1$s failed: errno = %2$d\n" msgstr "" #: ipa-client/ipa-join.c:134 ipa-client/ipa-join.c:163 -#: ipa-client/ipa-join.c:220 +#: ipa-client/ipa-join.c:223 #, c-format msgid "Out of memory!" msgstr "" -#: ipa-client/ipa-join.c:227 +#: ipa-client/ipa-join.c:230 #, c-format msgid "Unable to initialize connection to ldap server: %s" msgstr "" -#: ipa-client/ipa-join.c:233 +#: ipa-client/ipa-join.c:236 #, c-format msgid "Unable to enable SSL in LDAP\n" msgstr "" -#: ipa-client/ipa-join.c:246 +#: ipa-client/ipa-join.c:249 #, c-format msgid "Unable to set LDAP version\n" msgstr "" -#: ipa-client/ipa-join.c:266 +#: ipa-client/ipa-join.c:269 #, c-format msgid "Bind failed: %s\n" msgstr "" -#: ipa-client/ipa-join.c:337 +#: ipa-client/ipa-join.c:340 #, c-format msgid "Search for %1$s on rootdse failed with error %2$d\n" msgstr "" -#: ipa-client/ipa-join.c:357 ipa-client/ipa-join.c:428 +#: ipa-client/ipa-join.c:360 ipa-client/ipa-join.c:431 #, c-format msgid "No values for %s" msgstr "" -#: ipa-client/ipa-join.c:367 +#: ipa-client/ipa-join.c:370 #, c-format msgid "Search for IPA namingContext failed with error %d\n" msgstr "" -#: ipa-client/ipa-join.c:373 +#: ipa-client/ipa-join.c:376 #, c-format msgid "IPA namingContext not found\n" msgstr "" -#: ipa-client/ipa-join.c:419 +#: ipa-client/ipa-join.c:411 ipa-client/ipa-join.c:484 +#: ipa-client/ipa-join.c:502 ipa-client/ipa-join.c:599 +#: ipa-client/ipa-join.c:805 ipa-client/ipa-join.c:869 util/ipa_krb5.c:1006 +#: util/ipa_krb5.c:1040 +#, c-format +msgid "Out of memory!\n" +msgstr "" + +#: ipa-client/ipa-join.c:422 #, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "" -#: ipa-client/ipa-join.c:490 +#: ipa-client/ipa-join.c:491 #, c-format msgid "Unable to determine root DN of %s\n" msgstr "" -#: ipa-client/ipa-join.c:508 +#: ipa-client/ipa-join.c:509 #, c-format msgid "Incorrect password.\n" msgstr "" -#: ipa-client/ipa-join.c:516 +#: ipa-client/ipa-join.c:517 #, c-format msgid "Unable to determine certificate subject of %s\n" msgstr "" -#: ipa-client/ipa-join.c:532 +#: ipa-client/ipa-join.c:533 #, c-format msgid "Enrollment failed. %s\n" msgstr "" -#: ipa-client/ipa-join.c:661 +#: ipa-client/ipa-join.c:658 #, c-format msgid "principal not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:676 +#: ipa-client/ipa-join.c:673 #, c-format msgid "Host is already joined.\n" msgstr "" -#: ipa-client/ipa-join.c:751 ipa-client/ipa-join.c:955 +#: ipa-client/ipa-join.c:748 ipa-client/ipa-join.c:956 #, c-format msgid "Unable to determine IPA server from %s\n" msgstr "" -#: ipa-client/ipa-join.c:772 ipa-client/ipa-join.c:970 +#: ipa-client/ipa-join.c:769 ipa-client/ipa-join.c:971 #, c-format msgid "The hostname must be fully-qualified: %s\n" msgstr "" -#: ipa-client/ipa-join.c:781 ipa-client/ipa-join.c:986 +#: ipa-client/ipa-join.c:778 ipa-client/ipa-join.c:987 #, c-format msgid "Unable to join host: Kerberos context initialization failed\n" msgstr "" -#: ipa-client/ipa-join.c:789 +#: ipa-client/ipa-join.c:786 #, c-format msgid "Error resolving keytab: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:798 +#: ipa-client/ipa-join.c:795 #, c-format msgid "Error getting default Kerberos realm: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:816 +#: ipa-client/ipa-join.c:813 #, c-format msgid "Error parsing \"%1$s\": %2$s.\n" msgstr "" -#: ipa-client/ipa-join.c:834 +#: ipa-client/ipa-join.c:832 #, c-format msgid "Error obtaining initial credentials: %s.\n" msgstr "" -#: ipa-client/ipa-join.c:845 +#: ipa-client/ipa-join.c:844 #, c-format msgid "Unable to generate Kerberos Credential Cache\n" msgstr "" -#: ipa-client/ipa-join.c:853 +#: ipa-client/ipa-join.c:852 #, c-format msgid "Error storing creds in credential cache: %s.\n" msgstr "" @@ -12610,102 +15268,102 @@ msgstr "" msgid "result not found in XML-RPC response\n" msgstr "" -#: ipa-client/ipa-join.c:976 +#: ipa-client/ipa-join.c:977 #, c-format msgid "The hostname must not be: %s\n" msgstr "" -#: ipa-client/ipa-join.c:993 +#: ipa-client/ipa-join.c:994 #, c-format msgid "Unable to join host: Kerberos Credential Cache not found\n" msgstr "" -#: ipa-client/ipa-join.c:1001 +#: ipa-client/ipa-join.c:1002 #, c-format msgid "" "Unable to join host: Kerberos User Principal not found and host password not " "provided.\n" msgstr "" -#: ipa-client/ipa-join.c:1016 +#: ipa-client/ipa-join.c:1017 #, c-format msgid "fork() failed\n" msgstr "" -#: ipa-client/ipa-join.c:1045 +#: ipa-client/ipa-join.c:1046 #, c-format msgid "ipa-getkeytab not found\n" msgstr "" -#: ipa-client/ipa-join.c:1048 +#: ipa-client/ipa-join.c:1049 #, c-format msgid "ipa-getkeytab has bad permissions?\n" msgstr "" -#: ipa-client/ipa-join.c:1051 +#: ipa-client/ipa-join.c:1052 #, c-format msgid "executing ipa-getkeytab failed, errno %d\n" msgstr "" -#: ipa-client/ipa-join.c:1063 +#: ipa-client/ipa-join.c:1064 #, c-format msgid "child exited with %d\n" msgstr "" -#: ipa-client/ipa-join.c:1069 +#: ipa-client/ipa-join.c:1070 #, c-format msgid "Certificate subject base is: %s\n" msgstr "" -#: ipa-client/ipa-join.c:1107 +#: ipa-client/ipa-join.c:1108 msgid "Print the raw XML-RPC output in GSSAPI mode" msgstr "" -#: ipa-client/ipa-join.c:1109 +#: ipa-client/ipa-join.c:1110 msgid "Quiet mode. Only errors are displayed." msgstr "" -#: ipa-client/ipa-join.c:1111 +#: ipa-client/ipa-join.c:1112 msgid "Unenroll this host from IPA server" msgstr "" -#: ipa-client/ipa-join.c:1113 +#: ipa-client/ipa-join.c:1114 msgid "Hostname of this server" msgstr "" -#: ipa-client/ipa-join.c:1113 ipa-client/ipa-join.c:1115 +#: ipa-client/ipa-join.c:1114 ipa-client/ipa-join.c:1116 msgid "hostname" msgstr "" -#: ipa-client/ipa-join.c:1115 +#: ipa-client/ipa-join.c:1116 msgid "IPA Server to use" msgstr "" -#: ipa-client/ipa-join.c:1117 +#: ipa-client/ipa-join.c:1118 msgid "Specifies where to store keytab information." msgstr "" -#: ipa-client/ipa-join.c:1117 +#: ipa-client/ipa-join.c:1118 msgid "filename" msgstr "" -#: ipa-client/ipa-join.c:1119 +#: ipa-client/ipa-join.c:1120 msgid "Force the host join. Rejoin even if already joined." msgstr "" -#: ipa-client/ipa-join.c:1121 +#: ipa-client/ipa-join.c:1122 msgid "LDAP password (if not using Kerberos)" msgstr "" -#: ipa-client/ipa-join.c:1121 +#: ipa-client/ipa-join.c:1122 msgid "password" msgstr "" -#: ipa-client/ipa-join.c:1123 +#: ipa-client/ipa-join.c:1124 msgid "LDAP basedn" msgstr "" -#: ipa-client/ipa-join.c:1123 +#: ipa-client/ipa-join.c:1124 msgid "basedn" msgstr "" @@ -12777,6 +15435,15 @@ msgstr "" msgid "Debugging output" msgstr "" +#: ipa-client/ipa-rmkeytab.c:171 +msgid "" +"The principal to remove from the keytab (ex: ftp/ftp.example.com@EXAMPLE.COM)" +msgstr "" + +#: ipa-client/ipa-rmkeytab.c:174 +msgid "The keytab file to remove the principcal(s) from" +msgstr "" + #: ipa-client/ipa-rmkeytab.c:176 msgid "Remove all principals in this realm" msgstr "" @@ -12796,35 +15463,35 @@ msgstr "" msgid "krb5_kt_close %1$d: %2$s\n" msgstr "" -#: util/ipa_krb5.c:795 util/ipa_krb5.c:810 +#: util/ipa_krb5.c:799 util/ipa_krb5.c:814 msgid "Out of memory\n" msgstr "" -#: util/ipa_krb5.c:828 +#: util/ipa_krb5.c:832 msgid "Warning unrecognized encryption type.\n" msgstr "" -#: util/ipa_krb5.c:842 +#: util/ipa_krb5.c:846 msgid "Warning unrecognized salt type.\n" msgstr "" -#: util/ipa_krb5.c:882 +#: util/ipa_krb5.c:886 msgid "Out of memory!?\n" msgstr "" -#: util/ipa_krb5.c:917 +#: util/ipa_krb5.c:921 msgid "Enctype comparison failed!\n" msgstr "" -#: util/ipa_krb5.c:982 +#: util/ipa_krb5.c:986 msgid "Failed to create random key!\n" msgstr "" -#: util/ipa_krb5.c:995 util/ipa_krb5.c:1013 util/ipa_krb5.c:1021 -#: util/ipa_krb5.c:1061 +#: util/ipa_krb5.c:999 util/ipa_krb5.c:1017 util/ipa_krb5.c:1025 +#: util/ipa_krb5.c:1065 msgid "Failed to create key!\n" msgstr "" -#: util/ipa_krb5.c:1047 +#: util/ipa_krb5.c:1051 msgid "Bad or unsupported salt type.\n" msgstr "" diff --git a/install/po/ja.po b/install/po/ja.po index 9ac6ad6..4019792 100644 --- a/install/po/ja.po +++ b/install/po/ja.po @@ -7,19 +7,20 @@ # carrotsoft , 2011 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/freeipa/" "language/ja/)\n" "Language: ja\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " diff --git a/install/po/kn.po b/install/po/kn.po index d4b63ba..db68d60 100644 --- a/install/po/kn.po +++ b/install/po/kn.po @@ -7,19 +7,20 @@ # jdennis , 2011 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Kannada (http://www.transifex.com/projects/p/freeipa/language/" "kn/)\n" "Language: kn\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -325,6 +326,60 @@ msgstr "ಹೋಸ್ಟ್-ಗುಂಪಿನ ಸದಸ್ಯ" msgid "External host" msgstr "ಹೊರಗಿನ ಹೋಸ್ಟ್" +msgid "User" +msgstr "ಬಳಕೆದಾರ" + +msgid "User login" +msgstr "ಬಳಕೆದಾರನ ಪ್ರವೇಶ" + +msgid "First name" +msgstr "ಮೊದಲ ಹೆಸರು" + +msgid "Last name" +msgstr "ಕೊನೆಯ ಹೆಸರು" + +msgid "Login shell" +msgstr "ಪ್ರವೇಶ ಶೆಲ್" + +msgid "Kerberos principal" +msgstr "Kerberos principal" + +msgid "Email address" +msgstr "ಇಮೇಲ್ ವಿಳಾಸ" + +msgid "UID" +msgstr "UID" + +msgid "GID" +msgstr "GID" + +msgid "Street address" +msgstr "ಕೇರಿ ವಿಳಾಸ" + +msgid "Class" +msgstr "ವರ್ಗ" + +msgid "Certificate" +msgstr "ಪ್ರಮಾಣಪತ್ರ" + +msgid "Base-64 encoded server certificate" +msgstr "Base-64 ಎನ್‌ಕೋಡೆಡ್ ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರ" + +msgid "User category" +msgstr "ಬಳಕೆದಾರನ ವರ್ಗ" + +msgid "Host category" +msgstr "ಹೋಸ್ಟ್ ವರ್ಗ" + +msgid "User Groups" +msgstr "ಬಳಕೆದಾರರ ಗುಂಪುಗಳು" + +msgid "Host Groups" +msgstr "ಹೋಸ್ಟ್ ಗುಂಪುಗಳು" + +msgid "Services" +msgstr "ಸೇವೆಗಳು(ಸರ್ವೀಸಸ್)" + #, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "ಪ್ರಮಾಣಪತ್ರದ ಸಹಿಯ ಕೋರಿಕೆಯ ಡಿಕೋಡಿಂಗ್‌ನ ವಿಫಲತೆ: %s" @@ -332,15 +387,9 @@ msgstr "ಪ್ರಮಾಣಪತ್ರದ ಸಹಿಯ ಕೋರಿಕೆಯ ಡ msgid "Principal" msgstr "Principal" -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "ಈ ಪ್ರಮಾಣಪತ್ರಕ್ಕಾಗಿ Service principal (e.g. HTTP/test.example.com)" - msgid "automatically add the principal if it doesn't exist" msgstr "ಸ್ವಯಂಚಾಲಿತವಾಗಿ principal ಸೇರಿಸಿ ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿ ಇಲ್ಲದಿದ್ದಲ್ಲಿ" -msgid "Certificate" -msgstr "ಪ್ರಮಾಣಪತ್ರ" - msgid "Subject" msgstr "ವಿಷಯ" @@ -422,27 +471,15 @@ msgstr "SOA minimum" msgid "Time to live" msgstr "ಉಳಿದಿರಬೇಕಾದ ಸಮಯ" -msgid "SOA class" -msgstr "SOA class" - msgid "BIND update policy" msgstr "BIND update policy" -msgid "Class" -msgstr "ವರ್ಗ" - -msgid "User Groups" -msgstr "ಬಳಕೆದಾರರ ಗುಂಪುಗಳು" - msgid "Group name" msgstr "ಗುಂಪಿನ ಹೆಸರು" msgid "Group description" msgstr "ಗುಂಪಿನ ವಿವರಣೆ" -msgid "GID" -msgstr "GID" - msgid "GID (use this option to set it manually)" msgstr "GID (ಇದನ್ನು ಮ್ಯಾನ್ಯೂವಲ್ ಆಗಿ ಸೆಟ್ ಮಾಡಲು ಈ ಆಯ್ಕೆಯನ್ನು ಬಳಸಿ)" @@ -461,24 +498,12 @@ msgstr "\"%(value)s\" ಗುಂಪನ್ನು ಬದಲಾಯಿಸಲಾಗಿ msgid "Rule name" msgstr "ನಿಯಮದ ಹೆಸರು" -msgid "User category" -msgstr "ಬಳಕೆದಾರನ ವರ್ಗ" - msgid "User category the rule applies to" msgstr "ನಿಯಮ ಅನ್ವಯಿಸುವಂತಹ ಬಳಕೆದಾರನ ವರ್ಗ" -msgid "Host category" -msgstr "ಹೋಸ್ಟ್ ವರ್ಗ" - msgid "Host category the rule applies to" msgstr "ನಿಯಮ ಅನ್ವಯಿಸುವಂತಹ ಹೋಸ್ಟ್ ವರ್ಗ" -msgid "Host Groups" -msgstr "ಹೋಸ್ಟ್ ಗುಂಪುಗಳು" - -msgid "Services" -msgstr "ಸೇವೆಗಳು(ಸರ್ವೀಸಸ್)" - msgid "Access time" msgstr "ಪ್ರವೇಶದ ಸಮಯ" @@ -521,9 +546,6 @@ msgstr "ಬಳಕೆದಾರನ ಗುಪ್ತಪದ" msgid "Password used in bulk enrollment" msgstr "ದೊಡ್ಡ ಪ್ರಮಾಣದ ದಾಖಲಾತಿಯಲ್ಲಿ ಬಳಸಲಾದ ಗುಪ್ತಪದ" -msgid "Base-64 encoded server certificate" -msgstr "Base-64 ಎನ್‌ಕೋಡೆಡ್ ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರ" - msgid "Principal name" msgstr "Principal ಹೆಸರು" @@ -566,9 +588,6 @@ msgstr "\"%(value)s\" ಹೋಸ್ಟ್‌ಗ್ರೂಪನ್ನು ಬದಲ msgid "Data" msgstr "ದತ್ತಾಂಶ" -msgid "User" -msgstr "ಬಳಕೆದಾರ" - msgid "Groups" msgstr "ಗುಂಪುಗಳು" @@ -665,30 +684,6 @@ msgstr "\"%(value)s\" ಸೇವೆ(ಸರ್ವೀಸ್)ಯನ್ನು ಸೇ� msgid "Deleted service \"%(value)s\"" msgstr "\"%(value)s\" ಸೇವೆ(ಸರ್ವೀಸ್)ಯನ್ನು ಅಳಿಸಲಾಗಿದೆ" -msgid "User login" -msgstr "ಬಳಕೆದಾರನ ಪ್ರವೇಶ" - -msgid "First name" -msgstr "ಮೊದಲ ಹೆಸರು" - -msgid "Last name" -msgstr "ಕೊನೆಯ ಹೆಸರು" - -msgid "Login shell" -msgstr "ಪ್ರವೇಶ ಶೆಲ್" - -msgid "Kerberos principal" -msgstr "Kerberos principal" - -msgid "Email address" -msgstr "ಇಮೇಲ್ ವಿಳಾಸ" - -msgid "UID" -msgstr "UID" - -msgid "Street address" -msgstr "ಕೇರಿ ವಿಳಾಸ" - #, python-format msgid "Added user \"%(value)s\"" msgstr "\"%(value)s\" ಬಳಕೆದಾರನನ್ನು ಸೇರಿಸಲಾಗಿದೆ" diff --git a/install/po/nl.po b/install/po/nl.po index 501a1b8..b4706ab 100644 --- a/install/po/nl.po +++ b/install/po/nl.po @@ -6,19 +6,20 @@ # Geert Warrink , 2011 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-07-03 04:37-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/freeipa/language/" "nl/)\n" "Language: nl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" #, c-format msgid "Passwords do not match!" diff --git a/install/po/pl.po b/install/po/pl.po index a51438b..e55f8e6 100644 --- a/install/po/pl.po +++ b/install/po/pl.po @@ -8,20 +8,21 @@ # Piotr Drąg , 2010,2013 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Polish (http://www.transifex.com/projects/p/freeipa/language/" "pl/)\n" "Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -116,9 +117,6 @@ msgstr "Nie można dodać grupy jako elementu jej samej" msgid "The default users group cannot be removed" msgstr "Nie można usunąć domyślnej grupy użytkowników" -msgid "Host does not have corresponding DNS A record" -msgstr "Komputer nie posiada pasującego wpisu DNS A" - msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" "Usuwanie zarządzanej grupy nie jest dozwolone. Musi zostać najpierw " @@ -447,6 +445,92 @@ msgstr "Ograniczenie rozmiaru" msgid "Maximum number of entries returned" msgstr "Maksymalna liczba zwróconych wpisów" +msgid "User" +msgstr "Użytkownik" + +msgid "User login" +msgstr "Login użytkownika" + +msgid "First name" +msgstr "Imię" + +msgid "Last name" +msgstr "Nazwisko" + +msgid "Full name" +msgstr "Pełna nazwa" + +msgid "Home directory" +msgstr "Katalog domowy" + +msgid "Login shell" +msgstr "Powłoka logowania" + +msgid "Kerberos principal" +msgstr "Naczelnik Kerberosa" + +msgid "Email address" +msgstr "Adres e-mail" + +msgid "UID" +msgstr "UID" + +msgid "User ID Number (system will assign one if not provided)" +msgstr "" +"Numer identyfikacyjny użytkownika (system go przydzieli, jeśli nie zostanie " +"podany)" + +msgid "GID" +msgstr "GID" + +msgid "Street address" +msgstr "Adres zamieszkania" + +msgid "City" +msgstr "Miasto" + +msgid "Telephone Number" +msgstr "Numer telefonu" + +msgid "Mobile Telephone Number" +msgstr "Numer telefonu komórkowego" + +msgid "Pager Number" +msgstr "Numer pagera" + +msgid "Fax Number" +msgstr "Numer faksu" + +msgid "Class" +msgstr "Klasa" + +msgid "Certificate" +msgstr "Certyfikat" + +msgid "Base-64 encoded server certificate" +msgstr "Certyfikat serwera zakodowany za pomocą Base-64" + +msgid "Enabled" +msgstr "Włączone" + +msgid "User category" +msgstr "Kategoria użytkowników" + +msgid "Host category" +msgstr "Kategoria komputerów" + +msgid "Service category" +msgstr "Kategoria usług" + +msgid "User Groups" +msgstr "Grupy użytkowników" + +msgid "Host Groups" +msgstr "Grupy komputerów" + +msgid "Services" +msgstr "Usługi" + #, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "Dekodowanie żądania podpisywania certyfikatu nie powiodło się: %s" @@ -454,15 +538,9 @@ msgstr "Dekodowanie żądania podpisywania certyfikatu nie powiodło się: %s" msgid "Principal" msgstr "Naczelnik" -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" -msgstr "Naczelnik usługi dla tego certyfikatu (np. HTTP/test.przykład.pl)" - msgid "automatically add the principal if it doesn't exist" msgstr "automatycznie dodaj naczelnika, jeśli nie istnieje" -msgid "Certificate" -msgstr "Certyfikat" - msgid "Subject" msgstr "Temat" @@ -593,15 +671,9 @@ msgstr "Minimalne SOA" msgid "Time to live" msgstr "Czas życia" -msgid "SOA class" -msgstr "Klasa SOA" - msgid "BIND update policy" msgstr "Polityka aktualizacji BIND" -msgid "Class" -msgstr "Klasa" - msgid "Delete all associated records" msgstr "Usuń wszystkie powiązane wpisy" @@ -616,18 +688,12 @@ msgstr "Odnaleziono \"%(value)s\"" msgid "Host '%(host)s' not found" msgstr "Nie odnaleziono komputera \"%(host)s\"" -msgid "User Groups" -msgstr "Grupy użytkowników" - msgid "Group name" msgstr "Nazwa grupy" msgid "Group description" msgstr "Opis grupy" -msgid "GID" -msgstr "GID" - msgid "GID (use this option to set it manually)" msgstr "GID (ta opcja umożliwia jego ręczne ustawienie)" @@ -672,33 +738,15 @@ msgstr "Nazwa reguły" msgid "Rule type" msgstr "Typ reguły" -msgid "User category" -msgstr "Kategoria użytkowników" - msgid "User category the rule applies to" msgstr "Kategoria użytkowników, do których zastosowywana jest reguła" -msgid "Host category" -msgstr "Kategoria komputerów" - msgid "Host category the rule applies to" msgstr "Kategoria komputerów, do których zastosowywana jest reguła" -msgid "Service category" -msgstr "Kategoria usług" - msgid "Service category the rule applies to" msgstr "Kategoria usług, do których zastosowywana jest reguła" -msgid "Enabled" -msgstr "Włączone" - -msgid "Host Groups" -msgstr "Grupy komputerów" - -msgid "Services" -msgstr "Usługi" - msgid "Service Groups" msgstr "Grupy usług" @@ -753,9 +801,6 @@ msgstr "Hasło użytkownika" msgid "Password used in bulk enrollment" msgstr "Hasło używane w zapisywaniu większej części" -msgid "Base-64 encoded server certificate" -msgstr "Certyfikat serwera zakodowany za pomocą Base-64" - msgid "Principal name" msgstr "Nazwa naczelnika" @@ -887,9 +932,6 @@ msgstr "Ustaw OTP" msgid "Kerberos Ticket Policy" msgstr "Polityka zgłoszeń Kerberosa" -msgid "User" -msgstr "Użytkownik" - msgid "Password Policy" msgstr "Polityka haseł" @@ -1145,6 +1187,13 @@ msgstr[0] "Pasuje %(count)d usługa" msgstr[1] "Pasuje %(count)d usługi" msgstr[2] "Pasuje %(count)d usług" +#, python-format +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "Pasuje %(count)d użytkownik" +msgstr[1] "Pasuje %(count)d użytkowników" +msgstr[2] "Pasuje %(count)d użytkowników" + msgid "Sudo Command" msgstr "Polecenie sudo" @@ -1160,56 +1209,6 @@ msgstr "Polecenia zabronione sudo" msgid "Realm name" msgstr "Nazwa obszaru" -msgid "User login" -msgstr "Login użytkownika" - -msgid "First name" -msgstr "Imię" - -msgid "Last name" -msgstr "Nazwisko" - -msgid "Full name" -msgstr "Pełna nazwa" - -msgid "Home directory" -msgstr "Katalog domowy" - -msgid "Login shell" -msgstr "Powłoka logowania" - -msgid "Kerberos principal" -msgstr "Naczelnik Kerberosa" - -msgid "Email address" -msgstr "Adres e-mail" - -msgid "UID" -msgstr "UID" - -msgid "User ID Number (system will assign one if not provided)" -msgstr "" -"Numer identyfikacyjny użytkownika (system go przydzieli, jeśli nie zostanie " -"podany)" - -msgid "Street address" -msgstr "Adres zamieszkania" - -msgid "City" -msgstr "Miasto" - -msgid "Telephone Number" -msgstr "Numer telefonu" - -msgid "Mobile Telephone Number" -msgstr "Numer telefonu komórkowego" - -msgid "Pager Number" -msgstr "Numer pagera" - -msgid "Fax Number" -msgstr "Numer faksu" - #, python-format msgid "Added user \"%(value)s\"" msgstr "Dodano użytkownika \"%(value)s\"" @@ -1229,13 +1228,6 @@ msgid "Display user record for current Kerberos principal" msgstr "Wyświetlenie wpisu użytkownika dla bieżącego naczelnika Kerberosa" #, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "Pasuje %(count)d użytkownik" -msgstr[1] "Pasuje %(count)d użytkowników" -msgstr[2] "Pasuje %(count)d użytkowników" - -#, python-format msgid "Disabled user account \"%(value)s\"" msgstr "Wyłączono konto użytkownika \"%(value)s\"" @@ -1288,10 +1280,6 @@ msgid "Simple bind failed\n" msgstr "Proste dowiązanie nie powiodło się\n" #, c-format -msgid "Operation failed! %s\n" -msgstr "Działanie nie powiodło się. %s\n" - -#, c-format msgid "Missing reply control!\n" msgstr "Brak kontroli odpowiedzi.\n" @@ -1307,10 +1295,6 @@ msgstr "Utworzenie kontroli nie powiodło się.\n" msgid "ber_init() failed, Invalid control ?!\n" msgstr "ber_init() nie powiodło się, nieprawidłowa kontrola?\n" -#, c-format -msgid "Out of memory!\n" -msgstr "Brak pamięci.\n" - msgid "New Principal Password" msgstr "Nowe hasło naczelnika" @@ -1459,6 +1443,10 @@ msgid "No values for %s" msgstr "Brak wartości dla %s" #, c-format +msgid "Out of memory!\n" +msgstr "Brak pamięci.\n" + +#, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "Wyszukiwanie ipaCertificateSubjectBase nie powiodło się z błędem %d" diff --git a/install/po/ru.po b/install/po/ru.po index 4b1ae20..db91de6 100644 --- a/install/po/ru.po +++ b/install/po/ru.po @@ -9,20 +9,21 @@ # jdennis , 2011 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Russian (http://www.transifex.com/projects/p/freeipa/language/" "ru/)\n" "Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -127,9 +128,6 @@ msgstr "Группа не может быть добавлена сама в с� msgid "The default users group cannot be removed" msgstr "Группа по умолчанию для пользователя не может быть удалена" -msgid "Host does not have corresponding DNS A record" -msgstr "Узел не имеет соответствующей A-записи в DNS" - msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "" "Удаление управляемой группы не разрешено. Сначала ее необходимо отключить." @@ -360,6 +358,115 @@ msgstr "Ограничение времени поиска в секундах" msgid "Size Limit" msgstr "Ограничение по размеру" +msgid "User" +msgstr "Пользователь" + +msgid "First name" +msgstr "Имя" + +msgid "Last name" +msgstr "Фамилия" + +msgid "Full name" +msgstr "Полное имя" + +msgid "Display name" +msgstr "Отображаемое имя" + +msgid "Initials" +msgstr "Инициалы" + +msgid "Home directory" +msgstr "Домашний каталог" + +msgid "Email address" +msgstr "Электронный адрес" + +msgid "Prompt to set the user password" +msgstr "Запросить пароль у пользователя" + +msgid "Generate a random user password" +msgstr "Сгенерировать случайный пользовательский пароль" + +msgid "Random password" +msgstr "Случайный пароль" + +msgid "UID" +msgstr "UID" + +msgid "User ID Number (system will assign one if not provided)" +msgstr "ID пользователя (если не указан, система назначит его самостоятельно)" + +msgid "GID" +msgstr "ID группы" + +msgid "Group ID Number" +msgstr "ID группы" + +msgid "Street address" +msgstr "Адрес" + +msgid "City" +msgstr "Город" + +msgid "State/Province" +msgstr "Область/республика" + +msgid "ZIP" +msgstr "Индекс" + +msgid "Telephone Number" +msgstr "Телефонный номер" + +msgid "Mobile Telephone Number" +msgstr "Мобильный телефонный номер" + +msgid "Pager Number" +msgstr "Номер пейджера" + +msgid "Fax Number" +msgstr "Номер факса" + +msgid "Org. Unit" +msgstr "Отдел" + +msgid "Job Title" +msgstr "Должность" + +msgid "Manager" +msgstr "Руководитель" + +msgid "Car License" +msgstr "Номер автомобиля" + +msgid "Class" +msgstr "Класс" + +msgid "Certificate" +msgstr "Сертификат" + +#, python-format +msgid "manager %(manager)s not found" +msgstr "руководитель %(manager)s не найден" + +msgid "Enabled" +msgstr "Включено" + +msgid "User category" +msgstr "Категория пользователя" + +msgid "Service category" +msgstr "Категория службы" + +msgid "User Groups" +msgstr "Группы пользователей" + +msgid "Host Groups" +msgstr "Группы узлов" + +msgid "Services" +msgstr "Службы" + #, python-format msgid "Failure decoding Certificate Signing Request: %s" msgstr "Сбой при декодировании запроса на создание сертификата: %s" @@ -367,9 +474,6 @@ msgstr "Сбой при декодировании запроса на созд� msgid "CSR" msgstr "CSR" -msgid "Certificate" -msgstr "Сертификат" - msgid "Issuer" msgstr "Издатель" @@ -562,9 +666,6 @@ msgstr "Создать новую зону DNS (SOA-запись)" msgid "Force" msgstr "Принудительно" -msgid "Class" -msgstr "Класс" - msgid "Delete all?" msgstr "Удалить все?" @@ -578,18 +679,12 @@ msgstr "группа" msgid "groups" msgstr "группы" -msgid "User Groups" -msgstr "Группы пользователей" - msgid "Group name" msgstr "Имя группы" msgid "Group description" msgstr "Описание группы" -msgid "GID" -msgstr "ID группы" - msgid "Create a new group." msgstr "Создать новую группу." @@ -642,21 +737,6 @@ msgstr "Имя правила" msgid "Rule type" msgstr "Тип правила" -msgid "User category" -msgstr "Категория пользователя" - -msgid "Service category" -msgstr "Категория службы" - -msgid "Enabled" -msgstr "Включено" - -msgid "Host Groups" -msgstr "Группы узлов" - -msgid "Services" -msgstr "Службы" - msgid "Service Groups" msgstr "Группы сервисов" @@ -697,9 +777,6 @@ msgstr "Операционная система узла и ее версия (� msgid "User password" msgstr "Пароль пользователя" -msgid "Random password" -msgstr "Случайный пароль" - msgid "MAC address" msgstr "MAC-адрес" @@ -873,9 +950,6 @@ msgstr "Установить ОРП" msgid "Set One-Time-Password" msgstr "Установить одноразовый пароль" -msgid "User" -msgstr "Пользователь" - msgid "SSH public keys" msgstr "Открытые ключи SSH" @@ -897,12 +971,6 @@ msgstr "Страница" msgid "Prev" msgstr "Назад" -msgid "undo" -msgstr "отменить" - -msgid "undo all" -msgstr "отменить всё" - msgid "Bind DN" msgstr "Bind DN" @@ -920,9 +988,6 @@ msgstr[0] "Загружен %(count)d подключаемый модуль" msgstr[1] "Загружено %(count)d подключаемых модуля" msgstr[2] "Загружено %(count)d подключаемых модулей" -msgid "Manager" -msgstr "Руководитель" - msgid "permission" msgstr "разрешение" @@ -952,88 +1017,22 @@ msgstr "Добавлена служба «%(value)s»" msgid "Deleted service \"%(value)s\"" msgstr "Удалена служба «%(value)s»" +#, python-format +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "Найден %(count)d пользователь" +msgstr[1] "Найдено %(count)d пользователя" +msgstr[2] "Найдено %(count)d пользователей" + msgid "user" msgstr "пользователь" msgid "users" msgstr "пользователи" -msgid "First name" -msgstr "Имя" - -msgid "Last name" -msgstr "Фамилия" - -msgid "Full name" -msgstr "Полное имя" - -msgid "Display name" -msgstr "Отображаемое имя" - -msgid "Initials" -msgstr "Инициалы" - -msgid "Home directory" -msgstr "Домашний каталог" - -msgid "Email address" -msgstr "Электронный адрес" - -msgid "Prompt to set the user password" -msgstr "Запросить пароль у пользователя" - -msgid "Generate a random user password" -msgstr "Сгенерировать случайный пользовательский пароль" - -msgid "UID" -msgstr "UID" - -msgid "User ID Number (system will assign one if not provided)" -msgstr "ID пользователя (если не указан, система назначит его самостоятельно)" - -msgid "Group ID Number" -msgstr "ID группы" - -msgid "Street address" -msgstr "Адрес" - -msgid "City" -msgstr "Город" - -msgid "State/Province" -msgstr "Область/республика" - -msgid "ZIP" -msgstr "Индекс" - -msgid "Telephone Number" -msgstr "Телефонный номер" - -msgid "Mobile Telephone Number" -msgstr "Мобильный телефонный номер" - -msgid "Pager Number" -msgstr "Номер пейджера" - -msgid "Fax Number" -msgstr "Номер факса" - -msgid "Org. Unit" -msgstr "Отдел" - -msgid "Job Title" -msgstr "Должность" - -msgid "Car License" -msgstr "Номер автомобиля" - msgid "Account disabled" msgstr "Учетная запись отключена" -#, python-format -msgid "manager %(manager)s not found" -msgstr "руководитель %(manager)s не найден" - msgid "Add a new user." msgstr "Добавить нового пользователя." @@ -1061,13 +1060,6 @@ msgstr "Изменен пользователь «%(value)s»" msgid "Search for users." msgstr "Поиск пользователей." -#, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "Найден %(count)d пользователь" -msgstr[1] "Найдено %(count)d пользователя" -msgstr[2] "Найдено %(count)d пользователей" - msgid "Disable a user account." msgstr "Отключить учетную запись пользователя." diff --git a/install/po/tg.po b/install/po/tg.po index 113f619..5035116 100644 --- a/install/po/tg.po +++ b/install/po/tg.po @@ -6,19 +6,20 @@ # Petr Viktorin , 2012 msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-23 08:41-0400\n" "Last-Translator: Petr Viktorin \n" "Language-Team: Tajik (http://www.transifex.com/projects/p/freeipa/language/" "tg/)\n" "Language: tg\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Zanata 3.6.2\n" #, c-format msgid "Passwords do not match!" @@ -90,6 +91,42 @@ msgstr "Вуруд" msgid "Rename" msgstr "Азнавномгузорӣ" +msgid "User" +msgstr "Корбар" + +msgid "First name" +msgstr "Ном" + +msgid "Last name" +msgstr "Насаб" + +msgid "Display name" +msgstr "Номи намоишӣ" + +msgid "Initials" +msgstr "Ному насаб" + +msgid "City" +msgstr "Шаҳр" + +msgid "ZIP" +msgstr "Рамзи ZIP" + +msgid "Fax Number" +msgstr "Рақами факс" + +msgid "Job Title" +msgstr "Вазифа" + +msgid "Manager" +msgstr "Диспетчер" + +msgid "Class" +msgstr "Синф" + +msgid "Enabled" +msgstr "Фаъолшуда" + msgid "Principal" msgstr "Асосӣ" @@ -123,15 +160,9 @@ msgstr "Хидмат" msgid "Force" msgstr "Маҷбурӣ" -msgid "Class" -msgstr "Синф" - msgid "Delete all?" msgstr "Ҳамаро нест мекунед?" -msgid "Enabled" -msgstr "Фаъолшуда" - msgid "User name" msgstr "Номи корбар" @@ -219,9 +250,6 @@ msgstr "Маълумот" msgid "Host Name" msgstr "Номи мизбон" -msgid "User" -msgstr "Корбар" - msgid "Groups" msgstr "Гуруҳҳо" @@ -249,36 +277,9 @@ msgstr "Сиёсат" msgid "Sudo" msgstr "Sudo" -msgid "Manager" -msgstr "Диспетчер" - msgid "Group" msgstr "Гурӯҳ" -msgid "First name" -msgstr "Ном" - -msgid "Last name" -msgstr "Насаб" - -msgid "Display name" -msgstr "Номи намоишӣ" - -msgid "Initials" -msgstr "Ному насаб" - -msgid "City" -msgstr "Шаҳр" - -msgid "ZIP" -msgstr "Рамзи ZIP" - -msgid "Fax Number" -msgstr "Рақами факс" - -msgid "Job Title" -msgstr "Вазифа" - #, c-format msgid "out of memory\n" msgstr "берун аз хотира\n" @@ -295,10 +296,6 @@ msgstr "Берун аз хотира \n" msgid "Out of Memory!\n" msgstr "Берун аз хотира!\n" -#, c-format -msgid "Out of memory!\n" -msgstr "Берун аз хотира!\n" - msgid "Server Name" msgstr "Номи сервер" @@ -313,6 +310,10 @@ msgid "Out of memory!" msgstr "Берун аз хотира!" #, c-format +msgid "Out of memory!\n" +msgstr "Берун аз хотира!\n" + +#, c-format msgid "Incorrect password.\n" msgstr "Пароли нодуруст.\n" diff --git a/install/po/uk.po b/install/po/uk.po index 4c413fb..ed86188 100644 --- a/install/po/uk.po +++ b/install/po/uk.po @@ -6,22 +6,24 @@ # jdennis , 2011 # Petr Viktorin , 2014 # Yuri Chornoivan , 2011-2014 +# Yuri Chornoivan , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-04 16:09+0000\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2014-09-24 11:50-0400\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/freeipa/" "language/uk/)\n" "Language: uk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -194,6 +196,10 @@ msgid "Command '%(name)s' has been deprecated" msgstr "Команда «%(name)s» вважається застарілою" #, python-format +msgid "Domain '%(domain)s' is not a root domain for forest '%(forest)s'" +msgstr "Домен «%(domain)s» не є кореневим доменом для лісу «%(forest)s»" + +#, python-format msgid "%(reason)s" msgstr "%(reason)s" @@ -256,8 +262,8 @@ msgstr "Групу не може бути додано як елемент са� msgid "The default users group cannot be removed" msgstr "Не можна вилучати типову групу користувачів" -msgid "Host does not have corresponding DNS A record" -msgstr "Вузол не має відповідного запису DNS A" +msgid "Host does not have corresponding DNS A/AAAA record" +msgstr "Вузол не має відповідного запису DNS A/AAAA" msgid "Deleting a managed group is not allowed. It must be detached first." msgstr "Вилучення керованих груп заборонено. Спочатку групу слід від’єднати." @@ -443,6 +449,59 @@ msgstr "" "Підтримка DNSSEC є експериментальною.\n" "%(additional_info)s" +#, python-format +msgid "'%(option)s' option is deprecated. %(additional_info)s" +msgstr "Параметр «%(option)s» є застарілим. %(additional_info)s" + +#, python-format +msgid "" +"Semantic of %(label)s was changed. %(current_behavior)s\n" +"%(hint)s" +msgstr "" +"Семантику %(label)s було змінено. %(current_behavior)s\n" +"%(hint)s" + +#, python-format +msgid "DNS server %(server)s: %(error)s." +msgstr "Сервер DNS %(server)s: %(error)s." + +#, python-format +msgid "" +"DNS server %(server)s does not support DNSSEC: %(error)s.\n" +"If DNSSEC validation is enabled on IPA server(s), please disable it." +msgstr "" +"На сервері DNS %(server)s не передбачено підтримки DNSSEC: %(error)s.\n" +"Якщо на серверах IPA увімкнено перевірку DNSSEC, будь ласка, вимкніть її." + +#, python-format +msgid "" +"forward zone \"%(fwzone)s\" is not effective because of missing proper NS " +"delegation in authoritative zone \"%(authzone)s\". Please add NS record " +"\"%(ns_rec)s\" to parent zone \"%(authzone)s\"." +msgstr "" +"зона переспрямовування «%(fwzone)s» не є ефективною, оскільки не вказано " +"належного делегування NS у основній зоні «%(authzone)s». Будь ласка, додайте " +"запис NS «%(ns_rec)s» до батьківської зони «%(authzone)s»." + +#, python-format +msgid "" +"DNS server %(server)s does not support EDNS0 (RFC 6891): %(error)s.\n" +"If DNSSEC validation is enabled on IPA server(s), please disable it." +msgstr "" +"На сервері DNS %(server)s не передбачено підтримки EDNS0 (RFC 6891): " +"%(error)s.\n" +"Якщо на серверах IPA увімкнено перевірку DNSSEC, будь ласка, вимкніть її." + +#, python-format +msgid "" +"DNSSEC validation failed: %(error)s.\n" +"Please verify your DNSSEC configuration or disable DNSSEC validation on all " +"IPA servers." +msgstr "" +"Не пройдено перевірку DNSSEC: %(error)s.\n" +"Будь ласка, перевірте, чи правильно вказано налаштування DNSSEC, або " +"вимкніть перевірку DNSSEC на усіх серверах IPA." + msgid "A dictionary representing an LDAP entry" msgstr "Словник, що відповідає запису LDAP" @@ -575,25 +634,6 @@ msgstr "цей параметр вважається застарілим" msgid "must be DNS name" msgstr "має бути назвою DNS" -msgid "invalid escape code in domain name" -msgstr "некоректний керівний код у назві домену" - -msgid "empty DNS label" -msgstr "порожня мітка DNS" - -msgid "domain name cannot be longer than 255 characters" -msgstr "назва домену не повинна перевищувати за довжиною 255 символів" - -msgid "DNS label cannot be longer than 63 characters" -msgstr "Довжина мітки DNS не повинна перевищувати 63 символів" - -msgid "invalid domain name" -msgstr "некоректна назва домену" - -#, python-format -msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" -msgstr "назву домену «%(domain)s» слід нормалізувати до %(normalized)s" - msgid "must be absolute" msgstr "має бути абсолютною" @@ -2030,42 +2070,519 @@ msgstr "Обмеження розміру" msgid "Maximum number of entries returned" msgstr "Максимальна кількість повернутих записів" +msgid "" +"\n" +"Baseuser\n" +"\n" +"This contains common definitions for user/stageuser\n" +msgstr "" +"\n" +"Основний користувач\n" +"\n" +"Містить загальні визначення щодо користувача або користувача етапу.\n" + +msgid "Kerberos keys available" +msgstr "Доступні ключі Kerberos" + +msgid "SSH public key fingerprint" +msgstr "Відбиток відкритого ключа SSH" + +msgid "Server" +msgstr "Сервер" + +msgid "Failed logins" +msgstr "Кількість невдалих спроб увійти" + +msgid "Last successful authentication" +msgstr "Останнє успішне розпізнавання" + +msgid "Last failed authentication" +msgstr "Останнє невдале розпізнавання" + +msgid "Time now" +msgstr "Поточний час" + +msgid "must be TRUE or FALSE" +msgstr "має дорівнювати TRUE або FALSE" + +msgid "User" +msgstr "Користувач" + +msgid "User login" +msgstr "Користувач" + +msgid "First name" +msgstr "Ім'я" + +msgid "Last name" +msgstr "Прізвище" + +msgid "Full name" +msgstr "Повне ім’я" + +msgid "Display name" +msgstr "Екранне ім'я" + +msgid "Initials" +msgstr "Ініціали" + +msgid "Home directory" +msgstr "Домашній каталог" + +msgid "GECOS" +msgstr "GECOS" + +msgid "Login shell" +msgstr "Оболонка входу" + +msgid "Kerberos principal" +msgstr "Реєстраційний запис Kerberos" + +msgid "Kerberos principal expiration" +msgstr "Завершення строку дії реєстраційного запису Kerberos" + +msgid "Email address" +msgstr "Адреса ел. пошти" + +msgid "Prompt to set the user password" +msgstr "Надіслати запит щодо встановлення пароля користувача" + +msgid "Generate a random user password" +msgstr "Створити випадковий пароль для користувача" + +msgid "Random password" +msgstr "Випадковий пароль" + +msgid "UID" +msgstr "UID" + +msgid "User ID Number (system will assign one if not provided)" +msgstr "" +"Ідентифікаційний номер користувача (система призначить його, якщо не буде " +"вказано)" + +msgid "GID" +msgstr "GID" + +msgid "Group ID Number" +msgstr "Ід. номер групи" + +msgid "Street address" +msgstr "Вулиця і будинок" + +msgid "City" +msgstr "Місто" + +msgid "State/Province" +msgstr "Область/провінція" + +msgid "ZIP" +msgstr "Індекс" + +msgid "Telephone Number" +msgstr "Номер телефону" + +msgid "Mobile Telephone Number" +msgstr "Номер мобільного телефону" + +msgid "Pager Number" +msgstr "Номер пейджера" + +msgid "Fax Number" +msgstr "Номер факсу" + +msgid "Org. Unit" +msgstr "Підрозділ" + +msgid "Job Title" +msgstr "Посада" + +msgid "Manager" +msgstr "Керівник" + +msgid "Car License" +msgstr "Водійська ліцензія" + +msgid "SSH public key" +msgstr "Відкритий ключ SSH" + +msgid "User authentication types" +msgstr "Типи розпізнавання користувачів" + +msgid "Types of supported user authentication" +msgstr "Типи підтримуваного розпізнавання користувачів" + +msgid "Class" +msgstr "Клас" + +msgid "" +"User category (semantics placed on this attribute are for local " +"interpretation)" +msgstr "" +"Категорія вузлів (семантику цього атрибуту призначено для локальної обробки)" + +msgid "RADIUS proxy configuration" +msgstr "Налаштування проксі RADIUS" + +msgid "RADIUS proxy username" +msgstr "Ім’я користувача проксі-сервера RADIUS" + +msgid "Department Number" +msgstr "Номер відділу" + +msgid "Employee Number" +msgstr "Номер працівника" + +msgid "Employee Type" +msgstr "Тип працівника" + +msgid "Preferred Language" +msgstr "Бажана мова" + +msgid "Certificate" +msgstr "Сертифікат" + +msgid "Base-64 encoded server certificate" +msgstr "Сертифікат сервера у кодуванні Base-64" + +#, python-format +msgid "invalid e-mail format: %(email)s" +msgstr "некоректний формат адреси електронної пошти: %(email)s" + +#, python-format +msgid "manager %(manager)s not found" +msgstr "керування %(manager)s не знайдено" + +#, python-format +msgid "can be at most %(len)d characters" +msgstr "не повинне перевищувати %(len)d символів у довжину" + msgid "Nested Methods to execute" msgstr "Вкладені методи, які слід виконати" msgid "" "\n" -"IPA certificate operations\n" +"Manage CA ACL rules.\n" "\n" -"Implements a set of commands for managing server SSL certificates.\n" +"This plugin is used to define rules governing which principals are\n" +"permitted to have certificates issued using a given certificate\n" +"profile.\n" "\n" -"Certificate requests exist in the form of a Certificate Signing Request " -"(CSR)\n" -"in PEM format.\n" +"PROFILE ID SYNTAX:\n" "\n" -"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" -"subject to values configured in the server.\n" +"A Profile ID is a string without spaces or punctuation starting with a " +"letter\n" +"and followed by a sequence of letters, digits or underscore (\"_\").\n" "\n" -"A certificate is stored with a service principal and a service principal\n" -"needs a host.\n" +"EXAMPLES:\n" "\n" -"In order to request a certificate:\n" +" Create a CA ACL \"test\" that grants all users access to the\n" +" \"UserCert\" profile:\n" +" ipa caacl-add test --usercat=all\n" +" ipa caacl-add-profile test --certprofiles UserCert\n" "\n" -"* The host must exist\n" -"* The service must exist (or you use the --add option to automatically add " -"it)\n" +" Display the properties of a named CA ACL:\n" +" ipa caacl-show test\n" "\n" -"SEARCHING:\n" +" Create a CA ACL to let user \"alice\" use the \"DNP3\" profile:\n" +" ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" +" ipa caacl-add-user alice_dnp3 --user=alice\n" "\n" -"Certificates may be searched on by certificate subject, serial number,\n" -"revocation reason, validity dates and the issued date.\n" +" Disable a CA ACL:\n" +" ipa caacl-disable test\n" "\n" -"When searching on dates the _from date does a >= search and the _to date\n" -"does a <= search. When combined these are done as an AND.\n" +" Remove a CA ACL:\n" +" ipa caacl-del test\n" +msgstr "" "\n" -"Dates are treated as GMT to match the dates in the certificates.\n" +"Керування правилами CA ACL.\n" "\n" -"The date format is YYYY-mm-dd.\n" +"Цей додаток призначено для визначення правил, що керують тим,\n" +"які реєстраційні записи можуть мати сертифікати, випущені за\n" +"допомогою даного профілю сертифікатів.\n" +"\n" +"СИНТАКСИС ІДЕНТИФІКАТОРА ПРОФІЛЮ:\n" +"\n" +"Ідентифікатор профілю — рядок без пробілів і символів пунктуації,\n" +"що починається з літери і складається з послідовності літер, цифр, та " +"символів підкреслювання («_»).\n" +"\n" +"ПРИКЛАДИ:\n" +"\n" +" Створити CA ACL «test», який надає доступ усім користувачам до\n" +" профілю «UserCert»:\n" +" ipa caacl-add test --usercat=all\n" +" ipa caacl-add-profile test --certprofiles UserCert\n" +"\n" +" Показати усі властивості вказаного за назвою CA ACL:\n" +" ipa caacl-show test\n" +"\n" +" Створити CA ACL, який надає користувачеві «alice» право\n" +" використовувати профіль «DNP3»:\n" +" ipa caacl-add-profile alice_dnp3 --certprofiles DNP3\n" +" ipa caacl-add-user alice_dnp3 --user=alice\n" +"\n" +" Вимкнути певний CA ACL:\n" +" ipa caacl-disable test\n" +"\n" +" Вилучити певний CA ACL:\n" +" ipa caacl-del test\n" + +msgid "CA ACL" +msgstr "CA ACL" + +msgid "CA ACLs" +msgstr "CA ACL" + +msgid "ACL name" +msgstr "Назва ACL" + +msgid "Enabled" +msgstr "Увімкнено" + +msgid "Profile category" +msgstr "Категорія профілів" + +msgid "Profile category the ACL applies to" +msgstr "Категорія профілів, до якої застосовується ACL" + +msgid "User category" +msgstr "Категорія користувачів" + +msgid "User category the ACL applies to" +msgstr "Категорія користувачів, до якої застосовується ACL" + +msgid "Host category" +msgstr "Категорія вузлів" + +msgid "Host category the ACL applies to" +msgstr "Категорія вузлів, до якої застосовується ACL" + +msgid "Service category" +msgstr "Категорія служб" + +msgid "Service category the ACL applies to" +msgstr "Категорія служб, до якої застосовується ACL" + +msgid "Profiles" +msgstr "Профілі" + +msgid "User Groups" +msgstr "Групи користувачів" + +msgid "Host Groups" +msgstr "Групи вузлів" + +msgid "Services" +msgstr "Служби" + +msgid "Create a new CA ACL." +msgstr "Створити запис CA ACL." + +#, python-format +msgid "Added CA ACL \"%(value)s\"" +msgstr "Додано CA ACL «%(value)s»" + +msgid "Delete a CA ACL." +msgstr "Вилучити CA ACL." + +#, python-format +msgid "Deleted CA ACL \"%(value)s\"" +msgstr "Вилучено CA ACL «%(value)s»" + +msgid "Modify a CA ACL." +msgstr "Змінити CA ACL." + +#, python-format +msgid "Modified CA ACL \"%(value)s\"" +msgstr "Змінено CA ACL «%(value)s»" + +msgid "" +"profile category cannot be set to 'all' while there are allowed profiles" +msgstr "" +"не можна встановлювати для категорії профілів значення «all», доки є записи " +"дозволених профілів" + +msgid "user category cannot be set to 'all' while there are allowed users" +msgstr "" +"не можна встановлювати для категорії користувачів значення «all», доки є " +"записи дозволених користувачів" + +msgid "host category cannot be set to 'all' while there are allowed hosts" +msgstr "" +"не можна встановлювати для категорії вузлів значення «all», доки є записи " +"дозволених вузлів" + +msgid "" +"service category cannot be set to 'all' while there are allowed services" +msgstr "" +"не можна встановлювати для категорії служб значення «all», доки є дозволені " +"служби" + +msgid "Search for CA ACLs." +msgstr "Шукати CA ACL." + +#, python-format +msgid "%(count)d CA ACL matched" +msgid_plural "%(count)d CA ACLs matched" +msgstr[0] "встановлено відповідність %(count)d CA ACL" +msgstr[1] "встановлено відповідність %(count)d CA ACL" +msgstr[2] "встановлено відповідність %(count)d CA ACL" + +msgid "Display the properties of a CA ACL." +msgstr "Показати властивості CA ACL." + +msgid "Enable a CA ACL." +msgstr "Увімкнути CA ACL." + +#, python-format +msgid "Enabled CA ACL \"%(value)s\"" +msgstr "Увімкнено CA ACL «%(value)s»" + +msgid "Disable a CA ACL." +msgstr "Вимкнути CA ACL." + +#, python-format +msgid "Disabled CA ACL \"%(value)s\"" +msgstr "Вимкнено CA ACL «%(value)s»" + +msgid "Add users and groups to a CA ACL." +msgstr "Додати користувачів і групи до CA ACL." + +#, python-format +msgid "%i user or group added." +msgstr "Додано %i користувача або групу." + +#, python-format +msgid "%i users or groups added." +msgstr "Додано %i користувачів або груп." + +msgid "users cannot be added when user category='all'" +msgstr "" +"не можна додавати записи користувачів, якщо категорія користувачів=«all»" + +msgid "Remove users and groups from a CA ACL." +msgstr "Вилучити користувачів або групи з CA ACL." + +#, python-format +msgid "%i user or group removed." +msgstr "Вилучено %i користувача або групу." + +#, python-format +msgid "%i users or groups removed." +msgstr "Вилучено %i користувачів або груп." + +msgid "Add target hosts and hostgroups to a CA ACL." +msgstr "Додати вузли і групи вузлів призначення до CA ACL." + +#, python-format +msgid "%i host or hostgroup added." +msgstr "Додано %i вузол або групу вузлів." + +#, python-format +msgid "%i hosts or hostgroups added." +msgstr "Додано %i вузлів або груп вузлів." + +msgid "hosts cannot be added when host category='all'" +msgstr "не можна додавати записи вузлів, якщо категорія вузлів=«all»" + +msgid "Remove target hosts and hostgroups from a CA ACL." +msgstr "Вилучити вузли призначення та групи вузлів з CA ACL." + +#, python-format +msgid "%i host or hostgroup removed." +msgstr "Вилучено %i вузол або групу вузлів." + +#, python-format +msgid "%i hosts or hostgroups removed." +msgstr "Вилучено %i вузлів або груп вузлів." + +msgid "Add services to a CA ACL." +msgstr "Додати служби до CA ACL." + +#, python-format +msgid "%i service added." +msgstr "Додано %i службу." + +#, python-format +msgid "%i services added." +msgstr "Додано %i служб." + +msgid "services cannot be added when service category='all'" +msgstr "не можна додавати записи служб, якщо категорія служб=«all»" + +msgid "Remove services from a CA ACL." +msgstr "Вилучити служби з CA ACL." + +#, python-format +msgid "%i service removed." +msgstr "Вилучено %i службу." + +#, python-format +msgid "%i services removed." +msgstr "Вилучено %i служб." + +msgid "Failed profiles" +msgstr "Профілі із помилками" + +msgid "Add profiles to a CA ACL." +msgstr "Додати профілі до CA ACL." + +#, python-format +msgid "%i profile added." +msgstr "Додано %i профіль." + +#, python-format +msgid "%i profiles added." +msgstr "Додано %i профілів." + +msgid "profiles cannot be added when profile category='all'" +msgstr "профілі не можна додавати, якщо категорія профілів «all»" + +msgid "Remove profiles from a CA ACL." +msgstr "Вилучити профілі із CA ACL." + +#, python-format +msgid "%i profile removed." +msgstr "Вилучено %i профіль." + +#, python-format +msgid "%i profiles removed." +msgstr "Вилучено %i профілів." + +msgid "" +"\n" +"IPA certificate operations\n" +"\n" +"Implements a set of commands for managing server SSL certificates.\n" +"\n" +"Certificate requests exist in the form of a Certificate Signing Request " +"(CSR)\n" +"in PEM format.\n" +"\n" +"The dogtag CA uses just the CN value of the CSR and forces the rest of the\n" +"subject to values configured in the server.\n" +"\n" +"A certificate is stored with a service principal and a service principal\n" +"needs a host.\n" +"\n" +"In order to request a certificate:\n" +"\n" +"* The host must exist\n" +"* The service must exist (or you use the --add option to automatically add " +"it)\n" +"\n" +"SEARCHING:\n" +"\n" +"Certificates may be searched on by certificate subject, serial number,\n" +"revocation reason, validity dates and the issued date.\n" +"\n" +"When searching on dates the _from date does a >= search and the _to date\n" +"does a <= search. When combined these are done as an AND.\n" +"\n" +"Dates are treated as GMT to match the dates in the certificates.\n" +"\n" +"The date format is YYYY-mm-dd.\n" "\n" "EXAMPLES:\n" "\n" @@ -2207,6 +2724,9 @@ msgid "Failure decoding Certificate Signing Request: %s" msgstr "" "Помилка під час декодування запиту на підписування сертифіката (CSR): %s" +msgid "CA is not configured" +msgstr "CA не налаштовано" + msgid "Submit a certificate signing request." msgstr "Надіслати запит щодо підписування сертифіката." @@ -2216,16 +2736,18 @@ msgstr "CSR" msgid "Principal" msgstr "Реєстраційний запис" -msgid "Service principal for this certificate (e.g. HTTP/test.example.com)" +msgid "Principal for this certificate (e.g. HTTP/test.example.com)" msgstr "" -"Реєстраційний запис служби для цього сертифіката (наприклад HTTP/test." -"example.com)" +"Реєстраційний запис для цього сертифіката (наприклад HTTP/test.example.com)" msgid "automatically add the principal if it doesn't exist" msgstr "автоматично додати реєстраційний запис, якщо його не існує" -msgid "Certificate" -msgstr "Сертифікат" +msgid "Profile ID" +msgstr "Ід. профілю" + +msgid "Certificate Profile to use" +msgstr "Профіль сертифіката, яким слід скористатися" msgid "Subject" msgstr "Об’єкт" @@ -2254,31 +2776,39 @@ msgstr "Серійний номер (шістнадцятковий)" msgid "Dictionary mapping variable name to value" msgstr "Відображення назви змінної на значення за словником" -msgid "No hostname was found in subject of request." -msgstr "У темі запиту не було знайдено назви вузла." - #, python-format msgid "" -"hostname in subject of request '%(subject_host)s' does not match principal " -"hostname '%(hostname)s'" +"Principal '%(principal)s' is not permitted to use CA '%(ca)s' with profile " +"'%(profile_id)s' for certificate issuance." msgstr "" -"назва вузла у призначенні запиту, «%(subject_host)s», не збігається з назвою " -"вузла реєстраційного запису, «%(hostname)s»" +"Реєстраційному запису «%(principal)s» не дозволено використовувати службу " +"сертифікації «%(ca)s» із профілем «%(profile_id)s» для видання сертифікатів." -#, python-format -msgid "extension %s is forbidden" -msgstr "використання розширення %s заборонено" +msgid "The principal for this request doesn't exist." +msgstr "Реєстраційного запису для цього запиту не існує." + +msgid "No Common Name was found in subject of request." +msgstr "У темі запиту не було знайдено загальної назви (CN)." #, python-format -msgid "subject alt name type %s is forbidden" -msgstr "використання типу альтернативної назви об’єкта %s заборонено" +msgid "" +"hostname in subject of request '%(cn)s' does not match principal hostname " +"'%(hostname)s'" +msgstr "" +"назва вузла у призначенні запиту, «%(cn)s», не збігається з назвою вузла " +"реєстраційного запису, «%(hostname)s»" -msgid "The service principal for this request doesn't exist." -msgstr "Реєстраційного запису служби для цього запиту не існує." +msgid "DN commonName does not match any of user's email addresses" +msgstr "" +"commonName DN не збігається зі жодною адресою електронної пошти користувача" -msgid "You need to be a member of the serviceadmin role to add services" +msgid "DN emailAddress does not match any of user's email addresses" msgstr "" -"Для додавання служб вам слід мати роль адміністратора служб (serviceadmin)" +"emailAddress DN не збігається зі жодною адресою електронної пошти користувача" + +#, python-format +msgid "extension %s is forbidden" +msgstr "використання розширення %s заборонено" #, python-format msgid "" @@ -2287,6 +2817,12 @@ msgid "" msgstr "Недостатні привілеї «write» до атрибута «userCertificate» запису «%s»." #, python-format +msgid "subject alt name type %s is forbidden for user principals" +msgstr "" +"використання типу альтернативної назви об’єкта %s заборонено для " +"реєстраційних записів користувачів" + +#, python-format msgid "" "The service principal for subject alt name %s in certificate request does " "not exist" @@ -2302,11 +2838,20 @@ msgstr "" "призначення «%s»." #, python-format -msgid "" -"Principal '%s' in subject alt name does not match requested service principal" +msgid "Principal '%s' in subject alt name does not match requested principal" msgstr "" "Реєстраційний запис «%s» у альтернативній назві об’єкта не відповідає " -"запитаному реєстраційному запису служби" +"запитаному реєстраційному запису" + +msgid "RFC822Name does not match any of user's email addresses" +msgstr "" +"RFC822Name не збігається зі жодною адресою електронної пошти користувача" + +#, python-format +msgid "subject alt name type %s is forbidden for non-user principals" +msgstr "" +"використання типу альтернативної назви об’єкта %s заборонено для " +"реєстраційних записів, які не пов’язано із користувачами" #, python-format msgid "Subject alt name type %s is forbidden" @@ -2411,6 +2956,148 @@ msgstr[2] "встановлено відповідність %(count)d серт� msgid "" "\n" +"Manage Certificate Profiles\n" +"\n" +"Certificate Profiles are used by Certificate Authority (CA) in the signing " +"of\n" +"certificates to determine if a Certificate Signing Request (CSR) is " +"acceptable,\n" +"and if so what features and extensions will be present on the certificate.\n" +"\n" +"The Certificate Profile format is the property-list format understood by " +"the\n" +"Dogtag or Red Hat Certificate System CA.\n" +"\n" +"PROFILE ID SYNTAX:\n" +"\n" +"A Profile ID is a string without spaces or punctuation starting with a " +"letter\n" +"and followed by a sequence of letters, digits or underscore (\"_\").\n" +"\n" +"EXAMPLES:\n" +"\n" +" Import a profile that will not store issued certificates:\n" +" ipa certprofile-import ShortLivedUserCert \\\n" +" --file UserCert.profile --summary \"User Certificates\" \\\n" +" --store=false\n" +"\n" +" Delete a certificate profile:\n" +" ipa certprofile-del ShortLivedUserCert\n" +"\n" +" Show information about a profile:\n" +" ipa certprofile-show ShortLivedUserCert\n" +"\n" +" Search for profiles that do not store certificates:\n" +" ipa certprofile-find --store=false\n" +"\n" +msgstr "" +"\n" +"Керування профілями сертифікатів\n" +"\n" +"Профілі сертифікатів використовуються службами сертифікації (CA) під час\n" +"підписування сертифікатів для визначення того, чи є прийнятним запит на\n" +"підписування сертифіката (CSR), і, якщо це так, визначення можливостей\n" +"і розширень, які буде надано сертифікатом.\n" +"\n" +"Форматом профілю сертифікатів є список значень, які може обробляти\n" +"Dogtag або система сертифікації служби сертифікації Red Hat.\n" +"\n" +"СИНТАКСИС ІДЕНТИФІКАТОРА ПРОФІЛЮ:\n" +"\n" +"Ідентифікатор профілю — рядок без пробілів і символів пунктуації,\n" +"що починається з літери і складається з послідовності літер, цифр, та " +"символів підкреслювання («_»).\n" +"\n" +"ПРИКЛАДИ:\n" +"\n" +" Імпортувати профіль, у якому не зберігатимуться видані сертифікати:\n" +" ipa certprofile-import ShortLivedUserCert \\\n" +" --file UserCert.profile --summary \"User Certificates\" \\\n" +" --store=false\n" +"\n" +" Вилучити профіль сертифікатів:\n" +" ipa certprofile-del ShortLivedUserCert\n" +"\n" +" Показати дані щодо профілю:\n" +" ipa certprofile-show ShortLivedUserCert\n" +"\n" +" Шукати профілі, у яких не зберігаються сертифікати:\n" +" ipa certprofile-find --store=false\n" +"\n" + +msgid "invalid Profile ID" +msgstr "некоректний ідентифікатор профілю" + +msgid "Certificate Profile" +msgstr "Профіль сертифікатів" + +msgid "Certificate Profiles" +msgstr "Профілі сертифікатів" + +msgid "Profile ID for referring to this profile" +msgstr "Ідентифікатор профілю для посилання на цей профіль" + +msgid "Profile description" +msgstr "Опис профілю" + +msgid "Brief description of this profile" +msgstr "Короткий опис профілю" + +msgid "Store issued certificates" +msgstr "Зберігати видані сертифікати" + +msgid "Whether to store certs issued using this profile" +msgstr "" +"Визначає, чи слід зберігати сертифікати, видані за допомогою цього профілю" + +msgid "Search for Certificate Profiles." +msgstr "Шукати профілі сертифікатів." + +#, python-format +msgid "%(count)d profile matched" +msgid_plural "%(count)d profiles matched" +msgstr[0] "встановлено відповідність %(count)d профілю" +msgstr[1] "встановлено відповідність %(count)d профілів" +msgstr[2] "встановлено відповідність %(count)d профілів" + +msgid "Display the properties of a Certificate Profile." +msgstr "Показати властивості профілю сертифікатів." + +msgid "Import a Certificate Profile." +msgstr "Імпортувати профіль сертифікатів." + +#, python-format +msgid "Imported profile \"%(value)s\"" +msgstr "Імпортовано профіль «%(value)s»" + +msgid "Filename" +msgstr "Назва файла" + +msgid "Profile ID is not present in profile data" +msgstr "Ідентифікатора профілю немає у даних профілю" + +#, python-format +msgid "Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'" +msgstr "" +"Ідентифікатор профілю, «%(cli_value)s», не збігається із вказаним у даних " +"профілю, «%(file_value)s»" + +msgid "Delete a Certificate Profile." +msgstr "Вилучити профіль сертифікатів." + +#, python-format +msgid "Deleted profile \"%(value)s\"" +msgstr "Вилучено профіль «%(value)s»" + +msgid "Modify Certificate Profile configuration." +msgstr "Змінити налаштування профілю сертифікатів." + +#, python-format +msgid "Modified Certificate Profile \"%(value)s\"" +msgstr "Змінено профіль сертифікатів «%(value)s»" + +msgid "" +"\n" "Server configuration\n" "\n" "Manage the default values that IPA uses and some of its tuning parameters.\n" @@ -2899,15 +3586,11 @@ msgstr "" msgid "" "\n" " Add new zone:\n" -" ipa dnszone-add example.com --name-server=ns \\\n" -" --admin-email=admin@example.com \\\n" -" --ip-address=192.0.2.1\n" +" ipa dnszone-add example.com --admin-email=admin@example.com\n" msgstr "" "\n" " Додавання нової зони:\n" -" ipa dnszone-add example.com --name-server=ns \\\n" -" --admin-email=admin@example.com \\\n" -" --ip-address=192.0.2.1\n" +" ipa dnszone-add example.com --admin-email=admin@example.com\n" msgid "" "\n" @@ -2956,13 +3639,12 @@ msgstr "" msgid "" "\n" " Add new reverse zone specified by network IP address:\n" -" ipa dnszone-add --name-from-ip=192.0.2.0/24 \\\n" -" --name-server=ns.example.com.\n" +" ipa dnszone-add --name-from-ip=192.0.2.0/24\n" msgstr "" "\n" -" Додавання нової зворотної зони, вказаної за IP-адресою у мережі:\n" -" ipa dnszone-add --name-from-ip=192.0.2.0/24 \\\n" -" --name-server=ns.example.com.\n" +" Додавання нової реверсивної зони, вказаної за допомогою мережевої IP-" +"адреси:\n" +" ipa dnszone-add --name-from-ip=192.0.2.0/24\n" msgid "" "\n" @@ -3258,11 +3940,12 @@ msgstr "" msgid "" "\n" -" Semantics of forwarding in IPA matches BIND sematics and depends on type\n" -" of the zone:\n" +" Semantics of forwarding in IPA matches BIND semantics and depends on the " +"type\n" +" of zone:\n" " * Master zone: local BIND replies authoritatively to queries for data in\n" " the given zone (including authoritative NXDOMAIN answers) and forwarding\n" -" affects only queries for names bellow zone cuts (NS records) of locally\n" +" affects only queries for names below zone cuts (NS records) of locally\n" " served zones.\n" "\n" " * Forward zone: forward zone contains no authoritative data. BIND " @@ -3485,6 +4168,9 @@ msgstr "значення солі: %(err)s" msgid "invalid domain-name: not fully qualified" msgstr "некоректна назва домену: назва не є повною" +msgid "should not be a wildcard domain name (RFC 4592 section 4)" +msgstr "не можна використовувати шаблон назви домену (RFC 4592, розділ 4)" + #, python-format msgid "DNS reverse zone for IP address %(addr)s not found" msgstr "Зворотної зони DNS для IP-адреси %(addr)s не знайдено" @@ -3856,12 +4542,6 @@ msgstr "Строк дії" msgid "Time to live for records at zone apex" msgstr "Час життя записів у апексі зони" -msgid "SOA class" -msgstr "Клас SOA" - -msgid "SOA record class" -msgstr "Клас записів SOA" - msgid "BIND update policy" msgstr "Правила оновлення BIND" @@ -3915,12 +4595,10 @@ msgstr "" "Запис NSEC3PARAM для зони у такому форматі: алгоритм_хешування прапорці " "ітерації сіль" -msgid "" -"Manual configuration needed, please visit 'http://www.freeipa.org/page/" -"Releases/4.0.0#Experimental_DNSSEC_Support'" +msgid "Visit 'http://www.freeipa.org/page/Releases/4.1.0#DNSSEC_Support'." msgstr "" -"Потрібне налаштовування вручну. Докладніший опис тут: 'http://www.freeipa." -"org/page/Releases/4.0.0#Experimental_DNSSEC_Support'" +"Відвідайте сторінку «http://www.freeipa.org/page/" +"Releases/4.1.0#DNSSEC_Support»." msgid "" "If you encounter any problems please report them and restart 'named' service " @@ -3929,6 +4607,15 @@ msgstr "" "Якщо у вас виникають якісь проблеми, будь ласка, повідомте про них авторам " "програми і перезапустіть службу «named» на відповідному сервері IPA." +msgid "setting Authoritative nameserver" +msgstr "встановлення основного сервера назв" + +msgid "It is used only for setting the SOA MNAME attribute." +msgstr "Використовується лише для встановлення атрибута MNAME SOA." + +msgid "NS record(s) can be edited in zone apex - '@'. " +msgstr "Записи NS можна редагувати у апексі зони — «@». " + msgid "Create new DNS zone (SOA record)." msgstr "Створити зону DNS (запис SOA)." @@ -3940,25 +4627,9 @@ msgstr "" "Примусово створити зону DNS, навіть якщо не вдається визначити адресу " "сервера назв." -msgid "Add forward record for nameserver located in the created zone" -msgstr "" -"Додати запис переспрямування для сервера назв, розташованого у створеній зоні" - -msgid "Nameserver IP address" -msgstr "IP-адреса сервера назв" - -msgid "Nameserver address is not a domain name" -msgstr "Адреса сервера назв не є назвою домену" - msgid "Nameserver for reverse zone cannot be a relative DNS name" msgstr "Не можна задавати сервер назв для зворотної зони відносно назви DNS" -msgid "Nameserver DNS record is created for for forward zones only" -msgstr "Запис сервера назв DNS створено лише для зон переспрямовування" - -msgid "Nameserver DNS record is created only for nameservers in current zone" -msgstr "Запис сервера назв DNS створено лише для серверів назв у поточній зоні" - msgid "Delete DNS zone (SOA record)." msgstr "Вилучити зону DNS (запис SOA)." @@ -3973,6 +4644,9 @@ msgid "Force nameserver change even if nameserver not in DNS" msgstr "" "Примусово змінити сервер назв, навіть якщо запису сервера назв немає у DNS" +msgid "is required" +msgstr "є обов’язковим" + msgid "Forward zones only" msgstr "Лише прямі зони" @@ -4017,18 +4691,15 @@ msgstr "Запис ресурсу DNS" msgid "Record name" msgstr "Назва запису" -msgid "Class" -msgstr "Клас" - -msgid "DNS class" -msgstr "Клас DNS" - msgid "Structured" msgstr "Структурована" msgid "Parse all raw DNS records and return them in a structured way" msgstr "Обробити всі записи DNS і повернути дані у структурованій формі" +msgid "DS record must not be in zone apex (RFC 4035 section 2.4)" +msgstr "запис DS не повинен перебувати у апексі зони (RFC 4035, розділ 2.4)" + msgid "" "out-of-zone data: record name must be a subdomain of the zone or a relative " "name" @@ -4037,6 +4708,14 @@ msgstr "" #, python-format msgid "" +"owner of %(types)s records should not be a wildcard domain name (RFC 4592 " +"section 4)" +msgstr "" +"не можна використовувати шаблон назви домену у полі власника записів " +"%(types)s (RFC 4592, розділ 4)" + +#, python-format +msgid "" "Reverse zone for PTR record should be a sub-zone of one the following fully " "qualified domains: %s" msgstr "" @@ -4069,12 +4748,20 @@ msgid "only one DNAME record is allowed per name (RFC 6672, section 2.4)" msgstr "" "можна використовувати лише один запис DNAME на назву (RFC 6672, розділ 2.4)" +#, python-format +msgid "" +"NS record is not allowed to coexist with an %(type)s record except when " +"located in a zone root record (RFC 2181, section 6.1)" +msgstr "" +"запис NS не можна використовувати разом з записом %(type)s, якщо їх не " +"розташовано у запису кореня зони (RFC 2181, розділ 6.1)" + msgid "" -"DNAME record is not allowed to coexist with an NS record except when located " -"in a zone root record (RFC 6672, section 2.3)" +"DS record requires to coexist with an NS record (RFC 4592 section 4.6, RFC " +"4035 section 2.4)" msgstr "" -"запис DNAME не можна використовувати разом з записом NS, якщо їх не " -"розташовано у запису кореня зони (RFC 6672, розділ 2.3)" +"Запис DS має існувати паралельно із записом NS (RFC 4592, розділ 4.6, RFC " +"4035, розділ 2.4)" msgid "Add new DNS resource record." msgstr "Додати новий запис ресурсу DNS." @@ -4224,6 +4911,12 @@ msgstr "Загальні налаштування DNS є порожніми" msgid "Modify global DNS configuration." msgstr "Змінити загальні налаштування DNS." +msgid "Server will check DNS forwarder(s)." +msgstr "Сервер перевірятиме засоби переспрямовування DNS." + +msgid "This may take some time, please wait ..." +msgstr "Це доволі тривала дія. Будь ласка, зачекайте…" + msgid "Show the current global DNS configuration." msgstr "Показати поточні загальні налаштування DNS." @@ -4287,6 +4980,34 @@ msgstr "" msgid "" "\n" +"Raise the IPA Domain Level.\n" +msgstr "" +"\n" +"Підняти рівень домену IPA.\n" + +msgid "Current domain level:" +msgstr "Поточний рівень домену:" + +msgid "Query current Domain Level." +msgstr "Надіслати запити щодо поточного рівня домену." + +msgid "Change current Domain Level." +msgstr "Змінити поточний рівень домену." + +msgid "Domain Level" +msgstr "Рівень домену" + +msgid "Domain Level cannot be lowered." +msgstr "Не можна знижувати рівень домену." + +#, python-brace-format +msgid "Domain Level cannot be raised to {0}, server {1} does not support it." +msgstr "" +"Не можна підняти рівень домену до {0}, оскільки на сервері {1} не " +"передбачено підтримки такого рівня." + +msgid "" +"\n" "Groups of users\n" "\n" "Manage groups of users. By default, new groups are POSIX groups. You\n" @@ -4468,9 +5189,6 @@ msgstr "група" msgid "groups" msgstr "групи" -msgid "User Groups" -msgstr "Групи користувачів" - msgid "User Group" msgstr "Група користувачів" @@ -4480,9 +5198,6 @@ msgstr "Назва групи" msgid "Group description" msgstr "Опис групи" -msgid "GID" -msgstr "GID" - msgid "GID (use this option to set it manually)" msgstr "GID (за допомогою цього параметра можна встановити значення вручну)" @@ -4505,6 +5220,9 @@ msgstr "Створити як групу, що не відповідає POSIX" msgid "Allow adding external non-IPA members from trusted domains" msgstr "Дозволити додавання зовнішніх учасників поза IPA з довірених доменів" +msgid "gid cannot be set for external group" +msgstr "Не можна встановлювати gid для зовнішньої групи" + msgid "Delete group." msgstr "Вилучити групу." @@ -4719,33 +5437,15 @@ msgstr "Тип правила (allow)" msgid "Rule type" msgstr "Тип правила" -msgid "User category" -msgstr "Категорія користувачів" - msgid "User category the rule applies to" msgstr "Категорія користувачів, до якої застосовується правило" -msgid "Host category" -msgstr "Категорія вузлів" - msgid "Host category the rule applies to" msgstr "Категорія вузлів, до якої застосовується правило" -msgid "Service category" -msgstr "Категорія служб" - msgid "Service category the rule applies to" msgstr "Категорія служб, до якої застосовується правило" -msgid "Enabled" -msgstr "Увімкнено" - -msgid "Host Groups" -msgstr "Групи вузлів" - -msgid "Services" -msgstr "Служби" - msgid "Service Groups" msgstr "Групи служб" @@ -4770,22 +5470,6 @@ msgstr "Змінити правило HBAC." msgid "Modified HBAC rule \"%(value)s\"" msgstr "Змінено правило HBAC «%(value)s»" -msgid "user category cannot be set to 'all' while there are allowed users" -msgstr "" -"не можна встановлювати для категорії користувачів значення «all», доки є " -"записи дозволених користувачів" - -msgid "host category cannot be set to 'all' while there are allowed hosts" -msgstr "" -"не можна встановлювати для категорії вузлів значення «all», доки є записи " -"дозволених вузлів" - -msgid "" -"service category cannot be set to 'all' while there are allowed services" -msgstr "" -"не можна встановлювати для категорії служб значення «all», доки є дозволені " -"служби" - msgid "Search for HBAC rules." msgstr "Шукати правила HBAC." @@ -4819,28 +5503,18 @@ msgstr "Час доступу" msgid "Add users and groups to an HBAC rule." msgstr "Додати користувачів та групи до правила HBAC." -msgid "users cannot be added when user category='all'" -msgstr "" -"не можна додавати записи користувачів, якщо категорія користувачів=«all»" - msgid "Remove users and groups from an HBAC rule." msgstr "Вилучити користувачів і групи з правила HBAC." msgid "Add target hosts and hostgroups to an HBAC rule." msgstr "Додати вузли призначення та групи вузлів до правила HBAC." -msgid "hosts cannot be added when host category='all'" -msgstr "не можна додавати записи вузлів, якщо категорія вузлів=«all»" - msgid "Remove target hosts and hostgroups from an HBAC rule." msgstr "Вилучити вузли призначення та групи вузлів з правила HBAC." msgid "Add services to an HBAC rule." msgstr "Додати служби до правила HBAC." -msgid "services cannot be added when service category='all'" -msgstr "не можна додавати записи служб, якщо категорія служб=«all»" - msgid "Remove service and service groups from an HBAC rule." msgstr "Вилучити служби та групи служб з правила HBAC." @@ -5636,6 +6310,15 @@ msgstr "" "вузла :\n" " ipa host-add-managedby --hosts=test2 test\n" +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa host-allow-create-keytab test2 --users=tuser1\n" +msgstr "" +"\n" +" Дозволити користувачеві створення таблиці ключів:\n" +" ipa host-allow-create-keytab test2 --users=tuser1\n" + msgid "Keytab" msgstr "Таблиця ключів" @@ -5648,8 +6331,35 @@ msgstr "Серійний номер (шістнадцятковий)" msgid "Failed managedby" msgstr "Помилка managedby" -msgid "SSH public key fingerprint" -msgstr "Відбиток відкритого ключа SSH" +msgid "Users allowed to retrieve keytab" +msgstr "Користувачі, яким дозволено отримувати таблицю ключів" + +msgid "Groups allowed to retrieve keytab" +msgstr "Групи, яким дозволено отримувати таблицю ключів" + +msgid "Hosts allowed to retrieve keytab" +msgstr "Вузли, яким дозволено отримувати таблицю ключів" + +msgid "Host Groups allowed to retrieve keytab" +msgstr "Групи вузлів, яким дозволено отримувати таблицю ключів" + +msgid "Users allowed to create keytab" +msgstr "Користувачі, яким дозволено створення таблиці ключів" + +msgid "Groups allowed to create keytab" +msgstr "Групи, яким дозволено створення таблиці ключів" + +msgid "Hosts allowed to create keytab" +msgstr "Вузли, яким дозволено створення таблиці ключів" + +msgid "Host Groups allowed to create keytab" +msgstr "Групи вузлів, яким дозволено створення таблиці ключів" + +msgid "Failed allowed to retrieve keytab" +msgstr "Не вдалося дозволити отримувати таблицю ключів" + +msgid "Failed allowed to create keytab" +msgstr "Не вдалося дозволити створювати таблицю ключів" #, python-format msgid "invalid domain-name: %s" @@ -5701,12 +6411,6 @@ msgid "Generate a random password to be used in bulk enrollment" msgstr "" "Створити випадковий пароль, який буде використано для загальної реєстрації" -msgid "Random password" -msgstr "Випадковий пароль" - -msgid "Base-64 encoded server certificate" -msgstr "Сертифікат сервера у кодуванні Base-64" - msgid "Principal name" msgstr "Назва реєстраційного запису" @@ -5716,9 +6420,6 @@ msgstr "MAC-адреса" msgid "Hardware MAC address(es) on this host" msgstr "Апаратні MAC-адреси цього вузла" -msgid "SSH public key" -msgstr "Відкритий ключ SSH" - msgid "" "Host category (semantics placed on this attribute are for local " "interpretation)" @@ -5726,6 +6427,9 @@ msgstr "" "Категорія вузлів (семантика розташування цього атрибуту призначена для " "локальної обробки)" +msgid "Assigned ID View" +msgstr "Перегляд призначених ідентифікаторів" + msgid "Add a new host." msgstr "Додати новий запис вузла." @@ -5793,8 +6497,8 @@ msgid "file to store certificate in" msgstr "файл, у якому зберігатимуться дані сертифіката" #, python-format -msgid "Certificate stored in file '%(file)s'" -msgstr "Сертифікат збережено у файлі «%(file)s»" +msgid "Certificate(s) stored in file '%(file)s'" +msgstr "Сертифікати, що зберігаються у файлі «%(file)s»" msgid "Disable the Kerberos key, SSL certificate and all services of a host." msgstr "Вимкнути ключ Kerberos, сертифікат SSL і всі служби на вузлі." @@ -5810,6 +6514,31 @@ msgid "Remove hosts that can manage this host." msgstr "Вилучити записи вузлів, які можуть керувати цим вузлом." msgid "" +"Allow users, groups, hosts or host groups to retrieve a keytab of this host." +msgstr "" +"Дозволити користувачам, групам, вузлам і групам вузлів отримувати таблицю " +"ключів цього вузла." + +msgid "" +"Disallow users, groups, hosts or host groups to retrieve a keytab of this " +"host." +msgstr "" +"Заборонити користувачам, групам, вузлам і групам вузлів отримувати таблицю " +"ключів цього вузла." + +msgid "" +"Allow users, groups, hosts or host groups to create a keytab of this host." +msgstr "" +"Дозволити користувачам, групам, вузлам і групам вузлів створювати таблицю " +"ключів цього вузла." + +msgid "" +"Disallow users, groups, hosts or host groups to create a keytab of this host." +msgstr "" +"Заборонити користувачам, групам, вузлам і групам вузлів створювати таблицю " +"ключів цього вузла." + +msgid "" "\n" "Groups of hosts.\n" "\n" @@ -6237,18 +6966,12 @@ msgstr "Діапазон ідентифікаторів" msgid "local domain range" msgstr "локальний діапазон доменів" -msgid "Active Directory winsync range" -msgstr "Діапазон winsync Active Directory" - msgid "Active Directory domain range" msgstr "Діапазон доменів Active Directory" msgid "Active Directory trust range with POSIX attributes" msgstr "Діапазон довіри Active Directory з атрибутами POSIX" -msgid "IPA trust range" -msgstr "Діапазон довіри IPA" - msgid "Range name" msgstr "Назва діапазону" @@ -6389,21 +7112,27 @@ msgstr "" "Не вдалося знайти SID для вказаного довіреного домену. Будь ласка, вкажіть " "SID безпосередньо за допомогою параметра dom-sid." +msgid "Options dom-sid/dom-name and rid-base must be used together" +msgstr "Параметри dom-sid/dom-name і rid-base слід використовувати разом" + +msgid "" +"Option rid-base must not be used when IPA range type is ipa-ad-trust-posix" +msgstr "" +"Параметр rid-base не слід використовувати, якщо типом діапазону IPA є ipa-ad-" +"trust-posix" + msgid "" "IPA Range type must be one of ipa-ad-trust or ipa-ad-trust-posix when SID of " -"the trusted domain is specified." +"the trusted domain is specified" msgstr "" "Якщо вказано SID довіреного домену, типом діапазону IPA має бути ipa-ad-" -"trust або ipa-ad-trust-posix." +"trust або ipa-ad-trust-posix" msgid "Options dom-sid/dom-name and secondary-rid-base cannot be used together" msgstr "" "Параметри dom-sid/dom-name і secondary-rid-base не можна використовувати " "разом" -msgid "Options dom-sid/dom-name and rid-base must be used together" -msgstr "Параметри dom-sid/dom-name і rid-base слід використовувати разом" - msgid "" "IPA Range type must not be one of ipa-ad-trust or ipa-ad-trust-posix when " "SID of the trusted domain is not specified." @@ -6458,6 +7187,325 @@ msgstr "Параметри dom-sid і secondary-rid-base не можна вик� msgid "Options dom-sid and rid-base must be used together" msgstr "Параметри dom-sid і rid-base слід використовувати разом" +msgid "" +"\n" +"ID Views\n" +"Manage ID Views\n" +"IPA allows to override certain properties of users and groups per each " +"host.\n" +"This functionality is primarily used to allow migration from older systems " +"or\n" +"other Identity Management solutions.\n" +msgstr "" +"\n" +"Перегляди ідентифікаторів\n" +"Керування переглядами ідентифікаторів\n" +"IPA надає вам змогу перевизначити певні властивості записів користувачів та " +"груп для окремих вузлів.\n" +"В основному, ці функціональні можливості призначено для уможливлення " +"перенесення даних із застарілих\n" +"систем або інших рішень для керування профілями.\n" + +msgid "ID View" +msgstr "Перегляд ідентифікаторів" + +msgid "system ID View" +msgstr "системний перегляд ідентифікаторів" + +msgid "ID Views" +msgstr "Перегляди ідентифікаторів" + +msgid "ID View Name" +msgstr "Назва перегляду ідентифікаторів" + +msgid "Add a new ID View." +msgstr "Додати новий перегляд ідентифікаторів." + +#, python-format +msgid "Added ID View \"%(value)s\"" +msgstr "Додано перегляд ідентифікаторів «%(value)s»" + +msgid "Delete an ID View." +msgstr "Вилучити перегляд ідентифікаторів." + +#, python-format +msgid "Deleted ID View \"%(value)s\"" +msgstr "Вилучено перегляд ідентифікаторів «%(value)s»" + +msgid "Modify an ID View." +msgstr "Змінити перегляд ідентифікаторів." + +#, python-format +msgid "Modified an ID View \"%(value)s\"" +msgstr "Змінено перегляд ідентифікаторів «%(value)s»" + +msgid "Search for an ID View." +msgstr "Шукати перегляд ідентифікаторів." + +#, python-format +msgid "%(count)d ID View matched" +msgid_plural "%(count)d ID Views matched" +msgstr[0] "встановлено відповідність %(count)d перегляду ідентифікаторів" +msgstr[1] "встановлено відповідність %(count)d переглядів ідентифікаторів" +msgstr[2] "встановлено відповідність %(count)d переглядів ідентифікаторів" + +msgid "Display information about an ID View." +msgstr "Показати дані щодо перегляду ідентифікаторів." + +msgid "Enumerate all the hosts the view applies to." +msgstr "Пронумерувати усі вузли, до яких застосовний перегляд." + +msgid "User object overrides" +msgstr "Пріоритет об’єкта користувача" + +msgid "Group object overrides" +msgstr "Пріоритет об’єкта групи" + +msgid "Hosts the view applies to" +msgstr "Вузли, до яких застосовний перегляд" + +msgid "Default Trust View cannot be applied on hosts" +msgstr "Типовий перегляд довіри не може бути застосовано до вузлів" + +msgid "not found" +msgstr "не знайдено" + +msgid "ID View already applied" +msgstr "Перегляд ідентифікаторів уже застосовано" + +msgid "value" +msgstr "значення" + +msgid "" +"Applies ID View to specified hosts or current members of specified " +"hostgroups. If any other ID View is applied to the host, it is overriden." +msgstr "" +"Застосовує перегляд ідентифікаторів до вказаних вузлів або поточних " +"учасників вказаних груп вузлів. Якщо до вузла застосовується якийсь інший " +"перегляд ідентифікаторів, його буде перевизначено." + +#, python-format +msgid "ID View applied to %i host." +msgstr "Перегляд ідентифікаторів застосовано до %i вузла." + +#, python-format +msgid "ID View applied to %i hosts." +msgstr "Перегляд ідентифікаторів застосовано до %i вузлів." + +msgid "Hosts to apply the ID View to" +msgstr "Вузли, до яких слід застосувати перегляд ідентифікаторів" + +msgid "" +"Hostgroups to whose hosts apply the ID View to. Please note that view is not " +"applied automatically to any hosts added to the hostgroup after running the " +"idview-apply command." +msgstr "" +"Групи вузлів, до чиїх вузлів буде застосовано перегляд ідентифікаторів. Будь " +"ласка, зауважте, що перегляд не застосовується автоматично до жодних вузлів, " +"доданих до групи вузлів після виконання команди idview-apply." + +msgid "hostgroups" +msgstr "групи вузлів" + +msgid "Hosts that this ID View was applied to." +msgstr "Вузли, до яких було застосовано цей перегляд ідентифікаторів." + +msgid "Hosts or hostgroups that this ID View could not be applied to." +msgstr "" +"Вузли або групи вузлів, до яких не можна застосувати цей перегляд " +"ідентифікаторів." + +msgid "Number of hosts the ID View was applied to:" +msgstr "Кількість вузлів, до яких застосовано перегляд ідентифікаторів:" + +msgid "" +"Clears ID View from specified hosts or current members of specified " +"hostgroups." +msgstr "" +"Знімає перегляд ідентифікаторів із вказаних вузлів або поточних учасників " +"вказаних груп вузлів." + +#, python-format +msgid "ID View cleared from %i host." +msgstr "Перегляд ідентифікаторів знято з %i вузла." + +#, python-format +msgid "ID View cleared from %i hosts." +msgstr "Перегляд ідентифікаторів знято з %i вузлів." + +msgid "Hosts to clear (any) ID View from." +msgstr "Вузли, з яких слід зняти (будь-який) перегляд ідентифікаторів." + +msgid "" +"Hostgroups whose hosts should have ID Views cleared. Note that view is not " +"cleared automatically from any host added to the hostgroup after running " +"idview-unapply command." +msgstr "" +"Групи вузлів, для вузлів яких знято обробку переглядами ідентифікаторів. " +"Зауважте, що після запуску команди idview-unapply перегляд з будь-якого " +"вузла, доданого до групи вузлів, не зніматиметься автоматично." + +msgid "Hosts that ID View was cleared from." +msgstr "Вузли, з яких знято перегляд ідентифікаторів." + +msgid "Hosts or hostgroups that ID View could not be cleared from." +msgstr "" +"Вузли або групи вузлів, з яких не можна зняти перегляд ідентифікаторів." + +msgid "Number of hosts that had a ID View was unset:" +msgstr "Кількість вузлів, з яких знято перегляд ідентифікаторів:" + +msgid "IPA object" +msgstr "Об’єкт IPA" + +msgid "" +"system IPA objects (e.g system groups, user private groups) cannot be " +"overriden" +msgstr "" +"системні об’єкти IPA (наприклад системні групи, приватні групи користувачів) " +"не може бути перевизначено" + +#, python-format +msgid "Anchor '%(anchor)s' could not be resolved." +msgstr "Не вдалося визначити прив’язку «%(anchor)s»." + +msgid "Anchor to override" +msgstr "Прив’язка для перевизначення" + +msgid "Default Trust View cannot contain IPA users" +msgstr "Типовий перегляд довіри не може містити користувачів IPA" + +msgid "Add a new ID override." +msgstr "Додати нове перевизначення ідентифікаторів." + +#, python-format +msgid "Added ID override \"%(value)s\"" +msgstr "Додано перевизначення ідентифікаторів «%(value)s»" + +msgid "Delete an ID override." +msgstr "Вилучити перевизначення ідентифікаторів." + +#, python-format +msgid "Deleted ID override \"%(value)s\"" +msgstr "Вилучено перевизначення ідентифікатора «%(value)s»" + +msgid "Modify an ID override." +msgstr "Змінити перевизначення ідентифікатора." + +#, python-format +msgid "Modified an ID override \"%(value)s\"" +msgstr "Змінено перевизначення ідентифікатора «%(value)s»" + +msgid "ID override" +msgstr "Перевизначення ідентифікатора" + +msgid "ID overrides cannot be renamed" +msgstr "Перевизначення ідентифікаторів не можна перейменовувати" + +msgid "Search for an ID override." +msgstr "Шукати перевизначення ідентифікатора." + +#, python-format +msgid "%(count)d ID override matched" +msgid_plural "%(count)d ID overrides matched" +msgstr[0] "встановлено відповідність %(count)d перевизначення ідентифікатора" +msgstr[1] "встановлено відповідність %(count)d перевизначень ідентифікаторів" +msgstr[2] "встановлено відповідність %(count)d перевизначень ідентифікаторів" + +msgid "Display information about an ID override." +msgstr "Показати дані щодо перевизначення ідентифікатора." + +msgid "User ID override" +msgstr "Перевизначення ідентифікатора користувача" + +msgid "User ID overrides" +msgstr "Перевизначення ідентифікатора користувача" + +msgid "User ID Number" +msgstr "Номер ідентифікатора користувача" + +msgid "Group ID override" +msgstr "Перевизначення ідентифікатора групи" + +msgid "Group ID overrides" +msgstr "Перевизначення ідентифікатора групи" + +msgid "Add a new User ID override." +msgstr "Додати нове перевизначення ідентифікатора користувача." + +#, python-format +msgid "Added User ID override \"%(value)s\"" +msgstr "Додано перевизначення ідентифікатора користувача «%(value)s»" + +msgid "Delete an User ID override." +msgstr "Вилучити перевизначення ідентифікатора користувача." + +#, python-format +msgid "Deleted User ID override \"%(value)s\"" +msgstr "Вилучено перевизначення ідентифікатора користувача «%(value)s»" + +msgid "Modify an User ID override." +msgstr "Змінити перевизначення ідентифікатора користувача." + +#, python-format +msgid "Modified an User ID override \"%(value)s\"" +msgstr "Змінено перевизначення ідентифікатора користувача «%(value)s»" + +msgid "Search for an User ID override." +msgstr "Шукати перевизначення ідентифікатора користувача." + +#, python-format +msgid "%(count)d User ID override matched" +msgid_plural "%(count)d User ID overrides matched" +msgstr[0] "" +"встановлено відповідність %(count)d перевизначення ідентифікатора користувача" +msgstr[1] "" +"встановлено відповідність %(count)d перевизначень ідентифікаторів " +"користувачів" +msgstr[2] "" +"встановлено відповідність %(count)d перевизначень ідентифікаторів " +"користувачів" + +msgid "Display information about an User ID override." +msgstr "Показати дані щодо перевизначення ідентифікатора користувача." + +msgid "Add a new Group ID override." +msgstr "Додати нове перевизначення ідентифікаторів групи." + +#, python-format +msgid "Added Group ID override \"%(value)s\"" +msgstr "Додано перевизначення ідентифікаторів групи «%(value)s»" + +msgid "Delete an Group ID override." +msgstr "Вилучити перевизначення ідентифікаторів групи." + +#, python-format +msgid "Deleted Group ID override \"%(value)s\"" +msgstr "Вилучено перевизначення ідентифікаторів групи «%(value)s»" + +msgid "Modify an Group ID override." +msgstr "Змінити перевизначення ідентифікаторів групи." + +#, python-format +msgid "Modified an Group ID override \"%(value)s\"" +msgstr "Змінено перевизначення ідентифікаторів групи «%(value)s»" + +msgid "Search for an Group ID override." +msgstr "Шукати перевизначення ідентифікаторів групи." + +#, python-format +msgid "%(count)d Group ID override matched" +msgid_plural "%(count)d Group ID overrides matched" +msgstr[0] "" +"встановлено відповідність %(count)d перевизначення ідентифікаторів групи" +msgstr[1] "" +"встановлено відповідність %(count)d перевизначень ідентифікаторів групи" +msgstr[2] "" +"встановлено відповідність %(count)d перевизначень ідентифікаторів групи" + +msgid "Display information about an Group ID override." +msgstr "Показати дані щодо перевизначення ідентифікаторів групи." + msgid "Name of object to export" msgstr "Назва об’єкта, який слід експортувати" @@ -6592,8 +7640,31 @@ msgstr "Вилучено ${count} записів" msgid "Show Results" msgstr "Показати результати" -msgid "About" -msgstr "Про програму" +msgid "Implicit method (password) will be used if no method is chosen." +msgstr "" +"Якщо не буде вибрано жодного способу, використовуватиметься неявний спосіб " +"(пароль)." + +msgid "Two factor authentication (password + OTP)" +msgstr "Двофакторне розпізнавання (пароль + OTP)" + +msgid "Radius" +msgstr "Radius" + +msgid "Disable per-user override" +msgstr "Вимкнути перевизначення на рівні користувача" + +msgid "" +"Per-user setting, overwrites the global setting if any option is checked." +msgstr "" +"Окремий параметр користувача, перевизначає загальний параметр, якщо " +"позначено будь-який з пунктів." + +msgid "About" +msgstr "Про програму" + +msgid "Activate" +msgstr "Задіяти" msgid "Add" msgstr "Додати" @@ -6658,9 +7729,15 @@ msgstr "Відновити" msgid "Retry" msgstr "Повторити" +msgid "Revert" +msgstr "Повернути" + msgid "Revoke" msgstr "Відкликати" +msgid "Save" +msgstr "Зберегти" + msgid "Set" msgstr "Встановити" @@ -6748,6 +7825,9 @@ msgstr "Вилучити ${entity}" msgid "Show details" msgstr "Показати подробиці" +msgid "Success" +msgstr "Успіх" + msgid "Validation error" msgstr "Помилка під час перевірки" @@ -6815,6 +7895,28 @@ msgstr "Пошук" msgid "False" msgstr "Ні" +#, python-brace-format +msgid "Allow ${other_entity} to create keytab of ${primary_key}" +msgstr "Дозволити ${other_entity} створювати таблицю ключів ${primary_key}" + +#, python-brace-format +msgid "Allow ${other_entity} to retrieve keytab of ${primary_key}" +msgstr "Дозволити ${other_entity} отримувати таблицю ключів ${primary_key}" + +msgid "Allowed to create keytab" +msgstr "Дозволено створювати таблицю ключів" + +msgid "Allowed to retrieve keytab" +msgstr "Дозволено отримувати таблицю ключів" + +#, python-brace-format +msgid "Disallow ${other_entity} to create keytab of ${primary_key}" +msgstr "Заборонити ${other_entity} створювати таблицю ключів ${primary_key}" + +#, python-brace-format +msgid "Disallow ${other_entity} to retrieve keytab of ${primary_key}" +msgstr "Заборонити ${other_entity} отримувати таблицю ключів ${primary_key}" + msgid "Inherited from server configuration" msgstr "Успадковано з налаштувань сервера" @@ -6828,25 +7930,28 @@ msgid "PAD" msgstr "PAD" msgid "" -"To login with username and password, enter them in the fields below then " -"click Login." +" To login with username and " +"password, enter them in the corresponding fields, then click Login." msgstr "" -"Щоб увійти з використанням певного імені користувача і пароля, вкажіть їх у " -"наведених нижче полях, а потім натисніть кнопку «Увійти»." +" Щоб увійти за допомогою імені " +"користувача і пароля, вкажіть ці дані у відповідних полях, потім " +"натисніть кнопку «Увійти»." msgid "Logged In As" msgstr "Вхід до системи від імені" #, python-brace-format msgid "" -"To login with Kerberos, please make sure you have valid tickets (obtainable " -"via kinit) and
configured the browser correctly, then click Login." +" To login with Kerberos, " +"please make sure you have valid tickets (obtainable via kinit) and configured the " +"browser correctly, then click Login." msgstr "" -"Щоб увійти за допомогою Kerberos, будь ласка, переконайтеся, що маєте чинні " -"квитки (ці квитки можна отримати за допомогою kinit) і що програму для " -"перегляду сторінок інтернету налаштовано належним чином, а потім натисніть кнопку «Увійти»." +"Щоб увійти за допомогою Kerberos, будь ласка, переконайтеся, що маєте чинні квитки (ці квитки можна " +"отримати за допомогою kinit) і що програму для перегляду сторінок інтернету " +"налаштовано " +"належним чином, а потім натисніть кнопку «Увійти»." msgid "Login" msgstr "Увійти" @@ -6858,7 +7963,7 @@ msgid "Logout error" msgstr "Помилка під час виходу" msgid "Sync OTP Token" -msgstr "Синхронізувати маркер OTP" +msgstr "Синхронізувати жетон OTP" msgid "Username" msgstr "Користувач" @@ -7199,6 +8304,21 @@ msgstr "Вилучити права доступу" msgid "Are you sure you want to remove permission for DNS Zone ${object}?" msgstr "Ви справді хочете вилучити права доступу для зони DNS ${object}?" +msgid "Skip DNS check" +msgstr "Пропустити перевірку DNS" + +msgid "Do you want to check if new authoritative nameserver address is in DNS" +msgstr "Хочете перевірити, чи є адреса нового основного сервера назв у DNS" + +msgid "Authoritative nameserver change" +msgstr "Зміна основного сервера назв" + +msgid "Level" +msgstr "Рівень" + +msgid "Set Domain Level" +msgstr "Встановити рівень домену" + msgid "Group Settings" msgstr "Параметри групи" @@ -7357,14 +8477,142 @@ msgstr "Вузол не передбачено" msgid "Host Group Settings" msgstr "Параметри групи вузлів" +msgid "User to override" +msgstr "Користувач для перевизначення" + +msgid "" +"Enter trusted or IPA user login. Note: search doesn't list users from " +"trusted domains." +msgstr "" +"Введіть назву облікового запису довіреного користувача або користувача IPA. " +"Зауваження: у списку результатів пошуку не буде записів користувачів із " +"довірених доменів." + +msgid "Enter trusted user login." +msgstr "Введіть назву запису довіреного користувача." + +msgid "Group to override" +msgstr "Група для перевизначення" + +msgid "" +"Enter trusted or IPA group name. Note: search doesn't list groups from " +"trusted domains." +msgstr "" +"Введіть назву запису довіреної групи або групи IPA. Зауваження: у списку " +"результатів пошуку не буде записів груп із довірених доменів." + +msgid "Enter trusted group name." +msgstr "Введіть назву довіреної групи." + +#, python-brace-format +msgid "${primary_key} applies to:" +msgstr "${primary_key} застосовується до:" + +msgid "Applied to hosts" +msgstr "Застосовується до вузлів" + +msgid "Apply to host groups" +msgstr "Застосувати до груп вузлів" + +#, python-brace-format +msgid "Apply ID View ${primary_key} on hosts of ${entity}" +msgstr "" +"Застосувати ${primary_key} перегляду ідентифікаторів до вузлів ${entity}" + +msgid "Apply to hosts" +msgstr "Застосувати до вузлів" + +#, python-brace-format +msgid "Apply ID view ${primary_key} on ${entity}" +msgstr "Застосувати ${primary_key} перегляду ідентифікаторів до ${entity}" + +#, python-brace-format +msgid "${primary_key} overrides:" +msgstr "${primary_key} перевизначає:" + +msgid "Un-apply from host groups" +msgstr "Скасувати застосування до груп вузлів" + +msgid "Un-apply ID Views from hosts of hostgroups" +msgstr "" +"Скасувати застосування переглядів ідентифікаторів до вузлів груп вузлів" + +#, python-brace-format +msgid "Un-apply ID View ${primary_key} from hosts of ${entity}" +msgstr "" +"Скасувати застосування ${primary_key} перегляду ідентифікаторів з вузлів " +"${entity}" + +msgid "Un-apply" +msgstr "Скасувати" + +msgid "Un-apply from hosts" +msgstr "Скасувати застосування до вузлів" + +msgid "Un-apply ID Views from hosts" +msgstr "Скасувати застосування переглядів ідентифікаторів до вузлів" + +msgid "Are you sure you want to un-apply ID view from selected entries?" +msgstr "" +"Ви справді хочете скасувати застосування перегляду ідентифікаторів до " +"позначених записів?" + +#, python-brace-format +msgid "Un-apply ID View ${primary_key} from hosts" +msgstr "" +"Скасувати застосування перегляду ідентифікаторів ${primary_key} до вузлів" + msgid "Kerberos Ticket Policy" msgstr "Правила квитків Kerberos" msgid "Netgroup Settings" msgstr "Параметри мережевої групи" -msgid "User" -msgstr "Користувач" +msgid "Add OTP Token" +msgstr "Додати жетон OTP" + +#, python-brace-format +msgid "" +"You can use FreeOTP as a software " +"OTP token application." +msgstr "" +"Ви можете скористатися FreeOTP як " +"програмою для роботи з ключами OTP." + +msgid "Configure your token" +msgstr "Налаштувати ваш жетон" + +msgid "" +"Configure your token by scanning the QR code below. Click on the QR code if " +"you see this on the device you want to configure." +msgstr "" +"Налаштуйте ваш жетон скануванням QR-коду, наведеного нижче. Натисніть поле " +"QR-коду, якщо ви бачите правильні дані на пристрої, який ви хочете " +"налаштувати." + +msgid "OTP Token Settings" +msgstr "Параметри жетона OTP" + +msgid "Disable token" +msgstr "Вимкнути жетон" + +msgid "Enable token" +msgstr "Увімкнути жетон" + +msgid "Show QR code" +msgstr "Показати QR-код" + +msgid "Show configuration uri" +msgstr "Показати адресу налаштувань" + +msgid "Counter-based (HOTP)" +msgstr "На основі лічильника (HOTP)" + +msgid "Time-based (TOTP)" +msgstr "На основі часу (TOTP)" + +msgid "Add custom attribute" +msgstr "Додати нетиповий атрибут" msgid "Permission settings" msgstr "Параметри прав доступу" @@ -7474,6 +8722,29 @@ msgstr "Новий: ключ не встановлено" msgid "New: key set" msgstr "Новий: ключ встановлено" +msgid "Are you sure you want to activate selected users?" +msgstr "Ви справді хочете активувати позначені записи користувачів?" + +#, python-brace-format +msgid "${count} user(s) activated" +msgstr "Активовано ${count} записів користувачів" + +msgid "Stage users" +msgstr "Користувачі етапу" + +msgid "Preserved users" +msgstr "Зарезервовані користувачі" + +msgid "Are you sure you want to restore selected users?" +msgstr "Ви справді хочете відновити позначені записи користувачів?" + +#, python-brace-format +msgid "${count} user(s) restored" +msgstr "Відновлено ${count} записів користувачів" + +msgid "User categories" +msgstr "Категорії користувачів" + msgid "Groups" msgstr "Групи" @@ -7514,6 +8785,12 @@ msgstr "Вказані команди і групи" msgid "Specified Groups" msgstr "Вказані групи" +msgid "Segment details" +msgstr "Подробиці сегмента" + +msgid "Replication configuration" +msgstr "Налаштування реплікації" + msgid "Account" msgstr "Обліковий запис" @@ -7559,9 +8836,15 @@ msgstr "Параметри облікового запису" msgid "Account Status" msgstr "Стан облікового запису" +msgid "Active users" +msgstr "Активні користувачі" + msgid "Contact Settings" msgstr "Параметри контакту" +msgid "Delete mode" +msgstr "Режим вилучення" + msgid "Employee Information" msgstr "Відомості щодо працівника" @@ -7577,6 +8860,15 @@ msgstr "Адреса ел. пошти" msgid "Misc. Information" msgstr "Інша інформація" +msgid "delete" +msgstr "вилучити" + +msgid "preserve" +msgstr "зберегти" + +msgid "No private group" +msgstr "Немає приватної групи" + #, python-brace-format msgid "" "Are you sure you want to ${action} the user?
The change will take effect " @@ -7621,11 +8913,18 @@ msgstr "Слід вказати новий пароль" msgid "OTP" msgstr "OTP" +msgid "" +" One-Time-Password(OTP): " +"Generate new OTP code for each OTP field." +msgstr "" +" Одноразовий пароль (OTP): створити новий код OTP для кожного з полів OTP." + msgid "Token synchronization failed" -msgstr "Спроба синхронізації маркерів зазнала невдачі" +msgstr "Спроба синхронізації жетонів зазнала невдачі" msgid "The username, password or token codes are not correct" -msgstr "Ім’я користувача, пароль або коди маркера є помилковими" +msgstr "Ім’я користувача, пароль або коди жетона є помилковими" msgid "Token was synchronized" msgstr "Маркер синхронізовано" @@ -7652,7 +8951,7 @@ msgid "Second OTP" msgstr "Другий OTP" msgid "Token ID" -msgstr "Ідентифікатор маркера" +msgstr "Ідентифікатор жетона" msgid "Verify Password" msgstr "Повторіть пароль" @@ -7707,6 +9006,9 @@ msgstr "Працює" msgid "Audit" msgstr "Аудит" +msgid "Authentication" +msgstr "Розпізнавання" + msgid "Automount" msgstr "Автоматичне монтування" @@ -7722,6 +9024,9 @@ msgstr "Профіль" msgid "IPA Server" msgstr "Сервер IPA" +msgid "Network Services" +msgstr "Мережеві служби" + msgid "Policy" msgstr "Правила" @@ -7731,6 +9036,9 @@ msgstr "Керування доступом на основі ролей" msgid "Sudo" msgstr "Sudo" +msgid "Topology" +msgstr "Топологія" + msgid "Trusts" msgstr "Записи довіри" @@ -7752,10 +9060,10 @@ msgstr "Сторінка" msgid "Prev" msgstr "Назад" -msgid "undo" -msgstr "скасувати" +msgid "Undo" +msgstr "Скасувати" -msgid "undo all" +msgid "Undo All" msgstr "скасувати всі дії" msgid "Text does not match field pattern" @@ -8275,6 +9583,24 @@ msgstr "Сертифікат CA" msgid "Load CA certificate of LDAP server from FILE" msgstr "Завантажити сертифікат CA сервера LDAP з вказаного файла" +msgid "Add to default group" +msgstr "Додати до типової групи" + +msgid "Add migrated users without a group to a default group (default: true)" +msgstr "" +"Додавати перенесені записи користувачів без групи до типової групи (типове " +"значення: true)" + +msgid "Search scope" +msgstr "Область пошуку" + +msgid "" +"LDAP search scope for users and groups: base, onelevel, or subtree. Defaults " +"to onelevel" +msgstr "" +"Область пошуку LDAP для користувачів і груп: base, onelevel або subtree. " +"Типове значення: onelevel" + msgid "Lists of objects migrated; categorized by type." msgstr "Списки об’єктів, міграцію яких виконано; впорядкований за типами." @@ -8497,6 +9823,96 @@ msgstr "Вилучити учасників з мережевої групи." msgid "" "\n" +"OTP configuration\n" +"\n" +"Manage the default values that IPA uses for OTP tokens.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Show basic OTP configuration:\n" +" ipa otpconfig-show\n" +"\n" +" Show all OTP configuration options:\n" +" ipa otpconfig-show --all\n" +"\n" +" Change maximum TOTP authentication window to 10 minutes:\n" +" ipa otpconfig-mod --totp-auth-window=600\n" +"\n" +" Change maximum TOTP synchronization window to 12 hours:\n" +" ipa otpconfig-mod --totp-sync-window=43200\n" +"\n" +" Change maximum HOTP authentication window to 5:\n" +" ipa hotpconfig-mod --hotp-auth-window=5\n" +"\n" +" Change maximum HOTP synchronization window to 50:\n" +" ipa hotpconfig-mod --hotp-sync-window=50\n" +msgstr "" +"\n" +"Налаштування OTP\n" +"\n" +"Керування типовими значеннями, які IPA використовує для ключів OTP.\n" +"\n" +"ПРИКЛАДИ:\n" +"\n" +" Показати базові налаштування OTP:\n" +" ipa otpconfig-show\n" +"\n" +" Показати усі параметри налаштування OTP:\n" +" ipa otpconfig-show --all\n" +"\n" +" Змінити тривалість максимального вікна розпізнавання TOTP на 10 хвилин:\n" +" ipa otpconfig-mod --totp-auth-window=600\n" +"\n" +" Змірити тривалість максимального вікна синхронізації TOTP на 12 годин:\n" +" ipa otpconfig-mod --totp-sync-window=43200\n" +"\n" +" Змінити тривалість максимального вікна розпізнавання HOTP на 5:\n" +" ipa hotpconfig-mod --hotp-auth-window=5\n" +"\n" +" Змінити тривалість максимального вікна синхронізації HOTP на 50:\n" +" ipa hotpconfig-mod --hotp-sync-window=50\n" + +msgid "One time password commands" +msgstr "Команди для одноразового пароля" + +msgid "OTP configuration options" +msgstr "Параметри налаштування OTP" + +msgid "OTP Configuration" +msgstr "Налаштування OTP" + +msgid "TOTP authentication Window" +msgstr "Вікно розпізнавання TOTP" + +msgid "TOTP authentication time variance (seconds)" +msgstr "Відхилення часу розпізнавання TOTP (у секундах)" + +msgid "TOTP Synchronization Window" +msgstr "Вікно синхронізації TOTP" + +msgid "TOTP synchronization time variance (seconds)" +msgstr "Відхилення часу синхронізації TOTP (у секундах)" + +msgid "HOTP Authentication Window" +msgstr "Вікно розпізнавання HOTP" + +msgid "HOTP authentication skip-ahead" +msgstr "Випереджальне пропускання розпізнавання HOTP" + +msgid "HOTP Synchronization Window" +msgstr "Вікно синхронізації HOTP" + +msgid "HOTP synchronization skip-ahead" +msgstr "Випереджальне пропускання синхронізації HOTP" + +msgid "Modify OTP configuration options." +msgstr "Змінити параметри налаштування OTP." + +msgid "Show the current OTP configuration." +msgstr "Показати поточні налаштування OTP." + +msgid "" +"\n" "OTP Tokens\n" msgstr "" "\n" @@ -8507,7 +9923,7 @@ msgid "" "Manage OTP tokens.\n" msgstr "" "\n" -"Керування маркерами OTP.\n" +"Керування жетонами OTP.\n" msgid "" "\n" @@ -8515,9 +9931,9 @@ msgid "" "code enables the management of OTP tokens.\n" msgstr "" "\n" -"У IPA передбачено підтримку використання маркерів OTP для багатофакторного " +"У IPA передбачено підтримку використання жетонів OTP для багатофакторного " "розпізнавання.\n" -"За допомогою цього коду уможливлюється керування маркерами OTP.\n" +"За допомогою цього коду уможливлюється керування жетонами OTP.\n" msgid "" "\n" @@ -8525,7 +9941,7 @@ msgid "" " ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" msgstr "" "\n" -" Додати новий маркер:\n" +" Додати новий жетон:\n" " ipa otptoken-add --type=totp --owner=jdoe --desc=\"My soft token\"\n" msgid "" @@ -8534,7 +9950,7 @@ msgid "" " ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" "\n" -" Перевірити маркер:\n" +" Перевірити жетон:\n" " ipa otptoken-show a93db710-a31a-4639-8647-f15b2c70b78a\n" msgid "" @@ -8554,7 +9970,7 @@ msgid "" " ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" msgstr "" "\n" -" Вилучити маркер:\n" +" Вилучити жетон:\n" " ipa otptoken-del a93db710-a31a-4639-8647-f15b2c70b78a\n" msgid "OTP token" @@ -8572,87 +9988,132 @@ msgstr "Маркер OTP" msgid "Unique ID" msgstr "Унікальний ід." +msgid "Type of the token" +msgstr "Тип ключа" + +msgid "Token description (informational only)" +msgstr "Опис ключа (лише інформаційний)" + msgid "Owner" msgstr "Власник" -msgid "Manager" -msgstr "Керівник" +msgid "Assigned user of the token (default: self)" +msgstr "Призначений користувач ключа (типове значення: self)" + +msgid "Assigned manager of the token (default: self)" +msgstr "Призначений керівник ключа (типове значення: self)" -msgid "Disabled state" -msgstr "Вимкнений стан" +msgid "Mark the token as disabled (default: false)" +msgstr "Позначення ключа як вимкненого (типове значення: false)" msgid "Validity start" msgstr "Початок чинності" +msgid "First date/time the token can be used" +msgstr "Час початку використання ключа (дата і час)" + msgid "Validity end" msgstr "Завершення чинності" +msgid "Last date/time the token can be used" +msgstr "Строк дії ключа (дата і час)" + msgid "Vendor" msgstr "Постачальник" +msgid "Token vendor name (informational only)" +msgstr "Назва виробника ключа (лише інформація)" + msgid "Model" msgstr "Модель" +msgid "Token model (informational only)" +msgstr "Модель ключа (лише інформація)" + msgid "Serial" msgstr "Серійний номер" +msgid "Token serial (informational only)" +msgstr "Серійний номер ключа (лише інформація)" + +msgid "Token secret (Base32; default: random)" +msgstr "Пароль ключа (Base32; типове значення: випадковий)" + +msgid "Token hash algorithm" +msgstr "Алгоритм хешування ключа" + msgid "Digits" msgstr "Цифри" +msgid "Number of digits each token code will have" +msgstr "Кількість цифр у кожному з кодів ключа" + msgid "Clock offset" msgstr "Зсув годинника" +msgid "TOTP token / FreeIPA server time difference" +msgstr "Часова розбіжність між ключем TOTP і сервером FreeIPA" + msgid "Clock interval" msgstr "Інтервал годинника" +msgid "Length of TOTP token code validity" +msgstr "Тривалість чинності коду ключа TOTP" + msgid "Counter" msgstr "Лічильник" +msgid "Initial counter for the HOTP token" +msgstr "Початковий лічильник для ключа HOTP" + msgid "Add a new OTP token." -msgstr "Додати новий маркер OTP." +msgstr "Додати новий жетон OTP." #, python-format msgid "Added OTP token \"%(value)s\"" -msgstr "Додано маркер OTP «%(value)s»" +msgstr "Додано жетон OTP «%(value)s»" + +msgid "(deprecated)" +msgstr "(застаріле)" -msgid "Display QR code (requires wide terminal)" -msgstr "Показати QR-код (потребує широкого термінала)" +msgid "Do not display QR code" +msgstr "Не показувати код QR" msgid "URI" msgstr "URI" msgid "Delete an OTP token." -msgstr "Вилучити маркер OTP." +msgstr "Вилучити жетон OTP." #, python-format msgid "Deleted OTP token \"%(value)s\"" -msgstr "Вилучено маркер OTP «%(value)s»" +msgstr "Вилучено жетон OTP «%(value)s»" msgid "Modify a OTP token." -msgstr "Змінити маркер OTP." +msgstr "Змінити жетон OTP." #, python-format msgid "Modified OTP token \"%(value)s\"" -msgstr "Змінено маркер OTP «%(value)s»" +msgstr "Змінено жетон OTP «%(value)s»" msgid "Search for OTP token." -msgstr "Шукати маркер OTP." +msgstr "Шукати жетон OTP." #, python-format msgid "%(count)d OTP token matched" msgid_plural "%(count)d OTP tokens matched" -msgstr[0] "встановлено відповідність %(count)d маркера OTP" -msgstr[1] "встановлено відповідність %(count)d маркери OTP" -msgstr[2] "встановлено відповідність %(count)d маркерів OTP" +msgstr[0] "встановлено відповідність %(count)d жетона OTP" +msgstr[1] "встановлено відповідність %(count)d жетони OTP" +msgstr[2] "встановлено відповідність %(count)d жетонів OTP" msgid "Display information about an OTP token." -msgstr "Показати інформацію щодо маркера OTP." +msgstr "Показати інформацію щодо жетона OTP." msgid "Add users that can manage this token." -msgstr "Додати записи користувачів, які можуть керувати цим маркером." +msgstr "Додати записи користувачів, які можуть керувати цим жетоном." msgid "Synchronize an OTP token." -msgstr "Синхронізувати маркер OTP." +msgstr "Синхронізувати жетон OTP." msgid "User ID" msgstr "Ід. користувача" @@ -8675,7 +10136,7 @@ msgid "" "Manage YubiKey tokens.\n" msgstr "" "\n" -"Керування маркерами YubiKey.\n" +"Керування жетонами YubiKey.\n" msgid "" "\n" @@ -8685,7 +10146,7 @@ msgstr "" "\n" "Цей код є розширенням до додатка otptoken, він надає підтримку " "безпосереднього\n" -"читання та запису маркерів YubiKey.\n" +"читання та запису жетонів YubiKey.\n" msgid "" "\n" @@ -8693,18 +10154,15 @@ msgid "" " ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" msgstr "" "\n" -" Додати новий маркер:\n" +" Додати новий жетон:\n" " ipa otptoken-add-yubikey --owner=jdoe --desc=\"My YubiKey\"\n" msgid "Add a new YubiKey OTP token." -msgstr "Додати новий маркер OTP YubiKey." +msgstr "Додати новий жетон OTP YubiKey." msgid "YubiKey slot" msgstr "Слот YubiKey" -msgid "No YubiKey found" -msgstr "Не знайдено YubiKey" - msgid "No free YubiKey slot!" msgstr "Немає вільних слотів YubiKey!" @@ -9013,8 +10471,35 @@ msgid "All target filters, including those implied by type and memberof" msgstr "" "Усі фільтри призначення, зокрема ті, які визначаються типом та членством" -msgid "ACI target DN" -msgstr "DN призначення ACI" +msgid "Target DN" +msgstr "DN призначення" + +msgid "" +"Optional DN to apply the permission to (must be in the subtree, but may not " +"yet exist)" +msgstr "" +"Необов’язковий DN, до якого застосовуватимуться дозвіл (має належати до " +"піддерева, але може ще не існувати)" + +msgid "Target DN subtree" +msgstr "Піддерево DN призначення" + +msgid "" +"Optional DN subtree where an entry can be moved to (must be in the subtree, " +"but may not yet exist)" +msgstr "" +"Необов’язкове піддерево DN, куди має бути пересунуто запис (має належати до " +"піддерева, але може ще не існувати)" + +msgid "Origin DN subtree" +msgstr "Піддерево DN походження" + +msgid "" +"Optional DN subtree from where an entry can be moved (must be in the " +"subtree, but may not yet exist)" +msgstr "" +"Необов’язкове піддерево DN, звідки має бути пересунуто запис (має належати " +"до піддерева, але може ще не існувати)" msgid "Member of group" msgstr "Учасник групи" @@ -9103,6 +10588,10 @@ msgstr "Додати нові права доступу." msgid "attrs and included attributes are mutually exclusive" msgstr "не можна одразу вказувати attrs та атрибути включення" +#, python-format +msgid "Cannot store permission ACI to %s" +msgstr "Не вдалося зберегти ACI прав доступу до %s" + msgid "Delete a permission." msgstr "Вилучити права доступу." @@ -9667,9 +11156,6 @@ msgstr "Назва проксі-сервера RADIUS" msgid "A description of this RADIUS proxy server" msgstr "Опис цього проксі-сервера RADIUS" -msgid "Server" -msgstr "Сервер" - msgid "The hostname or IP (with or without port)" msgstr "Назва вузла або IP-адреса (з портом або без порту)" @@ -10287,6 +11773,88 @@ msgstr "" msgid "" "\n" +"IPA servers\n" +msgstr "" +"\n" +"Сервери IPA\n" + +msgid "" +"\n" +"Get information about installed IPA servers.\n" +msgstr "" +"\n" +"Отримати дані щодо встановлених серверів IPA.\n" + +msgid "" +"\n" +" Find all servers:\n" +" ipa server-find\n" +msgstr "" +"\n" +" Знайти усі сервери:\n" +" ipa server-find\n" + +msgid "" +"\n" +" Show specific server:\n" +" ipa server-show ipa.example.com\n" +msgstr "" +"\n" +" Показати вказаний сервер:\n" +" ipa server-show ipa.example.com\n" + +msgid "server" +msgstr "сервер" + +msgid "servers" +msgstr "сервери" + +msgid "IPA Servers" +msgstr "Сервери IPA" + +msgid "Server name" +msgstr "Назва сервера" + +msgid "IPA server hostname" +msgstr "Назва вузла сервера IPA" + +msgid "Managed suffix" +msgstr "Керований суфікс" + +msgid "Min domain level" +msgstr "Мін. рівень домену" + +msgid "Minimum domain level" +msgstr "Мінімальний рівень домену" + +msgid "Max domain level" +msgstr "Макс. рівень домену" + +msgid "Maximum domain level" +msgstr "Максимальний рівень домену" + +msgid "Search for IPA servers." +msgstr "Шукати сервери IPA." + +#, python-format +msgid "%(count)d IPA server matched" +msgid_plural "%(count)d IPA servers matched" +msgstr[0] "встановлено відповідність %(count)d сервера IPA" +msgstr[1] "встановлено відповідність %(count)d серверів IPA" +msgstr[2] "встановлено відповідність %(count)d серверів IPA" + +msgid "Show IPA server." +msgstr "Показати сервер IPA." + +msgid "Delete IPA server." +msgstr "Вилучити сервер IPA." + +#, python-format +msgid "Deleted IPA server \"%(value)s\"" +msgstr "Вилучено сервер IPA «%(value)s»" + +msgid "" +"\n" "Services\n" "\n" "A IPA service represents a service that runs on a host. The IPA service\n" @@ -10340,72 +11908,83 @@ msgid "" "\n" " Request a certificate for an IPA service:\n" " ipa cert-request --principal=HTTP/web.example.com example.csr\n" -"\n" -" Generate and retrieve a keytab for an IPA service:\n" -" ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" -"httpd.keytab\n" -"\n" msgstr "" "\n" "Служби\n" "\n" -"Служба IPA — служба, яка виконується на вузлі. Запис служби IPA\n" -"може зберігати реєстраційний запис Kerberos, сертифікат SSL або те і\n" -"і інше.\n" +"Служба IPA — це служба, що працює на вузлі системи. У записі служби\n" +"IPA можуть зберігатися дані реєстраційного запису Kerberos, сертифікат\n" +"SSL або обидва набори даних.\n" "\n" -"Службою IPA можна керувати безпосередньо з певного комп’ютера, якщо\n" -"цьому комп’ютеру надано належні права доступу. Таке керування можна\n" -"виконувати навіть з комп’ютерів, не пов’язаних з відповідною службою.\n" -"Наприклад, ви можете надіслати запит щодо сертифіката SSL за допомогою\n" -"реєстраційних даних запису служби вузла. Для керування службою за\n" -"допомогою реєстраційних даних вузла вам слід запустити kinit від імені\n" -"відповідного вузла:\n" +"Службою IPA можна керувати безпосередньо з комп’ютера, якщо системі\n" +"цього комп’ютера надано достатні права доступу. Це стосується навіть\n" +"комп’ютерів, відмінних від тих, з якими пов’язано службу. Наприклад,\n" +"вони можуть надсилати запит щодо сертифіката SSL за допомогою\n" +"реєстраційних даних служби вузла. Для керування службою за допомогою\n" +"реєстраційних даних вузла слід віддати команду ініціалізації kinit\n" +"від імені вузла:\n" "\n" " # kinit -kt /etc/krb5.keytab host/ipa.example.com@EXAMPLE.COM\n" "\n" -"Додавання служби IPA надає змогу пов’язаній службі надсилати запити щодо\n" -"сертифіката SSL або таблиці ключів, але це слід виконувати як окремий\n" -"крок: доступ до цих даних не є прямим результатом додавання служби.\n" +"Додавання служби IPA надає доступ пов’язаній службі до надсилання\n" +"запитів щодо сертифікатів SSL та таблиці ключів, але створення самих\n" +"запитів є окремим кроком: відповідні дані не створюються у результаті\n" +"простого додавання служби.\n" "\n" -"У записі служби зберігається лише відкрита частина даних сертифіката;\n" -"закритий ключ не зберігається.\n" +"У записі служби зберігаються лише відкриті дані сертифіката; закритий\n" +"ключ не зберігається.\n" "\n" "ПРИКЛАДИ:\n" "\n" -" Додавання нової служби IPA:\n" +" Додати нову службу IPA:\n" " ipa service-add HTTP/web.example.com\n" "\n" -" Надання вузлу доступу до керування сертифікатом служби IPA:\n" -" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n" -" ipa role-add-member --hosts=web.example.com certadmin\n" +" Дозволити вузлу керувати сертифікатом служби IPA:\n" +" ipa service-add-host --hosts=web.example.com HTTP/web.example.com\n" +" ipa role-add-member --hosts=web.example.com certadmin\n" "\n" -" Перевизначення типового списку підтримуваних типів PAC для служби:\n" +" Перевизначити типовий список підтримуваних типів PAC для служби:\n" " ipa service-mod HTTP/web.example.com --pac-type=MS-PAC\n" "\n" -" Типовим випадком використання, коли потрібне перевизначення типу PAC, є " -"NFS.\n" -" У поточній версії відповідний код у ядрі Linux може обробляти квитки " -"Kerberos\n" -" лише до певного максимального розміру. Оскільки дані PAC можуть мати " -"доволі\n" -" великий об’єм, варто встановити --pac-type=NONE для служб NFS.\n" +" Типовим випадком, коли потрібне перевизначення типу PAC є NFS.\n" +" У поточній версії ядра Linux відповідний код може працювати лише з\n" +" квитками Kerberos, розмір яких не перевищує максимально заданого.\n" +" Оскільки дані PAC можуть бути доволі об’ємними, для служб NFS\n" +" рекомендуємо встановити --pac-type=NONE.\n" "\n" -" Вилучення служби IPA:\n" +" Вилучити службу IPA:\n" " ipa service-del HTTP/web.example.com\n" "\n" -" Пошук всіх служб IPA, пов’язаних з вузлом:\n" +" Знайти усіх служби IPA, пов’язані із вузлом:\n" " ipa service-find web.example.com\n" "\n" -" Пошук всіх служб HTTP:\n" +" Знайти усі служби HTTP:\n" " ipa service-find HTTP\n" "\n" -" Вимикання ключа служби Kerberos і сертифіката SSL:\n" +" Вимкнути службу ключів Kerberos і сертифіката SSL:\n" " ipa service-disable HTTP/web.example.com\n" "\n" -" Надсилання запиту щодо сертифіката для служби IPA:\n" +" Надіслати запит щодо сертифіката для служби IPA:\n" " ipa cert-request --principal=HTTP/web.example.com example.csr\n" + +msgid "" +"\n" +" Allow user to create a keytab:\n" +" ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" +msgstr "" +"\n" +" Дозволити користувачеві створювати таблицю ключів:\n" +" ipa service-allow-create-keytab HTTP/web.example.com --users=tuser1\n" + +msgid "" +"\n" +" Generate and retrieve a keytab for an IPA service:\n" +" ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" +"httpd.keytab\n" +"\n" +msgstr "" "\n" -" Створення і отримання таблиці ключів для служби IPA:\n" +" Створити і отримати таблицю ключів служби IPA:\n" " ipa-getkeytab -s ipa.example.com -p HTTP/web.example.com -k /etc/httpd/" "httpd.keytab\n" "\n" @@ -10422,8 +12001,8 @@ msgstr "Довірено для уповноваження" msgid "Client credentials may be delegated to the service" msgstr "Реєстраційні дані клієнта може бути передано службі" -msgid "missing service" -msgstr "не вистачає запису служби" +msgid "unable to determine service" +msgstr "не вдалося визначити службу" msgid "blank service" msgstr "порожній запис служби" @@ -10431,6 +12010,9 @@ msgstr "порожній запис служби" msgid "unable to determine realm" msgstr "не вдалося визначити область" +msgid "missing service" +msgstr "не вистачає запису служби" + msgid "This principal is required by the IPA master" msgstr "Цей реєстраційний запис потрібен основному серверу IPA" @@ -10505,15 +12087,458 @@ msgstr "Додати вузли, які можуть керувати цією � msgid "Remove hosts that can manage this service." msgstr "Вилучити вузли, які можуть керувати цією службою." -msgid "Disable the Kerberos key and SSL certificate of a service." -msgstr "Вимкнути ключ Kerberos і сертифікат SSL служби." +msgid "" +"Allow users, groups, hosts or host groups to retrieve a keytab of this " +"service." +msgstr "" +"Дозволити користувачам, групам, вузлам і групам вузлів отримувати таблицю " +"ключів цієї служби." -#, python-format -msgid "Disabled service \"%(value)s\"" -msgstr "Вимкнено службу «%(value)s»" +msgid "" +"Disallow users, groups, hosts or host groups to retrieve a keytab of this " +"service." +msgstr "" +"Заборонити користувачам, групам, вузлам і групам вузлів отримувати таблицю " +"ключів цієї служби." msgid "" -"\n" +"Allow users, groups, hosts or host groups to create a keytab of this service." +msgstr "" +"Дозволити користувачам, групам, вузлам і групам вузлів створювати таблицю " +"ключів цієї служби." + +msgid "" +"Disallow users, groups, hosts or host groups to create a keytab of this " +"service." +msgstr "" +"Заборонити користувачам, групам, вузлам і групам вузлів створювати таблицю " +"ключів цієї служби." + +msgid "Disable the Kerberos key and SSL certificate of a service." +msgstr "Вимкнути ключ Kerberos і сертифікат SSL служби." + +#, python-format +msgid "Disabled service \"%(value)s\"" +msgstr "Вимкнено службу «%(value)s»" + +msgid "" +"\n" +"Service Constrained Delegation\n" +"\n" +"Manage rules to allow constrained delegation of credentials so\n" +"that a service can impersonate a user when communicating with another\n" +"service without requiring the user to actually forward their TGT.\n" +"This makes for a much better method of delegating credentials as it\n" +"prevents exposure of the short term secret of the user.\n" +"\n" +"The naming convention is to append the word \"target\" or \"targets\" to\n" +"a matching rule name. This is not mandatory but helps conceptually\n" +"to associate rules and targets.\n" +"\n" +"A rule consists of two things:\n" +" - A list of targets the rule applies to\n" +" - A list of memberPrincipals that are allowed to delegate for\n" +" those targets\n" +"\n" +"A target consists of a list of principals that can be delegated.\n" +"\n" +"In English, a rule says that this principal can delegate as this\n" +"list of principals, as defined by these targets.\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new constrained delegation rule:\n" +" ipa servicedelegationrule-add ftp-delegation\n" +"\n" +" Add a new constrained delegation target:\n" +" ipa servicedelegationtarget-add ftp-delegation-target\n" +"\n" +" Add a principal to the rule:\n" +" ipa servicedelegationrule-add-member --principals=ftp/ipa.example." +"com ftp-delegation\n" +"\n" +" Add our target to the rule:\n" +" ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-" +"delegation-target ftp-delegation\n" +"\n" +" Add a principal to the target:\n" +" ipa servicedelegationtarget-add-member --principals=ldap/ipa.example." +"com ftp-delegation-target\n" +"\n" +" Display information about a named delegation rule and target:\n" +" ipa servicedelegationrule_show ftp-delegation\n" +" ipa servicedelegationtarget_show ftp-delegation-target\n" +"\n" +" Remove a constrained delegation:\n" +" ipa servicedelegationrule-del ftp-delegation-target\n" +" ipa servicedelegationtarget-del ftp-delegation\n" +"\n" +"In this example the ftp service can get a TGT for the ldap service on\n" +"the bound user's behalf.\n" +"\n" +"It is strongly discouraged to modify the delegations that ship with\n" +"IPA, ipa-http-delegation and its targets ipa-cifs-delegation-targets and\n" +"ipa-ldap-delegation-targets. Incorrect changes can remove the ablity\n" +"to delegate, causing the framework to stop functioning.\n" +msgstr "" +"\n" +"Обмежене службами делегування\n" +"\n" +"Керування правилами, за допомогою яких можна обмежити делегування\n" +"реєстраційних даних так, що служба зможе виконувати персоніфікацію\n" +"користувача під час обміну даними з іншою службою без потреби для\n" +"користувача насправді переспрямовувати квиток для отримання квитка\n" +"(TGT). Так створюється значно кращий метод делегування реєстраційних\n" +"даних, оскільки він запобігає розкриттю короткотермінових ключів\n" +"доступу користувачів.\n" +"\n" +"Відповідно до угоди з іменування, до назви правила додається слово\n" +"\"target\" або \"targets\". Така схема назв не є обов’язковою, але вона\n" +"допомагає концептуально пов’язати правила та їхні призначення.\n" +"\n" +"Правило складається з двох компонентів:\n" +" - Списку цілей (призначень), яких стосується правило\n" +" - Списку memberPrincipals, яким дозволено делегування для\n" +" цих цілей\n" +"\n" +"Запис цілі складається зі списку реєстраційних записів, які можна\n" +"делегувати.\n" +"\n" +"Якщо простіше, правило стверджує, що певний реєстраційний запис\n" +"можна делегувати як вказаний список реєстраційних записів,\n" +"відповідно до визначеного списку цілей.\n" +"\n" +"ПРИКЛАДИ:\n" +"\n" +" Додати нове правило обмеженого делегування:\n" +" ipa servicedelegationrule-add ftp-delegation\n" +"\n" +" Додати нову ціль обмеженого делегування:\n" +" ipa servicedelegationtarget-add ftp-delegation-target\n" +"\n" +" Додати реєстраційний запис до правила:\n" +" ipa servicedelegationrule-add-member --principals=ftp/ipa.example." +"com ftp-delegation\n" +"\n" +" Додати нашу ціль до правила:\n" +" ipa servicedelegationrule-add-target --servicedelegationtargets=ftp-" +"delegation-target ftp-delegation\n" +"\n" +" Додати реєстраційний запис до цілі:\n" +" ipa servicedelegationtarget-add-member --principals=ldap/ipa.example." +"com ftp-delegation-target\n" +"\n" +" Показати дані щодо іменованого правила і цілі:\n" +" ipa servicedelegationrule_show ftp-delegation\n" +" ipa servicedelegationtarget_show ftp-delegation-target\n" +"\n" +" Вилучити обмежене делегування:\n" +" ipa servicedelegationrule-del ftp-delegation-target\n" +" ipa servicedelegationtarget-del ftp-delegation\n" +"\n" +"У цьому прикладі служба ftp може отримувати квиток для отримання квитка для\n" +"служби ldap від імені пов’язаного користувача.\n" +"\n" +"Ми наполегливо не рекомендуємо змінювати делегування, які постачаються з\n" +"IPA, ipa-http-delegation та його цілі ipa-cifs-delegation-targets і\n" +"ipa-ldap-delegation-targets. Некоректні зміни можуть усунути можливість\n" +"делегування, що спричинить непрацездатність усієї системи.\n" + +msgid "Allowed Target" +msgstr "Дозволена ціль" + +msgid "Allowed to Impersonate" +msgstr "Дозволено виконувати імперсонацію" + +msgid "Member principals" +msgstr "Реєстраційні записи учасників" + +msgid "Failed targets" +msgstr "Помилкові цілі" + +msgid "Add target to a named service delegation." +msgstr "Додати ціль до делегування іменованої служби." + +msgid "Remove member from a named service delegation." +msgstr "Вилучити запис із делегування іменованої служби." + +msgid "service delegation rule" +msgstr "правило делегування служби" + +msgid "service delegation rules" +msgstr "правила делегування служб" + +msgid "Service delegation rules" +msgstr "Правила делегування служб" + +msgid "Service delegation rule" +msgstr "Правило делегування служб" + +msgid "Create a new service delegation rule." +msgstr "Створити правило делегування служб." + +#, python-format +msgid "Added service delegation rule \"%(value)s\"" +msgstr "Додано правило делегування служб «%(value)s»" + +msgid "Delete service delegation." +msgstr "Вилучити делегування служб." + +#, python-format +msgid "Deleted service delegation \"%(value)s\"" +msgstr "Вилучено делегування служб «%(value)s»" + +msgid "privileged service delegation rule" +msgstr "привілейоване правило делегування служб" + +msgid "Search for service delegations rule." +msgstr "Шукати правило делегування служб." + +#, python-format +msgid "%(count)d service delegation rule matched" +msgid_plural "%(count)d service delegation rules matched" +msgstr[0] "встановлено відповідність %(count)d правила делегування служб" +msgstr[1] "встановлено відповідність %(count)d правил делегування служб" +msgstr[2] "встановлено відповідність %(count)d правил делегування служб" + +msgid "Display information about a named service delegation rule." +msgstr "Показати дані щодо іменованого правила делегування служб." + +msgid "Add member to a named service delegation rule." +msgstr "Додати запис учасника до іменованого правила делегування служб." + +msgid "Remove member from a named service delegation rule." +msgstr "Вилучити запис учасника із іменованого правила делегування служб." + +msgid "Add target to a named service delegation rule." +msgstr "Додати ціль до іменованого правила делегування служб." + +msgid "Remove target from a named service delegation rule." +msgstr "Вилучити ціль із іменованого правила делегування служб." + +msgid "service delegation target" +msgstr "ціль делегування служб" + +msgid "service delegation targets" +msgstr "цілі делегування служб" + +msgid "Service delegation targets" +msgstr "Цілі делегування служб" + +msgid "Service delegation target" +msgstr "Ціль делегування служб" + +msgid "Create a new service delegation target." +msgstr "Створити ціль делегування служб." + +#, python-format +msgid "Added service delegation target \"%(value)s\"" +msgstr "Додано ціль делегування служб «%(value)s»" + +msgid "Delete service delegation target." +msgstr "Вилучити ціль делегування служб." + +#, python-format +msgid "Deleted service delegation target \"%(value)s\"" +msgstr "Вилучено ціль делегування служб «%(value)s»" + +msgid "privileged service delegation target" +msgstr "привілейована ціль делегування служб" + +msgid "Search for service delegation target." +msgstr "Шукати ціль делегування служб" + +#, python-format +msgid "%(count)d service delegation target matched" +msgid_plural "%(count)d service delegation targets matched" +msgstr[0] "встановлено відповідність %(count)d цілі делегування служб" +msgstr[1] "встановлено відповідність %(count)d цілей делегування служб" +msgstr[2] "встановлено відповідність %(count)d цілей делегування служб" + +msgid "Display information about a named service delegation target." +msgstr "Показати дані щодо іменованої цілі делегування служб." + +msgid "Add member to a named service delegation target." +msgstr "Додати запис учасника до іменованої цілі делегування служб." + +msgid "Remove member from a named service delegation target." +msgstr "Вилучити запис учасника із іменованої цілі делегування служб." + +msgid "" +"\n" +"Stageusers\n" +"\n" +"Manage stage user entries.\n" +"\n" +"Stage user entries are directly under the container: \"cn=stage users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"User can not authenticate with those entries (even if the entries\n" +"contain credentials) and are candidate to become Active entries.\n" +"\n" +"Active user entries are Posix users directly under the container: " +"\"cn=accounts, SUFFIX\".\n" +"User can authenticate with Active entries, at the condition they have\n" +"credentials\n" +"\n" +"Delete user enties are Posix users directly under the container: " +"\"cn=deleted users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"User can not authenticate with those entries (even if the entries contain " +"credentials)\n" +"\n" +"The stage user container contains entries\n" +" - created by 'stageuser-add' commands that are Posix users\n" +" - created by external provisioning system\n" +"\n" +"A valid stage user entry MUST:\n" +" - entry RDN is 'uid'\n" +" - ipaUniqueID is 'autogenerate'\n" +"\n" +"IPA supports a wide range of username formats, but you need to be aware of " +"any\n" +"restrictions that may apply to your particular environment. For example,\n" +"usernames that start with a digit or usernames that exceed a certain length\n" +"may cause problems for some UNIX systems.\n" +"Use 'ipa config-mod' to change the username format allowed by IPA tools.\n" +"\n" +"\n" +"EXAMPLES:\n" +"\n" +" Add a new stageuser:\n" +" ipa stageuser-add --first=Tim --last=User --password tuser1\n" +"\n" +" Add a stageuser from the Delete container\n" +" ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" +"\n" +msgstr "" +"\n" +"Користувачі етапу\n" +"\n" +"Керування записами користувачів етапу.\n" +"\n" +"Записи користувачів етапу перебувають безпосередньо у контейнері:\n" +"\"cn=stage users, cn=accounts, cn=provisioning, SUFFIX\".\n" +"Користувач не може пройти розпізнавання за допомогою цих записів\n" +"(навіть якщо записи містять реєстраційні дані) і є кандидатами на\n" +"перетворення на активні записи.\n" +"\n" +"Записи активних користувачів є користувачами Posix, що перебувають\n" +"безпосередньо у контейнері: \"cn=accounts, SUFFIX\".\n" +"Користувач може пройти розпізнавання за допомогою активних записів,\n" +"якщо для них передбачено реєстраційні дані\n" +"\n" +"Вилучені записи користувачів є записами користувачів Posix, що\n" +"перебувають безпосередньо у контейнері: \"cn=deleted users,\n" +"cn=accounts, cn=provisioning, SUFFIX\".\n" +"Користувачі не можуть проходити розпізнавання за допомогою цих\n" +"записів (навіть якщо записи містять реєстраційні дані)\n" +"\n" +"Контейнер користувачів етапу містить записи\n" +" - створені командами 'stageuser-add', які є користувачами Posix\n" +" - створені зовнішньою системою забезпечення\n" +"\n" +"Коректний запис користувача етапу МАЄ відповідати таким вимогам:\n" +" - RDN запису має значення 'uid'\n" +" - ipaUniqueID має значення 'autogenerate'\n" +"\n" +"У IPA передбачено підтримку широкого діапазону форматів імен користувачів,\n" +"але слід зважати на різноманітні обмеження, які можуть стосуватися " +"середовища,\n" +"у якому ви працюєте. Наприклад, імена користувачів, що починаються з цифри,\n" +"або імена користувачів, довжина яких перевищує певну довжину, що може\n" +"призвести до проблем у деяких системах UNIX.\n" +"Для зміни формату, який дозволено інструментами IPA, скористайтеся командою\n" +"'ipa config-mod'.\n" +"\n" +"\n" +"ПРИКЛАДИ:\n" +"\n" +" Додати нового користувача етапу:\n" +" ipa stageuser-add --first=Tim --last=User --password tuser1\n" +"\n" +" Додати користувача етапу з контейнера Delete\n" +" ipa stageuser-add --first=Tim --last=User --from-delete tuser1\n" +"\n" + +msgid "Stage Users" +msgstr "Користувачі етапу" + +msgid "Stage User" +msgstr "Користувач етапу" + +msgid "stage user" +msgstr "користувач етапу" + +msgid "stage users" +msgstr "користувачі етапу" + +msgid "Add a new stage user." +msgstr "Додати нового користувача етапу." + +#, python-format +msgid "Added stage user \"%(value)s\"" +msgstr "Додано користувача етапу «%(value)s»" + +msgid "Create Stage user in from a delete user" +msgstr "" +"Створити запис користувача етапу на основі вилученого запису користувача" + +msgid "givenname is required" +msgstr "слід вказати ім’я" + +msgid "sn is required" +msgstr "слід вказати sn" + +msgid "Delete a stage user." +msgstr "Вилучити запис користувача етапу." + +#, python-format +msgid "Deleted stage user \"%(value)s\"" +msgstr "Вилучено запис користувача етапу «%(value)s»" + +msgid "Modify a stage user." +msgstr "Змінити запис користувача етапу." + +#, python-format +msgid "Modified stage user \"%(value)s\"" +msgstr "Змінено запис користувача етапу «%(value)s»" + +msgid "Search for stage users." +msgstr "Шукати записи користувачів етапу." + +#, python-format +msgid "%(count)d user matched" +msgid_plural "%(count)d users matched" +msgstr[0] "встановлено відповідність %(count)d користувача" +msgstr[1] "встановлено відповідність %(count)d користувачів" +msgstr[2] "встановлено відповідність %(count)d користувачів" + +msgid "Display information about a stage user." +msgstr "Показати дані щодо користувача етапу." + +msgid "Activate a stage user." +msgstr "Активувати користувача етапу." + +#, python-format +msgid "Activate a stage user \"%(value)s\"" +msgstr "Активувати користувача етапу «%(value)s»" + +msgid "Entry RDN is not 'uid'" +msgstr "RDN запису не належить до «uid»" + +msgid "Entry has no 'cn'" +msgstr "У записі немає «cn»" + +#, python-format +msgid "Active user %(user)s already exists" +msgstr "Активний запис користувача %(user)s вже існує" + +#, python-format +msgid "Stage user %s activated" +msgstr "Активовано користувача етапу %s" + +msgid "" +"\n" "Sudo Commands\n" "\n" "Commands used as building blocks for sudo\n" @@ -11093,101 +13118,336 @@ msgstr "З правила sudo «%(rule)s» вилучено параметр « msgid "" "\n" -"Cross-realm trusts\n" -"\n" -"Manage trust relationship between IPA and Active Directory domains.\n" -"\n" -"In order to allow users from a remote domain to access resources in IPA\n" -"domain, trust relationship needs to be established. Currently IPA supports\n" -"only trusts between IPA and Active Directory domains under control of " -"Windows\n" -"Server 2008 or later, with functional level 2008 or later.\n" -"\n" -"Please note that DNS on both IPA and Active Directory domain sides should " -"be\n" -"configured properly to discover each other. Trust relationship relies on\n" -"ability to discover special resources in the other domain via DNS records.\n" -"\n" -"Examples:\n" -"\n" -"1. Establish cross-realm trust with Active Directory using AD administrator\n" -" credentials:\n" -"\n" -" ipa trust-add --type=ad --admin --" -"password\n" -"\n" -"2. List all existing trust relationships:\n" -"\n" -" ipa trust-find\n" -"\n" -"3. Show details of the specific trust relationship:\n" -"\n" -" ipa trust-show \n" -"\n" -"4. Delete existing trust relationship:\n" -"\n" -" ipa trust-del \n" -"\n" -"Once trust relationship is established, remote users will need to be mapped\n" -"to local POSIX groups in order to actually use IPA resources. The mapping " -"should\n" -"be done via use of external membership of non-POSIX group and then this " -"group\n" -"should be included into one of local POSIX groups.\n" -"\n" -"Example:\n" -"\n" -"1. Create group for the trusted domain admins' mapping and their local POSIX " -"group:\n" -"\n" -" ipa group-add --desc=' admins external map' ad_admins_external " -"--external\n" -" ipa group-add --desc=' admins' ad_admins\n" -"\n" -"2. Add security identifier of Domain Admins of the to the " -"ad_admins_external\n" -" group:\n" -"\n" -" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" -"\n" -"3. Allow members of ad_admins_external group to be associated with ad_admins " -"POSIX group:\n" +"Topology\n" "\n" -" ipa group-add-member ad_admins --groups ad_admins_external\n" -"\n" -"4. List members of external members of ad_admins_external group to see their " -"SIDs:\n" -"\n" -" ipa group-show ad_admins_external\n" -"\n" -"\n" -"GLOBAL TRUST CONFIGURATION\n" -"\n" -"When IPA AD trust subpackage is installed and ipa-adtrust-install is run,\n" -"a local domain configuration (SID, GUID, NetBIOS name) is generated. These\n" -"identifiers are then used when communicating with a trusted domain of the\n" -"particular type.\n" -"\n" -"1. Show global trust configuration for Active Directory type of trusts:\n" +"Management of a replication topology.\n" "\n" -" ipa trustconfig-show --type ad\n" -"\n" -"2. Modify global configuration for all trusts of Active Directory type and " -"set\n" -" a different fallback primary group (fallback primary group GID is used " -"as\n" -" a primary user GID if user authenticating to IPA domain does not have any " -"other\n" -" primary GID already set):\n" +"Requires minimum domain level 1.\n" +msgstr "" "\n" -" ipa trustconfig-mod --type ad --fallback-primary-group \"alternative AD " -"group\"\n" +"Топологія\n" "\n" -"3. Change primary fallback group back to default hidden group (any group " -"with\n" -" posixGroup object class is allowed):\n" +"Керування топологією реплікації.\n" "\n" -" ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB Group" +"Потребує мінімального рівня домену 1.\n" + +#, python-brace-format +msgid "Topology management requires minimum domain level {0} " +msgstr "Керування топологією потребує мінімального рівня домену {0} " + +msgid "segment" +msgstr "сегмент" + +msgid "segments" +msgstr "сегменти" + +msgid "Topology Segments" +msgstr "Сегменти топології" + +msgid "Topology Segment" +msgstr "Сегмент топології" + +msgid "Segment name" +msgstr "Назва сегмента" + +msgid "Arbitrary string identifying the segment" +msgstr "Довільний рядок для ідентифікації сегмента" + +msgid "Left node" +msgstr "Лівий вузол" + +msgid "Left replication node - an IPA server" +msgstr "Лівий вузол реплікації — сервер IPA" + +msgid "Right node" +msgstr "Правий вузол" + +msgid "Right replication node - an IPA server" +msgstr "Правий вузол реплікації — сервер IPA" + +msgid "Connectivity" +msgstr "Можливість з’єднання" + +msgid "Direction of replication between left and right replication node" +msgstr "Напрямок реплікації між лівим і правим вузлами реплікації" + +msgid "Attributes to strip" +msgstr "Атрибути, які слід прибрати" + +msgid "" +"A space separated list of attributes which are removed from replication " +"updates." +msgstr "" +"Розділений пробілами список атрибутів, які слід вилучати під час оновлено " +"реплікації." + +msgid "" +"Attributes that are not replicated to a consumer server during a fractional " +"update. E.g., `(objectclass=*) $ EXCLUDE accountlockout memberof" +msgstr "" +"Атрибути, для яких не відбуватиметься реплікація до сервера споживання під " +"час часткового оновлення. Наприклад, `(objectclass=*) $ EXCLUDE " +"accountlockout memberof" + +msgid "Attributes for total update" +msgstr "Атрибути для загального оновлення" + +msgid "" +"Attributes that are not replicated to a consumer server during a total " +"update. E.g. (objectclass=*) $ EXCLUDE accountlockout" +msgstr "" +"Атрибути, для яких не відбуватиметься реплікація до сервера споживання під " +"час загального оновлення. Наприклад, (objectclass=*) $ EXCLUDE accountlockout" + +msgid "Session timeout" +msgstr "Час очікування сеансу" + +msgid "" +"Number of seconds outbound LDAP operations waits for a response from the " +"remote replica before timing out and failing" +msgstr "" +"Кількість секунд, протягом яких відбуватиметься очікування зовнішнім LDAP на " +"відповідь під час дій від віддаленої репліки, перш ніж дію буде припинено " +"через перевищення часу очікування і буде видано повідомлення щодо помилки" + +msgid "Replication agreement enabled" +msgstr "Увімкнено угоду щодо реплікації" + +msgid "" +"Whether a replication agreement is active, meaning whether replication is " +"occurring per that agreement" +msgstr "" +"Визначає, чи є активною угода щодо реплікації, тобто, чи відбувається " +"реплікація за цією угодою" + +#, python-format +msgid "left node is not a topology node: %(leftnode)s" +msgstr "лівий вузол не є вузлом топології: %(leftnode)s" + +#, python-format +msgid "right node is not a topology node: %(rightnode)s" +msgstr "правий вузол не є вузлом топології: %(rightnode)s" + +msgid "left node and right node must not be the same" +msgstr "лівий і правий вузли повинні бути різними вузлами" + +msgid "Search for topology segments." +msgstr "Шукати сегменти топології." + +#, python-format +msgid "%(count)d segment matched" +msgid_plural "%(count)d segments matched" +msgstr[0] "встановлено відповідність %(count)d сегмента" +msgstr[1] "встановлено відповідність %(count)d сегментів" +msgstr[2] "встановлено відповідність %(count)d сегментів" + +msgid "Add a new segment." +msgstr "Додати новий сегмент." + +#, python-format +msgid "Added segment \"%(value)s\"" +msgstr "Додано сегмент «%(value)s»" + +msgid "Delete a segment." +msgstr "Вилучити сегмент." + +#, python-format +msgid "Deleted segment \"%(value)s\"" +msgstr "Вилучено сегмент «%(value)s»" + +msgid "Modify a segment." +msgstr "Змінити сегмент." + +#, python-format +msgid "Modified segment \"%(value)s\"" +msgstr "Змінено сегмент «%(value)s»" + +msgid "" +"Request a full re-initialization of the node retrieving data from the other " +"node." +msgstr "" +"Надіслати запит щодо повної повторної ініціалізації вузла, щоб отримує дані " +"з іншого вузла." + +#, python-format +msgid "%(value)s" +msgstr "%(value)s" + +msgid "Initialize left node" +msgstr "Ініціалізувати лівий вузол" + +msgid "Initialize right node" +msgstr "Ініціалізувати правий вузол" + +msgid "Stop already started refresh of chosen node(s)" +msgstr "Зупинити вже почате оновлення вибраних вузлів" + +msgid "left or right node has to be specified" +msgstr "слід вказати лівий або правий вузол" + +msgid "only one node can be specified" +msgstr "можна вказувати лише один вузол" + +#, python-format +msgid "Replication refresh for segment: \"%(pkey)s\" requested." +msgstr "Оновлення реплікації для сегмента: надіслано запит щодо «%(pkey)s»." + +#, python-format +msgid "Stopping of replication refresh for segment: \"%(pkey)s\" requested." +msgstr "Зупиняємо реплікацію для сегмента: надіслано запит щодо «%(pkey)s»." + +msgid "Display a segment." +msgstr "Показати сегмент." + +msgid "suffix" +msgstr "суфікс" + +msgid "suffices" +msgstr "суфікси" + +msgid "Topology suffices" +msgstr "Суфікси топології" + +msgid "Topology suffix" +msgstr "Суфікс топології" + +msgid "Suffix name" +msgstr "Назва суфікса" + +msgid "LDAP suffix to be managed" +msgstr "Суфікс LDAP, яким слід керувати" + +msgid "Search for topology suffices." +msgstr "Шукати суфікси топології." + +#, python-format +msgid "%(count)d topology suffix matched" +msgid_plural "%(count)d topology suffices matched" +msgstr[0] "встановлено відповідність %(count)d суфікса топології" +msgstr[1] "встановлено відповідність %(count)d суфіксів топології" +msgstr[2] "встановлено відповідність %(count)d суфіксів топології" + +msgid "Delete a topology suffix." +msgstr "Вилучити суфікс топології." + +#, python-format +msgid "Deleted topology suffix \"%(value)s\"" +msgstr "Вилучено суфікс топології «%(value)s»" + +msgid "Add a new topology suffix to be managed." +msgstr "Додати новий суфікс топології для керування." + +#, python-format +msgid "Added topology suffix \"%(value)s\"" +msgstr "Додано суфікс топології «%(value)s»" + +msgid "Modify a topology suffix." +msgstr "Змінити суфікс топології." + +#, python-format +msgid "Modified topology suffix \"%(value)s\"" +msgstr "Змінено суфікс топології «%(value)s»" + +msgid "Show managed suffix." +msgstr "Показати керований суфікс." + +msgid "" +"\n" +"Cross-realm trusts\n" +"\n" +"Manage trust relationship between IPA and Active Directory domains.\n" +"\n" +"In order to allow users from a remote domain to access resources in IPA\n" +"domain, trust relationship needs to be established. Currently IPA supports\n" +"only trusts between IPA and Active Directory domains under control of " +"Windows\n" +"Server 2008 or later, with functional level 2008 or later.\n" +"\n" +"Please note that DNS on both IPA and Active Directory domain sides should " +"be\n" +"configured properly to discover each other. Trust relationship relies on\n" +"ability to discover special resources in the other domain via DNS records.\n" +"\n" +"Examples:\n" +"\n" +"1. Establish cross-realm trust with Active Directory using AD administrator\n" +" credentials:\n" +"\n" +" ipa trust-add --type=ad --admin --" +"password\n" +"\n" +"2. List all existing trust relationships:\n" +"\n" +" ipa trust-find\n" +"\n" +"3. Show details of the specific trust relationship:\n" +"\n" +" ipa trust-show \n" +"\n" +"4. Delete existing trust relationship:\n" +"\n" +" ipa trust-del \n" +"\n" +"Once trust relationship is established, remote users will need to be mapped\n" +"to local POSIX groups in order to actually use IPA resources. The mapping " +"should\n" +"be done via use of external membership of non-POSIX group and then this " +"group\n" +"should be included into one of local POSIX groups.\n" +"\n" +"Example:\n" +"\n" +"1. Create group for the trusted domain admins' mapping and their local POSIX " +"group:\n" +"\n" +" ipa group-add --desc=' admins external map' ad_admins_external " +"--external\n" +" ipa group-add --desc=' admins' ad_admins\n" +"\n" +"2. Add security identifier of Domain Admins of the to the " +"ad_admins_external\n" +" group:\n" +"\n" +" ipa group-add-member ad_admins_external --external 'AD\\Domain Admins'\n" +"\n" +"3. Allow members of ad_admins_external group to be associated with ad_admins " +"POSIX group:\n" +"\n" +" ipa group-add-member ad_admins --groups ad_admins_external\n" +"\n" +"4. List members of external members of ad_admins_external group to see their " +"SIDs:\n" +"\n" +" ipa group-show ad_admins_external\n" +"\n" +"\n" +"GLOBAL TRUST CONFIGURATION\n" +"\n" +"When IPA AD trust subpackage is installed and ipa-adtrust-install is run,\n" +"a local domain configuration (SID, GUID, NetBIOS name) is generated. These\n" +"identifiers are then used when communicating with a trusted domain of the\n" +"particular type.\n" +"\n" +"1. Show global trust configuration for Active Directory type of trusts:\n" +"\n" +" ipa trustconfig-show --type ad\n" +"\n" +"2. Modify global configuration for all trusts of Active Directory type and " +"set\n" +" a different fallback primary group (fallback primary group GID is used " +"as\n" +" a primary user GID if user authenticating to IPA domain does not have any " +"other\n" +" primary GID already set):\n" +"\n" +" ipa trustconfig-mod --type ad --fallback-primary-group \"alternative AD " +"group\"\n" +"\n" +"3. Change primary fallback group back to default hidden group (any group " +"with\n" +" posixGroup object class is allowed):\n" +"\n" +" ipa trustconfig-mod --type ad --fallback-primary-group \"Default SMB Group" "\"\n" msgstr "" "\n" @@ -11376,7 +13636,7 @@ msgstr "" msgid "Active Directory domain administrator" msgstr "Адміністратор домену Active Directory" -msgid "Active directory domain administrator's password" +msgid "Active Directory domain administrator's password" msgstr "Пароль адміністратора домену Active Directory" msgid "Domain controller for the Active Directory domain (optional)" @@ -11799,312 +14059,591 @@ msgstr "" " Вилучення запису користувача:\n" " ipa user-del tuser1\n" -msgid "Kerberos keys available" -msgstr "Доступні ключі Kerberos" +msgid "Account disabled" +msgstr "Обліковий запис вимкнено" -msgid "Failed logins" -msgstr "Кількість невдалих спроб увійти" +msgid "Preserved user" +msgstr "Зарезервований користувач" -msgid "Last successful authentication" -msgstr "Останнє успішне розпізнавання" +msgid "Add a new user." +msgstr "Додати нового користувача." -msgid "Last failed authentication" -msgstr "Останнє невдале розпізнавання" +#, python-format +msgid "Added user \"%(value)s\"" +msgstr "Додано користувача «%(value)s»" -msgid "Time now" -msgstr "Поточний час" +msgid "Don't create user private group" +msgstr "Не створювати закриту групу користувача" -msgid "must be TRUE or FALSE" -msgstr "має дорівнювати TRUE або FALSE" +msgid "Default group for new users is not POSIX" +msgstr "Типовою групою для нових користувачів не є група POSIX" -msgid "User login" -msgstr "Користувач" +msgid "Delete a user." +msgstr "Вилучити користувача." -msgid "First name" -msgstr "Ім'я" +#, python-format +msgid "Deleted user \"%(value)s\"" +msgstr "Вилучено користувача «%(value)s»" -msgid "Last name" -msgstr "Прізвище" +msgid "Delete a user, keeping the entry available for future use" +msgstr "Вилучити користувача, зберігаючи запис для наступного використання" -msgid "Full name" -msgstr "Повне ім’я" +msgid "Delete a user" +msgstr "Вилучити користувача" -msgid "Display name" -msgstr "Екранне ім'я" +msgid "preserve and no-preserve cannot be both set" +msgstr "" +"не можна одночасно встановлювати ознаку зарезервованості та " +"незарезервованості" -msgid "Initials" -msgstr "Ініціали" +msgid "Modify a user." +msgstr "Змінити параметри користувача." -msgid "Home directory" -msgstr "Домашній каталог" +#, python-format +msgid "Modified user \"%(value)s\"" +msgstr "Змінено користувача «%(value)s»" -msgid "GECOS" -msgstr "GECOS" +msgid "Search for users." +msgstr "Шукати користувачів." -msgid "Login shell" -msgstr "Оболонка входу" +msgid "Self" +msgstr "Self" -msgid "Kerberos principal" -msgstr "Реєстраційний запис Kerberos" +msgid "Display user record for current Kerberos principal" +msgstr "" +"Показати запис користувача для поточного реєстраційного запису Kerberos" -msgid "Kerberos principal expiration" -msgstr "Завершення строку дії реєстраційного запису Kerberos" +msgid "Display information about a user." +msgstr "Показати дані щодо користувача." -msgid "Email address" -msgstr "Адреса ел. пошти" +msgid "Undelete a delete user account." +msgstr "Відновити вилучений обліковий запис користувача." -msgid "Prompt to set the user password" -msgstr "Надіслати запит щодо встановлення пароля користувача" +#, python-format +msgid "Undeleted user account \"%(value)s\"" +msgstr "Відновлено обліковий запис користувача «%(value)s»" -msgid "Generate a random user password" -msgstr "Створити випадковий пароль для користувача" +#, python-format +msgid "User %r is already active" +msgstr "Користувач %r вже є активним" -msgid "UID" -msgstr "UID" +#, python-format +msgid "User %r not found" +msgstr "Не знайдено користувача %r" -msgid "User ID Number (system will assign one if not provided)" +msgid "Disable a user account." +msgstr "Вимкнути обліковий запис користувача." + +#, python-format +msgid "Disabled user account \"%(value)s\"" +msgstr "Вимкнено обліковий запис користувача «%(value)s»" + +msgid "Enable a user account." +msgstr "Увімкнути обліковий запис користувача." + +#, python-format +msgid "Enabled user account \"%(value)s\"" +msgstr "Увімкнено обліковий запис користувача «%(value)s»" + +msgid "" +"\n" +" Unlock a user account\n" +"\n" +" An account may become locked if the password is entered incorrectly too\n" +" many times within a specific time period as controlled by password\n" +" policy. A locked account is a temporary condition and may be unlocked " +"by\n" +" an administrator." msgstr "" -"Ідентифікаційний номер користувача (система призначить його, якщо не буде " -"вказано)" +"\n" +" Розблокувати обліковий запис користувача\n" +"\n" +" Обліковий запис може бути заблоковано, якщо відповідно до правил " +"безпеки\n" +" користувач перевищить обмеження на кількість введення помилкових " +"паролів\n" +" протягом певного часу. Запис блокується тимчасово, його може бути\n" +" розблоковано адміністратором." -msgid "Group ID Number" -msgstr "Ід. номер групи" +#, python-format +msgid "Unlocked account \"%(value)s\"" +msgstr "Розблоковано обліковий запис «%(value)s»" -msgid "Street address" -msgstr "Вулиця і будинок" +msgid "" +"\n" +" Lockout status of a user account\n" +"\n" +" An account may become locked if the password is entered incorrectly too\n" +" many times within a specific time period as controlled by password\n" +" policy. A locked account is a temporary condition and may be unlocked " +"by\n" +" an administrator.\n" +"\n" +" This connects to each IPA master and displays the lockout status on\n" +" each one.\n" +"\n" +" To determine whether an account is locked on a given server you need\n" +" to compare the number of failed logins and the time of the last " +"failure.\n" +" For an account to be locked it must exceed the maxfail failures within\n" +" the failinterval duration as specified in the password policy " +"associated\n" +" with the user.\n" +"\n" +" The failed login counter is modified only when a user attempts a log in\n" +" so it is possible that an account may appear locked but the last failed\n" +" login attempt is older than the lockouttime of the password policy. " +"This\n" +" means that the user may attempt a login again. " +msgstr "" +"\n" +" Стан блокування облікового запису користувача\n" +"\n" +" Обліковий запис може бути заблоковано, якщо введено неправильний пароль\n" +" забагато разів протягом певного проміжку часу, який визначається " +"правилами\n" +" роботи з паролями. Блокування облікового запису є тимчасовим станом, " +"його\n" +" може бути розблоковано адміністратором.\n" +"\n" +" Ця програма з’єднується з кожним основним вузлом IPA і показує стан\n" +" блокування на кожному з них.\n" +"\n" +" Щоб визначити, чи слід блокувати обліковий запис на певному сервері, " +"слід\n" +" виконати порівняння кількості помилкових спроб входу та час останньої\n" +" невдалої спроби з еталонними значеннями. Обліковий запис буде " +"заблоковано,\n" +" якщо буде перевищено кількість maxfail помилкових спроб протягом " +"проміжку\n" +" часу failinterval. Відповідні значення задаються правилами обробки " +"паролів,\n" +" пов’язаними з обліковим записом користувача.\n" +"\n" +" Зміни до лічильника помилкових спроб входу вносяться, лише коли " +"користувач\n" +" виконує спробу увійти, тому може статися так, що обліковий запис " +"заблоковано,\n" +" хоча час, що минув з останньої помилкової спроби, перевищує час " +"блокування\n" +" (lockouttime), заданий правилам обробки паролів. Це означає, що " +"користувач\n" +" може увійти до системи знову. " -msgid "City" -msgstr "Місто" +#, python-format +msgid "%(host)s failed: %(error)s" +msgstr "Помилка %(host)s: %(error)s" -msgid "State/Province" -msgstr "Область/провінція" +#, python-format +msgid "%(host)s failed" +msgstr "Помилка %(host)s" -msgid "ZIP" -msgstr "Індекс" +#, python-format +msgid "Account disabled: %(disabled)s" +msgstr "Обліковий запис вимкнено: %(disabled)s" -msgid "Telephone Number" -msgstr "Номер телефону" +msgid "" +"\n" +"Vaults\n" +msgstr "" +"\n" +"Сховища\n" -msgid "Mobile Telephone Number" -msgstr "Номер мобільного телефону" +msgid "" +"\n" +"Manage vaults.\n" +msgstr "" +"\n" +"Керування сховищами.\n" -msgid "Pager Number" -msgstr "Номер пейджера" +msgid "" +"\n" +" List private vaults:\n" +" ipa vault-find\n" +msgstr "" +"\n" +" Показати список приватних сховищ:\n" +" ipa vault-find\n" -msgid "Fax Number" -msgstr "Номер факсу" +msgid "" +"\n" +" List service vaults:\n" +" ipa vault-find --service \n" +msgstr "" +"\n" +" Показати список сховищ служб:\n" +" ipa vault-find --service <назва служби>\n" -msgid "Org. Unit" -msgstr "Підрозділ" +msgid "" +"\n" +" List shared vaults:\n" +" ipa vault-find --shared\n" +msgstr "" +"\n" +" Показати список сховищ спільного використання:\n" +" ipa vault-find --shared\n" + +msgid "" +"\n" +" List user vaults:\n" +" ipa vault-find --user \n" +msgstr "" +"\n" +" Показати список сховищ користувачів:\n" +" ipa vault-find --user <користувач>\n" + +msgid "" +"\n" +" Add a private vault:\n" +" ipa vault-add \n" +msgstr "" +"\n" +" Додати приватне сховище:\n" +" ipa vault-add <назва>\n" + +msgid "" +"\n" +" Add a service vault:\n" +" ipa vault-add --service \n" +msgstr "" +"\n" +" Додати сховище служби:\n" +" ipa vault-add <назва> --service <назва служби>\n" + +msgid "" +"\n" +" Add a shared vault:\n" +" ipa vault-add --shared\n" +msgstr "" +"\n" +" Додати сховище спільного використання:\n" +" ipa vault-add <назва> --shared\n" + +msgid "" +"\n" +" Add a user vault:\n" +" ipa vault-add --user \n" +msgstr "" +"\n" +" Додати сховище користувача:\n" +" ipa vault-add <назва> --user <користувач>\n" + +msgid "" +"\n" +" Show a private vault:\n" +" ipa vault-show \n" +msgstr "" +"\n" +" Показати приватне сховище:\n" +" ipa vault-show <назва>\n" + +msgid "" +"\n" +" Show a service vault:\n" +" ipa vault-show --service \n" +msgstr "" +"\n" +" Показати сховище служби:\n" +" ipa vault-show <назва> --service <назва служби>\n" + +msgid "" +"\n" +" Show a shared vault:\n" +" ipa vault-show --shared\n" +msgstr "" +"\n" +" Показати сховище спільного використання:\n" +" ipa vault-show <назва> --shared\n" + +msgid "" +"\n" +" Show a user vault:\n" +" ipa vault-show --user \n" +msgstr "" +"\n" +" Показати сховище користувача:\n" +" ipa vault-show <назва> --user <користувач>\n" + +msgid "" +"\n" +" Modify a private vault:\n" +" ipa vault-mod --desc \n" +msgstr "" +"\n" +" Змінити приватне сховище:\n" +" ipa vault-mod <назва> --desc <опис>\n" + +msgid "" +"\n" +" Modify a service vault:\n" +" ipa vault-mod --service --desc \n" +msgstr "" +"\n" +" Змінити сховище служби:\n" +" ipa vault-mod <назва> --service <назва служби> --desc <опис>\n" + +msgid "" +"\n" +" Modify a shared vault:\n" +" ipa vault-mod --shared --desc \n" +msgstr "" +"\n" +" Змінити сховище спільного використання:\n" +" ipa vault-mod <назва> --shared --desc <опис>\n" + +msgid "" +"\n" +" Modify a user vault:\n" +" ipa vault-mod --user --desc \n" +msgstr "" +"\n" +" Змінити сховище користувача:\n" +" ipa vault-mod <назва> --user <користувач> --desc <опис>\n" + +msgid "" +"\n" +" Delete a private vault:\n" +" ipa vault-del \n" +msgstr "" +"\n" +" Вилучити приватне сховище:\n" +" ipa vault-del <назва>\n" + +msgid "" +"\n" +" Delete a service vault:\n" +" ipa vault-del --service \n" +msgstr "" +"\n" +" Вилучити сховище служби:\n" +" ipa vault-del <назва> --service <назва служба>\n" + +msgid "" +"\n" +" Delete a shared vault:\n" +" ipa vault-del --shared\n" +msgstr "" +"\n" +" Вилучити сховище спільного використання:\n" +" ipa vault-del <назва> --shared\n" + +msgid "" +"\n" +" Delete a user vault:\n" +" ipa vault-del --user \n" +msgstr "" +"\n" +" Вилучити сховище користувача:\n" +" ipa vault-del <назва> --user <користувач>\n" + +msgid "" +"\n" +" Display vault configuration:\n" +" ipa vault-config\n" +msgstr "" +"\n" +" Показати налаштування сховищ:\n" +" ipa vault-config\n" + +msgid "" +"\n" +" Archive data into private vault:\n" +" ipa vault-archive --in \n" +msgstr "" +"\n" +" Архівувати дані до приватного сховища:\n" +" ipa vault-archive <назва> --in <файл вхідних даних>\n" + +msgid "" +"\n" +" Archive data into service vault:\n" +" ipa vault-archive --service --in \n" +msgstr "" +"\n" +" Архівувати дані до сховища служби:\n" +" ipa vault-archive <назва> --service <назва служби> --in <файл вхідних " +"даних>\n" + +msgid "" +"\n" +" Archive data into shared vault:\n" +" ipa vault-archive --shared --in \n" +msgstr "" +"\n" +" Архівувати дані до сховища спільного використання:\n" +" ipa vault-archive <назва> --shared --in <файл вхідних даних>\n" + +msgid "" +"\n" +" Archive data into user vault:\n" +" ipa vault-archive --user --in \n" +msgstr "" +"\n" +" Архівувати дані до сховища користувача:\n" +" ipa vault-archive <назва> --user <користувач> --in <файл вхідних даних>\n" -msgid "Job Title" -msgstr "Посада" +msgid "" +"\n" +" Retrieve data from private vault:\n" +" ipa vault-retrieve --out \n" +msgstr "" +"\n" +" Отримати дані з приватного сховища:\n" +" ipa vault-retrieve <назва> --out <файл виведених даних>\n" -msgid "Car License" -msgstr "Водійська ліцензія" +msgid "" +"\n" +" Retrieve data from service vault:\n" +" ipa vault-retrieve --service --out \n" +msgstr "" +"\n" +" Отримати дані зі сховища служби:\n" +" ipa vault-retrieve <назва> --service <назва служби> --out <файл виведених " +"даних>\n" -msgid "Account disabled" -msgstr "Обліковий запис вимкнено" +msgid "" +"\n" +" Retrieve data from shared vault:\n" +" ipa vault-retrieve --shared --out \n" +msgstr "" +"\n" +" Отримати дані зі сховища спільного використання:\n" +" ipa vault-retrieve <назва> --shared --out <файл виведених даних>\n" -msgid "User authentication types" -msgstr "Типи розпізнавання користувачів" +msgid "" +"\n" +" Retrieve data from user vault:\n" +" ipa vault-retrieve --user --out \n" +msgstr "" +"\n" +" Отримати дані зі сховища користувача:\n" +" ipa vault-retrieve <назва> --user <користувач> --out <файл виведених " +"даних>\n" -msgid "Types of supported user authentication" -msgstr "Типи підтримуваного розпізнавання користувачів" +msgid "Shared vault" +msgstr "Сховище спільного використання" msgid "" -"User category (semantics placed on this attribute are for local " -"interpretation)" +"\n" +" Vault object.\n" +" " msgstr "" -"Категорія вузлів (семантику цього атрибуту призначено для локальної обробки)" +"\n" +" Об’єкт сховища.\n" +" " -msgid "RADIUS proxy configuration" -msgstr "Налаштування проксі RADIUS" +msgid "vault" +msgstr "сховище" -msgid "RADIUS proxy username" -msgstr "Ім’я користувача проксі-сервера RADIUS" +msgid "vaults" +msgstr "сховища" -msgid "Department Number" -msgstr "Номер відділу" +msgid "Vaults" +msgstr "Сховища" -msgid "Employee Number" -msgstr "Номер працівника" +msgid "Vault" +msgstr "Сховище" -msgid "Employee Type" -msgstr "Тип працівника" +msgid "Vault name" +msgstr "Назва сховища" -msgid "Preferred Language" -msgstr "Бажана мова" +msgid "Vault description" +msgstr "Опис сховища" -#, python-format -msgid "invalid e-mail format: %(email)s" -msgstr "некоректний формат адреси електронної пошти: %(email)s" +msgid "Service, shared, and user options cannot be specified simultaneously" +msgstr "" +"Параметри служби, спільного використання та користувача не можна вказувати " +"одночасно" -#, python-format -msgid "manager %(manager)s not found" -msgstr "керування %(manager)s не знайдено" +msgid "Host is not supported" +msgstr "Підтримки вузла не передбачено" -msgid "Add a new user." -msgstr "Додати нового користувача." +msgid "Create a new vault." +msgstr "Створити сховище." #, python-format -msgid "Added user \"%(value)s\"" -msgstr "Додано користувача «%(value)s»" +msgid "Added vault \"%(value)s\"" +msgstr "Додано сховище «%(value)s»" -msgid "Don't create user private group" -msgstr "Не створювати закриту групу користувача" +msgid "KRA service is not enabled" +msgstr "Службу KRA не увімкнено" -#, python-format -msgid "can be at most %(len)d characters" -msgstr "не повинне перевищувати %(len)d символів у довжину" +msgid "Delete a vault." +msgstr "Вилучити сховище." -msgid "Default group for new users is not POSIX" -msgstr "Типовою групою для нових користувачів не є група POSIX" +#, python-format +msgid "Deleted vault \"%(value)s\"" +msgstr "Вилучено сховище «%(value)s»" -msgid "Delete a user." -msgstr "Вилучити користувача." +msgid "Search for vaults." +msgstr "Шукати сховища." #, python-format -msgid "Deleted user \"%(value)s\"" -msgstr "Вилучено користувача «%(value)s»" +msgid "%(count)d vault matched" +msgid_plural "%(count)d vaults matched" +msgstr[0] "встановлено відповідність %(count)d сховища" +msgstr[1] "встановлено відповідність %(count)d сховищ" +msgstr[2] "встановлено відповідність %(count)d сховищ" -msgid "Modify a user." -msgstr "Змінити параметри користувача." +msgid "Modify a vault." +msgstr "Змінити сховище." #, python-format -msgid "Modified user \"%(value)s\"" -msgstr "Змінено користувача «%(value)s»" +msgid "Modified vault \"%(value)s\"" +msgstr "Змінено сховище «%(value)s»" -msgid "Search for users." -msgstr "Шукати користувачів." +msgid "Display information about a vault." +msgstr "Показати дані щодо сховища." -msgid "Self" -msgstr "Self" +msgid "Vault configuration" +msgstr "Налаштування сховища" -msgid "Display user record for current Kerberos principal" -msgstr "" -"Показати запис користувача для поточного реєстраційного запису Kerberos" +msgid "Transport Certificate" +msgstr "Сертифікат передавання" -#, python-format -msgid "%(count)d user matched" -msgid_plural "%(count)d users matched" -msgstr[0] "встановлено відповідність %(count)d користувача" -msgstr[1] "встановлено відповідність %(count)d користувачів" -msgstr[2] "встановлено відповідність %(count)d користувачів" +msgid "Show vault configuration." +msgstr "Показати налаштування сховища." -msgid "Display information about a user." -msgstr "Показати дані щодо користувача." +msgid "Output file to store the transport certificate" +msgstr "Файл для зберігання сертифіката передавання даних" -msgid "Disable a user account." -msgstr "Вимкнути обліковий запис користувача." +msgid "Archive data into a vault." +msgstr "Архівувати дані до сховища." -#, python-format -msgid "Disabled user account \"%(value)s\"" -msgstr "Вимкнено обліковий запис користувача «%(value)s»" +msgid "Binary data to archive" +msgstr "Двійкові дані для архівування" -msgid "Enable a user account." -msgstr "Увімкнути обліковий запис користувача." +msgid "File containing data to archive" +msgstr "Файл, що містить дані для архівування" #, python-format -msgid "Enabled user account \"%(value)s\"" -msgstr "Увімкнено обліковий запис користувача «%(value)s»" +msgid "Archived data into vault \"%(value)s\"" +msgstr "Дані архівовано до сховища «%(value)s»" -msgid "" -"\n" -" Unlock a user account\n" -"\n" -" An account may become locked if the password is entered incorrectly too\n" -" many times within a specific time period as controlled by password\n" -" policy. A locked account is a temporary condition and may be unlocked " -"by\n" -" an administrator." -msgstr "" -"\n" -" Розблокувати обліковий запис користувача\n" -"\n" -" Обліковий запис може бути заблоковано, якщо відповідно до правил " -"безпеки\n" -" користувач перевищить обмеження на кількість введення помилкових " -"паролів\n" -" протягом певного часу. Запис блокується тимчасово, його може бути\n" -" розблоковано адміністратором." +msgid "Input data specified multiple times" +msgstr "Вхідні дані вказано декілька разів" -#, python-format -msgid "Unlocked account \"%(value)s\"" -msgstr "Розблоковано обліковий запис «%(value)s»" +msgid "Session key wrapped with transport certificate" +msgstr "Ключ сеансу, пов’язаний із сертифікатом передавання" -msgid "" -"\n" -" Lockout status of a user account\n" -"\n" -" An account may become locked if the password is entered incorrectly too\n" -" many times within a specific time period as controlled by password\n" -" policy. A locked account is a temporary condition and may be unlocked " -"by\n" -" an administrator.\n" -"\n" -" This connects to each IPA master and displays the lockout status on\n" -" each one.\n" -"\n" -" To determine whether an account is locked on a given server you need\n" -" to compare the number of failed logins and the time of the last " -"failure.\n" -" For an account to be locked it must exceed the maxfail failures within\n" -" the failinterval duration as specified in the password policy " -"associated\n" -" with the user.\n" -"\n" -" The failed login counter is modified only when a user attempts a log in\n" -" so it is possible that an account may appear locked but the last failed\n" -" login attempt is older than the lockouttime of the password policy. " -"This\n" -" means that the user may attempt a login again. " -msgstr "" -"\n" -" Стан блокування облікового запису користувача\n" -"\n" -" Обліковий запис може бути заблоковано, якщо введено неправильний пароль\n" -" забагато разів протягом певного проміжку часу, який визначається " -"правилами\n" -" роботи з паролями. Блокування облікового запису є тимчасовим станом, " -"його\n" -" може бути розблоковано адміністратором.\n" -"\n" -" Ця програма з’єднується з кожним основним вузлом IPA і показує стан\n" -" блокування на кожному з них.\n" -"\n" -" Щоб визначити, чи слід блокувати обліковий запис на певному сервері, " -"слід\n" -" виконати порівняння кількості помилкових спроб входу та час останньої\n" -" невдалої спроби з еталонними значеннями. Обліковий запис буде " -"заблоковано,\n" -" якщо буде перевищено кількість maxfail помилкових спроб протягом " -"проміжку\n" -" часу failinterval. Відповідні значення задаються правилами обробки " -"паролів,\n" -" пов’язаними з обліковим записом користувача.\n" -"\n" -" Зміни до лічильника помилкових спроб входу вносяться, лише коли " -"користувач\n" -" виконує спробу увійти, тому може статися так, що обліковий запис " -"заблоковано,\n" -" хоча час, що минув з останньої помилкової спроби, перевищує час " -"блокування\n" -" (lockouttime), заданий правилам обробки паролів. Це означає, що " -"користувач\n" -" може увійти до системи знову. " +msgid "Vault data encrypted with session key" +msgstr "Дані сховища зашифровано за допомогою ключа сеансу" -#, python-format -msgid "%(host)s failed: %(error)s" -msgstr "Помилка %(host)s: %(error)s" +msgid "Nonce" +msgstr "Цей випадок" -#, python-format -msgid "%(host)s failed" -msgstr "Помилка %(host)s" +msgid "Retrieve a data from a vault." +msgstr "Отримати дані зі сховища." + +msgid "File to store retrieved data" +msgstr "Файл для зберігання отриманих даних" #, python-format -msgid "Account disabled: %(disabled)s" -msgstr "Обліковий запис вимкнено: %(disabled)s" +msgid "Retrieved data from vault \"%(value)s\"" +msgstr "Отримано дані зі сховища «%(value)s»" + +msgid "No archived data." +msgstr "Немає архівованих даних." msgid "operation not defined" msgstr "дію не визначено" @@ -12130,6 +14669,9 @@ msgstr "Порожня назва файла" msgid "Permission denied: %(file)s" msgstr "Доступ заборонено: %(file)s" +msgid "empty DNS label" +msgstr "порожня мітка DNS" + msgid "DNS label cannot be longer that 63 characters" msgstr "Довжина мітки DNS не повинна перевищувати 63 символи" @@ -12144,12 +14686,6 @@ msgstr "" msgid "too many '@' characters" msgstr "занадто багато символів «@»" -msgid "missing address domain" -msgstr "не вказано домену адреси" - -msgid "missing mail account" -msgstr "не вказано поштового облікового запису" - msgid "cannot be longer that 255 characters" msgstr "не може бути довшим за 255 символів" @@ -12168,6 +14704,43 @@ msgstr "не можна використовувати параметри" msgid "invalid hostmask" msgstr "некоректна маска вузлів" +#, python-format +msgid "query '%(owner)s %(rtype)s': %(error)s" +msgstr "запит «%(owner)s %(rtype)s»: %(error)s" + +#, python-format +msgid "query '%(owner)s %(rtype)s' with EDNS0: %(error)s" +msgstr "запит «%(owner)s %(rtype)s» за допомогою EDNS0: %(error)s" + +#, python-format +msgid "" +"answer to query '%(owner)s %(rtype)s' is missing DNSSEC signatures (no RRSIG " +"data)" +msgstr "" +"відповідь на запит «%(owner)s %(rtype)s» не містить підписів DNSSEC (немає " +"даних RRSIG)" + +#, python-format +msgid "record '%(owner)s %(rtype)s' failed DNSSEC validation on server %(ip)s" +msgstr "" +"запис «%(owner)s %(rtype)s» не пройшов перевірки DNSSEC на сервері %(ip)s" + +msgid "invalid escape code in domain name" +msgstr "некоректний керівний код у назві домену" + +msgid "domain name cannot be longer than 255 characters" +msgstr "назва домену не повинна перевищувати за довжиною 255 символів" + +msgid "DNS label cannot be longer than 63 characters" +msgstr "Довжина мітки DNS не повинна перевищувати 63 символів" + +msgid "invalid domain name" +msgstr "некоректна назва домену" + +#, python-format +msgid "domain name '%(domain)s' should be normalized to: %(normalized)s" +msgstr "назву домену «%(domain)s» слід нормалізувати до %(normalized)s" + msgid "improperly formatted DER-encoded certificate" msgstr "неналежне форматування сертифіката у кодуванні DER" @@ -12225,9 +14798,19 @@ msgstr "" "наприклад, може означати розсинхронізацію часу між комп’ютерами, які " "обмінюються даними." +msgid "CIFS server configuration does not allow access to \\\\pipe\\lsarpc" +msgstr "Налаштування сервера CIFS забороняє доступ до \\\\pipe\\lsarpc" + msgid "Cannot find specified domain or server name" msgstr "Не вдалося знайти домену або сервера з вказаною назвою" +msgid "" +"AD DC was unable to reach any IPA domain controller. Most likely it is a DNS " +"or firewall issue" +msgstr "" +"AD DC не вдалося отримати доступ до жодного з контролерів домену IPA. " +"Найімовірніше, цю помилку пов’язано із проблемами з DNS або брандмауером" + msgid "At least the domain or IP address should be specified" msgstr "Слід вказати принаймні домен або IP-адресу" @@ -12310,6 +14893,16 @@ msgstr "" "назву NetBIOS: %s" #, python-format +msgid "" +"IPA master denied trust validation requests from AD DC %(count)d times. Most " +"likely AD DC contacted a replica that has no trust information replicated " +"yet." +msgstr "" +"Основний вузол IPA відмовив у запитах щодо затвердження довіри від AD DC " +"%(count)d разів. Найімовірніше, AD DC встановив зв’язок із реплікою, на якій " +"ще не виконано реплікацію даних щодо довіри." + +#, python-format msgid "Unable to communicate with CMS (%s)" msgstr "Не вдалося обмінятися даними з CMS (%s)" @@ -12319,6 +14912,21 @@ msgstr "Не вдалося обмінятися даними з CMS" msgid "find not supported on CAs upgraded from 9 to 10" msgstr "знайти непідтримувані у CA після оновлення з 9 до 10" +msgid "Failed to authenticate to CA REST API" +msgstr "" +"Не вдалося пройти розпізнавання за допомогою програмного інтерфейсу CA REST" + +msgid "REST API is not logged in." +msgstr "Вхід до програмного інтерфейсу REST не виконано." + +#, python-format +msgid "" +"Non-2xx response from CA REST API: %(status)d %(status_text)s. " +"%(explanation)s" +msgstr "" +"Відповідь, яка не є відповіддю 2xx, від програмного інтерфейсу CA REST: " +"%(status)d %(status_text)s. %(explanation)s" + msgid "The hostname to register as" msgstr "Назва вузла для реєстрації" @@ -12429,20 +15037,20 @@ msgid "Simple bind failed\n" msgstr "Невдала спроба простого прив’язування\n" #, c-format -msgid "Operation failed! %s\n" -msgstr "Невдала спроба виконання дії! %s\n" +msgid "Operation failed: %s\n" +msgstr "Невдала спроба виконання дії: %s\n" #, c-format -msgid "Failed to get result! %s\n" -msgstr "Не вдалося отримати результат! %s\n" +msgid "Failed to get result: %s\n" +msgstr "Не вдалося отримати результат: %s\n" #, c-format -msgid "Failed to parse extended result! %s\n" -msgstr "Не вдалося обробити розширений результат! %s\n" +msgid "Failed to parse extended result: %s\n" +msgstr "Не вдалося обробити розширений результат: %s\n" #, c-format -msgid "Failed to parse result! %s\n" -msgstr "Не вдалося обробити результат! %s\n" +msgid "Failed to parse result: %s\n" +msgstr "Не вдалося обробити результат: %s\n" #, c-format msgid "Missing reply control list!\n" @@ -12488,27 +15096,8 @@ msgstr "Не вдалося отримати дані щодо типу шифр msgid "Failed to retrieve any keys" msgstr "Не вдалося отримати жодного ключа" -msgid "Failed to find or parse reply control!\n" -msgstr "Не вдалося знайти або обробити керування відповідями!\n" - -msgid "Failed to parse control head!\n" -msgstr "Не вдалося обробити заголовок керування!\n" - -#, c-format -msgid "Out of memory!\n" -msgstr "Не вистачає пам'яті!\n" - -msgid "Failed to parse enctype in key data!\n" -msgstr "Не вдалося обробити enctype у даних ключа!\n" - -msgid "Failed to parse salt in key data!\n" -msgstr "Не вдалося обробити запис солі (salt) у даних ключа!\n" - -msgid "Failed to parse ending of key data!\n" -msgstr "Не вдалося обробити завершальну частину даних ключа!\n" - -msgid "Failed to parse ending of control!\n" -msgstr "Не вдалося обробити завершальну частину керування!\n" +msgid "Failed to decode control reply!\n" +msgstr "Не вдалося декодувати контрольну відповідь!\n" msgid "New Principal Password" msgstr "Новий пароль реєстраційного запису" @@ -12626,8 +15215,10 @@ msgid "Failed to open Keytab\n" msgstr "Не вдалося відкрити таблицю ключів\n" #, c-format -msgid "Retrying with old method\n" -msgstr "Робимо повторну спробу з використанням старого методу\n" +msgid "Retrying with pre-4.0 keytab retrieval method...\n" +msgstr "" +"Повторюємо спробу з використанням способу отримання сховища ключів, який " +"використовувався до версії 4.0…\n" #, c-format msgid "Failed to create key material\n" @@ -12700,6 +15291,10 @@ msgid "IPA namingContext not found\n" msgstr "namingContext IPA не знайдено\n" #, c-format +msgid "Out of memory!\n" +msgstr "Не вистачає пам'яті!\n" + +#, c-format msgid "Search for ipaCertificateSubjectBase failed with error %d" msgstr "" "Спроба пошуку ipaCertificateSubjectBase завершилася невдало з повідомлення " @@ -12914,6 +15509,15 @@ msgstr "Вивести діагностичні дані" msgid "Debugging output" msgstr "Діагностична інформація" +msgid "" +"The principal to remove from the keytab (ex: ftp/ftp.example.com@EXAMPLE.COM)" +msgstr "" +"Реєстраційні записи, які слід вилучити із таблиці ключів (приклад: ftp/ftp." +"example.com@EXAMPLE.COM)" + +msgid "The keytab file to remove the principcal(s) from" +msgstr "Файл таблиці ключів, звідки слід вилучити реєстраційні записи" + msgid "Remove all principals in this realm" msgstr "Вилучити всі реєстраційні записи у цій області" diff --git a/install/po/zh_CN.po b/install/po/zh_CN.po index 683610b..ae32284 100644 --- a/install/po/zh_CN.po +++ b/install/po/zh_CN.po @@ -5,21 +5,23 @@ # Translators: # Jake Li , 2010 # jdennis , 2011 +# Martin Liu , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: FreeIPA\n" +"Project-Id-Version: ipa\n" "Report-Msgid-Bugs-To: https://hosted.fedoraproject.org/projects/freeipa/" "newticket\n" -"POT-Creation-Date: 2014-07-07 15:24+0200\n" -"PO-Revision-Date: 2014-07-03 08:37+0000\n" -"Last-Translator: Petr Viktorin \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/freeipa/" -"language/zh_CN/)\n" -"Language: zh_CN\n" +"POT-Creation-Date: 2015-06-24 13:48+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2015-03-12 12:06-0400\n" +"Last-Translator: Martin Liu \n" +"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/freeipa/" +"language/zh_CN/)\n" +"Language: zh-CN\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Zanata 3.6.2\n" #, python-format msgid "Enter %(label)s again to verify: " @@ -29,13 +31,41 @@ msgstr "再次输入 %(label)s进行校验: " msgid "Passwords do not match!" msgstr "密码不匹配!" +msgid "No matching entries found" +msgstr "发现了不匹配的条目" + +#, python-format +msgid "Same as --%s" +msgstr "相同于 --%s" + +msgid "Deprecated options" +msgstr "已弃用的选项" + +msgid "No file to read" +msgstr "无文件可读" + +msgid "A string searched in all relevant object attributes" +msgstr "在所有相关对象中搜索字符串" + msgid "an internal error has occurred" -msgstr "发生了一个内部错误" +msgstr "发生了内部错误" + +#, python-format +msgid "an internal error has occurred on server at '%(server)s'" +msgstr "服务器 '%(server)s' 已经发生了一次内部错误" #, python-format msgid "Invalid JSON-RPC request: %(error)s" msgstr "无效的JSON-RPC请求: %(error)s" +#, python-format +msgid "Missing or invalid HTTP Referer, %(referer)s" +msgstr "丢失或者无效的 HTTP Referer, %(referer)s" + +#, python-format +msgid "Kerberos error: %(major)s/%(minor)s" +msgstr "Kerberos 错误: %(major)s/%(minor)s" + msgid "Passwords do not match" msgstr "密码不匹配" @@ -175,9 +205,54 @@ msgstr "主机组成员" msgid "External host" msgstr "外部主机" +msgid "User" +msgstr "用户" + +msgid "User login" +msgstr "用户登录名" + +msgid "First name" +msgstr "名" + +msgid "Last name" +msgstr "姓" + +msgid "Login shell" +msgstr "登录shell" + +msgid "Email address" +msgstr "邮件地址" + +msgid "UID" +msgstr "UID" + +msgid "GID" +msgstr "GID" + +msgid "Street address" +msgstr "街道地址" + msgid "Certificate" msgstr "证书" +msgid "Base-64 encoded server certificate" +msgstr "Base-64 编码格式的服务器证书" + +msgid "User category" +msgstr "用户类别" + +msgid "Host category" +msgstr "主机类别" + +msgid "User Groups" +msgstr "用户组" + +msgid "Host Groups" +msgstr "主机组" + +msgid "Services" +msgstr "服务" + msgid "Subject" msgstr "主题" @@ -223,18 +298,12 @@ msgstr "用户搜索字段" msgid "Priority" msgstr "优先级" -msgid "User Groups" -msgstr "用户组" - msgid "Group name" msgstr "组名" msgid "Group description" msgstr "组描述" -msgid "GID" -msgstr "GID" - #, python-format msgid "Added group \"%(value)s\"" msgstr "已添加组\"%(value)s\"" @@ -250,18 +319,6 @@ msgstr "已修改组\"%(value)s\"" msgid "Rule name" msgstr "规则名" -msgid "User category" -msgstr "用户类别" - -msgid "Host category" -msgstr "主机类别" - -msgid "Host Groups" -msgstr "主机组" - -msgid "Services" -msgstr "服务" - msgid "Access time" msgstr "访问时间" @@ -295,9 +352,6 @@ msgstr "主机操作系统及版本(e.g. \"Fedora 9\")" msgid "User password" msgstr "用户密码" -msgid "Base-64 encoded server certificate" -msgstr "Base-64 编码格式的服务器证书" - #, python-format msgid "Added host \"%(value)s\"" msgstr "新增主机 \"%(value)s\"" @@ -319,9 +373,6 @@ msgstr "主机组名称" msgid "Data" msgstr "数据" -msgid "User" -msgstr "用户" - msgid "Groups" msgstr "用户组" @@ -358,27 +409,6 @@ msgstr "最小长度" msgid "A description of this role-group" msgstr "该角色组的描述" -msgid "User login" -msgstr "用户登录名" - -msgid "First name" -msgstr "名" - -msgid "Last name" -msgstr "姓" - -msgid "Login shell" -msgstr "登录shell" - -msgid "Email address" -msgstr "邮件地址" - -msgid "UID" -msgstr "UID" - -msgid "Street address" -msgstr "街道地址" - #, python-format msgid "Added user \"%(value)s\"" msgstr "新增用户\"%(value)s\""